:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fa;--surface-3:#eef0f3;--border:#d7dbe0;--border-strong:#a9b0b8;--text:#16191d;--text-2:#4a525c;--text-3:#626b75;--primary:#1f5fbf;--primary-hover:#184c99;--primary-soft:#e6eefb;--on-primary:#fff;--focus:#1f5fbf;--danger:#b3261e;--danger-soft:#fce8e6;--warning:#8a5a00;--warning-soft:#fff4d6;--success:#1a6b34;--success-soft:#e3f4e8;--info-soft:#e6f0fb;--wip:#8a4b00;--wip-bg:#fff0d9;--wip-bd:#e9b46a;--shared:#134f9c;--shared-bg:#e3edfb;--shared-bd:#8db3e8;--published:#1a6b34;--published-bg:#e2f3e7;--published-bd:#86c69a;--archived:#4a525c;--archived-bg:#eceef1;--archived-bd:#b5bcc4;--cls-public:#1a6b34;--cls-internal:#134f9c;--cls-confidential:#8a4b00;--cls-sensitive:#a3192f;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--grid:#e3e5e8;--shadow:0 1px 2px #1018280f, 0 4px 12px #10182814;--shadow-lg:0 12px 40px #10182838;--radius:6px;--row-h:40px;--topbar-h:52px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111315;--surface:#1a1d21;--surface-2:#20242a;--surface-3:#282d34;--border:#353b43;--border-strong:#59616b;--text:#eef0f2;--text-2:#c2c8cf;--text-3:#9aa3ad;--primary:#6ea8ff;--primary-hover:#8fbcff;--primary-soft:#1d2d47;--on-primary:#0b1424;--focus:#8fbcff;--danger:#ff8a80;--danger-soft:#3b1c1a;--warning:#f5c26b;--warning-soft:#3a2c10;--success:#7fd69a;--success-soft:#16301f;--info-soft:#1a2a40;--wip:#f5c26b;--wip-bg:#3a2a10;--wip-bd:#7a5a24;--shared:#9cc3ff;--shared-bg:#1a2c47;--shared-bd:#33598f;--published:#8fdca6;--published-bg:#173222;--published-bd:#2f6b44;--archived:#c2c8cf;--archived-bg:#2a2f36;--archived-bd:#4f5761;--cls-public:#8fdca6;--cls-internal:#9cc3ff;--cls-confidential:#f5c26b;--cls-sensitive:#ff9aa8;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--grid:#2c3138;--shadow:0 1px 2px #0006, 0 4px 12px #0000004d}:root.density-compact{--row-h:32px}*{box-sizing:border-box}html,body,#root{height:100%}body{font:14px/1.45 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:13px;font-weight:650}p{margin:0 0 8px}code,.mono{font-family:var(--mono);font-size:12.5px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--primary);color:var(--on-primary);z-index:1000;border-radius:var(--radius);padding:8px 14px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.muted{color:var(--text-3)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.col{flex-direction:column;gap:8px;display:flex}.spacer{flex:1}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.gap16{gap:16px}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb8{margin-bottom:8px}.mb16{margin-bottom:16px}.boot{height:100vh;color:var(--text-2);text-align:center;place-content:center;gap:12px;display:grid}.shell{grid-template-columns:auto 1fr;grid-template-rows:var(--topbar-h) auto 1fr;height:100vh;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;grid-column:1/-1;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.brand{color:var(--text);align-items:center;gap:8px;padding-right:8px;font-weight:700;display:flex}.brand-mark{background:var(--primary);width:28px;height:28px;color:var(--on-primary);letter-spacing:-.02em;border-radius:6px;place-items:center;font-size:12px;font-weight:800;display:grid}.topbar .search{flex:1;max-width:520px;position:relative}.topbar .search input{width:100%;padding-left:32px}.topbar .search .icon{color:var(--text-3);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn .badge-count{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-weight:700;display:grid;position:absolute;top:1px;right:0}:root[data-theme=dark] .icon-btn .badge-count{color:#1a1d21}.ribbon{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;padding:6px 16px;font-size:12.5px;display:flex}.ribbon strong{color:var(--text)}.ribbon .team-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.sidenav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:228px;padding:8px 6px;transition:width .15s;display:flex;overflow-y:auto}.sidenav.collapsed{width:56px}.sidenav a.nav-item,.sidenav button.nav-item{border-radius:var(--radius);color:var(--text-2);font-weight:500;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 10px;text-decoration:none;display:flex}.sidenav .nav-item:hover{background:var(--surface-3);color:var(--text)}.sidenav .nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:650}.sidenav .nav-item .count{background:var(--surface-3);color:var(--text-2);border-radius:9px;margin-left:auto;padding:0 6px;font-size:11px}.sidenav.collapsed .label,.sidenav.collapsed .count,.sidenav.collapsed .nav-sec{display:none}.nav-sec{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:12px 10px 4px;font-size:11px;font-weight:650}main.main{position:relative;overflow:auto}.page{max-width:1600px;padding:16px 24px 48px}.page.full{max-width:none}.page-head{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.page-head .titles{flex:1;min-width:240px}.breadcrumbs{color:var(--text-3);flex-wrap:wrap;gap:4px;margin-top:0;margin-bottom:4px;padding:0;font-size:12.5px;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--border-strong);margin-right:4px}.banner{grid-column:1/-1;align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:flex}.banner.warn{background:var(--warning-soft);color:var(--warning);border-bottom:1px solid var(--wip-bd)}.banner.info{background:var(--info-soft);color:var(--shared);border-bottom:1px solid var(--shared-bd)}.banner.danger{background:var(--danger-soft);color:var(--danger)}.banner.viewas{color:#fff;background:#5b2a86}.banner.viewas button{color:#fff;background:0 0;border-color:#fff9}button,input,select,textarea{font:inherit;color:inherit}.btn{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}:root[data-theme=dark] .btn.danger{color:#1a1d21}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:28px;padding:0 9px;font-size:12.5px}.btn.xs{height:24px;padding:0 7px;font-size:12px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.btn-group .btn[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);z-index:1}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input:not([type]),select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-width:0;height:34px;padding:0 10px}textarea{resize:vertical;height:auto;min-height:70px;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--primary)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label,.field>.label{color:var(--text-2);font-size:12.5px;font-weight:600}.field .hint{color:var(--text-3);font-size:12px}.field .err{color:var(--danger);font-size:12px}.req:after{content:" *";color:var(--danger)}.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--primary)}.switch{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.switch input{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:10px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--primary)}.switch input:checked:after{left:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.card.flush{padding:0}.card-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-head h2,.card-head h3{flex:1}.chip{border:1px solid var(--border);background:var(--surface-2);height:22px;color:var(--text-2);white-space:nowrap;border-radius:11px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.chip.sm{height:19px;padding:0 6px;font-size:11px}.chip.state-WIP{color:var(--wip);background:var(--wip-bg);border-color:var(--wip-bd)}.chip.state-SHARED{color:var(--shared);background:var(--shared-bg);border-color:var(--shared-bd)}.chip.state-PUBLISHED{color:var(--published);background:var(--published-bg);border-color:var(--published-bd)}.chip.state-ARCHIVED{color:var(--archived);background:var(--archived-bg);border-color:var(--archived-bd)}.chip.ok{color:var(--success);background:var(--success-soft);border-color:#0000}.chip.warn{color:var(--warning);background:var(--warning-soft);border-color:#0000}.chip.bad{color:var(--danger);background:var(--danger-soft);border-color:#0000}.chip.info{color:var(--shared);background:var(--shared-bg);border-color:#0000}.code-badge{font-family:var(--mono);background:var(--surface-3);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.rev-badge{font-family:var(--mono);border:1px dashed var(--border-strong);color:var(--text);border-radius:4px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.cls{text-transform:uppercase;letter-spacing:.03em;border:1px solid;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.cls-PUBLIC{color:var(--cls-public)}.cls-INTERNAL{color:var(--cls-internal)}.cls-CONFIDENTIAL{color:var(--cls-confidential)}.cls-SENSITIVE{color:var(--cls-sensitive)}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:inline-grid}.avatar.lg{width:56px;height:56px;font-size:20px}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.kpi{flex-direction:column;gap:2px;display:flex}.kpi .v{letter-spacing:-.01em;font-size:26px;font-weight:700}.kpi .l{color:var(--text-2);font-size:12.5px}.kpi button.v{all:unset;cursor:pointer;font-size:26px;font-weight:700}.kpi button.v:hover{color:var(--primary);text-decoration:underline}.kpi button.v:focus-visible{outline:3px solid var(--focus)}.alert{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.alert.info{background:var(--info-soft);border-color:var(--shared-bd);color:var(--text)}.alert.warn{background:var(--warning-soft);border-color:var(--wip-bd);color:var(--text)}.alert.danger{background:var(--danger-soft);border-color:var(--danger);color:var(--text)}.alert.ok{background:var(--success-soft);border-color:var(--published-bd);color:var(--text)}.alert .icon{flex:none;margin-top:1px}.list-plain{margin:0;padding:0;list-style:none}.list-plain>li{border-bottom:1px solid var(--border);padding:8px 0}.list-plain>li:last-child{border-bottom:0}.kv{grid-template-columns:170px 1fr;gap:6px 12px;font-size:13px;display:grid}.kv dt{color:var(--text-3)}.kv dd{min-width:0;margin:0}hr{border:0;border-top:1px solid var(--border);margin:16px 0}.progress{background:var(--surface-3);border-radius:4px;height:8px;overflow:hidden}.progress>div{background:var(--primary);border-radius:4px;height:100%}.tip-wrap{display:inline-flex;position:relative}.tip{color:#fff;z-index:200;pointer-events:none;opacity:0;text-align:left;white-space:normal;background:#1d2228;border-radius:5px;width:max-content;max-width:280px;padding:6px 9px;font-size:12px;font-weight:500;line-height:1.35;transition:opacity .1s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-wrap:hover .tip,.tip-wrap:focus-within .tip{opacity:1}.tip.below{top:calc(100% + 6px);bottom:auto}.tbl-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.tbl-wrap{overflow:auto}table.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.tbl th{background:var(--surface-2);text-align:left;color:var(--text-2);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;height:36px;padding:0 10px;font-size:12px;font-weight:650;position:sticky;top:0}.tbl th button.sort{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.tbl th button.sort:focus-visible{outline:2px solid var(--focus)}.tbl td{height:var(--row-h);border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;max-width:380px;padding:0 10px;overflow:hidden}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl tbody tr.selected td{background:var(--primary-soft)}.tbl tbody tr.clickable{cursor:pointer}.tbl tr.overdue td:first-child,.tbl tr.overdue td.first{box-shadow:inset 3px 0 0 var(--danger)}.tbl tr.superseded td{color:var(--text-3)}.tbl .group-row td{background:var(--surface-3);height:32px;font-weight:650}.tbl-foot{color:var(--text-2);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}.facets{border-right:1px solid var(--border);flex:none;width:230px;max-height:75vh;padding:12px;overflow-y:auto}.facets fieldset{border:0;margin:0 0 14px;padding:0}.facets legend{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:650}.facets label{cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.facets label .n{color:var(--text-3);margin-left:auto;font-size:11.5px}.bulkbar{background:var(--primary-soft);border-bottom:1px solid var(--shared-bd);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:100;border-radius:8px;min-width:220px;max-height:70vh;padding:6px;position:absolute;overflow-y:auto}.menu .menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;text-decoration:none;display:flex}.menu .menu-item:hover,.menu .menu-item:focus-visible{background:var(--surface-3);text-decoration:none}.menu .menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.menu .menu-sec{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:8px 10px 4px;font-size:11px;font-weight:650}.menu hr{margin:6px 0}.dropdown{display:inline-flex;position:relative}.overlay{z-index:300;background:#0a0e1480;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 32px);display:flex}.dialog.wide{width:min(900px,100%)}.dialog.xwide{width:min(1200px,100%)}.dialog-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 18px;display:flex}.dialog-head h2{flex:1}.dialog-body{padding:16px 18px;overflow-y:auto}.dialog-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.drawer{background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow-lg);z-index:250;border-left:1px solid var(--border);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer .dialog-body{flex:1}.toasts{z-index:400;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-lg);background:#1d2228;border-radius:8px;align-items:center;gap:12px;min-width:280px;max-width:560px;padding:10px 14px;font-size:13.5px;display:flex}.toast.warning{background:#6b4600}.toast.error{background:#8c1d18}.toast.success{background:#145a2b}.toast button{color:#9cc3ff;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:700}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs [role=tab]{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 12px;font-weight:550;display:inline-flex}.tabs [role=tab][aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.tabs [role=tab]:hover{color:var(--text)}.tabs .count{background:var(--surface-3);color:var(--text-2);border-radius:9px;padding:0 6px;font-size:11px}.empty{text-align:center;color:var(--text-2);padding:40px 16px}.empty .icon{color:var(--text-3);margin-bottom:8px}.empty h3{color:var(--text);margin-bottom:4px}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 50%, var(--surface-3) 75%);background-size:200% 100%;border-radius:4px;height:14px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}*{transition:none!important}}.tree{margin:0;padding:0;font-size:13px;list-style:none}.tree ul{margin:0;padding-left:14px;list-style:none}.tree .node{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;width:100%;padding:4px 6px;display:flex}.tree .node:hover{background:var(--surface-3)}.tree .node.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.tree .node.drop-reject{background:var(--danger-soft);outline:2px dashed var(--danger)}.tree .node.drop-ok{background:var(--success-soft);outline:2px dashed var(--success)}.tree .twisty{width:16px;color:var(--text-3);flex:none;place-items:center;display:inline-grid}.split{min-height:0;display:flex}.split>.side{border-right:1px solid var(--border);flex:none;width:280px;overflow-y:auto}.split>.content{flex:1;min-width:0}.steps{counter-reset:s;gap:0;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.steps button{border:0;border-top:4px solid var(--border);min-width:96px;color:var(--text-3);cursor:pointer;text-align:left;background:0 0;flex:1;padding:8px 4px 6px;font-size:12px}.steps button.done{border-top-color:var(--published-bd);color:var(--text-2)}.steps button.current{border-top-color:var(--primary);color:var(--primary);font-weight:650}.kanban{grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.kanban .lane{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-height:300px;padding:8px}.kanban .lane.dragover{outline:2px dashed var(--primary)}.kanban .lane h3{align-items:center;gap:6px;padding:4px 4px 8px;font-size:13px;display:flex}.kcard{background:var(--surface);border:1px solid var(--border);cursor:grab;border-radius:6px;margin-bottom:8px;padding:8px 10px;font-size:13px}.kcard:hover{border-color:var(--border-strong)}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline>li{padding:0 0 14px 22px;position:relative}.timeline>li:before{content:"";background:var(--border);width:2px;position:absolute;top:6px;bottom:-6px;left:5px}.timeline>li:last-child:before{display:none}.timeline>li:after{content:"";background:var(--surface);border:2px solid var(--primary);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:0}.timeline>li.st-WIP:after{border-color:var(--wip)}.timeline>li.st-SHARED:after{border-color:var(--shared)}.timeline>li.st-PUBLISHED:after{border-color:var(--published)}.timeline>li.st-ARCHIVED:after{border-color:var(--archived)}.timeline>li.bad:after{border-color:var(--danger);background:var(--danger)}.timeline>li.ok:after{border-color:var(--success);background:var(--success)}.matrix{border-collapse:collapse;font-size:12.5px}.matrix th,.matrix td{border:1px solid var(--border);text-align:center;padding:4px 6px}.matrix th{background:var(--surface-2);font-weight:650;position:sticky;top:0}.matrix td.rowh{text-align:left;white-space:nowrap;background:var(--surface);position:sticky;left:0}.matrix td button.cell{all:unset;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:2px;min-width:52px;min-height:24px;display:inline-flex}.matrix td button.cell:hover{background:var(--surface-3)}.matrix td button.cell:focus-visible{outline:2px solid var(--focus)}.lvl{border-radius:3px;padding:1px 5px;font-size:11px;font-weight:700}.lvl-none{color:var(--text-3)}.lvl-read{background:var(--shared-bg);color:var(--shared)}.lvl-write{background:var(--published-bg);color:var(--published)}.lvl-admin{color:#5b2a86;background:#ede5fb}:root[data-theme=dark] .lvl-admin{color:#cdb4ff;background:#2e2240}.lvl-deny{background:var(--danger-soft);color:var(--danger)}.explicit-mark{color:var(--primary);font-weight:800}.seg{font-family:var(--mono);border:2px solid;border-radius:5px;flex-direction:column;align-items:center;min-width:36px;padding:4px 6px;font-size:13px;font-weight:700;display:inline-flex}.seg.ok{border-color:var(--published-bd);background:var(--published-bg);color:var(--published)}.seg.bad{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.seg small{font-family:var(--font);opacity:.85;font-size:10px;font-weight:500}.drop-zone{border:2px dashed var(--border-strong);text-align:center;background:var(--surface-2);color:var(--text-2);border-radius:10px;padding:28px}.drop-zone.over{border-color:var(--primary);background:var(--primary-soft)}.sheet input,.sheet select{border-radius:3px;width:100%;height:28px;padding:0 6px;font-size:12.5px}.sheet td{height:auto;padding:2px 4px}.chart-tip{pointer-events:none;color:#fff;z-index:500;background:#1d2228;border-radius:5px;padding:6px 9px;font-size:12px;position:fixed}.legend{color:var(--text-2);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.widget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.widget.s2{grid-column:span 2}.widget.s3{grid-column:span 3}.widget.dragging{opacity:.5}.watermark{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.watermark div{white-space:nowrap;color:#a3192f2e;font-size:15px;font-weight:700;position:absolute;transform:rotate(-30deg)}.viewer3d{background:linear-gradient(#dfe6ee,#f6f8fa);min-height:420px;position:relative}:root[data-theme=dark] .viewer3d{background:linear-gradient(#1b2028,#0f1216)}.viewer3d canvas{width:100%;height:100%;display:block}.vtoolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:5;border-radius:8px;flex-wrap:wrap;justify-content:center;gap:2px;max-width:calc(100% - 20px);padding:3px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.vtoolbar .icon-btn[aria-pressed=true]{background:var(--primary-soft);color:var(--primary)}.vtoolbar .sep{background:var(--border);width:1px;margin:4px 2px}.v-hud{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:6px;max-width:60%;padding:6px 10px;font-size:12px;position:absolute;bottom:10px;left:10px}.panel-tabs{border-bottom:1px solid var(--border);display:flex}.panel-tabs button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:8px;font-size:12.5px}.panel-tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}.doc-canvas{background:var(--surface-3);border-radius:6px;position:relative;overflow:auto}.doc-canvas svg{display:block}.markup-tools{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:2px;padding:3px;display:flex}.markup-tools .icon-btn[aria-pressed=true]{background:var(--primary-soft);color:var(--primary)}.thumbs{flex-direction:column;flex:none;gap:6px;width:84px;display:flex}.thumbs button{border:2px solid var(--border);cursor:pointer;color:#555;background:#fff;border-radius:4px;height:64px;padding:2px;font-size:10px}.thumbs button[aria-current=true]{border-color:var(--primary)}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px;display:grid}.doc-tile{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;padding:0;overflow:hidden}.doc-tile:hover{border-color:var(--primary)}.doc-tile .thumb{background:var(--surface-2);border-bottom:1px solid var(--border);place-items:center;height:110px;display:grid}.doc-tile .meta{padding:8px;font-size:12px}.auth-page{background:linear-gradient(135deg,#0f2f5f 0%,#1f5fbf 55%,#3f8ad8 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:12px;width:min(420px,100%);padding:28px}.auth-card h1{margin-bottom:4px}.otp{gap:6px;display:flex}.otp input{text-align:center;width:44px;height:48px;font-size:20px;font-family:var(--mono);padding:0}.persona-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.persona-grid button{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.persona-grid button:hover,.persona-grid button[aria-current=true]{border-color:var(--primary);background:var(--primary-soft)}.tour-pop{z-index:450;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-lg);border-radius:10px;width:320px;padding:14px 16px;position:fixed}.tour-hl{z-index:440;border:3px solid var(--primary);pointer-events:none;border-radius:8px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #0a0e1473}.gantt{font-size:12px;position:relative}.gantt .bar{border-radius:3px;height:14px;position:absolute;top:8px}.gantt .row{border-bottom:1px solid var(--border);height:30px;display:block;position:relative}.gantt .ms-line{border-left:2px dashed var(--border-strong);width:0;position:absolute;top:0;bottom:0}.gantt .today{border-left:2px solid var(--danger);z-index:2;width:0;position:absolute;top:0;bottom:0}.pin{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-100%)}.cover-sheet{color:#111;background:#fff;border:1px solid #ccc;padding:32px;font-size:12px}.cover-sheet table{border-collapse:collapse;width:100%}.cover-sheet td,.cover-sheet th{text-align:left;border:1px solid #bbb;padding:4px 6px}.locked-tag{color:var(--warning);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.diff-add{background:var(--success-soft)}.diff-del{background:var(--danger-soft);text-decoration:line-through}.hide-desktop{display:none!important}@media (width<=1100px){.grid3,.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.widget.s3{grid-column:span 2}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.facets{display:none}.facets.open{z-index:20;background:var(--surface);box-shadow:var(--shadow-lg);height:70vh;display:block;position:absolute}}@media (width<=900px){.sidenav{top:var(--topbar-h);z-index:40;box-shadow:var(--shadow-lg);position:fixed;bottom:0;left:0}.sidenav.collapsed{display:none}.shell{grid-template-columns:1fr}.split>.side{display:none}.split>.side.open{z-index:20;background:var(--surface);height:100%;display:block;position:absolute}.grid2{grid-template-columns:1fr}.hide-desktop{display:inline-flex!important}}@media (width<=640px){.page{padding:12px}.grid3,.grid4,.widget-grid{grid-template-columns:1fr}.widget.s2,.widget.s3{grid-column:span 1}.topbar .search{display:none}.topbar .hide-phone,.hide-phone{display:none!important}.kv{grid-template-columns:120px 1fr}.tbl td{max-width:200px}.ribbon{gap:8px}}@media print{.topbar,.sidenav,.ribbon,.banner,.no-print{display:none!important}.shell{display:block}}
