:root{--bg: #fdfdfc;--panel: #fff;--border: #e4e2dc;--row-border: #eceae5;--row-border-light: #f2f0eb;--text: #1c2430;--muted: #5b6472;--faint: #8a919c;--disabled: #c4c1b9;--accent: oklch(.45 .13 250);--accent-strong: oklch(.4 .1 250);--accent-bg: oklch(.94 .02 250);--accent-soft: oklch(.97 .01 250);--accent-avatar: oklch(.88 .04 250);--bar: oklch(.55 .13 250);--bar-pale: oklch(.75 .06 250);--green: oklch(.55 .15 155);--green-text: oklch(.4 .1 155);--green-bg: oklch(.92 .05 155);--red: oklch(.5 .15 25);--red-strong: oklch(.6 .18 25);--red-border: oklch(.85 .08 25);--red-soft: oklch(.97 .02 25);--red-row: oklch(.98 .01 25);--amber: #6b5300;--amber-bg: oklch(.85 .09 85);--amber-soft: oklch(.98 .015 85);--amber-row: oklch(.97 .03 85);--dark: oklch(.24 .03 255);--track: #eceae5;--input-border: #dcdad4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Noto Sans JP,system-ui,sans-serif;font-size:12.5px}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:12px;color:var(--text)}a{color:var(--accent);text-decoration:none}.topnav{display:flex;align-items:center;gap:28px;padding:0 28px;height:52px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:20}.topnav .brand{font-size:14px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.topnav .links{display:flex;gap:4px;font-size:12.5px}.topnav .links a{padding:6px 12px;color:var(--muted);white-space:nowrap;border-radius:6px;display:flex;align-items:center;gap:6px}.topnav .links a.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.topnav .links a:hover:not(.active){background:var(--accent-soft)}.topnav .right{margin-left:auto;display:flex;align-items:center;gap:14px}.month-nav{display:flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;white-space:nowrap}.month-nav button{border:none;background:none;font-size:13px;color:var(--muted);padding:2px 6px;border-radius:4px}.month-nav button:hover{background:var(--accent-soft);color:var(--text)}.nav-badge{background:var(--red-strong);color:#fff;font-size:10px;font-weight:700;padding:0 6px;border-radius:99px;line-height:16px}.page{padding:20px 28px 32px;display:flex;flex-direction:column;gap:14px;max-width:1400px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.page-title{font-size:16px;font-weight:700}.page-title .count{font-size:12px;color:var(--faint);font-weight:400;margin-left:6px}.page-sub{font-size:11.5px;color:var(--faint);margin-top:4px}.head-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px}.card.pad{padding:16px 20px}.strip{display:flex;gap:22px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 18px;font-size:11.5px;align-items:center;flex-wrap:wrap}.strip .lbl{color:var(--faint)}.strip .val{font-weight:700}.btn{border:1px solid var(--input-border);border-radius:6px;padding:6px 12px;background:var(--panel);color:var(--muted);font-weight:600;font-size:11.5px;white-space:nowrap}.btn:hover{background:var(--accent-soft)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:6px 14px}.btn.primary:hover{background:var(--accent-strong)}.btn.danger{color:var(--red);border-color:var(--red-border)}.btn.danger:hover{background:var(--red-soft)}.btn.small{padding:4px 9px;font-size:11px}.btn:disabled{opacity:.45;cursor:not-allowed}.seg{display:flex;border:1px solid var(--input-border);border-radius:7px;overflow:hidden;font-size:11.5px;background:var(--panel)}.seg button{border:none;background:none;padding:6px 14px;color:var(--muted);white-space:nowrap}.seg button.active{background:var(--accent);color:#fff;font-weight:600}.chip{padding:5px 11px;border:1px solid var(--input-border);border-radius:99px;color:var(--muted);background:var(--panel);font-size:11px;white-space:nowrap}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.chip.alert{color:var(--red);font-weight:600}.badge{font-size:10px;padding:2px 8px;border-radius:99px;font-weight:600;white-space:nowrap}.badge.green{background:var(--green-bg);color:var(--green-text)}.badge.red{background:var(--red-strong);color:#fff;font-weight:700}.badge.amber{background:var(--amber-bg);color:var(--amber);font-weight:700}.badge.blue{background:var(--accent-bg);color:var(--accent)}.badge.gray{background:var(--track);color:var(--muted)}.badge.pm{background:var(--accent);color:#fff;padding:1px 6px;border-radius:4px}.gtable .ghead{display:grid;gap:10px;font-size:10.5px;color:var(--faint);font-weight:600;padding:10px 0 8px;border-bottom:1px solid var(--row-border)}.gtable .grow{display:grid;gap:10px;font-size:12px;padding:10px 0;border-bottom:1px solid var(--row-border-light);align-items:center}.gtable .grow:last-child{border-bottom:none}.gtable .grow.hl-red{background:var(--red-row);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:8px}.gtable .grow.hl-amber{background:var(--amber-soft);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:8px}.gtable .grow.clickable:hover{background:var(--accent-soft);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:8px;cursor:pointer}.tr{text-align:right}.avatar{width:26px;height:26px;border-radius:50%;background:var(--accent-avatar);flex:none;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--accent-strong)}.avatar.red{background:#f7cbc7;color:var(--text)}.avatar.amber{background:#ead5ab;color:var(--text)}.avatar.sq{border-radius:7px;font-weight:700;font-size:11px}.bar-track{height:6px;background:var(--track);border-radius:3px;overflow:hidden;flex:1}.bar-fill{height:100%;background:var(--bar);border-radius:3px}.bar-fill.red{background:var(--red-strong)}.bar-fill.amber{background:#be9946}.bar-fill.green{background:var(--accent)}.pos{color:var(--green);font-weight:600}.neg{color:#bd413f;font-weight:600}.muted{color:var(--muted)}.faint{color:var(--faint)}.dim{color:var(--disabled)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.kpi .k-label{font-size:11.5px;color:var(--muted);font-weight:500}.kpi .k-value{font-size:26px;font-weight:700;margin-top:4px}.kpi .k-unit{font-size:13px;font-weight:500;color:var(--muted)}.kpi .k-foot{font-size:11.5px;margin-top:6px;color:var(--faint)}.kpi.alert{border-color:var(--red-border)}.kpi.alert .k-label,.kpi.alert .k-value{color:var(--red)}.chart{display:flex;align-items:flex-end;gap:10px;height:170px;margin-top:18px;border-bottom:1px solid var(--border);padding:0 4px}.chart .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}.chart .col .b{background:var(--bar-pale);border-radius:3px 3px 0 0}.chart .col.now .b{background:var(--accent)}.chart .col .target-line{position:absolute;left:-2px;right:-2px;border-top:2px dashed #c4c1b9}.chart-labels{display:flex;gap:10px;font-size:10px;color:var(--faint);margin-top:6px;padding:0 4px}.chart-labels div{flex:1;text-align:center}.chart-labels div.now{font-weight:700;color:var(--text)}.num-input{border:1px solid var(--input-border);border-radius:6px;padding:4px 10px;background:var(--panel);font-weight:600;width:84px;text-align:right}.num-input.empty{border:1.5px solid var(--red-strong);background:var(--red-row);font-weight:400}.num-input.adj{font-weight:400;color:var(--faint);width:72px}.num-input.adj.has-val{font-weight:600;color:var(--text)}.num-input.compact{width:56px;padding:4px 6px}.num-input:disabled{background:var(--bg);color:var(--disabled)}.num-input:focus{outline:2px solid var(--accent-bg)}.search-input,.form-input,.form-select,.form-textarea{border:1px solid var(--input-border);border-radius:6px;padding:6px 12px;background:var(--panel)}.form-input,.form-select,.form-textarea{width:100%}.form-row{display:flex;flex-direction:column;gap:4px}.form-row label{font-size:11px;color:var(--muted);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.group-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.group-card.alert{border-color:var(--red-border)}.group-head{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--accent-soft);border-bottom:1px solid var(--border)}.group-card.alert .group-head{background:var(--red-row);border-bottom-color:var(--red-border)}.group-body{padding:4px 20px 12px}.total-bar{display:flex;align-items:center;gap:22px;background:var(--dark);color:#fff;border-radius:10px;padding:14px 20px;font-size:12px;flex-wrap:wrap;position:sticky;bottom:12px;box-shadow:0 4px 14px #0000002e}.total-bar .lbl{color:#aeb6c2}.total-bar .big{font-weight:700;font-size:15px}.total-bar .actions{margin-left:auto;display:flex;gap:8px}.total-bar .btn-ghost{padding:7px 14px;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-weight:600;background:none;color:#fff;font-size:12px}.total-bar .btn-confirm{padding:7px 16px;background:#3fbf86;color:#091a11;border:none;border-radius:6px;font-weight:700;font-size:12px}.total-bar .btn-confirm.locked{background:#c3d2c9}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}.kanban-col{display:flex;flex-direction:column;gap:10px;min-height:60px}.deal-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer}.deal-card:hover{border-color:var(--accent);box-shadow:0 1px 4px #1e3c8c1a}.funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;font-size:11px}.funnel>div{padding:8px 14px}.funnel>div:first-child{border-radius:8px 0 0 8px}.funnel>div:last-child{border-radius:0 8px 8px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2673;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 40px;overflow-y:auto}.modal{background:var(--panel);border-radius:12px;padding:22px 24px;width:520px;max-width:100%;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 40px #0003}.modal h3{margin:0;font-size:14px}.modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.empty{border:1px dashed var(--input-border);border-radius:10px;padding:40px 20px;text-align:center;color:var(--faint);font-size:12px;background:var(--panel);display:flex;flex-direction:column;gap:10px;align-items:center}.empty .t{font-size:13px;font-weight:700;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 380px;gap:14px;align-items:start}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.section-title{font-size:13px;font-weight:700}.link-btn{border:none;background:none;color:var(--accent);font-weight:600;font-size:11px;padding:0}.center-note{font-size:11px;color:var(--faint);text-align:center}.breadcrumb{font-size:11.5px;color:var(--faint)}.breadcrumb b{color:var(--text);font-weight:600}.locked-banner{background:var(--green-bg);color:var(--green-text);border-radius:8px;padding:8px 14px;font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:10px}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-col,.grid-2,.grid-3{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(2,1fr)}}
