:root{--paper:#f1f3f0;--surface:#fff;--surface-muted:#e9ede9;--surface-sunk:#f6f8f5;--ink:#16241f;--ink-secondary:#4b5a54;--ink-muted:#7c8b84;--line:#d8ded9;--line-strong:#bfc9c2;--accent:#0e7c5e;--accent-dark:#0a5c46;--accent-soft:#dcede6;--amber:#b8842b;--amber-soft:#f7ebd6;--red:#b5432e;--red-soft:#f7e2db;--blue:#3d6fa8;--blue-soft:#dee9f5;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-display:"Space Grotesk", "IBM Plex Sans", sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--shadow-sm:0 1px 2px #16241f0f;--shadow-md:0 4px 16px #16241f1a;--shadow-lg:0 12px 40px #16241f29;--s0:#e4eae7;--s1:#c7d6ce;--s2:#a3c0b2;--s3:#79a896;--s4:#4c9079;--s5:#22795c;--s6:#0e5c45}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-muted)}.secondary{color:var(--ink-secondary)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.mockbanner{background:var(--ink);color:#dce6e1;text-align:center;font-size:11.5px;font-family:var(--font-mono);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:6px 16px;display:flex}.mockbanner b{color:#fff}.mockbanner .dot{color:#64796f}.rolebar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 20px;display:flex}.rolebar-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:11px;font-weight:600}.roletabs{background:var(--surface-sunk);border-radius:8px;gap:4px;padding:3px;display:flex}.roletab{all:unset;cursor:pointer;color:var(--ink-secondary);border-radius:6px;padding:6px 12px;font-size:12.5px}.roletab:hover{background:#0e7c5e14}.roletab.active{background:var(--accent);color:#fff;font-weight:500}.rolebar select{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:6px 8px;font-size:12.5px}.rolebar-spacer{flex:1}.rolebar-date{color:var(--ink-muted);font-size:12px;font-family:var(--font-mono)}.shell{flex:1;min-height:0;display:flex}.sidebar{background:var(--ink);color:#eaf0ec;flex-direction:column;flex:none;width:218px;padding:18px 12px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 6px 18px;display:flex}.brand-mark{background:var(--accent);color:#fff;width:34px;height:34px;font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.brand-name{font-family:var(--font-display);font-size:15px;font-weight:600}.brand-sub{color:#9db0a6;font-size:10.5px}.nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:#6f8177;padding:14px 12px 6px;font-size:10px;font-weight:600}.nav-item{all:unset;cursor:pointer;border-radius:var(--radius-sm);color:#c7d3cc;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{background:var(--accent);color:#fff;font-weight:500}.nav-count{font-family:var(--font-mono);background:#ffffff24;border-radius:20px;padding:1px 6px;font-size:10.5px}.nav-item.active .nav-count{background:#00000038}.sidebar-foot{border-top:1px solid #ffffff1f;margin-top:10px;padding:12px 6px 0}.foot-role{font-size:12.5px;font-weight:500}.foot-sub{color:#9db0a6;font-size:10.5px}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.topbar{padding:20px 26px 2px}.topbar h1{font-size:19px;font-weight:600}.topbar .sub{color:var(--ink-muted);margin-top:3px;font-size:12.5px}.content{flex:1;padding:16px 26px 48px}.app-footer{border-top:1px solid var(--line);color:var(--ink-muted);font-size:11px;font-family:var(--font-mono);text-align:center;padding:14px 26px}.mr-stage{flex:1;justify-content:center;align-items:flex-start;gap:28px;padding:24px;display:flex;overflow:auto}.phone{background:var(--surface);width:390px;height:780px;max-height:calc(100vh - 150px);box-shadow:var(--shadow-lg);border:10px solid #1c2c26;border-radius:38px;flex-direction:column;flex:none;display:flex;position:relative;overflow:hidden}.phone-status{background:var(--ink);color:#c7d3cc;font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:7px 18px 9px;font-size:10.5px;display:flex}.phone-body{background:var(--paper);flex:1;overflow-y:auto}.phone-pad{padding:14px 14px 90px}.phone-tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px 4px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.phone-tab{all:unset;cursor:pointer;text-align:center;color:var(--ink-muted);border-radius:8px;flex:1;padding:6px 2px;font-size:10.5px}.phone-tab.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.phone-tab .glyph{margin-bottom:2px;font-size:15px;display:block}.mr-notes{flex:1;min-width:300px;max-width:460px}@media (width<=1000px){.mr-stage{flex-direction:column;align-items:center}.mr-notes{max-width:390px}}.app-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.mr-stage.solo{justify-content:center}.mr-stage.solo .phone{height:min(860px,100vh - 120px)}.rolebar-identity{align-items:baseline;gap:8px;font-size:13px;display:flex}.rolebar-identity .muted{font-size:11.5px}.exception-topics{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.exception-topic+.exception-topic{border-top:1px solid var(--line)}.exception-topic-head{font:inherit;margin:0}.exception-topic-button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.exception-topic-button:hover{background:var(--surface-sunk)}.exception-topic-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.exception-topic-chevron{width:12px;color:var(--ink-muted);font-size:11px}.exception-topic-label{letter-spacing:.01em;font-size:13px;font-weight:600}.exception-topic-action{text-align:right;margin-left:auto;font-size:11.5px}.exception-topic.is-open{background:var(--surface-sunk)}.exception-topic-body{padding:0 16px 14px}@media (width<=720px){.exception-topic-button{flex-wrap:wrap}.exception-topic-action{text-align:left;width:100%;margin-left:22px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:14px;padding:16px 18px}.card.tight{padding:12px 14px}.card h3{color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:600}.card-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.card-head h3{margin:0}.grid-2{grid-template-columns:1.15fr 1fr;gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=1080px){.grid-2,.grid-3{grid-template-columns:1fr}}.tag{background:var(--surface-muted);color:var(--ink-secondary);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag.tone-good{background:var(--accent-soft);color:var(--accent-dark)}.tag.tone-warning{background:var(--amber-soft);color:var(--amber)}.tag.tone-critical{background:var(--red-soft);color:var(--red)}.tag.tone-info{background:var(--blue-soft);color:var(--blue)}.tag.tone-muted{background:var(--surface-muted);color:var(--ink-muted)}.tag.sm{padding:1px 6px;font-size:10px}.prio{width:20px;height:20px;font-family:var(--font-mono);border-radius:5px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.prio-A{background:var(--red);color:#fff}.prio-B{background:var(--amber);color:#fff}.prio-C{background:var(--blue-soft);color:var(--blue)}.prio-D{background:var(--surface-muted);color:var(--ink-muted)}.seed-flag{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-muted);border:1px dashed var(--line-strong);text-transform:uppercase;border-radius:4px;padding:1px 5px;font-size:9.5px}.blister{gap:3px;display:inline-flex}.pocket{border:1px solid var(--line-strong);width:26px;height:18px;font-family:var(--font-mono);color:var(--ink-secondary);border-radius:4px;justify-content:center;align-items:center;font-size:9px;display:inline-flex}.pocket.filled{color:#fff;border-color:#0000}.pocket.filled.pale{color:var(--ink-secondary)}.pocket.current{box-shadow:0 0 0 2px var(--ink)}.blister.compact .pocket{width:12px;height:14px;font-size:0}.blister.mini .pocket{border-radius:3px;width:9px;height:11px;font-size:0}.stage-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stage-name{font-size:12px;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);border-bottom:1px solid var(--line);background:var(--surface);padding:7px 10px;font-size:10.5px;font-weight:600;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--surface-sunk)}.data-table td.num,.data-table th.num{text-align:right;font-family:var(--font-mono)}.table-wrap{max-height:460px;margin:0 -18px -16px;padding:0 18px;overflow:auto}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px;display:grid}.kpi-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-size:10.5px}.kpi-value{font-family:var(--font-display);margin:3px 0 1px;font-size:25px;font-weight:600}.kpi-delta{font-size:11px}.kpi-delta.tone-good{color:var(--accent)}.kpi-delta.tone-warning{color:var(--amber)}.kpi-delta.tone-critical{color:var(--red)}.kpi-delta.tone-muted{color:var(--ink-muted)}.hbar-row{grid-template-columns:150px 1fr 40px;align-items:center;gap:10px;margin-bottom:6px;display:grid}.hbar-label{color:var(--ink-secondary);font-size:11.5px}.hbar-track{background:var(--surface-muted);border-radius:20px;height:14px;overflow:hidden}.hbar-fill{border-radius:20px;height:100%}.hbar-value{font-family:var(--font-mono);text-align:right;font-size:11.5px}.meter{background:var(--surface-muted);border-radius:20px;min-width:60px;height:8px;overflow:hidden}.meter-fill{background:var(--accent);border-radius:20px;height:100%}.meter-fill.tone-warning{background:var(--amber)}.meter-fill.tone-critical{background:var(--red)}.avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-dark);font-family:var(--font-mono);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:inline-flex}.avatar.lg{border-radius:11px;width:40px;height:40px;font-size:13px}.doc-cell{align-items:center;gap:9px;display:flex}.doc-name{font-weight:500}.doc-sub{color:var(--ink-muted);font-size:11px}.reasons{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.reason{background:var(--surface-sunk);border:1px solid var(--line);color:var(--ink-secondary);border-radius:5px;align-items:center;gap:5px;padding:2px 7px;font-size:10.5px;display:inline-flex}.reason .pts{font-family:var(--font-mono);color:var(--ink-muted);font-size:9.5px}.reason.tone-critical{background:var(--red-soft);color:var(--red);border-color:#0000}.reason.tone-warning{background:var(--amber-soft);color:var(--amber);border-color:#0000}.reason.tone-good{background:var(--accent-soft);color:var(--accent-dark);border-color:#0000}.field{margin-bottom:12px;display:block}.field>span{color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:9px 10px;font-size:13px}.field textarea{resize:vertical}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{all:unset;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-secondary);border-radius:20px;padding:7px 12px;font-size:12px}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.chip.on.warn{background:var(--amber);border-color:var(--amber)}.chip.on.bad{background:var(--red);border-color:var(--red)}.btn{all:unset;cursor:pointer;text-align:center;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);padding:10px 16px;font-size:13px;font-weight:500}.btn:hover{border-color:var(--accent);color:var(--accent-dark)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark);color:#fff}.btn.danger{color:var(--red);border-color:var(--red-soft)}.btn.sm{padding:6px 10px;font-size:12px}.btn.block{width:100%;display:block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.empty-note{color:var(--ink-muted);text-align:center;background:var(--surface-sunk);border-radius:var(--radius-md);padding:14px;font-size:12.5px}.note{color:var(--ink-secondary);background:var(--surface-sunk);border-left:3px solid var(--line-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:8px 0;padding:8px 11px;font-size:11.5px}.note.accent{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.note.warn{border-left-color:var(--amber);background:var(--amber-soft);color:#8a6320}.note.bad{border-left-color:var(--red);background:var(--red-soft);color:var(--red)}.toast{background:var(--ink);color:#eaf0ec;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;z-index:90;border-radius:30px;padding:11px 20px;font-size:12.5px;transition:all .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.drawer-backdrop{z-index:100;background:#16241f73;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--paper);width:min(560px,94vw);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.drawer-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.drawer-body{flex:1;padding:16px 20px 40px;overflow-y:auto}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:3px;margin-bottom:12px;display:flex}.tab{all:unset;cursor:pointer;color:var(--ink-muted);border-bottom:2px solid #0000;padding:8px 12px;font-size:12.5px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent-dark);border-bottom-color:var(--accent);font-weight:500}.kv{grid-template-columns:132px 1fr;gap:4px 12px;font-size:12.5px;display:grid}.kv dt{color:var(--ink-muted)}.kv dd{margin:0}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--line);padding:0 0 14px 14px;position:relative}.timeline li:before{content:"";background:var(--line-strong);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:-5px}.timeline li.good:before{background:var(--accent)}.timeline li.bad:before{background:var(--red)}.tl-date{font-family:var(--font-mono);color:var(--ink-muted);font-size:11px}.data-table th.ours,.data-table td.ours{background:var(--accent-soft)}.data-table th.ours{border-bottom-color:var(--accent)}.data-table.sm th,.data-table.sm td{padding:5px 8px;font-size:12px}.table-wrap{overflow-x:auto}.filter-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.filter-row select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:6px;min-width:280px;padding:7px 10px}.filter-note{color:var(--ink-muted);font-size:13px}.detail-row>td{background:var(--surface-sunk);padding:0}.daylog-detail{padding:14px 16px 18px}.daylog-detail h4{margin:12px 0 6px;font-size:13px;font-weight:600}.daylog-detail h4:first-child{margin-top:0}.sm-note{margin:10px 0 0;font-size:12px;line-height:1.5}.note-row>td{vertical-align:top;border-top:0;padding-top:0}.note-row td.ours{color:var(--ink-secondary);padding-bottom:9px;font-size:12px;line-height:1.5}.note-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-right:6px;font-size:10px;display:inline-block}.data-table tr.note-parent>td{border-bottom:0;padding-bottom:2px}.completeness{margin-bottom:8px}.completeness-head{justify-content:space-between;align-items:baseline;margin-bottom:3px;font-size:11.5px;display:flex}.completeness-track{background:var(--line);border-radius:4px;height:7px;overflow:hidden}.completeness-fill{border-radius:4px;height:100%;transition:width .3s}.completeness-fill.good{background:var(--accent)}.completeness-fill.warn{background:var(--amber)}.completeness-fill.bad{background:var(--red)}@media (prefers-reduced-motion:reduce){.completeness-fill{transition:none}}.foot-role{justify-content:space-between;align-items:center;gap:8px;display:flex}.mr-head{padding:4px 2px 12px}.mr-head h2{font-size:18px;font-weight:600}.mr-head .sub{color:var(--ink-muted);font-size:11.5px;font-family:var(--font-mono)}.mr-step{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;display:flex}.mr-step .on{color:var(--accent-dark);font-weight:600}.summary-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.summary-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}.summary-tile .v{font-family:var(--font-display);font-size:21px;font-weight:600}.summary-tile .l{color:var(--ink-muted);font-size:10.5px;line-height:1.3}.summary-tile.alert{border-color:var(--red);background:var(--red-soft)}.summary-tile.alert .v,.summary-tile.alert .l{color:var(--red)}.summary-tile.warn{border-color:var(--amber);background:var(--amber-soft)}.summary-tile.warn .v,.summary-tile.warn .l{color:#8a6320}.terr-item{all:unset;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;margin-bottom:7px;padding:11px 13px;display:block}.terr-item:hover{border-color:var(--accent)}.terr-item.active{border-color:var(--accent);background:var(--accent-soft)}.terr-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.terr-name{font-size:13.5px;font-weight:600}.terr-meta{color:var(--ink-muted);flex-wrap:wrap;gap:10px;margin-top:3px;font-size:11px;display:flex}.plan-card{position:relative}.plan-card-top{align-items:center;gap:8px;margin-bottom:8px;display:flex}.plan-order{background:var(--ink);color:#fff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:inline-flex}.plan-chips{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.plan-stage{margin-bottom:8px}.plan-kv{grid-template-columns:92px 1fr;font-size:11.5px}.plan-kv .objective{color:var(--accent-dark);font-weight:500}.plan-kv .pending{color:var(--amber)}.plan-actions{margin-top:10px}.precall-hero{background:var(--ink);color:#eaf0ec;border-radius:var(--radius-lg);margin-bottom:12px;padding:14px 16px}.precall-hero .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#8fa79b;font-size:9.5px}.precall-hero h2{margin:4px 0 2px;font-size:16px}.precall-hero .sub{color:#a8bcb2;font-size:11.5px}.precall-objective{background:var(--accent);color:#fff;border-radius:var(--radius-md);margin-bottom:12px;padding:12px 14px}.precall-objective .eyebrow{text-transform:uppercase;letter-spacing:.1em;opacity:.8;font-size:9.5px}.precall-objective p{margin:4px 0 0;font-size:14px;font-weight:500;line-height:1.35}.block-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);margin-bottom:6px;font-size:10px;font-weight:600}.point-list{margin:0;padding:0;list-style:none}.point-list li{border-bottom:1px dashed var(--line);padding:7px 0;font-size:12.5px}.point-list li:last-child{border-bottom:none}.point-list .src{color:var(--ink-muted);margin-top:2px;font-size:10px;display:block}.pc-section{margin-bottom:16px}.pc-timer{font-family:var(--font-mono);color:var(--ink-muted);align-items:center;gap:6px;font-size:11px;display:flex}.voice-box{border:1px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center;background:var(--surface-sunk);padding:14px}.voice-dot{background:var(--red);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:6px;font-size:17px;display:inline-flex}.voice-dot.is-recording{animation:1.2s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 0 0 var(--red-soft)}50%{box-shadow:0 0 0 6px var(--red-soft)}}.stage-suggestion{border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius-md);margin:10px 0;padding:11px 13px}.stage-suggestion .why{color:var(--accent-dark);margin-top:5px;font-size:11.5px}.eod-table{border-collapse:collapse;width:100%;font-size:12px}.eod-table th,.eod-table td{border-bottom:1px solid var(--line);text-align:left;padding:7px 6px}.eod-table th{text-transform:uppercase;color:var(--ink-muted);letter-spacing:.05em;font-size:10px}.eod-table td.num,.eod-table th.num{text-align:right;font-family:var(--font-mono)}.eod-exception{color:var(--amber);font-size:11px}.removed-row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:8px;padding:7px 0;font-size:11.5px;display:flex}.skeleton{pointer-events:none;background:linear-gradient(90deg, var(--surface) 0%, var(--line) 50%, var(--surface) 100%);background-size:300% 100%;min-height:62px;animation:1.3s ease-in-out infinite skeleton-sweep}.skeleton-line{background:var(--line);border-radius:6px;height:12px;margin:8px 0}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--line);animation:none}}.plan-move{gap:4px;margin-left:auto;display:inline-flex}.plan-move .btn{min-width:34px;padding:4px 8px}.missed-controls{align-items:center;gap:6px;margin-top:6px;display:flex}.missed-controls select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex:1;min-width:0;padding:5px 7px;font-size:12px}.store-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:8px;padding:10px 12px}.store-row-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.biz-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:8px;padding:11px 13px}.biz-card.row-error{border-color:var(--red)}.biz-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.biz-card-value{margin:6px 0;font-size:12.5px}.biz-card-value strong{font-family:var(--font-mono)}.stepper{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.stepper-label{color:var(--ink-secondary);font-size:12px}.stepper-controls{align-items:center;gap:6px;display:flex}.stepper-controls button{all:unset;cursor:pointer;text-align:center;border:1px solid var(--line-strong);border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:inline-flex}.stepper-controls button:disabled{opacity:.5;cursor:not-allowed}.stepper-controls input{text-align:center;width:46px;font:inherit;border:1px solid var(--line-strong);border-radius:6px;padding:4px 2px;font-size:13px}.plan-toggle{border:1px solid var(--line-strong);cursor:pointer;width:28px;height:28px;color:inherit;background:0 0;border-radius:6px;font-size:14px;line-height:1;transition:transform .15s}.plan-toggle.open{transform:rotate(180deg)}.terr-row{align-items:flex-start;gap:6px;display:flex}.terr-row .terr-item{flex:1;min-width:0}.terr-edit{margin-top:8px}.tour-root{z-index:200;pointer-events:none;position:fixed;inset:0}.tour-dim{pointer-events:auto;background:#0e1a169e;transition:all .22s;position:fixed}.tour-ring{box-shadow:0 0 0 2px var(--accent), 0 0 0 6px #0e7c5e47;pointer-events:none;border-radius:10px;transition:all .22s;position:fixed}.tour-card{background:var(--accent-dark);color:#eaf3ef;pointer-events:auto;z-index:210;border-radius:14px;width:380px;max-width:calc(100vw - 24px);padding:18px 20px 14px;animation:.18s ease-out tour-in;position:fixed;box-shadow:0 18px 50px #0a281e73}@keyframes tour-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tour-chapter{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#7fc0a8;margin-bottom:6px;font-size:10px}.tour-title{font-family:var(--font-display);color:#fff;margin:0 0 8px;font-size:17px;font-weight:600;line-height:1.25}.tour-body{color:#d6e7df;margin:0 0 10px;font-size:13px;line-height:1.5}.tour-why{color:#eaf3ef;background:#ffffff17;border-radius:8px;margin:0 0 10px;padding:9px 11px;font-size:12.5px;line-height:1.5}.tour-why span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#8fd3b8;margin-bottom:3px;font-size:9.5px;display:block}.tour-ref{font-family:var(--font-mono);color:#79ae99;margin-bottom:12px;font-size:10px}.tour-foot{border-top:1px solid #ffffff24;padding-top:11px}.tour-progress{align-items:center;gap:9px;margin-bottom:10px;display:flex}.tour-count{font-family:var(--font-mono);color:#8fa79b;flex:none;font-size:10.5px}.tour-bar{background:#ffffff29;border-radius:3px;flex:1;height:3px;overflow:hidden}.tour-bar-fill{background:#6fd3ac;height:100%;transition:width .25s;display:block}.tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.tour-btn{all:unset;cursor:pointer;text-align:center;border-radius:7px;padding:7px 14px;font-size:12.5px;font-weight:500}.tour-btn.solid{color:var(--accent-dark);background:#fff}.tour-btn.solid:hover{background:#dff3ea}.tour-btn.try{color:#073b2c;background:#6fd3ac}.tour-btn.try:hover{background:#8ae0bf}.tour-btn.ghost{color:#b9d3c8;border:1px solid #ffffff38}.tour-btn.ghost:hover{color:#fff;border-color:#ffffff73}.tour-btn:disabled{opacity:.45;cursor:not-allowed}.tour-arrow{border:9px solid #0000;width:0;height:0;position:absolute}.tour-arrow-left{border-right-color:var(--accent-dark);margin-top:-9px;top:50%;left:-18px}.tour-arrow-right{border-left-color:var(--accent-dark);margin-top:-9px;top:50%;right:-18px}.tour-arrow-top{border-bottom-color:var(--accent-dark);margin-left:-9px;top:-18px;left:50%}.tour-arrow-bottom{border-top-color:var(--accent-dark);margin-left:-9px;bottom:-18px;left:50%}.tour-launch{all:unset;cursor:pointer;background:var(--accent);color:#fff;border-radius:7px;padding:6px 13px;font-size:12.5px;font-weight:500}.tour-launch:hover{background:var(--accent-dark)}.auth{background:var(--paper);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:14px;width:100%;max-width:380px;padding:28px;display:flex;box-shadow:0 12px 32px #16241f14}.auth-brand{margin-bottom:4px}.auth-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:22px}.auth-sub{color:var(--ink-muted);margin:-8px 0 4px;font-size:13px}.auth-field{color:var(--ink-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-field input{font:inherit;color:var(--ink);background:var(--surface-sunk);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;font-size:15px}.auth-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-field input:disabled{opacity:.6}.auth-error{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:13px}.auth-submit{justify-content:center;margin-top:4px;padding:11px;font-size:15px}.auth-demo{border-top:1px dashed var(--line);margin-top:8px;padding-top:14px}.auth-demo-title{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.auth-demo-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.auth-demo-chip{font:inherit;color:var(--ink-secondary);cursor:pointer;background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;align-items:baseline;gap:6px;padding:4px 8px;font-size:12px;display:flex}.auth-demo-chip span{color:var(--ink-muted);font-size:11px}.auth-demo-chip:hover{border-color:var(--accent)}.auth-demo-hint{color:var(--ink-muted);margin:8px 0 0;font-size:11px}.fullscreen-spinner{min-height:100dvh;color:var(--ink-muted);background:var(--paper);place-items:center;gap:12px;display:grid}.fullscreen-spinner .spinner{border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.fullscreen-spinner .spinner{animation-duration:2.4s}}.signout{font:inherit;color:var(--ink-secondary);cursor:pointer;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:5px 10px;font-size:12px}.signout:hover{border-color:var(--red);color:var(--red)}.sidebar-foot .signout{width:100%;margin-top:10px}.datagate-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:380px;padding:24px}.datagate-card h2{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:18px}.datagate-card p{color:var(--ink-secondary);margin:0 0 16px;font-size:13px}.datagate-actions{justify-content:center;gap:8px;display:flex}.mapping-card{margin-bottom:10px}.mapping-status-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.kpi-tile-btn{all:unset;cursor:pointer;display:block}.kpi-tile-btn:focus-visible .kpi-tile{outline:2px solid var(--accent);outline-offset:2px}.queue-doctor-cell{cursor:pointer}.queue-doctor-cell:hover .doc-name{text-decoration:underline}.biz-grid input[type=number],.biz-grid input[type=text],.biz-grid input:not([type]){font:inherit;border:1px solid var(--line-strong);border-radius:5px;width:100%;padding:4px 6px;font-size:12px}.biz-grid textarea.biz-note{font:inherit;border:1px solid var(--line-strong);resize:none;border-radius:5px;width:100%;min-width:200px;padding:4px 6px;font-size:12px;display:block;overflow:hidden}.biz-grid textarea:disabled,.biz-grid input:disabled{background:var(--surface-muted);color:var(--ink-muted)}.biz-grid tbody tr.biz-doctor-row td{background:var(--surface-sunk);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-secondary);font-size:11.5px;font-weight:500}.biz-grid tr.row-error td:first-child{border-left:3px solid var(--red)}.biz-grid tr.row-error-note td{color:var(--red);padding-top:0}.save-bar{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;display:flex;position:sticky;top:0}.biz-grid{--save-bar-h:56px}.biz-grid thead th{top:var(--save-bar-h);z-index:20;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line-strong);position:sticky}.biz-grid tbody tr.biz-doctor-row td{top:calc(var(--save-bar-h) + 30px);z-index:10;position:sticky}.report-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:14px;display:grid}.report-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.report-card-title{color:var(--ink-secondary);font-size:12px;font-weight:600}.report-card-count{font-size:24px;font-weight:600;font-family:var(--font-display)}.report-card-sub{color:var(--ink-muted);flex:1;margin-bottom:6px;font-size:11px}.summary-bar .hbar-row{grid-template-columns:180px 1fr;margin-bottom:0}.summary-bar .hbar-value{display:none}.export-tip{display:inline-block}.export-tip .btn:disabled{pointer-events:none}.bell-wrap{position:relative}.bell{all:unset;cursor:pointer;border-radius:var(--radius-sm);padding:4px 6px;font-size:15px;line-height:1;position:relative}.bell:hover{background:var(--accent-soft)}.bell-count{background:var(--red);color:#fff;text-align:center;border-radius:9px;min-width:16px;padding:0 5px;font-size:10px;position:absolute;top:-2px;right:-4px}.bell-panel{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:6px;width:min(320px,86vw);max-height:60vh;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.bell-item{all:unset;cursor:pointer;border-radius:var(--radius-sm);border-left:3px solid #0000;flex-direction:column;gap:2px;padding:7px 8px;font-size:12px;display:flex}.bell-item:hover{background:var(--accent-soft)}.bell-item.unread{border-left-color:var(--accent);background:var(--accent-soft)}.target-table td.target-cell{white-space:nowrap;font-size:11.5px;line-height:1.35}.target-table td.target-cell .tag{margin-top:2px}.target-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0 12px;display:grid}.doctor-filters{flex-wrap:wrap}.doctor-filters select{width:auto;min-width:0}.doctor-filters .search{min-width:180px;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:6px;flex:220px;padding:7px 10px;font-size:13px}.doctor-filters .search:focus{outline:2px solid var(--accent);outline-offset:-1px}.toolbar-spacer{flex:1}.result-count{margin:0 0 8px;font-size:12px}.doctors-table{table-layout:fixed}.doctors-table th:first-child{width:26%}.doctors-table th:nth-child(2){width:17%}.doctors-table th:nth-child(3){width:11%}.doctors-table th:nth-child(4){width:17%}.doctors-table th:nth-child(5){width:13%}.doctors-table th:nth-child(6),.doctors-table th:nth-child(7){width:8%}.doctors-table th:nth-child(8){width:72px}.doctors-table th{text-align:left}.doctors-table th.num,.doctors-table td.num{text-align:right}.doctors-table td{text-overflow:ellipsis;overflow:hidden}.link-cell{all:unset;cursor:pointer;color:var(--ink);font-weight:600}.link-cell:hover{color:var(--accent);text-decoration:underline}.link-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.doctors-table .doc-id{font-family:var(--font-mono);color:var(--ink-muted);margin-top:2px;font-size:11px;display:block}.doctors-table .specialty-cell .seed-flag{margin-left:6px}.priority-cell .priority-inner{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.doctors-table td:last-child{text-align:right}.pager{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.field>label{color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.field-required{color:var(--red)}.field-hint{color:var(--ink-muted);margin:5px 0 0;font-size:11.5px}.field-error{color:var(--red);margin:5px 0 0;font-size:11.5px}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:var(--red);background:var(--red-soft)}.field-check label{text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.field-check input{width:auto}.field-group{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;column-gap:12px;margin:0 0 12px;padding:12px 12px 0;display:grid}.field-group legend{color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.04em;padding:0 6px;font-size:11px;font-weight:600}.form-actions{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.form-buttons{justify-content:flex-end}.form-error{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);margin:0 0 10px;padding:8px 10px;font-size:12.5px}.priority-actions{flex-direction:column;gap:8px;display:flex}.priority-status,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.priority-actions form{background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:4px;padding:12px}.import-page{flex-direction:column;gap:12px;display:flex}.import-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px}.import-step-head{align-items:flex-start;gap:12px;display:flex}.import-step-head h2{margin:0;font-size:14px}.import-step-head p{margin:2px 0 0}.import-step-num{background:var(--surface-sunk);width:24px;height:24px;color:var(--ink-secondary);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.import-step-active .import-step-num{background:var(--accent);border-color:var(--accent);color:#fff}.import-step-done .import-step-num{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-dark)}.import-step-ahead{opacity:.6}.import-step-body{margin-top:14px}.import-kind{margin-top:16px}.import-kind h3{align-items:center;gap:8px;margin:0 0 6px;font-size:13px;display:flex}.change-actions{flex-wrap:wrap;align-items:center;margin-bottom:12px}.change-diff td strong{color:var(--ink)}.change-diff tr.row-warn td{background:var(--amber-soft)}.change-diff input,.change-diff select{width:100%}.change-notes{margin:10px 0;font-size:12.5px}.stage-fields{border:1px solid var(--line);border-radius:var(--radius-md);margin:12px 0;padding:10px 12px}.stage-fields legend{padding:0 4px;font-size:12.5px;font-weight:600}.product-row+.product-row{border-top:1px solid var(--line);padding-top:10px}.product-row-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.product-row-head label{flex:1;margin:0}.product-row.is-removing label{color:var(--ink-muted);text-decoration:line-through}.add-product{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.check-row{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-weight:400;display:flex}.check-row input{width:auto;margin:0}.data-table th.num,.data-table td.num{text-align:right}.add-product .btn-row{gap:8px}.add-product select{flex:1}.refresh-progress{margin-bottom:12px}.progress-row{all:unset;cursor:pointer;border-radius:var(--radius-sm);grid-template-columns:160px 1fr auto;align-items:center;gap:10px;width:100%;padding:5px 4px;display:grid}.progress-row:hover,.progress-row.active{background:var(--accent-soft)}.progress-name{font-size:13px;font-weight:600}.dcr-calls{margin:12px 0}.dcr-calls h4{margin:0 0 6px;font-size:12.5px}.dcr-call{border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:8px;padding:8px 10px;font-size:12.5px}.dcr-call-head{align-items:baseline;gap:6px;display:flex}.dcr-call-quote{white-space:nowrap;margin-left:auto;font-size:11.5px}.dcr-call-tags{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.dcr-call-facts{grid-template-columns:96px 1fr;gap:2px 8px;margin:0;display:grid}.dcr-call-facts dt{color:var(--ink-muted);font-size:11.5px}.dcr-call-facts dd{margin:0}.rcpa-lines{margin:10px 0}.rcpa-lines .data-table{font-size:12.5px}.rcpa-lines tfoot th{border-top:1px solid var(--line);font-weight:600}.rcpa-ours{background:var(--accent-soft,#107a650f)}.rcpa-group th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667);padding-top:10px;font-size:11px;font-weight:600}.rcpa-subtotal td{border-top:1px solid var(--line);color:var(--muted,#667);font-weight:600}.rcpa-head{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.rcpa-head h4{margin:0;font-size:13px}.competitor-photos{margin-top:8px}.photo-strip{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.photo-thumb{width:84px;height:84px;margin:0;position:relative}.photo-thumb img{object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft,#f3f3f1);width:100%;height:100%}.photo-failed{text-align:center;width:100%;height:100%;color:var(--ink-muted);border:1px dashed var(--line);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:11px;display:flex}.photo-remove{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;padding:0;font-size:13px;line-height:1;position:absolute;top:-6px;right:-6px}.photo-add{border:1px dashed var(--line);border-radius:var(--radius-md);cursor:pointer;width:84px;height:84px;color:var(--ink-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.photo-add input{display:none}.photo-add:hover{border-color:var(--accent,#0b6b58);color:var(--accent,#0b6b58)}.sub-label{color:var(--ink-muted);margin-top:8px;font-size:11.5px;display:block}.menu-button,.nav-backdrop{display:none}.filter-row input[type=month]{border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:6px;padding:6px 10px}@media (width<=760px){.sidebar{z-index:120;width:min(280px,84vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:none}.nav-backdrop{z-index:110;background:#16241f73;display:block;position:fixed;inset:0}.nav-item{box-sizing:border-box;width:100%;padding:12px;font-size:14px}.topbar{align-items:flex-start;gap:10px;padding:12px 14px 2px;display:flex}.topbar h1{font-size:17px}.menu-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.content{padding:12px 12px 40px}.app-footer{padding:12px}.rolebar{gap:6px;padding:6px 12px}.mockbanner{gap:8px;padding:5px 10px;font-size:10.5px}.card{padding:12px;overflow-x:auto}.table-wrap{max-height:none;margin:0 -12px -12px;padding:0 12px}.data-table{font-size:12px}.data-table th,.data-table td{white-space:nowrap;padding:8px 7px}.data-table td .muted,.data-table td p{white-space:normal}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-tile{padding:10px}.kpi-value{font-size:20px}.grid-2,.grid-3{grid-template-columns:1fr}.filter-row{flex-wrap:wrap;gap:8px}.filter-row select{width:100%;min-width:0}.doctor-filters .search{flex-basis:100%;min-width:0}input,select,textarea{font-size:16px}.btn{min-height:36px}.drawer{width:100vw}.drawer-head{padding:12px 14px}.drawer-body{padding:12px 14px 32px}.hbar-row{grid-template-columns:100px 1fr 36px}.doctors-table{table-layout:auto}}
