:root{--bg:#f5f6fa;--bg-deep:#070a12;--surface:#fff;--surface-2:#eef1f7;--line:#e2e6ef;--ink:#1d2536;--ink-dim:#5a6478;--ink-faint:#98a1b3;--accent:#6366f1;--accent-2:#0ea5c4;--red:#dc2626;--green:#059669;--amber:#b45309;--st-hakuchi:#64748b;--st-shikake:#d97706;--st-mikomi:#0284c7;--st-tassei:#059669}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Noto Sans JP,sans-serif;font-size:14px;line-height:1.7}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}::placeholder{color:var(--ink-faint)}.layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-deep);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:224px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.logo{letter-spacing:.05em;padding:0 10px 18px;font-size:22px;font-weight:900}.logo span{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav button,.sidebar nav a{color:var(--ink-dim);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .15s,color .15s;display:flex}.sidebar nav button.on,.sidebar nav a.on{color:#fff;background:linear-gradient(135deg,#6366f140,#22d3ee1f);font-weight:700;box-shadow:inset 0 0 0 1px #6366f159}.nav-icon{text-align:center;opacity:.9;width:1.3em}.sidebar-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.userchip{align-items:center;gap:10px;padding:0 6px 10px;display:flex}.avatar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0b0f19;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-weight:900;display:flex}.uname{font-size:13.5px;font-weight:700}.urole{color:var(--ink-faint);font-size:11px}.logout{border:1px solid var(--line);width:100%;color:var(--ink-dim);background:0 0;border-radius:8px;padding:6px;font-size:12.5px}.logout:hover{color:var(--red);border-color:var(--red)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#f5f6fae0;align-items:center;gap:12px;padding:16px 28px;display:flex;position:sticky;top:0}.page-title{font-size:17px;font-weight:800}.topbar .spacer{flex:1}.content{width:100%;max-width:1080px;padding:24px 28px 80px}.seg{border:1px solid var(--line);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--ink-dim);background:0 0;border:none;padding:5px 16px;font-size:13px}.seg button.on{background:var(--accent);color:#fff;font-weight:700}.meters{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.card h3{color:var(--ink-dim);margin-bottom:8px;font-size:13px;font-weight:600}.meter{align-items:center;gap:16px;display:flex}.meter .num{letter-spacing:.01em;font-size:26px;font-weight:900}.meter .sub{color:var(--ink-faint);font-size:12px}.stages{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.stagebox{background:var(--surface);border:1px solid var(--line);border-top:3px solid;border-radius:12px;padding:12px 14px}.stagebox .label{font-size:12px;font-weight:700}.stagebox .amt{font-size:17px;font-weight:900}.stagebox .cnt{color:var(--ink-faint);font-size:11px}.st-hakuchi{border-top-color:var(--st-hakuchi)}.st-hakuchi .label{color:var(--st-hakuchi)}.st-shikake{border-top-color:var(--st-shikake)}.st-shikake .label{color:var(--st-shikake)}.st-mikomi{border-top-color:var(--st-mikomi)}.st-mikomi .label{color:var(--st-mikomi)}.st-tassei{border-top-color:var(--st-tassei)}.st-tassei .label{color:var(--st-tassei)}.ratio-wrap{margin-top:14px}.ratio-bar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:14px;overflow:hidden}.ratio-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;transition:width .4s}.column{color:var(--ink-dim);background:var(--surface-2);border-left:3px solid var(--accent-2);border-radius:0 8px 8px 0;margin-top:10px;padding:8px 12px;font-size:12.5px}.funnel-row{align-items:center;gap:10px;margin:6px 0;display:flex}.funnel-row .fl{width:3.5em;color:var(--ink-dim);font-size:12px}.funnel-row .fb{border-radius:5px;min-width:4px;height:20px}.funnel-row .fv{color:var(--ink-dim);font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar .grow{flex:1}.btn{background:linear-gradient(135deg, var(--accent), #818cf8);color:#fff;border:none;border-radius:10px;padding:9px 18px;font-size:13px;font-weight:700}.btn:hover{filter:brightness(1.12)}.btn.ghost{background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}.chip{white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700;display:inline-block}.chip.src-manual{color:#475569;background:#64748b24}.chip.src-places{color:#0369a1;background:#0284c71f}.chip.src-houjin{color:#7e22ce;background:#9333ea1f}.chip.stage{color:#fff}.chip.role{color:#4f46e5;background:#6366f124}table.deals{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;overflow:hidden}table.deals th,table.deals td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:13px}table.deals th{background:var(--surface-2);color:var(--ink-dim);white-space:nowrap;font-size:12px}table.deals tr:last-child td{border-bottom:none}table.deals tr:hover td{cursor:pointer;background:#6366f10f}.late{color:var(--red);font-weight:700}.overlay{z-index:50;background:#141a2873;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:640px;padding:24px}.modal h2{margin-bottom:4px;font-size:18px}.modal .close{float:right;color:var(--ink-faint);background:0 0;border:none;font-size:20px}.stagebtns{gap:6px;margin:12px 0 16px;display:flex}.stagebtns button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);border-radius:10px;flex:1;padding:8px 4px;font-size:13px;font-weight:700}.stagebtns button.on{color:#fff;border-color:#0000}.stagebtns button.on.st-hakuchi{background:var(--st-hakuchi)}.stagebtns button.on.st-shikake{background:var(--st-shikake)}.stagebtns button.on.st-mikomi{background:var(--st-mikomi)}.stagebtns button.on.st-tassei{background:var(--st-tassei)}.steps{list-style:none}.steps li{border-bottom:1px dashed var(--line);align-items:center;gap:8px;padding:6px 0;font-size:13.5px;display:flex}.steps li .due{color:var(--ink-faint);margin-left:auto;font-size:12px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:8px 0;display:flex}.form-row label{color:var(--ink-dim);font-size:12px;display:block}.form-row input,.form-row select,.form-row textarea{width:100%}.form-row>div{flex:1;min-width:130px}.memo{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin:8px 0;padding:10px 14px;font-size:13px}.memo .mdate{color:var(--accent);font-size:12px;font-weight:700}.taskviews{gap:6px;margin-bottom:14px;display:flex}.taskviews button{border:1px solid var(--line);background:var(--surface);color:var(--ink-dim);border-radius:999px;padding:5px 16px;font-size:13px}.taskviews button.on{background:var(--accent);color:#fff;border-color:#0000;font-weight:700}.task{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px 16px;display:flex}.task input[type=checkbox]{accent-color:var(--accent);margin-top:5px}.task .t-title{font-weight:600}.task .t-meta{color:var(--ink-faint);font-size:12px}.task .star{color:var(--amber);background:0 0;border:none;margin-left:auto;font-size:18px}.task.done .t-title{color:var(--ink-faint);text-decoration:line-through}.warn{color:var(--red);font-weight:700}.checklist{margin-top:6px}.checklist label{color:var(--ink-dim);align-items:center;gap:6px;font-size:12.5px;display:flex}.checklist input[type=checkbox]{accent-color:var(--accent)}.empty{color:var(--ink-faint);text-align:center;padding:30px}.mock-banner{color:var(--amber);background:#d9770614;border:1px solid #d977064d;border-radius:10px;margin-top:14px;padding:8px 14px;font-size:12px}.login-wrap{background:radial-gradient(ellipse 800px 500px at 50% -10%, #6366f124, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:400px;padding:32px}.login-logo{text-align:center;font-size:30px;font-weight:900}.login-logo span{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.login-sub{text-align:center;color:var(--ink-faint);margin-bottom:22px;font-size:12px}.login-tabs{border:1px solid var(--line);border-radius:10px;margin-bottom:20px;display:flex;overflow:hidden}.login-tabs button{color:var(--ink-dim);background:0 0;border:none;flex:1;padding:8px;font-size:13.5px}.login-tabs button.on{background:var(--accent);color:#fff;font-weight:700}.login-card label{color:var(--ink-dim);margin:12px 0 4px;font-size:12px;display:block}.login-card input,.login-card select{width:100%}.login-error{color:var(--red);margin-top:10px;font-size:12.5px}.login-submit{width:100%;margin-top:20px;padding:11px;font-size:14px}.login-note{color:var(--ink-faint);margin-top:16px;font-size:11.5px;line-height:1.6}@media (width<=760px){.layout{flex-direction:column}.sidebar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070a12f7;flex-flow:wrap;align-items:center;gap:4px;width:100%;height:auto;padding:8px 12px;position:sticky;top:0}.logo{padding:0 8px 0 0;font-size:18px}.sidebar-foot{border:none;order:2;align-items:center;gap:8px;margin:0 0 0 auto;padding:0;display:flex}.userchip{padding:0}.uname,.urole{display:none}.logout{white-space:nowrap;width:auto;padding:5px 10px}.avatar{width:28px;height:28px;font-size:13px}.sidebar nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;order:3;gap:2px;width:100%;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button,.sidebar nav a{white-space:nowrap;flex-shrink:0;padding:7px 10px;font-size:13px}.stages{grid-template-columns:repeat(2,1fr)}.content{padding:16px 14px 60px}}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-head{text-align:center;color:var(--ink-faint);margin-bottom:4px;font-size:11px}.cal-head div{padding:2px 0}.cal-cell{background:var(--surface-2);border:1px solid #0000;border-radius:8px;min-height:84px;padding:4px 5px}.cal-cell:empty{background:0 0}.cal-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cal-day{color:var(--ink-faint);font-size:11px;font-weight:700}.cal-item{background:var(--surface);border-left:3px solid var(--accent-2);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;margin-top:3px;padding:2px 5px;font-size:10.5px;line-height:1.4;overflow:hidden}.cal-item.cal-done{opacity:.4;text-decoration:line-through}.cal-item.cal-late{border-left-color:var(--red);color:var(--red)}.cal-owner{color:#4f46e5;background:#6366f124;border-radius:999px;margin-left:5px;padding:0 6px;font-size:9.5px;font-weight:700;display:inline-block}.up-row{border-bottom:1px dashed var(--line);align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.up-row:last-child{border-bottom:none}.up-date{color:var(--accent-2);width:3.2em;font-size:12px;font-weight:800}.up-row.late .up-date{color:var(--red)}@media (width<=760px){.cal-cell{min-height:56px}.cal-item{font-size:9px}.cal-owner{display:none}}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-faint);border-radius:999px;padding:5px 14px;font-size:12.5px}.filter-chip.on{color:var(--ink);background:#6366f12e;border-color:#6366f180;font-weight:700}.cal-item.cal-event{background:#c084fc1a;border-left-color:#c084fc}.del{opacity:.5;background:0 0;border:none;margin-left:auto;font-size:13px}.del:hover{opacity:1}.tablewrap{border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:14px;overflow-x:auto}.tablewrap table.deals{border:none}.proj-head{cursor:pointer;align-items:center;gap:10px;display:flex}.proj-head>div:first-child{flex:1;min-width:0}@media (width>=761px) and (width<=1024px){.content{padding:20px 18px 70px}.sidebar{width:190px}.stages{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.topbar{flex-wrap:wrap;padding:10px 14px}.page-title{font-size:15px}.meters{grid-template-columns:1fr}.meter .num{font-size:21px}.toolbar{gap:6px}.toolbar select,.toolbar .btn{padding:7px 10px;font-size:12px}.modal{border-radius:12px;padding:16px}.overlay{padding:16px 8px}.form-row>div{min-width:100px}.tablewrap table.deals{min-width:0}.filter-chip{padding:4px 10px;font-size:11.5px}}.sidebar nav a{text-decoration:none}.google-btn{color:#1f2937;border:1px solid var(--line);background:#fff;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;display:flex}.login-or{text-align:center;color:var(--ink-faint);margin:14px 0;font-size:12px}.loading-screen{min-height:100vh;color:var(--ink-faint);justify-content:center;align-items:center;display:flex}.sync-badge{color:var(--amber);border:1px solid var(--line);white-space:nowrap;border-radius:999px;margin-left:10px;padding:2px 10px;font-size:11.5px}.sync-badge.ok{color:var(--green)}.sidebar,.sidebar .logo{color:#e7ecf5}.sidebar nav button,.sidebar nav a{color:#9aa7bd}.sidebar nav button:hover,.sidebar nav a:hover{color:#fff;background:#6366f124}.sidebar nav button.on,.sidebar nav a.on{color:#fff}.sidebar .uname{color:#e7ecf5}.sidebar .urole{color:#5d6b83}.sidebar .logout{color:#9aa7bd;border-color:#94a3b840}.sidebar .logout:hover{color:#f87171;border-color:#f87171}.sidebar-foot{border-top-color:#94a3b826}.modal-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.modal-actions .danger{color:var(--red);margin-left:auto}.up-row.clickable{cursor:pointer;border-radius:8px}.up-row.clickable:hover{background:var(--surface-2)}.nav-badge{background:var(--red);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.tl-entry{border-bottom:1px dashed var(--line)}.tl-head{cursor:pointer;align-items:center;gap:10px;padding:9px 0;display:flex}.tl-icon{border:1px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.tl-date{color:var(--ink-faint);white-space:nowrap;font-size:12px}.tl-body{padding:0 0 12px 38px;font-size:13.5px}.impression{border:2px dashed var(--line);color:var(--ink-dim);border-radius:12px;margin-top:14px;padding:12px 16px}.clickable-card{margin-bottom:10px;transition:border-color .15s}.clickable-card:hover{border-color:var(--accent)}.chip.pay-ok{color:var(--green);background:#0596691f}.chip.pay-late{color:var(--red);background:#dc26261a}.chip.pay-wait{color:var(--amber);background:#d977061a}.chip.pay-none{background:var(--surface-2);color:var(--ink-faint)}.st-lost{border-top-color:#94a3b8}.stagebtns button.on.st-lost{background:#94a3b8}.lost-banner{color:var(--ink-dim);background:#64748b1a;border:1px dashed #94a3b8;border-radius:10px;margin:6px 0;padding:8px 14px;font-size:13px}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.board-col{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;min-height:260px;padding:10px}.board-col-head{align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.board-count{background:var(--surface);color:var(--ink-faint);border-radius:999px;padding:0 8px;font-size:11px}.board-card{background:var(--surface);border:1px solid var(--line);cursor:grab;border-radius:10px;margin-bottom:8px;padding:8px 10px;position:relative}.board-card:active{cursor:grabbing}.board-card:hover{border-color:var(--accent)}.board-move{justify-content:flex-end;gap:4px;margin-top:4px;display:flex}.board-move button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);border-radius:6px;padding:1px 8px;font-size:11px}.board-empty{color:var(--ink-faint);text-align:center;border:1px dashed var(--line);border-radius:8px;padding:20px 0;font-size:12px}@media (width<=760px){.board{grid-template-columns:1fr}.board-col{min-height:120px}}.up-date{white-space:nowrap;flex-shrink:0;width:auto;min-width:3.6em}.progress-track{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;min-width:6px;height:100%;transition:width .4s}.toast{z-index:100;cursor:pointer;border-radius:12px;max-width:min(560px,100vw - 32px);padding:12px 40px 12px 16px;font-size:13.5px;animation:.25s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0f142840}.toast-error{color:#b91c1c;background:#fef2f2;border:1px solid #dc262666}.toast-close{opacity:.6;font-size:16px;position:absolute;top:10px;right:12px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.toast-info{color:#047857;background:#ecfdf5;border:1px solid #05966966}body:has(.overlay){overflow:hidden}.tablewrap .stick-check{z-index:3;background:var(--surface);position:sticky;left:0}.tablewrap th.stick-check{background:var(--surface-2)}.tablewrap .stick-name{z-index:3;background:var(--surface);text-overflow:ellipsis;max-width:180px;position:sticky;left:34px;overflow:hidden;box-shadow:4px 0 6px -4px #141a282e}.tablewrap th.stick-name{background:var(--surface-2)}table.deals tr:hover td.stick-check,table.deals tr:hover td.stick-name{background:#f3f4fb}.sort-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sort-th:hover,.sort-th.sort-on{color:var(--accent)}.sort-arrow{opacity:.6;margin-left:4px;font-size:10px}.sort-on .sort-arrow{opacity:1}.company-link{cursor:pointer;color:var(--accent)}.company-link:hover{text-decoration:underline}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:12px;display:flex}.pager button:disabled{opacity:.4;cursor:default}.search-btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;margin-right:10px;padding:5px 14px;font-size:14px}.search-btn:hover{border-color:var(--accent)}.recording{animation:1.2s infinite pulse;border-color:var(--red)!important;color:var(--red)!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.ov-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.yz-bar-track{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;min-width:200px;height:20px;display:flex;position:relative}.yz-bar-seg{height:100%}.yz-bar-seg:first-child{border-radius:5px 0 0 5px}.yz-goal-line{background:var(--ink);opacity:.75;width:2.5px;position:absolute;top:-3px;bottom:-3px}.yz-legend{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.yz-board{align-items:flex-start;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.yz-col{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex:0 0 220px;min-width:220px;min-height:120px;padding:8px}.yz-col.this-month{background:#6366f10f;border-color:#6366f180}.yz-col.drop-on{outline:2px dashed var(--indigo,#6366f1);outline-offset:-2px}.yz-col-head{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.yz-col-total{color:var(--ink-faint);margin-left:auto;font-size:11.5px;font-weight:600}.rep-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:10px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.rep-row:hover{border-color:var(--accent);box-shadow:0 1px 6px #4f46e514}.rep-name{color:var(--accent);cursor:pointer;font-size:13.5px;font-weight:700}.rep-name:hover{text-decoration:underline}.rep-meta{color:var(--ink-faint);font-size:12px}.rep-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.rep-del{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:15px;line-height:1}.rep-del:hover{color:var(--red);background:#dc262614}.rep-expand{background:var(--surface-2);white-space:pre-wrap;border-radius:8px;flex-basis:100%;margin-top:4px;padding:10px 14px;font-size:12.5px}.tablewrap table.deals{overflow:visible}
