:root{--ground:#e6eaf0;--panel:#fff;--band:#f4f6f9;--surface:#fff;--surface-2:#f4f6f9;--col:#edf1f5;--ink:#172033;--ink-2:#465367;--ink-3:#77839a;--line:#d3dae3;--line-2:#e3e8ee;--accent:#e8722a;--accent-ink:#fff;--accent-soft:#fdefe5;--accent-text:#9a4514;--focus:#1c5fa8;--done:#1f8a4c;--done-soft:#e1f3e8;--done-tint:#f6fbf8;--q:#b4531a;--q-soft:#fdeee3;--late:#c62828;--late-soft:#fce8e6;--blue-soft:#e3edfa;--purple:#6d28d9;--purple-soft:#f4f0fd;--purple-line:#d9ccf7;--chip:#eef1f5;--dash:#9aa6b6;--inverse:#172033;--inverse-ink:#fff;--mixbase:#fff;--mixink:#000;--backdrop:#17203366;--shadow:0 1px 2px #17203312,0 2px 6px #1720330d;--shadow-lg:0 1px 3px #17203314,0 8px 24px #1720330f;--head:Poppins,system-ui,sans-serif;--mono:"IBM Plex Mono",monospace;--g-blue:#2a78d6;--g-orange:#eb6834;--g-teal:#1baf7a;--g-yellow:#eda100;--g-pink:#e87ba4;--g-green:#008300;--g-purple:#4a3aa7;--g-red:#e34948;--g-grey:#7a8699;--o-1:#86b6ef;--o-2:#5598e7;--o-3:#2a78d6;--o-4:#1c5cab;--o-5:#104281;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ground:#0e1218;--panel:#161c26;--band:#1c2330;--surface:#1a212d;--surface-2:#222b39;--col:#1f2836;--ink:#e6eaf0;--ink-2:#b6c0ce;--ink-3:#8491a4;--line:#2e3847;--line-2:#272f3d;--accent:#f08a45;--accent-ink:#1a1208;--accent-soft:#f08a4529;--accent-text:#f5b48a;--focus:#7fb2f5;--done:#43c47c;--done-soft:#43c47c29;--done-tint:#43c47c12;--q:#e8a469;--q-soft:#e8a46929;--late:#f27272;--late-soft:#f2727229;--blue-soft:#7fb2f529;--purple:#c4a8ff;--purple-soft:#c4a8ff24;--purple-line:#c4a8ff59;--chip:#283140;--dash:#5b687b;--inverse:#e6eaf0;--inverse-ink:#0e1218;--mixbase:#161c26;--mixink:#fff;--backdrop:#0009;--shadow:0 1px 2px #00000059,0 2px 6px #00000040;--shadow-lg:0 1px 3px #0006,0 8px 24px #00000059;--g-blue:#3987e5;--g-orange:#d95926;--g-teal:#199e70;--g-yellow:#c98500;--g-pink:#d55181;--g-green:#008300;--g-purple:#9085e9;--g-red:#e66767;--g-grey:#8e9bb0;--o-1:#184f95;--o-2:#256abf;--o-3:#3987e5;--o-4:#6da7ec;--o-5:#9ec5f4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}[hidden]{display:none!important}body{background:var(--ground);color:var(--ink);font:15px/1.45 "Source Sans 3",system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3,.btn,.tab{font-family:var(--head)}h1{margin:0;font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.15}h2{margin:0;font-size:17px;font-weight:600}h3{margin:0;font-size:15px;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:var(--focus)}.muted{color:var(--ink-3)}.small{font-size:13px}.mono{font-family:var(--mono)}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.shell.nav-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{background:var(--panel);border-right:1px solid var(--line);z-index:30;flex-direction:column;gap:6px;height:100vh;padding:12px 10px;display:flex;position:sticky;top:0;overflow:hidden}.side-top{justify-content:space-between;align-items:center;gap:2px;min-height:36px;display:flex}.brand{min-width:0;font:700 14px var(--head);color:var(--ink);white-space:nowrap;align-items:center;gap:8px;padding:4px;text-decoration:none;display:flex}.brand .mark{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);font:700 15px var(--head);border-radius:8px;flex:none;place-items:center;display:grid}.brand .label{text-overflow:ellipsis;overflow:hidden}.envtag{font:600 10px var(--head);letter-spacing:.1em;text-transform:uppercase;background:var(--purple-soft);color:var(--purple);border:1px solid var(--purple-line);border-radius:5px;padding:3px 7px}.envtag.live{background:var(--done-soft);color:var(--done);border-color:var(--done)}.collapse-btn{cursor:pointer;width:30px;height:30px;color:var(--ink-3);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;display:grid}.collapse-btn:hover{border-color:var(--line);background:var(--band);color:var(--ink)}.sidenav{flex-direction:column;gap:2px;margin-top:10px;display:flex}.sidenav a{font:600 13.5px var(--head);color:var(--ink-2);white-space:nowrap;border-radius:9px;align-items:center;gap:10px;min-width:0;padding:9px 10px;text-decoration:none;display:flex}.sidenav a svg{flex:none}.sidenav a span{text-overflow:ellipsis;overflow:hidden}.sidenav a:hover{background:var(--band);color:var(--ink)}.sidenav a.active{background:var(--accent-soft);color:var(--accent-text)}.sidenav .nav-caret{opacity:.55;border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:6px;height:6px;margin-left:auto;margin-right:3px;transition:transform .15s;transform:rotate(-45deg)}.sidenav .nav-caret.open{transform:rotate(45deg)translate(-2px,-2px)}.sidenav a .tag.preview~.nav-caret{margin-left:6px}.nav-collapsed .sidenav .nav-caret{display:none}.sidenav .sub{border-left:2px solid var(--line-2);flex-direction:column;gap:1px;margin:2px 0 6px 22px;padding-left:10px;display:flex}.sidenav .sub a{padding:6px 10px;font-size:13px;font-weight:500}.side-foot{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;margin-top:auto;display:grid}.side-foot .usermenu{order:-1;min-width:0}.theme-btn{cursor:pointer;width:34px;height:34px;color:var(--ink-3);background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;display:grid}.theme-btn:hover{border-color:var(--line);background:var(--band);color:var(--ink)}.nav-collapsed .side-foot{grid-template-columns:1fr;justify-items:center}.nav-collapsed .side-foot .usermenu{order:1;width:100%}.usermenu{position:relative}.usermenu>button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;min-width:0;padding:6px;display:flex}.usermenu>button:hover{border-color:var(--line);background:var(--band)}.av{background:var(--focus);width:30px;height:30px;color:var(--panel);font:700 11px var(--head);border-radius:50%;flex:none;place-items:center;display:grid}.uname{min-width:0;line-height:1.2;display:grid}.uname b{font:600 13px var(--head);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uname small{color:var(--ink-3);text-transform:capitalize;font-size:11.5px}.menu{background:var(--surface);border:1px solid var(--line);min-width:240px;box-shadow:var(--shadow-lg);z-index:40;border-radius:10px;padding:6px;position:absolute;bottom:calc(100% + 6px);left:0}.menu .who{border-bottom:1px solid var(--line-2);margin-bottom:4px;padding:8px 10px 10px}.menu .who b{display:block}.menu a,.menu button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.menu a:hover,.menu button:hover{background:var(--band)}.menu svg{color:var(--ink-3)}.nav-collapsed .sidebar{align-items:stretch;padding:12px 8px}.nav-collapsed .side-top{flex-direction:column;gap:6px}.nav-collapsed .brand{justify-content:center;padding:4px 0}.nav-collapsed .brand .label,.nav-collapsed .envtag,.nav-collapsed .sidenav a span,.nav-collapsed .uname{display:none}.nav-collapsed .sidenav a{justify-content:center;padding:10px 0}.nav-collapsed .usermenu>button{justify-content:center;padding:6px 0}.nav-collapsed .menu{min-width:240px;left:0}.page{grid-column:2;width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:18px 20px 60px}.spacer{flex:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.page-head p{color:var(--ink-2);max-width:80ch;margin:4px 0 0}.eyebrow{font:600 11px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}.eyebrow .crumb{color:inherit;text-decoration:none}.eyebrow .crumb:hover{text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.panel+.panel{margin-top:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:14px 16px}.stat .label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;font-weight:600}.stat .value{font:700 26px/1.1 var(--head);margin-top:6px}.stat .value.late{color:var(--late)}.stat .sub{color:var(--ink-2);margin-top:4px;font-size:13px}.table-wrap{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--band);white-space:nowrap;border-bottom:1px solid var(--line-2);padding:10px 12px}.tbl th.th-sort{padding:0}.th-btn{width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:10px 12px;display:flex}.tbl th.num .th-btn{justify-content:flex-end}.th-btn:hover{color:var(--ink)}.th-arrow{opacity:.35;font-size:12px}.th-sort.on .th-btn{color:var(--accent-text)}.th-sort.on .th-arrow{opacity:1}.tbl td{border-top:1px solid var(--line-2);vertical-align:middle;padding:10px 12px}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover{background:var(--band)}.tbl tr.dim td{color:var(--ink-3)}.tbl tr.dim td.nm b{color:var(--ink-2)}.tbl .nw{white-space:nowrap}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.empty{color:var(--ink-3);text-align:center;padding:28px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.toolbar select,.toolbar input[type=search],.toolbar input[type=text]{background:var(--surface);border:1px solid var(--line);border-radius:8px;max-width:100%;padding:7px 10px;font-size:13.5px}.toolbar input[type=search]{min-width:220px}.toolbar label{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.toolbar .picker.multi{min-width:160px;max-width:420px}.toolbar .picker.multi .picker-btn{min-height:34px;padding:5px 10px;font-size:13.5px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:8px;padding:7px 13px;font-size:13px;font-weight:600}.btn:hover{border-color:var(--ink-3)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:var(--late)}.btn.sm{padding:4px 9px;font-size:12.5px}.linkbtn{color:var(--focus);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.tag{font:600 11px var(--head);white-space:nowrap;background:var(--chip);color:var(--ink-2);border-radius:999px;padding:2px 8px;display:inline-block}.tag.admin{background:var(--purple-soft);color:var(--purple)}.tag.developer{background:var(--accent-soft);color:var(--accent-text)}.tag.preview{background:var(--accent-soft);color:var(--accent-text);border:1px dashed var(--accent)}.sidenav a .tag.preview{margin-left:auto;padding:1px 6px;font-size:10px;font-style:normal}.sidenav a .preview-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:none;position:absolute;top:8px;right:8px}.nav-collapsed .sidenav a{position:relative}.nav-collapsed .sidenav a .preview-dot{display:block}.tag.ok{background:var(--done-soft);color:var(--done)}.tag.off{background:var(--late-soft);color:var(--late)}.tag.progress{background:var(--blue-soft);color:var(--focus)}.tag.overdue{background:var(--late-soft);color:var(--late)}.tag.tbc{background:var(--q-soft);border:1px dashed var(--q);color:var(--q);font-weight:600}.tag.test{background:var(--purple-soft);color:var(--purple)}.tag.done{background:var(--done-soft);color:var(--done)}.tag.upcoming{background:var(--chip);color:var(--ink-2)}.minibar{background:var(--line-2);vertical-align:middle;border-radius:3px;width:56px;height:6px;margin-left:6px;display:inline-block;overflow:hidden}.minibar i{background:var(--done);height:100%;display:block}.field{gap:5px;margin-bottom:12px;display:grid}.field label,.field .flabel{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.field input,.field select,.field textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;width:100%;padding:9px 11px;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);background:var(--surface);outline:none}.field textarea{resize:vertical;min-height:90px}.field small{color:var(--ink-3);font-size:12.5px}.grid2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.grid4{grid-template-columns:2fr 1.4fr 1.4fr 1fr;gap:0 12px;display:grid}.pw-row{align-items:stretch;gap:8px;display:flex}.pw-row input{min-width:0;font-family:var(--mono);flex:1;font-size:14px}.pw-row .btn{flex:none}.err{color:var(--late);min-height:1.2em;margin:6px 0 0;font-size:13.5px}.ok-msg{color:var(--done);margin:6px 0 0;font-size:13.5px}.check,.field label.check{text-transform:none;letter-spacing:0;color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:400;display:flex}.check input{width:auto}.area-ticks{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;padding:6px 0 2px;display:grid}dialog.dlg{background:var(--surface);color:var(--ink);border:none;border-radius:14px;width:min(560px,100vw - 32px);padding:0;box-shadow:0 20px 60px #17203347}dialog.dlg::backdrop{background:var(--backdrop)}dialog.dlg form,dialog.dlg .dlg-body{gap:4px;padding:20px 22px;display:grid}dialog.dlg h2{margin-bottom:10px}.dlg-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.dlg-actions>div{gap:8px;margin-left:auto;display:flex}.banner{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:14px}.banner.warn{border-color:var(--q);background:var(--q-soft)}.banner.info{border-color:var(--focus);background:var(--blue-soft)}.toast{background:var(--inverse);color:var(--inverse-ink);box-shadow:var(--shadow-lg);z-index:50;border-radius:10px;max-width:min(560px,90vw);padding:10px 16px;font-size:14px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast-act{color:inherit;font:600 13px var(--head);cursor:pointer;background:0 0;border:1px solid;border-radius:7px;margin-left:14px;padding:3px 10px}.toast-act:hover{background:color-mix(in srgb,var(--inverse-ink) 14%,transparent)}.gate{place-items:center;min-height:100vh;padding:20px;display:grid}.gate-box{background:var(--panel);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-lg);border-radius:16px;padding:28px 28px 22px}.gate-box .logo{width:auto;height:34px;margin-bottom:18px;display:block}.gate-box .logo-dark,:root[data-theme=dark] .gate-box .logo-light{display:none}:root[data-theme=dark] .gate-box .logo-dark{display:block}.gate-box h1{margin-bottom:4px;font-size:22px}.gate-box p{color:var(--ink-2);margin:0 0 16px}.gate-box .btn.primary{width:100%;padding:10px}.subnav{margin:-4px 0 14px}.subnav .tab{color:var(--ink-2);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.subnav .tab.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.subnav .count{font:600 11px var(--mono);background:var(--chip);color:var(--ink-2);border-radius:999px;padding:1px 7px}dialog.win{border:1px solid var(--line-2);background:var(--ground);color:var(--ink);border-radius:16px;width:min(1120px,100vw - 40px);min-height:min(600px,100vh - 40px);max-height:calc(100vh - 40px);padding:0;overflow:hidden;box-shadow:0 24px 80px #00000059}dialog.win::backdrop{background:var(--backdrop)}dialog.win[open]{flex-direction:column;display:flex}body:has(dialog.win[open]){overflow:hidden}.win-body{flex:1;min-height:0;padding:22px 26px 26px;overflow:auto}.win-close{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-2);cursor:pointer;z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.win-close:hover{color:var(--ink);border-color:var(--ink-3)}.win-head{padding-right:44px}.win-tabs{margin-bottom:12px}.win-notes{max-width:90ch;margin-top:6px!important}.eyebrow .back{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}.eyebrow .back:hover{text-decoration:underline}.dl{grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;font-size:14px;display:grid}.dl dt{font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.page-head .actions .tag{padding:4px 10px;font-size:12px}.tbl tr.sec td{background:var(--band);border-top:1px solid var(--line);padding:0}.sec-btn{width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.sec-btn b{font:600 13px var(--head)}.sec-btn:hover{background:var(--col)}.chev{border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:7px;height:7px;margin:0 4px 3px 2px;transition:transform .15s;transform:rotate(45deg)}.chev.closed{margin-bottom:0;transform:rotate(-45deg)}.imp-steps{gap:18px;margin:-4px 0 14px;display:flex}.imp-step b{background:var(--chip);width:20px;height:20px;color:var(--ink-2);font:600 11px var(--head);border-radius:50%;place-items:center;margin-right:4px;display:inline-grid}.imp-step.on{color:var(--ink)}.imp-step.on b{background:var(--accent);color:var(--accent-ink)}.drop{text-align:center;border:2px dashed var(--line);background:var(--band);cursor:pointer;color:var(--ink);border-radius:12px;justify-items:center;gap:6px;padding:34px 20px;display:grid}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}.map-tbl select{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:220px;max-width:100%;padding:6px 10px;font-size:13.5px}.imp-sum{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:12px;display:grid}.imp-tbl td{vertical-align:top}.changes{color:var(--ink-2);margin:6px 0 0;padding-left:16px}.changes li{margin:1px 0}.changes s{color:var(--ink-3)}.tag.skip{background:var(--late-soft);color:var(--late)}.late-text{color:var(--late);margin-top:4px}.warn-text{color:var(--q);margin-top:4px}.bar{background:var(--chip);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.bar i{background:var(--accent);height:100%;transition:width .2s;display:block}a.btn{text-decoration:none;display:inline-block}.avs{display:inline-flex}.avs .av{border:2px solid var(--panel);margin-left:-6px}.avs .av:first-child{margin-left:0}.av.sm{width:24px;height:24px;font-size:10px}.tag.stage{background:color-mix(in srgb,var(--c) 16%,var(--mixbase));color:var(--c)}.tag.hot{background:var(--accent-soft);color:var(--accent-text)}.stage-pick{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.stage-pick select{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px}.deal-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.money-tbl td,.money-tbl th{white-space:nowrap;padding:7px 10px}.money-tbl td:first-child{white-space:normal}.money-tbl tr.total td{border-top:2px solid var(--line);background:var(--band)}.chips{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.chip-pick,.field label.chip-pick{border:1px solid var(--line);cursor:pointer;background:var(--surface);text-transform:none;letter-spacing:0;color:var(--ink);border-radius:999px;align-items:center;gap:6px;margin:0;padding:4px 11px;font:500 13px/1.2 "Source Sans 3",system-ui,sans-serif;display:inline-flex}.chip-pick input{width:auto;margin:0}.chip-pick.on,.field label.chip-pick.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.field .lbl{font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;display:block}.field .inline{gap:6px;display:flex}.field .inline input{flex:1;min-width:0}.field .inline select{flex:none;max-width:46%}.grid4 .span2{grid-column:span 2}.act-form{gap:10px;display:grid}.act-form textarea{min-height:70px}.act-list{gap:8px;margin-top:12px;display:grid}.act{background:var(--panel);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px}.act.kind-stage{background:var(--band);border-style:dashed}.act-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.act-head .linkbtn{margin-left:auto}.act-body{white-space:pre-wrap;font-size:14px}.task-row{border-top:1px solid var(--line-2);cursor:pointer;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.task-row:first-of-type{border-top:0}.task-row input{width:auto;margin:0}.task-row.late .small{color:var(--late)}.hotel-picks{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 18px;display:grid}.won-rows{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow:auto}.won-row{grid-template-columns:minmax(180px,1fr) 1.4fr;align-items:center;gap:10px;display:grid}.won-row input[type=text],.won-row input:not([type]){margin:0}.dlg-actions>div.left{margin-left:0}.home-list{gap:6px;display:grid}.home-row{border:1px solid var(--line-2);background:var(--panel);color:inherit;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.home-row:hover{border-color:var(--ink-3)}.home-row b{font:600 13.5px var(--head)}.week-head{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 8px;display:flex}.week-block{margin-bottom:10px}.week-owner{font:600 13px var(--head);color:var(--ink-2);margin:10px 0 6px}.week-row{flex-wrap:wrap}.week-row.due-overdue{border-left:3px solid var(--late)}.week-row.due-today{border-left:3px solid var(--q)}.week-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.week-main a{color:inherit;text-decoration:none}.week-main a:hover b{text-decoration:underline}.week-step{white-space:nowrap;text-overflow:ellipsis;max-width:60ch;overflow:hidden}.week-done{border-top:1px dashed var(--line-2);flex-basis:100%;align-items:center;gap:8px;margin-top:4px;padding-top:6px;display:flex}.week-done input[type=text],.week-done input:not([type]){flex:1;margin:0}.week-done label{align-items:center;gap:6px;display:flex}.week-done input[type=date]{width:auto;margin:0}.picker{position:relative}.picker input[type=text]{width:100%;padding-right:26px}.picker input.has::placeholder{color:var(--ink)}.picker-x{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:16px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.picker-x:hover{color:var(--ink)}.picker-list{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);z-index:60;border-radius:10px;margin:0;padding:4px;font-size:13.5px;position:fixed;inset:auto;overflow:auto}.picker-list.inplace{position:absolute;top:100%;left:0;right:0}.picker-list:popover-open{display:block}.picker-row{cursor:pointer;border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.picker-row small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:50%;font-size:12px;overflow:hidden}.picker-row.on{background:var(--band)}.picker-row.cur{font-weight:600}.picker-row.empty{color:var(--ink-3)}.picker-row.create{background:var(--surface);color:var(--accent-text);border-top:1px solid var(--line-2);border-radius:0;margin:2px -4px -4px;padding:8px 14px;font-weight:600;position:sticky;bottom:-4px}.picker-row.create.on{background:var(--accent-soft)}.picker-row.check{text-transform:none;letter-spacing:0;justify-content:flex-start;align-items:center;font-size:13.5px;font-weight:400}.picker-row.check input{width:auto;margin:0}.picker-row.check small{margin-left:auto}.picker-empty{color:var(--ink-3);padding:8px 10px}.picker-search{background:var(--surface);border:1px solid var(--line);border-radius:7px;width:100%;margin-bottom:4px;padding:5px 8px;font-size:13px}.picker-btn{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:8px;min-height:36px;padding:6px 10px}.picker-chips{flex-wrap:wrap;gap:4px;display:flex}.grid-wrap{position:relative}.grid-head{z-index:6;background:var(--band);border:1px solid var(--line);border-radius:12px 12px 0 0;position:sticky;top:0;overflow:hidden;box-shadow:0 2px 6px #0000000f}.grid-body{scrollbar-width:none;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-top:0;border-radius:0 0 12px 12px;overflow:auto hidden}.grid-body::-webkit-scrollbar{display:none}.grid-wrap.sectioned .grid-body{box-shadow:none;background:0 0;border:0;border-radius:0}.grid-hbar{z-index:6;background:var(--band);border:1px solid var(--line);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;height:16px;position:sticky;bottom:0}.hbar-thumb{background:color-mix(in srgb,var(--ink-3) 70%,transparent);cursor:grab;border-radius:5px;min-width:40px;position:absolute;top:3px;bottom:3px}.hbar-thumb:hover,.grid-hbar.dragging .hbar-thumb{background:var(--ink-2)}.grid-hbar.dragging .hbar-thumb{cursor:grabbing}.grid-note{margin:8px 4px 0}table.grid-tbl{table-layout:fixed;width:auto}.grid-tbl td{vertical-align:middle;padding:3px 6px}.grid-head .grid-tbl th{border-bottom:0}.grid-tbl th:first-child,.grid-tbl td:first-child{z-index:1;background:var(--panel);box-shadow:1px 0 0 var(--line-2);position:sticky;left:0}.grid-tbl th:first-child{z-index:3;background:var(--band)}.grid-tbl tr.grp td:first-child{box-shadow:inset 4px 0 0 var(--gc),1px 0 0 var(--line-2)}.grid-tbl tr.dragging{opacity:.45}.grid-tbl .grip{cursor:grab;color:var(--ink-3);letter-spacing:-3px;-webkit-user-select:none;user-select:none;flex:none;padding:0 2px 0 0;font-size:12px}.grid-tbl tbody.sec-group{background:var(--panel)}.grid-tbl tr.sec-gap td{background:var(--ground);border:0;height:22px;padding:0}.grid-tbl tr.sec td{z-index:1;border-top:1px solid var(--line);background:color-mix(in srgb,var(--gc) 12%,var(--panel));box-shadow:inset 6px 0 0 var(--gc);padding:0;position:sticky;left:0}.grid-tbl tbody.sec-group tr:last-child td{border-bottom:1px solid var(--line)}.grid-tbl tr.sec .sec-btn{width:auto;max-width:calc(100vw - 320px);padding:10px 14px 10px 18px;position:sticky;left:0}.grid-tbl tr.sec .sec-btn:hover{background:0 0}.grid-tbl .sec-title{font:700 16px var(--head);color:color-mix(in srgb,var(--gc) 70%,var(--ink))}.grid-tbl tr.sec-empty td{background:var(--panel);box-shadow:inset 4px 0 0 var(--gc);padding:10px 18px;position:sticky;left:0}.grid-tbl tbody.droppable.over tr:not(.sec-gap) td{background:color-mix(in srgb,var(--accent) 9%,var(--panel))}.grid-tbl tbody.droppable.over tr.sec td{background:var(--accent-soft);box-shadow:inset 6px 0 0 var(--accent),inset 0 0 0 2px var(--accent)}.grid-tbl tbody.droppable.over tr:last-child td{border-bottom:2px solid var(--accent)}.sec-dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.sec-hint{color:var(--accent-text);margin-left:auto;padding-right:8px;font-weight:600}.cell-select.bucket{background:color-mix(in srgb,var(--c) 14%,var(--mixbase));color:var(--ink);border-color:#0000}.tag.bucket{background:color-mix(in srgb,var(--c) 16%,var(--mixbase));color:var(--c)}.tag.bucket.sm{padding:1px 7px;font-size:11px}.color-pick{gap:4px;display:inline-flex}.color-dot{background:var(--c);cursor:pointer;opacity:.55;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0}.color-dot.on{opacity:1;border-color:var(--ink);box-shadow:0 0 0 2px var(--panel) inset}.color-dot:hover{opacity:1}.targets-tbl td.num input{text-align:right;border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:7px;width:120px;margin:0;padding:5px 8px}.targets-tbl tr.total td{background:var(--band)}.grid-tbl tr.dim td{color:var(--ink-3)}.cell-name{align-items:center;gap:4px;display:flex}.open-btn{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:4px;display:grid}.open-btn:hover{color:var(--accent);background:var(--accent-soft)}.cell-input{width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;min-width:0;padding:5px 6px;font-size:13.5px}.cell-input.strong{font-weight:600}.cell-input.num{text-align:right;font-variant-numeric:tabular-nums}.cell-input.date{font-size:13px}.cell-input:hover{border-color:var(--line);background:var(--surface)}.cell-input:focus{border-color:var(--focus);background:var(--surface);outline:none}.cell-num{align-items:center;gap:4px;display:flex}.cell-num small{flex:none;font-size:11px}.cell-pair{align-items:center;gap:4px;display:flex}.cell-pair .cell-num{flex:1;min-width:0}.cell-select{width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 4px;font-size:13px}.cell-select:hover,.cell-select:focus{border-color:var(--line);background:var(--surface)}.cell-select.sm{flex:none;width:auto;padding:5px 2px;font-size:12px}.cell-select.stage{color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--mixbase));text-align:center;border-radius:999px;padding:4px 8px;font-weight:600}.grid-tbl .picker.compact input[type=text]{background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 22px 5px 6px;font-size:13.5px}.grid-tbl .picker.compact input[type=text]:hover,.grid-tbl .picker.compact input[type=text]:focus{border-color:var(--line);background:var(--surface)}.grid-tbl .picker.compact .picker-btn{background:0 0;border-color:#0000;min-height:32px;padding:3px 6px}.grid-tbl .picker.compact .picker-btn:hover{border-color:var(--line);background:var(--surface)}.grid-tbl .picker.compact .picker-chips .tag{padding:2px 7px;font-size:10.5px}.picker.compact .picker-x{opacity:0}.picker.compact:hover .picker-x,.picker.compact:focus-within .picker-x{opacity:1}.late-cell .cell-input{color:var(--late);font-weight:600}.today-cell .cell-input{color:var(--q);font-weight:600}.stage-strip{flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.stage-chip{border:1px solid var(--line);border-top:3px solid var(--c);background:var(--panel);cursor:pointer;text-align:left;min-width:140px;color:var(--ink);font:inherit;box-shadow:var(--shadow);border-radius:10px;grid-template-columns:auto auto;align-items:center;gap:0 10px;padding:8px 12px;display:grid}.stage-chip:hover{border-color:var(--ink-3)}.stage-chip.on{background:color-mix(in srgb,var(--c) 10%,var(--panel));border-color:var(--c)}.stage-chip .stage-name{font:600 12px var(--head);color:var(--ink-2);grid-column:1/-1}.stage-chip b{font:700 18px/1.1 var(--head)}.stage-chip small{color:var(--ink-3);font-size:12px}.stage-sum{border:1px solid var(--line-2);background:var(--band);border-radius:10px;align-items:center;gap:16px;margin-left:auto;padding:6px 14px;display:flex}.stage-sum div{display:grid}.stage-sum small{font:600 10.5px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.stage-sum b{font:600 14px var(--head)}.stage-sum .late b{color:var(--late)}@media (width<=760px){.shell,.shell.nav-collapsed{grid-template-columns:56px minmax(0,1fr)}.sidebar{width:56px;height:auto;padding:10px 6px;position:fixed;top:0;bottom:0;left:0}.shell:not(.nav-collapsed) .sidebar{width:240px;box-shadow:var(--shadow-lg);padding:12px 10px}.nav-collapsed .sidebar .brand .mark{width:26px;height:26px}.page{padding:14px 12px 50px}.grid2,.grid4{grid-template-columns:1fr}.dl{grid-template-columns:1fr;gap:2px 0}.dl dd{margin-bottom:8px}dialog.win{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.deal-grid{grid-template-columns:1fr}.stage-sum{flex-wrap:wrap;width:100%;margin-left:0}.win-body{padding:16px 14px 24px}}.dash-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 12px;display:flex}.dash-bar .linkbtn{margin-right:8px}.dash{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));align-items:start;gap:14px;display:grid}.widget{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;min-width:0;padding:14px 16px 16px}.widget.wide{grid-column:1/-1}@media (width>=1100px){.widget.wide{grid-column:span 2}}.widget-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.widget-head h3{font-size:14.5px}.widget-head p{margin:2px 0 0}.widget-tools{flex:none;gap:4px;display:flex}.widget-body{min-width:0}.cards.tight{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cards.tight .stat{padding:10px 12px}.cards.tight .stat .value{font-size:22px}.chart-empty{color:var(--ink-3);margin:6px 0;font-size:13.5px}.hero{align-items:baseline;gap:10px;margin:0 0 8px;display:flex}.hero b{letter-spacing:-.01em;font:600 34px/1.05 "Source Sans 3",system-ui,sans-serif}.bars{gap:7px;display:grid}.bar-row{grid-template-columns:minmax(90px,150px) 1fr auto;align-items:center;gap:10px;font-size:13.5px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);overflow:hidden}.bar-track{background:var(--band);border-radius:0 4px 4px 0;height:14px;display:block;overflow:hidden}.bar-fill{border-radius:0 4px 4px 0;height:100%;transition:width .25s;display:block}.bar-row:hover .bar-fill{filter:brightness(1.12)}.bar-value{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:58px}.meter{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;font-size:13.5px;display:grid}.meter-label{color:var(--ink-2);grid-column:1/-1;margin-top:6px}.meter-track{background:color-mix(in srgb,var(--accent) 18%,var(--mixbase));border-radius:5px;height:10px;display:block;overflow:hidden}.meter-fill{background:var(--accent);border-radius:5px;height:100%;transition:width .25s;display:block}.meter-fill.full{background:var(--done)}.meter-value{font-variant-numeric:tabular-nums;white-space:nowrap}.meter-list{margin-top:4px}.stack-bar{background:var(--band);border-radius:4px;gap:2px;height:18px;display:flex;overflow:hidden}.stack-seg{min-width:2px;transition:filter .15s;display:block}.stack-seg.on{filter:brightness(1.12)}.legend{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 14px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.legend li{border-radius:6px;align-items:center;gap:6px;padding:2px 4px;display:flex}.legend li.on{background:var(--band)}.legend .swatch{border-radius:2px;flex:none;width:10px;height:10px}.legend li span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.legend b{font-variant-numeric:tabular-nums}.funnel{grid-template-columns:1fr auto;align-items:end;gap:16px;display:grid}.funnel-cols{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:12px;height:170px;display:grid}.funnel-col{grid-template-rows:auto auto 1fr auto;place-items:end center;gap:4px;height:100%;font-size:12.5px;display:grid;position:relative}.funnel-conv{color:var(--ink-3);background:var(--band);border-radius:999px;padding:1px 7px;font-size:11.5px}.funnel-conv.blank{background:0 0}.funnel-n{font-variant-numeric:tabular-nums}.funnel-track{background:var(--band);border-radius:4px 4px 0 0;align-items:flex-end;width:100%;max-width:56px;height:100%;display:flex}.funnel-fill{border-radius:4px 4px 0 0;width:100%;transition:height .25s;display:block}.funnel-label{color:var(--ink-2);white-space:nowrap}.funnel-end{text-align:center;justify-items:center;gap:2px;min-width:90px;padding:0 6px 22px;display:grid}.funnel-end b{color:var(--done);font:600 26px/1 "Source Sans 3",system-ui,sans-serif}@media (width<=700px){.funnel{grid-template-columns:1fr}.funnel-end{padding:8px 0 0}}.filter-banner{border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-left-width:5px;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px 10px 14px;display:flex}.filter-icon{color:var(--accent-text);place-items:center;display:grid}.filter-text{flex:1;min-width:220px;font-size:14px}.filter-parts{vertical-align:middle;flex-wrap:wrap;gap:6px;margin-left:8px;display:inline-flex}.filter-part{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:1px 9px;font-size:12.5px}.btn.filter-clear{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);padding:8px 16px;font-size:14px}.btn.filter-clear:hover{filter:brightness(1.06)}.toolbar select.on,.toolbar input[type=search].on,.toolbar .filter-wrap.on .picker-btn{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.empty .btn{margin-top:10px}.picker.multi.summary .picker-btn{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.picker-sum{font-weight:600}.picker-row.clear{width:100%;font:inherit;color:var(--accent-text);text-align:left;border:0;border-bottom:1px solid var(--line-2);background:0 0;border-radius:0;margin-bottom:2px;font-size:13px;font-weight:600}.picker-row.clear:hover{background:var(--accent-soft)}.toolbar .picker.multi.summary{min-width:170px;max-width:260px}.grid3{grid-template-columns:repeat(3,1fr);gap:0 12px;display:grid}.form-sub{font:600 13px var(--head);color:var(--ink-2);border-top:1px solid var(--line-2);margin:6px 0 10px;padding-top:10px}.tag.due{background:var(--q-soft);color:var(--q)}.tag.off-grey{background:var(--chip);color:var(--ink-3)}.stat .value.warn{color:var(--q)}.doc-link{font-weight:600;text-decoration:none}.banner.suggest{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.banner.suggest span{flex:1}.renewals{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.renewal{text-align:left;border:1px solid var(--line-2);background:var(--surface);width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.renewal:hover{border-color:var(--line);background:var(--band)}.renewal-main{flex-direction:column;min-width:0;display:flex}.renewal-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.renewal-when{text-align:right;white-space:nowrap}@media (width<=700px){.grid3{grid-template-columns:1fr 1fr}}.field{align-content:start}.agr-tbl td:nth-child(2){min-width:240px}.agr-tbl td,.agr-tbl th{vertical-align:middle}.cards+.toolbar{margin-top:12px}.grid-num{grid-template-columns:200px 1fr;gap:0 12px;display:grid}.pay-rows{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.pay-row{grid-template-columns:1fr 120px 160px auto auto;align-items:center;gap:8px;display:grid}.pay-row input{padding:7px 9px;font-size:14px}.pay-row .check{white-space:nowrap;font-size:13px}@media (width<=700px){.grid-num{grid-template-columns:1fr}.pay-row{grid-template-columns:1fr 1fr}}.cols{flex-direction:column;gap:10px;display:flex}.legend.inline{flex-wrap:wrap;gap:6px 16px;margin:0;display:flex}.legend.inline li{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.cols-plot{grid-template-columns:auto 1fr;gap:8px;height:240px;display:grid}.cols-axis{color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;padding-bottom:22px;font-size:11.5px;display:flex}.cols-axis span{transform:translateY(-50%)}.cols-axis span:last-child{transform:translateY(50%)}.cols-area{grid-template-rows:1fr 22px;min-width:0;display:grid;position:relative}.cols-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 22px}.cols-grid i{border-top:1px solid var(--line-2);display:block}.cols-grid i:last-child{border-top-color:var(--line)}.cols-bars{align-items:flex-end;gap:2px;height:100%;display:flex;position:relative}.col{cursor:default;outline:none;flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.col:hover,.col.on,.col:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent);border-radius:4px 4px 0 0}.col-stack{flex-direction:column-reverse;gap:2px;width:min(70%,34px);display:flex}.col-seg{border-radius:0;min-height:2px;display:block}.col-stack .col-seg:last-child{border-radius:4px 4px 0 0}.cols-labels{color:var(--ink-3);gap:2px;padding-top:5px;font-size:11.5px;display:flex}.cols-labels span{text-align:center;white-space:nowrap;flex:1;overflow:hidden}.col-tip{z-index:5;background:var(--surface);border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow-lg);color:var(--ink-2);pointer-events:none;border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12.5px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%}.col-tip.left{left:auto;right:50%}.col-tip b{color:var(--ink);font-size:13px}.col-tip span{align-items:center;gap:6px;display:flex}.col-tip em{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-style:normal;font-weight:600}.col-tip-total{border-top:1px solid var(--line-2);padding-top:3px}.col .col-tip{top:4px;bottom:auto}.col-tip .swatch{border-radius:2px;flex:none;width:10px;height:10px}.cf-tbl th,.cf-tbl td{white-space:nowrap}.cf-tbl td:first-child,.cf-tbl th:first-child{background:var(--panel);z-index:1;white-space:normal;min-width:260px;position:sticky;left:0}.cf-tbl th:first-child{background:var(--band)}.cf-tbl tr.total td{background:var(--band);font-weight:600}.cf-tbl td.zero{color:var(--ink-3)}.cf-tbl td.oneoff{box-shadow:inset 0 -2px 0 var(--g-orange)}.cf-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.cf-chart{margin:12px 0}.tag.nodate{background:var(--chip);color:var(--ink-3)}.rank{vertical-align:middle;cursor:grab;align-items:center;gap:6px;display:inline-flex}.rank .grip{color:var(--ink-3);letter-spacing:-3px;-webkit-user-select:none;user-select:none;font-size:12px}.rank-n{font:600 12px var(--head);color:var(--ink-3);min-width:18px}.rank-th,.rank-td{white-space:nowrap;width:56px}.ovtab tr.dragging,.ovt-row.dragging{opacity:.45}.ovtab tr.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}.ovtab tr.drop-after td{box-shadow:inset 0 -2px 0 var(--accent)}.ovt-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.ovt-row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.ovt-label.with-rank{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}.ovt-label .ovt-name{min-width:0;font-size:inherit;color:inherit;flex-direction:column;gap:1px;display:flex;overflow:hidden}.ovt-label .ovt-name b{font:600 13.5px/1.25 var(--head);white-space:normal;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ovt-label .ovt-name span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ovt-label .rank,.ovt-label .rank .grip{white-space:nowrap;font-size:inherit;color:inherit;flex:none;overflow:visible}.ovt-label .rank .grip{color:var(--ink-3);font-size:12px}.sidenav .navbtn{font:600 13.5px var(--head);color:var(--ink-2);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;min-width:0;margin-top:6px;padding:9px 10px;display:flex;position:relative}.sidenav .navbtn:hover{background:var(--band);color:var(--ink)}.sidenav .navbtn svg{flex:none}.sidenav .navbtn .tag.preview{margin-left:auto;padding:1px 6px;font-size:10px;font-style:normal}.nav-collapsed .sidenav .navbtn{justify-content:center;padding:10px 0}.nav-collapsed .sidenav .navbtn span{display:none}.nav-collapsed .sidenav .navbtn .preview-dot{display:block}.sidenav a .tag.count{background:var(--late-soft);color:var(--late);margin-left:auto;padding:1px 7px;font-size:10.5px;font-style:normal}.nav-collapsed .sidenav a .tag.count{margin:0;padding:0 5px;position:absolute;top:4px;right:4px}dialog.dlg.bug-dlg{width:min(960px,100vw - 32px)}dialog.dlg.capturing{visibility:hidden}dialog.dlg.capturing::backdrop{background:0 0}.annotate{gap:8px;display:grid}.annotate-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.annotate-canvas{border:1px solid var(--line);cursor:crosshair;touch-action:none;background:var(--surface-2);border-radius:8px;width:100%;height:auto}dialog.dlg.bug-view{width:min(960px,100vw - 32px)}.bug-full{white-space:pre-wrap;margin:4px 0 8px}.bug-shot{object-fit:contain;border:1px solid var(--line);cursor:zoom-in;border-radius:8px;justify-self:start;max-width:100%;max-height:50vh}.bug-shot.big{cursor:zoom-out;max-height:none}.bugs-tbl .bug-text{max-width:520px}.status-sel.open{color:var(--late)}.status-sel.in_progress{color:var(--focus)}.status-sel.fixed{color:var(--done)}.hotel-cell{white-space:nowrap}.hotel-cell .tag.more{vertical-align:middle;margin-left:4px;padding:1px 6px;font-size:10.5px}.tag.state-draft{background:var(--accent-soft);border:1px dashed var(--accent);color:var(--accent-text);font-weight:600}.tag.state-completed{background:var(--done-soft);color:var(--done)}.tag.state-cancelled{background:var(--chip);color:var(--ink-3);text-decoration:line-through}.seg{border:1px solid var(--line);background:var(--surface);border-radius:9px;display:inline-flex;overflow:hidden}.seg button{font:inherit;color:var(--ink-2);cursor:pointer;border:0;border-right:1px solid var(--line);background:0 0;padding:6px 12px;font-size:13px}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.seg button .n{color:var(--ink-3);margin-left:6px;font-size:11px}.seg button[aria-pressed=true] .n{color:var(--accent-text)}.th-sort{position:relative}.col-resize{cursor:col-resize;z-index:2;touch-action:none;width:9px;height:100%;position:absolute;top:0;right:-4px}.col-resize:after{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;top:22%;bottom:22%;left:4px}.col-resize:hover:after,.col-resize.on:after{background:var(--accent);top:0;bottom:0}.menu-select{min-width:0;display:block;position:relative}.menu-btn{width:100%;min-width:0;font:inherit;cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:6px;display:flex}.menu-btn>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-caret{opacity:.6;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;flex:none;width:0;height:0}.menu-btn.plain{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:7px 10px}.picker-group{font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 4px}.picker-list[role=listbox]:focus{outline:none}.stage-pick .menu-select{min-width:140px}.stage-pick .menu-btn{padding:6px 10px;font-size:13px}.cell-select.stage.menu-btn{justify-content:center}.seg{max-width:100%;overflow-x:auto}.seg button{white-space:nowrap}.funnel-cols{grid-auto-columns:minmax(0,1fr)}.funnel-col{min-width:0}.funnel-conv{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=900px){.grid-tbl tr.sec .sec-btn{flex-wrap:wrap;row-gap:2px;max-width:calc(100vw - 100px)}.funnel-cols{gap:6px}}.cell-select.sm.menu-btn{width:auto}.grid-tbl td .menu-select .menu-btn.cell-select{min-height:30px}.working{z-index:1000;background:color-mix(in srgb, var(--ground) 55%, transparent);-webkit-backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.working-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;min-width:min(360px,100vw - 32px);max-width:440px;padding:22px 24px;box-shadow:0 18px 50px #0000002e}.working-bar{background:var(--chip);border-radius:999px;height:6px;margin:0 0 14px;position:relative;overflow:hidden}.working-bar span{background:var(--accent);border-radius:999px;width:40%;animation:1.3s ease-in-out infinite working-slide;position:absolute;top:0;bottom:0;left:-40%}@keyframes working-slide{0%{left:-40%}60%{left:100%}to{left:100%}}.working-text{font:600 16px/1.3 var(--head);color:var(--ink)}.working-detail{color:var(--ink-2);margin-top:6px;font-size:13px}@media (prefers-reduced-motion:reduce){.working-bar span{animation-duration:2.6s}}.working.in-dialog{border-radius:inherit;z-index:5;position:absolute;inset:0}.working.in-dialog .working-card{min-width:min(300px,90%)}.gate-box .ms-btn{justify-content:center;align-items:center;gap:10px;display:flex}.grid-tbl th.th-sort[draggable=true]{cursor:grab}.grid-tbl th.col-dragging{opacity:.45}.grid-tbl th.col-drop-before{box-shadow:inset 3px 0 0 var(--accent)}.grid-tbl th.col-drop-after{box-shadow:inset -3px 0 0 var(--accent)}.page-head .actions .btn,.page-head .actions button,.page-head .actions a{white-space:nowrap}.page-head>div{min-width:0}.sl-suggest{border-color:var(--accent);background:var(--accent-soft);margin-bottom:16px}.sl-suggest-h{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:10px;display:flex}.sl-suggest h2{font-size:15px}.sl-suggest ul{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.sl-suggest li{background:var(--panel);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.sl-acts{align-items:center;gap:10px;display:flex}.sl-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 10px;display:flex}.sl-find{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:0 260px;min-width:0;padding:6px 10px}.sl-who{gap:1px;min-width:140px;padding:5px 8px;display:grid}.sl-who b{font-weight:600}.sl-who small{color:var(--ink-3);font-size:12px}.sl-merge{background:var(--band);border-radius:8px;gap:6px;margin:10px 0;padding:10px 12px;font-size:14px;display:grid}.sl-merge p{margin:0}.sl-tbl select{background:var(--surface);border:1px solid var(--line);border-radius:7px;max-width:240px;padding:5px 8px;font-size:13.5px}.sl-name{background:0 0;border:1px solid #0000;border-radius:7px;width:100%;min-width:140px;padding:5px 8px;font-weight:600}.sl-name:hover,.sl-name:focus{border-color:var(--line);background:var(--surface)}.sl-add{gap:8px;max-width:760px;display:grid}.sl-add h2{font-size:15px}.sl-add-row{flex-wrap:wrap;gap:8px;display:flex}.sl-add-row input{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex:240px;min-width:0;padding:7px 10px}.sl-add-row select{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}:root{--w-net:#2563eb;--w-id:#7c3aed;--w-end:#0e9384;--w-data:#dc2626;--w-vendor:#d97706;--w-people:#db2777;--w-gov:#475569}.proj-top{gap:14px;margin-bottom:12px;display:grid}.proj-top,.proj-top>*,.site-bar,.site-bar label{min-width:0}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tabs{background:var(--col);border:1px solid var(--line-2);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.tab{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.tabs.small .tab{padding:4px 12px;font-size:12.5px}.site-bar{background:var(--band);border:1px solid var(--line-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;display:flex}.site-bar label{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;font-size:13px;display:flex}.site-bar select{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;max-width:min(100%,460px);padding:6px 10px;font-size:13.5px}.kpi{color:var(--ink-2);white-space:nowrap;font-size:13px}.kpi b{font-family:var(--head);color:var(--ink);font-weight:600}.kpi.late b{color:var(--late)}.tday-edit input{background:var(--surface);border:1px solid var(--line);font-size:13.5px;font-family:var(--mono);border-radius:8px;padding:5px 8px}.tbc-edit{color:var(--ink-2);font-size:13px}.tbc-edit input{accent-color:var(--q)}.site-edit{font-size:12.5px}.site-info{flex-wrap:wrap;flex:100%;align-items:center;gap:6px 8px;display:flex}.chip-i{background:var(--surface);border:1px solid var(--line-2);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 10px;font-size:12.5px;display:inline-flex}.chip-i small{font:600 10px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}a.chip-i.link{color:var(--focus);font-weight:600;text-decoration:none}a.chip-i.link:hover{border-color:var(--focus)}.proj-top .banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;display:flex}.banner.tbc{border-color:var(--line);background:repeating-linear-gradient(135deg,var(--band) 0 10px,var(--col) 10px 20px)}.banner.test{border-color:var(--purple-line);background:var(--purple-soft)}.proj-top .toolbar{margin:0}.live{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.live i{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.live.on i{background:var(--done);box-shadow:0 0 0 3px var(--done-soft)}.live.off i{background:var(--late)}.legend{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.legend .lg-label{color:var(--ink-3);margin-right:4px;font-size:12.5px}.ws-btn{--c:var(--w-gov);border:1px solid color-mix(in srgb,var(--c) 35%,var(--mixbase));background:color-mix(in srgb,var(--c) 12%,var(--mixbase));color:color-mix(in srgb,var(--c) 82%,var(--mixink));font:600 12px var(--head);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;display:inline-flex}.ws-btn i{background:var(--c);border-radius:50%;width:9px;height:9px}.ws-btn[aria-pressed=true]{background:var(--c);border-color:var(--c);color:var(--inverse-ink)}.ws-btn[aria-pressed=true] i{background:var(--inverse-ink)}.legend.has-filter .ws-btn[aria-pressed=false]{opacity:.55}.dot{border-radius:50%;flex:none;width:9px;height:9px}.rail{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-top:14px;display:grid}.rail-seg{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow);border-radius:10px;gap:3px;padding:8px 10px;display:grid;position:relative}.rail-seg:hover{border-color:var(--ink-3)}.rail-top{align-items:flex-start;gap:7px;display:flex}.rail-n{font:600 11px var(--mono);background:var(--inverse);color:var(--inverse-ink);border-radius:5px;padding:1px 5px}.rail-seg.tday .rail-n{background:var(--accent);color:var(--accent-ink)}.rail-name{font-family:var(--head);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.rail-when{font:500 11px var(--mono);color:var(--ink-3)}.rail-bar{background:var(--line-2);border-radius:3px;height:5px;display:block;overflow:hidden}.rail-bar i{background:var(--done);height:100%;display:block}.rail-count{color:var(--ink-2);font-size:11.5px}.rail-count b{color:var(--late);font-weight:600}.bands{gap:12px;margin-top:12px;display:grid}.band{background:var(--band);border:1px solid var(--line);border-radius:14px;padding:10px 12px 12px;scroll-margin-top:12px}.band.drop-target{outline:2px dashed var(--accent);outline-offset:-2px}.band-head{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:2px 2px 10px;display:flex}.band-toggle{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:2px 4px;display:flex}.band-toggle .chev{color:var(--ink-3);font-size:12px;transition:transform .15s;display:inline-block}.band.collapsed .band-toggle .chev{transform:rotate(-90deg)}.band-num{font:600 12px var(--mono);background:var(--inverse);color:var(--inverse-ink);border-radius:6px;padding:2px 7px}.band.tday .band-num{background:var(--accent);color:var(--accent-ink)}.band-name{font:600 15.5px var(--head);margin:0}.when{font:500 11.5px/1 var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:4px 7px}.band-count{color:var(--ink-2);margin-left:auto;font-size:12.5px}.band.collapsed{padding-bottom:4px}.band.collapsed .tcards{display:none}.band.collapsed .band-head{padding-bottom:4px}.tcards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:start;gap:10px;display:grid}.bands:not(.with-items) .tcards{grid-auto-rows:1fr}.add{border:1px dashed var(--dash);color:var(--ink-2);cursor:pointer;font-size:13px;font-family:var(--head);background:0 0;border-radius:9px;min-height:44px;padding:9px}.add:hover{border-color:var(--ink-3);color:var(--ink);background:var(--surface)}.add-stage{background:var(--surface);width:100%;margin-top:4px}.stage-tools{gap:2px;margin-left:auto;display:inline-flex}.stage-tools .icon-btn{min-width:26px;height:26px;font-size:13px}.stage-tools .icon-btn.armed{min-width:64px}.band-count+.stage-tools{margin-left:0}.card{--wc:var(--w-gov);background:color-mix(in srgb,var(--wc) 6%,var(--mixbase));border:1px solid color-mix(in srgb,var(--wc) 24%,var(--mixbase));border-left:5px solid var(--wc);box-shadow:var(--shadow);cursor:grab;border-radius:9px;flex-direction:column;gap:7px;min-height:168px;padding:9px 11px 10px;display:flex;position:relative}.card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--wc) 45%,var(--mixbase));border-left-color:var(--wc)}.card.dragging{opacity:.35}.card.drop-before{outline:3px solid var(--accent);outline-offset:1px}.card.flash{animation:1.6s ease-out flash}@keyframes flash{0%{box-shadow:0 0 0 3px var(--accent)}to{box-shadow:var(--shadow)}}.card-top{justify-content:space-between;align-items:center;gap:8px;min-height:18px;display:flex}.ws-tag{font:600 10.5px var(--head);letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--wc) 85%,var(--mixink));text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tops{flex:none;align-items:center;gap:5px;display:flex}.badge{font:600 10.5px var(--head);white-space:nowrap;border-radius:999px;padding:2px 8px}.badge.q{background:var(--q-soft);color:var(--q)}.card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.card.is-done{background:var(--surface-2);border-color:var(--line-2);border-left-color:color-mix(in srgb,var(--wc) 45%,var(--mixbase))}.card.is-done .card-title{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.when-row{color:var(--ink-2);flex-wrap:nowrap;align-items:center;gap:7px;min-width:0;font-size:12.5px;display:flex}.when-row .cal{width:14px;height:14px;color:color-mix(in srgb,var(--wc) 80%,var(--mixink));flex:none}.when-main{color:var(--ink);white-space:nowrap;font-weight:600}.when-len{color:var(--ink-3);white-space:nowrap}.when-len:before{content:"·";margin-right:6px}.when-rel{font:600 10.5px var(--head);white-space:nowrap;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:1px 8px}.when-rel.late{color:var(--late);background:var(--late-soft);border-color:#0000}.when-rel.now{color:var(--focus);background:var(--blue-soft);border-color:#0000}.when-rel.ok{color:var(--done);background:var(--done-soft);border-color:#0000}.when-rel.tbc{background:var(--chip);color:var(--ink-2);border:1px dashed var(--dash)}.mt{background:color-mix(in srgb,var(--wc) 12%,var(--line-2));border-radius:3px;height:5px;display:block;position:relative}.mt-bar{background:var(--wc);border-radius:3px;position:absolute;top:0;bottom:0}.card.is-done .mt-bar{opacity:.4}.mt-t{background:var(--accent);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.mt-now{border-left:2px dotted var(--focus);width:0;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.card-foot{flex-wrap:nowrap;align-items:center;gap:10px;margin-top:auto;display:flex}.card-foot .prog{flex:1;min-width:0}.prog{align-items:center;gap:8px;display:flex}.prog-bar{background:color-mix(in srgb,var(--wc) 14%,var(--mixbase));border-radius:3px;flex:1;height:6px;display:block;overflow:hidden}.prog-bar i{background:var(--wc);border-radius:3px;height:100%;display:block}.prog.full .prog-bar i{background:var(--done)}.prog-txt{font:500 11.5px var(--mono);color:var(--ink-2);white-space:nowrap}.clist{border-top:1px dashed color-mix(in srgb,var(--wc) 30%,var(--mixbase));cursor:default;gap:3px;margin:2px 0 0;padding:6px 0 0;list-style:none;display:grid}.citem{color:var(--ink);cursor:pointer;align-items:flex-start;gap:7px;font-size:12.5px;line-height:1.35;display:flex}.citem input{accent-color:var(--done);cursor:pointer;flex:none;width:14px;height:14px;margin:2px 0 0}.citem.done span{color:var(--ink-3);text-decoration:line-through}.oavs{flex:none;gap:3px;display:flex}.oav{background:color-mix(in srgb,var(--ac,var(--g-grey)) 24%,var(--mixbase));width:24px;height:24px;color:color-mix(in srgb,var(--ac,var(--g-grey)) 70%,var(--ink));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac,var(--g-grey)) 45%,transparent);font:600 9.5px/24px var(--head);text-align:center;letter-spacing:.02em;border-radius:50%}.oav.more{background:var(--line-2);color:var(--ink-2)}.oav.none{background:var(--surface-2);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}.card.is-done .oav{opacity:.6}.card.dim{opacity:.22}.bands.tbc .card{opacity:.62;filter:saturate(.35)}.bands.tbc .card:hover,.bands.tbc .card:focus-visible{opacity:1;filter:none}.note{color:var(--ink-2);max-width:90ch;margin:10px 2px 0;font-size:13px}.gwrap{margin-top:14px;overflow-x:auto}.gantt{background:var(--panel);border:1px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:12px;font-size:13px;position:relative}.g-row{border-bottom:1px solid var(--line-2);min-height:30px;display:flex}.g-row:last-child{border-bottom:0}.g-label{z-index:2;background:var(--panel);border-right:1px solid var(--line);cursor:pointer;flex:none;align-items:center;gap:8px;width:300px;padding:5px 10px 5px 12px;line-height:1.25;display:flex;position:sticky;left:0}.g-label .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.g-label .ow{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:12px;overflow:hidden}.g-track{flex:none;position:relative;overflow:hidden}.g-head{background:var(--band);border-radius:12px 12px 0 0}.g-head .g-label{cursor:default;font:600 12px var(--head);color:var(--ink-3);background:var(--band);border-radius:12px 0 0}.g-head .g-track{height:62px}.g-month{font:600 12px var(--head);color:var(--ink);white-space:nowrap;position:absolute;top:5px}.g-week{font:500 10.5px var(--mono);color:var(--ink-3);white-space:nowrap;position:absolute;top:24px;transform:translate(-1px)}.g-phase{background:var(--col)}.g-phase .g-label{background:var(--col);font:600 12.5px var(--head);cursor:default}.g-phase .g-label .ow{font-family:var(--mono);font-size:11px}.g-grid{background:var(--line-2);width:1px;position:absolute;top:0;bottom:0}.g-weekend{background:var(--surface-2);position:absolute;top:0;bottom:0}.g-bar{background:var(--wc);cursor:grab;touch-action:pan-x pan-y;border-radius:4px;min-width:5px;height:18px;position:absolute;top:5px}.g-bar:hover{filter:brightness(1.08)}.g-bar.done{opacity:.35}.g-bar.q{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--q)}.g-bar.late{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--late)}.g-bar.dragging{cursor:grabbing;box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--wc),0 4px 12px #00000040;z-index:5}.g-grip{cursor:ew-resize;background:linear-gradient(90deg,#0000 30%,#ffffff8c 30% 45%,#0000 45% 60%,#ffffff8c 60% 75%,#0000 75%);border-radius:0 4px 4px 0;width:9px;position:absolute;top:0;bottom:0;right:0}.g-grip-l{cursor:ew-resize;background:linear-gradient(90deg,#0000 30%,#ffffff8c 30% 45%,#0000 45% 60%,#ffffff8c 60% 75%,#0000 75%);border-radius:4px 0 0 4px;width:9px;position:absolute;top:0;bottom:0;left:0}.g-bar-txt{font:500 11px var(--mono);color:var(--ink-3);white-space:nowrap;pointer-events:none;line-height:16px;position:absolute;top:6px}.g-line{z-index:1;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.g-line.tday{background:var(--accent)}.g-line.today{border-left:2px dashed var(--focus);background:0 0;width:0}.g-flag{z-index:4;font:600 10.5px var(--head);color:var(--panel);white-space:nowrap;border-radius:5px 5px 0 0;padding:2px 6px;position:absolute;bottom:0;transform:translate(-50%)}.g-flag.tday{background:var(--accent)}.g-flag.today{background:var(--focus)}.g-dim{opacity:.18}.gantt.tbc .g-bar{opacity:.55;filter:saturate(.4)}.hist{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;margin-top:14px}.hist-row{border-bottom:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.hist-row:last-child{border-bottom:0}.hist-main{flex:1;gap:2px;min-width:0;display:grid}.hist-what{font-size:14px}.hist-what b{font-weight:600}.hist-meta{color:var(--ink-3);font-size:12.5px}.hist-diff{color:var(--ink-2);font-size:12.5px}.hist .tag{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.hist .tag.deleted,.hist .tag.item-deleted,.hist .tag.template-deleted,.hist .tag.hotel-deleted,.hist .tag.project-deleted{background:var(--late-soft);color:var(--late);border-color:#0000}.hist .tag.added,.hist .tag.created,.hist .tag.item-added,.hist .tag.ticked{background:var(--done-soft);color:var(--done);border-color:#0000}dialog.dlg.wide{width:min(720px,100vw - 32px)}dialog.dlg.confirm{width:min(440px,100vw - 32px)}dialog.dlg.confirm h2{font-size:16px}.changed-by{color:var(--ink-3);margin:-4px 0 0;font-size:12.5px}.field label .rel-words{text-transform:none;letter-spacing:0;color:var(--accent);margin-left:6px;font-weight:600}.field .inline-check{text-transform:none;letter-spacing:0;color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;margin-top:6px;font-size:13.5px;font-weight:400;display:flex}.field .inline-check input{width:auto;margin:0}.owner-pick{flex-wrap:wrap;gap:6px;display:flex}.opill{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:13px;display:inline-flex;position:relative}.opill input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.opill.on{background:var(--inverse);border-color:var(--inverse);color:var(--inverse-ink)}.opill:focus-within{outline:2px solid var(--focus);outline-offset:2px}.field .opill{text-transform:none;letter-spacing:0;color:var(--ink);font-size:13px;font-weight:500}.field .opill.on{color:var(--inverse-ink)}.cl-sum{font:500 12px var(--mono);color:var(--done);text-transform:none;letter-spacing:0;margin-left:6px}.cl-edit{border:1px solid var(--line);border-radius:10px;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.field small+.cl-edit{margin-top:6px}.cl-row{background:var(--surface);border-bottom:1px solid var(--line-2);align-items:flex-start;gap:8px;padding:7px 8px 7px 4px;display:flex;position:relative}.cl-grip{width:18px;color:var(--ink-3);letter-spacing:-5px;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;flex:none;margin-top:6px;font-size:13px;line-height:18px}.cl-grip:hover{color:var(--ink);background:var(--band)}.cl-row.dragging{opacity:.4}.cl-row.drop-before{box-shadow:inset 0 3px 0 var(--accent)}.cl-row.drop-after{box-shadow:inset 0 -3px 0 var(--accent)}.cl-row:last-child{border-bottom:0}.cl-row.done{background:var(--done-tint)}.field .cl-edit input.cl-tick{width:17px;height:17px;accent-color:var(--done);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;margin-top:7px;padding:0}.cl-main{flex:1;gap:1px;min-width:0;display:grid}.field .cl-edit input.cl-text{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:5px 6px;font-size:14px}.field .cl-edit input.cl-text:hover{border-color:var(--line)}.field .cl-edit input.cl-text:focus{border-color:var(--focus);background:var(--surface);outline:none}.cl-row.done .cl-text{color:var(--ink-3);text-decoration:line-through}.cl-meta{color:var(--done);padding-left:7px;font-size:11.5px}.cl-tools{flex:none;gap:2px;margin-top:3px;display:flex}.icon-btn{cursor:pointer;min-width:28px;height:28px;color:var(--ink-3);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 6px;font-size:14px}.icon-btn:hover:not(:disabled){border-color:var(--line);color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn.armed{color:var(--inverse-ink);background:var(--late);font:600 12px var(--head)}.cl-empty{color:var(--ink-3);background:var(--surface);padding:12px;font-size:13px}.cl-add{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.field .cl-add input{flex:220px;width:auto;min-width:0;padding:8px 10px}.o-list{gap:6px;max-height:50vh;display:grid;overflow:auto}.o-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.o-row .o-name{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex:180px;min-width:0;padding:7px 10px}.o-row .o-name-ro{text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#0000;font-weight:600;overflow:hidden}.o-row .o-account{flex:0 170px;min-width:0;font-size:12.5px}.o-count{color:var(--ink-3);min-width:88px;font-size:12.5px}.o-kind{text-align:center;min-width:76px}.o-kind.staff{background:var(--done-soft);color:var(--done)}.o-kind.contractor{background:var(--blue-soft);color:var(--focus)}.o-kindpick{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.o-add{flex-wrap:wrap;gap:8px;display:flex}.o-add input{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex:200px;min-width:0;padding:7px 10px}dialog.dlg form.task-form .grid2{align-items:start}.toolbar.ov-bar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px}.ov-stats{flex-wrap:wrap;align-items:center;gap:6px 18px;margin-bottom:12px;padding:0 4px;display:flex}.ovt{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.ovt-row{border-top:1px solid var(--line-2);grid-template-columns:minmax(200px,380px) 1fr;min-height:48px;display:grid}.ovt-head{background:var(--band);border-top:0;min-height:44px}.ovt-label{border-right:1px solid var(--line-2);flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:8px 14px;display:flex}.ovt-head .ovt-label{font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.ovt-label b{font:600 13.5px/1.25 var(--head);white-space:normal;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ovt-label span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ovt-track{min-width:0;position:relative;overflow:hidden}.ovt-month{border-left:1px solid var(--line);font:500 11px var(--mono);color:var(--ink-2);white-space:nowrap;padding:9px 0 0 6px;position:absolute;top:0;bottom:0}.ovt-today{border-left:2px dotted var(--focus);position:absolute;top:0;bottom:0}.ovt-today b{font:600 10px var(--head);color:var(--focus);position:absolute;bottom:2px;left:4px}.ovt-grid-today{border-left:2px dotted color-mix(in srgb,var(--focus) 55%,var(--mixbase));position:absolute;top:0;bottom:0}.ovt-row.proj{cursor:pointer}.ovt-row.proj:hover{background:var(--band)}.ovt-bar{background:color-mix(in srgb,var(--focus) 22%,var(--mixbase));border:1px solid color-mix(in srgb,var(--focus) 45%,var(--mixbase));border-radius:5px;height:20px;position:absolute;top:14px;overflow:hidden}.ovt-bar i{background:var(--focus);height:100%;display:block}.ovt-bar.done{background:var(--done-soft);border-color:var(--done)}.ovt-bar.done i{background:var(--done)}.ovt-bar.overdue{border-color:var(--late)}.ovt-key{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 2px var(--panel);border-radius:2px;margin-left:-7px;position:absolute;top:17px;transform:rotate(45deg)}.ovt-txt{color:var(--ink-2);white-space:nowrap;background:color-mix(in srgb,var(--panel) 85%,transparent);border-radius:4px;padding:0 4px;font-size:12px;position:absolute;top:15px}.ovt-txt .lt,.tbl td.lt{color:var(--late);font-weight:700}.ovt-row.tbc .ovt-label{opacity:.85}.ovt-row.tbc .ovt-bar{background:repeating-linear-gradient(135deg,var(--line-2) 0 6px,var(--surface-2) 6px 12px);border:1px dashed var(--dash)}.ovt-row.tbc .ovt-bar i{background:var(--dash)}.ovt-row.tbc .ovt-key{background:var(--panel);border:2px dashed var(--accent);box-shadow:none}.ovt-row.tbc .ovt-txt{color:var(--ink-3)}.ovtab a{color:var(--focus);font-weight:600;text-decoration:none}.tpl-links{margin-top:16px}@media (width<=640px){.site-bar label{flex:100%}.site-bar select{flex:1;max-width:100%}.g-label{width:170px}.g-label .ow{display:none}.band-count{margin-left:0}.card{min-height:0}.bands:not(.with-items) .tcards{grid-auto-rows:auto}.ovt-row{grid-template-columns:120px 1fr}.ovt-label{padding:6px 8px}.ovt-txt{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.card.flash{animation:none}}#print{display:none}@media print{@page{size:A4;margin:14mm 13mm}@page gantt{size:A4 landscape;margin:10mm}html,body{padding:0;font-size:10.5pt;background:#fff!important}#root{display:none!important}#print{color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:block}#print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.p-eyebrow{font:600 8pt var(--head);letter-spacing:.1em;text-transform:uppercase;color:#c85a16;margin:0 0 3pt}#print h1{font:700 17pt/1.15 var(--head);margin:0}#print .p-h1-small{font-size:13pt!important}.p-meta{color:#444;margin:3pt 0 10pt;font-size:9.5pt}.p-title{font:600 11pt var(--head);color:#172033;margin:6pt 0 5pt}.p-gantt{page:gantt;break-inside:avoid}.p-gantt .p-head{break-after:avoid}.p-gsvg{border:.6pt solid #c9d1dc;border-radius:4pt;width:100%;height:auto;max-height:150mm;display:block}.p-legend{color:#333;flex-wrap:wrap;gap:4pt 12pt;margin-top:6pt;font-size:8.5pt;display:flex}.p-legend span{align-items:center;gap:4pt;display:inline-flex}.p-legend i{border-radius:1.5pt;width:10pt;height:7pt;display:inline-block}.p-legend i.ln{border-top:1.6pt solid #e8722a;border-radius:0;width:12pt;height:0}.p-legend i.ln.today{border-top:1.2pt dashed #1c5fa8}.p-legend i.out{background:#fff;border:1.2pt solid #c62828}.p-legend i.faded{opacity:.35;background:#475569}.p-list{break-before:page}.p-stage{margin-top:10pt}.p-stage h2{font:600 12pt var(--head);border-bottom:1.5pt solid #172033;margin:0 0 5pt;padding-bottom:3pt}.p-stage h2 span{font:500 9pt var(--mono);color:#555;margin-left:6pt}.p-task{break-inside:avoid;border-bottom:.5pt solid #ccc;padding:5pt 0 6pt}.p-task-head{align-items:flex-start;gap:6pt;display:flex}.p-task-main{gap:1pt;display:grid}.p-sub{color:#555;font-size:8.5pt}.p-box{flex:none;width:12pt;font-size:11pt;line-height:1}.p-items{gap:1.5pt;margin:3pt 0 0 18pt;padding:0;font-size:9.5pt;list-style:none;display:grid}.p-items li{gap:5pt;display:flex}.p-items li.done{color:#555}.p-items em{color:#1f8a4c;font-size:8.5pt;font-style:normal}.p-ov{break-inside:auto}.p-ov .ovt,.p-ov .table-wrap{box-shadow:none;border-color:#ccc}.p-ov .ovt-row{break-inside:avoid;min-height:30pt}.p-ov .tbl{font-size:8.5pt}.p-ov .tbl td,.p-ov .tbl th{padding:4pt 6pt}.p-ov .tbl tr{break-inside:avoid}.p-ov .ovt-label b{font-size:9.5pt}}.band-none{color:var(--ink-3);margin:4px 2px 8px;font-size:12.5px}.toolbar label.on{color:var(--accent-text);font-weight:600}.banner.draft{border:1px dashed var(--accent);background:var(--accent-soft)}.banner.cancelled{border-color:var(--line);background:var(--chip)}.banner.completed{border-color:var(--done);background:var(--done-soft)}.banner .state-acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.banner .state-acts input{min-width:240px}.ovt-row.draft .ovt-bar{background:repeating-linear-gradient(135deg,var(--accent-soft) 0 6px,var(--surface-2) 6px 12px);border:1px dashed var(--accent)}.ovt-row.draft .ovt-bar i{background:var(--accent)}.ovt-row.draft .ovt-label{opacity:.9}.ovt-row.cancelled{opacity:.6}.ovtab tr.draft td.nm b{font-style:italic}.site-bar .site-pick{color:var(--ink-2);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.site-bar .site-pick .menu-select{min-width:220px;max-width:min(100%,460px)}.site-bar .site-pick .menu-btn{padding:6px 10px;font-size:13.5px}@media (width<=700px){.site-bar .site-pick{flex:100%}.site-bar .site-pick .menu-select{flex:1;max-width:100%}}.pb{grid-template-columns:minmax(340px,var(--pb-left,44%)) 6px minmax(0,1fr);align-items:start;gap:0 14px;min-height:calc(100vh - 120px);display:grid}.pb-left{min-width:0}.pb-divider{cursor:col-resize;background:var(--line-2);border-radius:3px;align-self:stretch;margin:6px 0;transition:background .15s}.pb-divider:hover,.pb-divider.on{background:var(--accent)}.pb-right{min-width:0;position:sticky;top:12px}.pb-doc-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pb-doc-bar .spacer{flex:1}.pb-paper{background:var(--surface-2);border:1px solid var(--line);max-height:calc(100vh - 110px);box-shadow:var(--shadow);border-radius:12px;padding:16px;overflow:auto}.pb-paper .doc{zoom:var(--doc-zoom,1);border-radius:3px;box-shadow:0 2px 14px #0000001f}.pb-paper.zoom-75 .doc{zoom:.75}.pb-paper.zoom-60 .doc{zoom:.6}.pb-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.pb-head h1{font-size:20px}.pb-head input.title{font:700 19px/1.2 var(--head);width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 6px}.eyebrow .tag{vertical-align:middle;letter-spacing:0;text-transform:none;margin-left:4px}.pb-head input.title:hover{border-color:var(--line)}.pb-head input.title:focus{border-color:var(--focus);background:var(--surface);outline:none}.pb-meta{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;font-size:13px;display:flex}.pb-meta a{color:var(--focus)}.pb-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.pb-saved{color:var(--ink-3);margin-left:auto;font-size:12.5px}.pb-q{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;display:grid}.pb-q .field{margin:0}.pb-q .field.wide{grid-column:1/-1}.pb-q .checks{flex-wrap:wrap;gap:6px 14px;display:flex}.pb-q .checks .check{font-size:13.5px}.pb-more summary{cursor:pointer;color:var(--focus);margin:10px 0 6px;font-size:13px}.pb-more .pb-q{margin-top:6px}.pb-lines-wrap{padding-bottom:4px;overflow-x:auto}.pb-group{font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);border-bottom:1px solid var(--line-2);margin:12px 0 6px;padding-bottom:4px}.pb-rows input[type=text]{min-width:90px}.pb-rows input[type=number]{width:70px}.pb-sec-tools{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:6px;font-size:13px;display:flex}.pb-disc{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.pb-disc input[type=number]{background:var(--surface-2);border:1px solid var(--line);text-align:right;border-radius:6px;width:80px;padding:4px 6px;font-size:13px}.pb-disc-label{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;min-width:180px;padding:4px 6px;font-size:13px}.pb-free{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.pb-free input{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:13px}.pb-free input[type=text],.pb-free input:not([type]){min-width:200px}.pb-free input[type=number]{width:110px}.pb-sec{margin-top:14px}.pb-sec h3{align-items:center;gap:8px;margin-bottom:6px;display:flex;position:sticky;left:0}.pb-sec h3 .tag{font-weight:600}.pb-lines{border-collapse:collapse;width:100%;min-width:470px;font-size:13.5px}.pb-lines td.nm{min-width:180px;max-width:260px}.pb-lines th,.pb-lines td{padding-left:4px;padding-right:4px}.pb-lines th{text-align:left;font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:4px 6px}.pb-lines td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:5px 6px}.pb-lines .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pb-lines input[type=number],.pb-lines input[type=text]{background:var(--surface-2);border:1px solid var(--line);text-align:right;border-radius:6px;width:72px;padding:4px 6px;font-size:13px}.pb-lines input:focus{border-color:var(--focus);background:var(--surface);outline:none}.pb-lines tr.waived td:not(.ctl){color:var(--ink-3);text-decoration:line-through}.pb-lines tr.waived td.ctl,.pb-lines tr.waived td.nm{text-decoration:none}.pb-lines .desc{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12px;display:block;overflow:hidden}.pb-lines .ctl{white-space:nowrap}.pb-strip{background:var(--band);border:1px solid var(--line-2);border-radius:10px;grid-template-columns:1fr repeat(4,max-content);gap:4px 14px;margin-top:10px;padding:10px 12px;font-size:13px;display:grid}.pb-strip .h{font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.pb-strip .n{text-align:right;font-variant-numeric:tabular-nums}.pb-strip .tot{border-top:1px solid var(--line);padding-top:4px;font-weight:600}.pb-strip .low,.pb-lines .low,.pb-sec h3 .low{color:var(--late);font-weight:600}.m-low{font-weight:600;color:var(--late)!important}.m-mid{font-weight:600;color:var(--q)!important}.m-ok{font-weight:600;color:var(--done)!important}.pb-strip .n.m-low,.pb-strip .n.m-mid,.pb-strip .n.m-ok{border-radius:6px;padding:0 6px}.pb-strip .n.m-low{background:var(--late-soft)}.pb-strip .n.m-mid{background:var(--q-soft)}.pb-strip .n.m-ok{background:var(--done-soft)}.pb-words{margin:6px 0 0;padding:0;list-style:none}.pb-words li{border-top:1px solid var(--line-2)}.pb-words li.changed .pb-word-head>span:first-child{font-weight:600}.pb-word-head{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 2px;display:flex}.pb-word-head>span:first-child{flex:1}.pb-word-head:hover{color:var(--accent-text)}.pb-word-body{padding:4px 2px 10px}.pb-word-body .field{margin-bottom:8px}.pb-warn{color:var(--q);margin:8px 0 0;padding:0 0 0 18px;font-size:13px}.pb-sent{border:1px solid var(--done);background:var(--done-soft);border-radius:12px;margin:12px 0;padding:12px 14px}.pb-sent .pb-actions{margin:8px 0 0}.tag.ps-draft{background:var(--chip);color:var(--ink-2)}.tag.ps-awaiting_approval{background:var(--q-soft);color:var(--q)}.tag.ps-approved{background:var(--blue-soft);color:var(--focus)}.tag.ps-returned{background:var(--late-soft);color:var(--late)}.tag.ps-sent,.tag.ps-viewed{background:var(--purple-soft);color:var(--purple)}.tag.ps-accepted{background:var(--done-soft);color:var(--done)}.tag.ps-declined,.tag.ps-expired{background:var(--late-soft);color:var(--late)}.tag.ps-superseded{background:var(--chip);color:var(--ink-3)}.pb-events{margin:0;padding:0;font-size:13px;list-style:none}.pb-events li{border-bottom:1px solid var(--line-2);gap:10px;padding:5px 0;display:flex}.pb-events li .when{color:var(--ink-3);white-space:nowrap;min-width:140px}.pb-link{align-items:center;gap:6px;display:flex}.pb-link input{font-family:var(--mono);flex:1;font-size:12.5px}.tpl-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:14px;display:grid}.tpl-list{margin:0;padding:0;list-style:none}.tpl-list li{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.tpl-list li:hover{background:var(--band)}.tpl-list li.on{background:var(--accent-soft);border-color:var(--accent)}.tpl-list .grip{color:var(--ink-3);cursor:grab}.tpl-list .kind{color:var(--ink-3);margin-left:auto;font-size:11px}.tpl-ph{flex-wrap:wrap;gap:4px;margin:6px 0 10px;display:flex}.tpl-ph button{font:500 12px var(--mono);background:var(--chip);border:1px solid var(--line-2);cursor:pointer;color:var(--ink-2);border-radius:6px;padding:2px 6px}.tpl-ph button:hover{border-color:var(--accent);color:var(--accent-text)}.rc-table{border-collapse:collapse;width:100%;font-size:13.5px}.rc-table th{text-align:left;font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:6px}.rc-table td{border-bottom:1px solid var(--line-2);padding:4px 6px}.rc-table input,.rc-table select{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;width:100%;min-width:70px;padding:4px 6px;font-size:13px}.rc-table input:focus{border-color:var(--focus);background:var(--surface);outline:none}.rc-fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px;margin-bottom:12px;display:grid}.rc-fields .field{margin:0}@media (width<=980px){.pb{grid-template-columns:minmax(0,1fr)}.pb-divider{display:none}.pb-right{position:static}.pb-paper{max-height:none;padding:8px}.pb-head input.title{width:100%;min-width:0}.pb-strip{grid-template-columns:1fr repeat(4,max-content);gap:4px 6px;padding:8px 6px;font-size:11.5px}.pb-left .panel{overflow-x:auto}.tpl-grid{grid-template-columns:minmax(0,1fr)}}@media print{.sidebar,.pb-left,.pb-divider,.pb-doc-bar{display:none!important}.shell,.pb{display:block}.pb-paper{box-shadow:none;background:0 0;border:0;max-height:none;padding:0;overflow:visible}.pb-paper .doc{box-shadow:none;zoom:1!important}}.np-ai{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:10px 12px}.np-ai textarea{background:var(--surface);min-height:64px}.np-ai-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pb-ai{border:1px solid var(--focus);background:var(--blue-soft);border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:14px}.pb-ai q{font-style:italic}.pb-bin{color:var(--ink-3);vertical-align:middle;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-left:6px;padding:3px;display:inline-grid}.pb-bin:hover{color:var(--late);background:var(--late-soft)}.pb-removed{margin:4px 0 0}.np-sum{border:1px solid var(--focus);background:var(--blue-soft);border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:14px}.np-sum-off{border-color:var(--q);background:var(--q-soft)}.np-sum dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.np-sum dt{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;padding-top:3px;font-size:12px;font-weight:600}.np-sum dd{margin:0}.np-ok{font-weight:600}.np-warn{color:var(--q);font-weight:600}.np-opts{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.np-opts>span{color:var(--ink-2);font-size:13px}.np-notes{margin-top:8px;font-size:13px}.np-notes ul{margin:2px 0 0;padding-left:18px}.tag.warn{background:var(--q-soft);color:var(--q)}.pb-lines input.pb-name,.pb-lines input.pb-desc{text-align:left;background:0 0;border-color:#0000;width:100%;padding:2px 4px}.pb-lines input.pb-name{font-weight:600}.pb-lines input.pb-desc{color:var(--ink-3);margin-top:1px;font-size:12px}.pb-lines input.pb-name:hover,.pb-lines input.pb-desc:hover{border-color:var(--line)}.pb-lines input.pb-name:focus,.pb-lines input.pb-desc:focus{background:var(--surface);border-color:var(--focus)}.pb-lines input.pb-desc::placeholder{color:var(--ink-4,var(--ink-3));opacity:.6}.pb-rowtools{white-space:nowrap;text-align:right}.pb-move{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 4px;font-size:9px;line-height:1}.pb-move:hover:not(:disabled){color:var(--ink);background:var(--chip)}.pb-move:disabled{opacity:.3;cursor:default}.pb-glance-row{grid-template-columns:1fr 2fr;gap:8px;display:grid}@media (width<=700px){.pb-glance-row{grid-template-columns:1fr}}.np-files{flex-wrap:wrap;gap:6px;margin:6px 0 2px;display:flex}.np-files .tag{white-space:normal;align-items:center;gap:6px;max-width:100%;display:inline-flex}.np-files .linkbtn{padding:0 2px;font-size:14px;line-height:1}.np-ai{position:relative}.np-ai.np-drop{border-color:var(--accent);background:var(--accent-soft);border-style:dashed}.np-drop-hint{z-index:2;text-align:center;background:color-mix(in srgb, var(--surface) 82%, transparent);pointer-events:none;color:var(--ink);border-radius:10px;place-content:center;gap:4px;display:grid;position:absolute;inset:0}.np-drop-hint b{font:600 16px var(--head)}.np-drop-hint span{color:var(--ink-2);font-size:13px}.pb-accept-emails{width:100%;margin-top:6px}.pbk-bar{flex-wrap:wrap}.pbk-table td{vertical-align:middle}.pbk-table input{min-width:0}.pbk-table input.num{text-align:right}.pbk-grp td{background:var(--band);cursor:pointer;padding-top:8px;padding-bottom:8px;font-weight:600}.pbk-grp .linkbtn{color:var(--ink);font-weight:600}.pbk-unconf td:nth-child(5) input{border-color:var(--q)}.pbk-thumb{object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:6px;width:36px;height:36px;display:block}.pbk-nopic{background:repeating-linear-gradient(135deg,var(--band) 0 6px,var(--surface) 6px 12px);display:block}.pbk-nopic.big{width:100%;height:160px;color:var(--ink-3);border:1px dashed var(--line);border-radius:10px;place-items:center;font-size:13px;display:grid}.pbk-edit{grid-template-columns:180px 1fr;align-items:start;gap:16px;display:grid}.pbk-pic img{object-fit:contain;border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;height:160px}.pbk-pic div{text-align:center;margin-top:6px}@media (width<=700px){.pbk-edit{grid-template-columns:1fr}}.pbk-table td{padding-top:6px;padding-bottom:6px}.pbk-name{min-width:260px;max-width:420px}.pbk-name .linkbtn{color:var(--ink);text-align:left;font-weight:600;text-decoration:none}.pbk-name .linkbtn:hover{text-decoration:underline}.pbk-table td.num input{width:86px}.pb-tobook{vertical-align:middle;margin-left:8px}.ro-bar{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:12px;display:flex}.ro-range{font:600 14px var(--head);margin-left:6px}.ro-status{color:var(--ink-2);font-size:13.5px}.ro-status b{color:var(--late)}.ro-board{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.ro-scroll{overflow-x:auto}table.ro{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:760px}.ro col.ro-whocol{width:180px}.ro th,.ro td{border-bottom:1px solid var(--line-2);padding:0}.ro tbody tr:last-child td,.ro tbody tr:last-child th{border-bottom:1px solid var(--line)}.ro .ro-who{text-align:left;background:var(--panel);z-index:4;border-right:1px solid var(--line);padding:0 12px;position:sticky;left:0}.ro thead th{font:500 11px/1.25 var(--mono);color:var(--ink-3);vertical-align:bottom;text-align:center;height:58px;padding-bottom:6px;position:relative}.ro thead th.td{color:var(--focus);font-weight:700}.ro .ro-wk{font:600 11px var(--head);color:var(--ink);white-space:nowrap;position:absolute;top:7px;left:5px}.ro th.we,.ro td.we{background:var(--col)}.ro thead th[data-col],.ro td.ro-cell{border-left:1px solid var(--line-2)}.ro th.mon,.ro td.mon{border-left:1px solid var(--line)}.ro tbody tr:hover .ro-who,.ro tbody tr.on .ro-who{background:var(--band)}.ro tbody tr.on .ro-who{box-shadow:inset 3px 0 0 var(--accent)}.ro-name{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;gap:1px;padding:6px 0;display:grid}.ro-name b{font:600 14px/1.2 var(--head);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ro-name small{color:var(--ink-3);min-height:1em;font-size:12px}.ro-name small.bad{color:var(--late);font-weight:600}.ro-name:hover b{text-decoration:underline}.ro-cell{cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:top;min-height:40px;position:relative}.ro-cell:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.ro-cell.we:hover{background:var(--col)}.ro-cell.clash{background:var(--late-soft)}.ro-cell.warn{background:var(--q-soft)}.ro-cell.sel{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)!important}table.ro.dragging{cursor:col-resize}.ro-lanes{pointer-events:none;z-index:2;width:0;height:0;position:absolute;top:0;left:0}.ro-bk.edit,.ro-bk.view{pointer-events:auto;cursor:pointer;touch-action:none}.ro-bk.edit{cursor:grab}.ro-bk.edit:before,.ro-bk.edit:after{content:"";cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0}.ro-bk.edit:before{left:0}.ro-bk.edit:after{right:0}.ro-bk.edit:hover{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--c) 60%,transparent)}.ro-bk.moving{cursor:grabbing;box-shadow:0 2px 10px color-mix(in srgb,var(--ink) 25%,transparent);z-index:3}.ro-bk.moving span{font-family:var(--mono);font-size:11.5px}.ro-bk{box-sizing:border-box;background:color-mix(in srgb,var(--c) 20%,var(--panel));border-left:4px solid var(--c);border-radius:6px;align-items:center;min-width:6px;display:flex;position:absolute;overflow:hidden}.ro-bk span{font:600 12px/1.2 var(--body);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:0 6px;overflow:hidden}.ro-bk.tent{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 20%,var(--panel)) 0 6px,var(--panel) 6px 11px);border:1px dashed var(--c);border-left:4px solid var(--c)}.ro-bk.leave{background:repeating-linear-gradient(135deg,var(--band) 0 6px,var(--line-2) 6px 11px)}.ro-bk.leave span{color:var(--ink-2)}.ro-bk.hol{background:color-mix(in srgb,var(--g-purple) 16%,var(--panel))}.ro-bk.hol span{color:color-mix(in srgb,var(--g-purple) 75%,var(--ink))}.ro-bk.cont-l{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.ro-bk.cont-r{border-top-right-radius:0;border-bottom-right-radius:0}.ro-week .ro-bk span,.ro-fortnight .ro-bk span{font-size:12.5px}.ro-legend{color:var(--ink-3);border-top:1px solid var(--line-2);flex-wrap:wrap;gap:6px 16px;padding:10px 14px;font-size:12.5px;display:flex}.ro-legend i{vertical-align:-2px;--c:var(--g-blue);background:color-mix(in srgb,var(--c) 20%,var(--panel));border-left:3px solid var(--c);border-radius:3px;width:22px;height:12px;margin-right:5px;display:inline-block}.ro-legend i.tent{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 20%,var(--panel)) 0 4px,var(--panel) 4px 7px)}.ro-legend i.leave{--c:var(--g-grey);background:repeating-linear-gradient(135deg,var(--band) 0 4px,var(--line) 4px 7px)}.ro-legend i.clash{--c:var(--late);background:var(--late-soft);border-left:0}.ro-legend i.hol{--c:var(--g-purple);background:color-mix(in srgb,var(--g-purple) 16%,var(--panel))}.ro-pop.wide{width:360px}.ro-dates{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;display:flex}.ro-dates input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:3px 6px;font-size:12.5px}.ro-holtxt{color:color-mix(in srgb,var(--g-purple) 75%,var(--ink));font-weight:600}.ro-find{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 9px;font-size:13.5px}.ro-plist{border:1px solid var(--line-2);border-radius:8px;gap:2px;max-height:240px;padding:4px;display:grid;overflow:auto}.ro-ph{font:600 11px var(--head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:6px 6px 2px}.ro-pick{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;border:0;border-left:3px solid var(--c);background:0 0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;font-size:13.5px;display:flex}.ro-pick:hover,.ro-pick:focus-visible{background:color-mix(in srgb,var(--c) 12%,var(--panel))}.ro-pick.tent{border-left-style:dashed}.ro-pick small{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.ro-acts .spacer{flex:1}.ro-pop{z-index:30;background:var(--panel);border:1px solid var(--line);width:320px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);border-radius:12px;gap:9px;padding:12px 14px;display:grid;position:fixed}.ro-pop h3{font:600 14px var(--head);margin:0}.ro-sub{color:var(--ink-3);margin:-4px 0 0;font-size:12.5px}.ro-warn{background:var(--late-soft);color:var(--late);border-radius:8px;margin:0;padding:6px 9px;font-size:13px}.ro-item{border-left:3px solid var(--c);gap:4px;padding:2px 0 2px 9px;display:grid}.ro-item b{font-size:13.5px}.ro-item small{color:var(--ink-3);font-size:12px}.ro-acts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ro-acts select{border:1px solid var(--line);background:var(--surface);border-radius:7px;max-width:150px;padding:4px 6px;font-size:12.5px}.ro-scrim{background:var(--backdrop);z-index:35;position:fixed;inset:0}.ro-drawer{background:var(--panel);border-left:1px solid var(--line);width:min(430px,100vw);box-shadow:var(--shadow-lg);z-index:40;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.ro-drawer header{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:start;gap:8px;padding:18px 20px 12px;display:flex}.ro-drawer header h2{margin:0;font-size:18px}.ro-drawer header p{color:var(--ink-3);margin:2px 0 0;font-size:13px}.ro-dbody{align-content:start;gap:16px;padding:14px 20px 24px;display:grid;overflow:auto}.ro-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ro-stats div{background:var(--band);border-radius:10px;padding:8px 10px}.ro-stats b{font:700 20px/1.1 var(--head);font-variant-numeric:tabular-nums;display:block}.ro-stats span{color:var(--ink-3);font-size:12px}.ro-stats .bad b{color:var(--late)}.ro-list{gap:6px;display:grid}.ro-ag{background:var(--band);border:0;border-left:3px solid var(--c,var(--g-grey));text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:6px;gap:1px;width:100%;padding:6px 9px;display:grid}.ro-ag:hover{background:color-mix(in srgb,var(--c,var(--g-grey)) 12%,var(--panel))}.ro-ag b{font-size:13.5px;font-weight:600}.ro-ag small{color:var(--ink-3);font-size:12px}.ro-ag.clash{background:var(--late-soft)}div.ro-ag{cursor:default}.ro-ag.hol{--c:var(--g-purple);background:color-mix(in srgb,var(--g-purple) 10%,var(--panel))}@media (width<=640px){table.ro col.ro-whocol{width:120px}.ro .ro-who{padding:0 8px}.ro-name b{font-size:13px}}.cal-warnbox{color:var(--late);background:var(--late-soft);border-radius:8px;margin:10px 0;padding:8px 10px;font-size:13.5px}.cal-checkbox{color:var(--q);background:var(--q-soft);border-radius:8px;margin:10px 0;padding:8px 10px;font-size:13.5px}.oo{vertical-align:middle;background:var(--line);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.oo.free{background:var(--line)}.oo.here{background:var(--done)}.oo.busy{background:var(--focus)}.oo.holiday{background:var(--g-purple)}.oo.leave{background:repeating-linear-gradient(135deg,var(--ink-3) 0 2px,var(--panel) 2px 4px);border:1px solid var(--ink-3)}.oo-key{color:var(--ink-3);margin:-6px 0 10px;font-size:12.5px;display:block}.oo-key .oo{margin:0 3px 0 6px}
