:root{--bg:#fff;--bg-2:#fafafa;--panel:#fff;--panel-2:#fafafa;--ink:#3c3c3c;--ink-soft:#3c3c3c;--muted:#6c6b66;--muted-2:#95938d;--line:#e6e6e6;--line-2:#cfcfcf;--surface-raised:#fff;--accent:#6e398e;--accent-deep:#5a2e76;--accent-soft:#f3ecf7;--danger:#e94b57;--danger-soft:#fde7e9;--ok:#13a538;--ok-soft:#e3f5e8;--warn:#ee7203;--koesio-violet:#6e398e;--koesio-violet-strong:#5a2e76;--koesio-violet-soft:#f3ecf7;--koesio-corail:#e94b57;--koesio-yellow:#ffd618;--koesio-cyan:#41c0f0;--koesio-olive:#98c41c;--koesio-ink:#3c3c3c;--koesio-gray-100:#e6e6e6;--s:clamp(160px, 18vw, 240px);--font-sans-stack:var(--font-be-vietnam-pro), "Arial Nova", Arial, sans-serif;--font-title-stack:"Arboria", "Century Gothic", "Be Vietnam Pro", sans-serif;--font-mono-stack:var(--font-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.625rem;--text-3xl:2rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-xs:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:0 0 0 0 transparent;--c-gray-bg:#f1efe8;--c-gray-border:#b4b2a9;--c-gray-th:#2c2c2a;--c-gray-ts:#5f5e5a;--c-blue-bg:#e6f1fb;--c-blue-border:#378add;--c-blue-th:#0c447c;--c-blue-ts:#185fa5;--c-purple-bg:#eeedfe;--c-purple-border:#7f77dd;--c-purple-th:#3c3489;--c-purple-ts:#534ab7;--c-teal-bg:#e1f5ee;--c-teal-border:#1d9e75;--c-teal-th:#085041;--c-teal-ts:#0f6e56;--c-amber-bg:#faeeda;--c-amber-border:#ba7517;--c-amber-th:#633806;--c-amber-ts:#854f0b;--c-rose-bg:#ffe4e6;--c-rose-border:#fb7185;--c-rose-th:#881337;--c-rose-ts:#be123c;--c-steel-bg:#e2e8f0;--c-steel-border:#475569;--c-steel-th:#0f172a;--c-steel-ts:#1e293b}html.theme-dark{--bg:#15121d;--bg-2:#1a1626;--panel:#1c1826;--panel-2:#241f30;--ink:#f0eee7;--ink-soft:#d9d6cd;--muted:#9a978f;--muted-2:#6c6a64;--line:#2e2740;--line-2:#403857;--koesio-ink:#f0eee7;--surface-raised:#211c2e;--accent:#6e398e;--accent-deep:#8a52ab;--accent-soft:#2a1a30;--danger:#e94b57;--danger-soft:#3a1418;--ok:#5ac79b;--ok-soft:#0a2e22;--warn:#ee7203;--koesio-violet-soft:#2a1a30;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:0 0 0 0 transparent;--c-gray-bg:#33332e;--c-gray-border:#75736c;--c-gray-th:#e8e6dc;--c-gray-ts:#b4b2a9;--c-blue-bg:#0c3660;--c-blue-border:#85b7eb;--c-blue-th:#b5d4f4;--c-blue-ts:#85b7eb;--c-purple-bg:#2e2870;--c-purple-border:#afa9ec;--c-purple-th:#ceacf6;--c-purple-ts:#afa9ec;--c-teal-bg:#054035;--c-teal-border:#5dcaa5;--c-teal-th:#9fe1cb;--c-teal-ts:#5dcaa5;--c-amber-bg:#4a2c06;--c-amber-border:#ef9f27;--c-amber-th:#fac775;--c-amber-ts:#ef9f27;--c-rose-bg:#4a0e21;--c-rose-border:#fda4af;--c-rose-th:#fecdd3;--c-rose-ts:#fda4af;--c-steel-bg:#1e293b;--c-steel-border:#94a3b8;--c-steel-th:#e2e8f0;--c-steel-ts:#cbd5e1}*{box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:var(--font-sans-stack);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{background:var(--bg);color:var(--ink);font-size:var(--text-base);font-feature-settings:"cv11", "ss01", "ss03";min-height:100vh;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}::selection{background:var(--accent-soft);color:var(--accent-deep)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:0}.app-shell{--mod-action:var(--accent-deep)}html.theme-dark .app-shell{--mod-action:#c9a7dd}.app-shell{background:var(--bg);align-items:flex-start;min-height:100vh;display:flex}.app-main{flex:auto;min-width:0}main{margin:0;padding:0;display:block}.app-content{--content-pad:28px;padding:var(--space-4) var(--content-pad) var(--space-10);width:100%}.topbar{z-index:5;align-items:center;gap:var(--space-3);height:52px;padding:0 var(--space-6);background:color-mix(in oklab, var(--panel) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);display:none;position:sticky;top:0}.btn.topbar-menu{display:none}.sidebar{background:var(--koesio-violet);border-right:1px solid var(--koesio-violet-strong);z-index:20;flex-direction:column;flex:0 0 260px;align-self:flex-start;width:260px;height:100vh;transition:margin-left .22s;display:flex;position:sticky;top:0;overflow:hidden auto}html.theme-dark .sidebar{background:color-mix(in oklab, var(--koesio-violet) 58%, #100d16);border-right-color:color-mix(in oklab, var(--koesio-violet) 40%, #000)}.sidebar :focus-visible{outline-color:#fff}.sidebar-head{padding:var(--space-5) var(--space-4) calc(var(--space-5) + 3px);background:0 0;justify-content:flex-start;align-items:center;display:flex;position:relative}.sidebar-head:after{content:"";left:var(--space-4);right:var(--space-4);background:linear-gradient(90deg, var(--koesio-corail) 0 38%, var(--koesio-yellow) 38% 60%, var(--koesio-cyan) 60% 100%);height:3px;position:absolute;bottom:0}.sidebar-brand{z-index:1;flex-direction:column;gap:3px;min-width:0;display:flex;position:relative}.sidebar-brand-mark{font-family:var(--font-title-stack);color:#fff;letter-spacing:0;font-size:30px;font-weight:800;line-height:1}.sidebar-brand-sub{font-size:var(--text-xs);color:#ffffffa6;letter-spacing:.2em;text-transform:uppercase;font-weight:700;line-height:1.2}.sidebar-head .btn.sidebar-toggle{top:var(--space-3);right:var(--space-3);position:absolute}.sidebar-head .btn.sidebar-toggle svg{width:18px;height:18px}.sidebar-back{align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-3) 0;padding:9px var(--space-3);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-sm);background:#ffffff14;border:1px solid #fff6;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-back:hover{color:#fff;background:#ffffff2e;border-color:#fff;text-decoration:none}.sidebar-back svg{stroke-width:2px;flex-shrink:0;width:16px;height:16px}.sidebar-nav,.sidebar-section{padding:var(--space-3);flex-direction:column;gap:2px;display:flex}.sidebar-section{border-top:1px solid #ffffff2e}.sidebar-section-title{color:#fff9;text-transform:uppercase;letter-spacing:.2em;padding:var(--space-2) var(--space-3) var(--space-2);font-size:10px;font-weight:700}.nav-item{align-items:center;gap:var(--space-2);min-height:40px;padding:8px var(--space-3);font:inherit;font-size:var(--text-md);color:#ffffffe0;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item:hover{color:#fff;background:#ffffff1f}.nav-item:active{background:#fff3}.nav-item{padding-left:var(--space-3);position:relative}.nav-item.active{color:var(--koesio-violet-strong);background:#fff;font-weight:700}.nav-item.active:hover{color:var(--koesio-violet-strong);background:#fff}.nav-item.active svg{color:var(--koesio-violet-strong)}.nav-item.active:before{content:"";background:var(--koesio-yellow);width:3px;position:absolute;top:0;bottom:0;left:0}.nav-item svg{stroke-width:2px;flex-shrink:0;width:16px;height:16px}.nav-item.action-primary{color:var(--koesio-yellow)}.nav-item.action-primary:hover{color:var(--koesio-yellow);background:#ffffff24}.nav-item.danger{color:#ffb3bd}.nav-item.danger:hover{color:#ffb3bd;background:#ffffff24}.stat-row{align-items:center;gap:var(--space-2);min-height:38px;padding:7px var(--space-3);font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:10px 1fr auto;width:100%;transition:background .12s;display:grid}.stat-row:hover{background:#ffffff1f}.stat-swatch{background:var(--sec-c,#fff9);width:10px;height:10px;transition:transform .15s;display:block}.stat-row:hover .stat-swatch{transform:scale(1.2)}.stat-label{font-size:var(--text-sm);color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.stat-count{font-size:var(--text-xs);color:#fff;font-variant-numeric:tabular-nums;text-align:center;background:#ffffff2e;min-width:22px;padding:1px 6px;font-weight:700}.stat-count.muted{color:#ffffff80;background:#ffffff14;font-weight:500}.sidebar-foot{padding:var(--space-3) var(--space-2) var(--space-3);border-top:1px solid #ffffff2e;flex-direction:column;gap:1px;margin-top:auto;display:flex}.sidebar-version{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:#fff9;letter-spacing:.01em}.sidebar .btn.ghost{color:#fffc;border-color:#0000}.sidebar .btn.ghost:hover{color:#fff;background:#ffffff29;border-color:#ffffff59}.sidebar-scrim{background:color-mix(in oklab, var(--ink) 40%, transparent);z-index:15;display:none;position:fixed;inset:0}@media (min-width:1024px){.app-shell.sidebar-collapsed .sidebar{margin-left:-260px}.app-shell.sidebar-collapsed .topbar{display:flex}.app-shell.sidebar-collapsed .btn.topbar-menu{display:inline-flex}}@media (max-width:1023px){.sidebar{box-shadow:var(--shadow-lg);flex:none;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block}.topbar{display:flex}.btn.topbar-menu{display:inline-flex}.app-content{--content-pad:var(--space-4)}}.btn{background:var(--panel);color:var(--ink);border:1px solid var(--line);height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:var(--text-md);align-items:center;gap:var(--space-2);white-space:nowrap;font-weight:500;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn:hover{border-color:var(--line-2);background:var(--panel-2)}.btn:active{background:var(--bg-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{stroke-width:2px;width:15px;height:15px}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn.primary:active{background:var(--accent-deep)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel-2);color:var(--ink);border-color:var(--line)}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger);background:var(--danger-soft)}.btn.icon-only{justify-content:center;width:34px;padding:0}.btn.sm{height:28px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn.sm svg{width:13px;height:13px}.seg{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);gap:2px;padding:2px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);padding:0 var(--space-3);cursor:pointer;height:28px;font:inherit;font-size:var(--text-md);background:0 0;border:0;border-radius:0;align-items:center;gap:6px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.seg button:hover{color:var(--ink);background:var(--panel-2)}.seg button.active,html.theme-dark .seg button.active{background:var(--koesio-violet);color:#fff}.seg button svg{width:14px;height:14px}.seg.small button{height:26px;padding:0 var(--space-3);font-size:var(--text-sm)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-3)}.section-card{--sec-c:var(--c-gray-border);--sec-bg:var(--c-gray-bg);--sec-ink:var(--c-gray-th);border-left:3px solid var(--sec-c);background:color-mix(in oklab, var(--sec-bg) 20%, var(--panel))}.sec-meta{--sec-c:var(--koesio-violet);--sec-bg:var(--koesio-violet-soft);--sec-ink:var(--accent-deep)}.meta-grid,.grid,.drawer-form{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.grid label,.meta-grid label,.drawer-form label{font-size:var(--text-xs);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:5px;font-weight:500;display:flex}.grid label.full,.meta-grid label.full,.drawer-form label.full{grid-column:1/-1}input[type=text],input[type=date],input[type=search],input[type=password],input[type=file],textarea,select{font:inherit;font-size:var(--text-md);color:var(--ink);padding:8px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);width:100%;line-height:1.4;transition:border-color .12s,background .12s,box-shadow .12s}input:hover,textarea:hover,select:hover{border-color:var(--line-2)}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 20%, transparent);outline:none}textarea{resize:vertical;min-height:64px;line-height:1.5}select{cursor:pointer}html.theme-dark input,html.theme-dark textarea,html.theme-dark select{background:var(--bg-2)}html.theme-dark input:focus,html.theme-dark textarea:focus,html.theme-dark select:focus{background:var(--bg)}.multi-ref-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:8px;display:grid}.multi-ref-option{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:32px;color:var(--ink);font-size:var(--text-sm);letter-spacing:0;text-transform:none;align-items:center;gap:8px;padding:6px 8px;font-weight:600;display:flex}.multi-ref-option input{width:16px;height:16px;accent-color:var(--accent);flex:none}.multi-ref-empty{color:var(--muted);font-size:var(--text-sm);letter-spacing:0;text-transform:none}.empty-items{text-align:center;color:var(--muted-2);padding:var(--space-5);font-style:italic;font-size:var(--text-sm)}.schema-view-card{padding:0;overflow:hidden}.schema-view-hero{padding:var(--space-6) var(--space-8) calc(var(--space-6) + 6px);background:var(--koesio-violet);color:#fff;align-items:start;gap:var(--space-5);grid-template-columns:minmax(220px,.8fr) minmax(320px,1.4fr);display:grid;position:relative}.schema-view-hero h2{font-family:var(--font-title-stack);letter-spacing:-.02em;text-transform:uppercase;color:#fff;margin:0;font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.05}.schema-view-hero p{color:#ffffffc7;font-size:var(--text-md);margin:4px 0 0;font-weight:700}.schema-edit-topcard{margin-bottom:var(--space-3)}.schema-edit-topbar{grid-template-columns:1fr;align-items:center;min-height:124px}.schema-view-stripe{height:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.schema-view-stripe span{height:100%;display:block}.schema-view-stripe .s-corail{background:var(--koesio-corail);width:38%}.schema-view-stripe .s-yellow{background:var(--koesio-yellow);width:22%}.schema-view-stripe .s-cyan{background:var(--koesio-cyan);width:30%}.inv-view{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.inv-search{width:100%;height:38px}.mod-head .inv-search{width:clamp(200px,24vw,320px)}.inv-export{height:38px}.schema-view-hero .inv-search{height:44px;margin-bottom:var(--space-3);color:var(--ink);background:#fff;border-color:#ffffff4d}.inv-filter-bar{flex-wrap:wrap;gap:6px;display:flex}.inv-chip{background:var(--panel);border:1px solid var(--line-2);cursor:pointer;height:32px;font:inherit;font-size:var(--text-sm);color:var(--ink);align-items:center;gap:var(--space-2);white-space:nowrap;border-radius:0;padding:0 13px;font-weight:600;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.inv-chip-dot{flex:0 0 8px;width:8px;height:8px;display:block}.inv-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.inv-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.inv-chip-count{background:var(--panel-2);color:var(--muted);font-size:var(--text-xs);text-align:center;font-variant-numeric:tabular-nums;border-radius:0;min-width:20px;padding:1px 6px;font-weight:600}.inv-chip.active .inv-chip-count{color:#fff;background:#ffffff38}.inv-table-wrap{border:1px solid var(--line);min-width:0;overflow-x:auto}.inv-empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);flex-direction:column;display:flex}.inv-empty-text{font-size:var(--text-base);color:var(--muted)}.inv-link{font-family:inherit;font-size:var(--text-sm);color:var(--mod-action,var(--accent-deep));cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700}.inv-link:hover{text-decoration:underline}.inv-foot{justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;display:flex}.cl-view{flex-direction:column;min-width:0;display:flex}.itg-modal{max-width:560px;max-height:calc(100vh - 2 * var(--space-12));border-radius:0;flex-direction:column;display:flex}.itg-head{padding:13px var(--space-5);background:var(--koesio-violet);align-items:center;gap:11px;display:flex}.itg-head-icon{color:#fff;flex:0 0 22px;width:22px;height:22px}.itg-head-txt{flex:1;min-width:0}.itg-head-txt h2{font-family:var(--font-title-stack);font-size:var(--text-lg);color:#fff;margin:0;font-weight:800}.itg-head-txt p{font-size:var(--text-xs);color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;margin:1px 0 0;overflow:hidden}.itg-head-badge{letter-spacing:.12em;color:#fff;vertical-align:middle;border:1px solid #ffffff80;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:700}.itg-close{color:#fff;width:28px;height:28px;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #fff6;flex-shrink:0;justify-content:center;align-items:center;line-height:1;transition:background .16s;display:inline-flex}.itg-close:hover{background:#ffffff24}.itg-stripe{height:4px;display:flex}.itg-stripe span{height:100%;display:block}.itg-stripe .s-corail{background:var(--koesio-corail);width:38%}.itg-stripe .s-yellow{background:var(--koesio-yellow);width:22%}.itg-stripe .s-cyan{background:var(--koesio-cyan);width:40%}.itg-body{min-height:0;padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.itg-lead{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.55}.itg-search{width:100%}.itg-summary{border:1px solid var(--line)}.itg-line{border-bottom:1px solid var(--line-2);font-size:var(--text-sm);align-items:center;gap:10px;padding:7px 14px;display:flex}.itg-line.empty{opacity:.55}.itg-swatch{flex:0 0 9px;width:9px;height:9px;display:block}.itg-label{color:var(--ink);white-space:nowrap;font-weight:600}.itg-detail{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.itg-n{text-align:center;background:var(--panel-2);border:1px solid var(--line);min-width:24px;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;padding:1px 6px;font-weight:700}.itg-total{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--panel-2);font-size:var(--text-sm);color:var(--ink);padding:8px 14px;font-weight:700;display:flex}.itg-callout{font-size:var(--text-sm);border:1px solid;gap:9px;padding:10px 13px;line-height:1.55;display:flex}.itg-callout p{margin:0}.itg-callout.warn{background:color-mix(in oklab, var(--koesio-yellow) 14%, var(--panel));border-color:color-mix(in oklab, var(--koesio-yellow) 45%, var(--line));color:var(--ink)}.itg-callout.info{background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 30%, var(--line));color:var(--ink)}.itg-callout.danger{background:color-mix(in oklab, var(--danger) 10%, var(--panel));border-color:color-mix(in oklab, var(--danger) 45%, var(--line));color:var(--ink)}.itg-details{border:1px solid var(--line)}.itg-details>summary{background:var(--panel-2);font-size:var(--text-sm);color:var(--muted);cursor:pointer;padding:8px 13px;font-weight:600}.itg-details>summary:hover{color:var(--ink)}.itg-details-body{padding:var(--space-3) 13px;gap:var(--space-3);flex-direction:column;display:flex}.itg-block h4{font-size:var(--text-xs);color:var(--ink);margin:0 0 4px;font-weight:700}.itg-block ul{font-size:var(--text-xs);color:var(--muted);margin:0;padding-left:16px;line-height:1.6}.itg-orglist{border:1px solid var(--line);flex-direction:column;max-height:340px;display:flex;overflow-y:auto}.itg-org{justify-content:space-between;align-items:center;gap:var(--space-2);border:0;border-bottom:1px solid var(--line-2);background:var(--panel);font:inherit;font-size:var(--text-sm);color:var(--ink);text-align:left;cursor:pointer;border-left:3px solid #0000;padding:8px 13px;display:flex}.itg-org:hover{background:var(--accent-soft);border-left-color:var(--accent)}.itg-org-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.itg-tag{background:var(--panel-2);border:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);white-space:nowrap;flex-shrink:0;padding:1px 7px}.itgp-group{flex-direction:column;gap:6px;display:flex}.itgp-group h3{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}.itgp-entry{border:1px solid var(--line);border-left:3px solid var(--line-2);background:var(--panel);padding:8px 11px}.itgp-entry.picked{border-left-color:var(--accent);background:var(--accent-soft)}.itgp-entry-head{font-size:var(--text-sm);cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.itgp-entry-name{color:var(--ink);font-weight:700}.itgp-meta{font-size:var(--text-xs);color:var(--muted);border:1px solid var(--line);background:var(--panel);white-space:nowrap;padding:1px 6px}.itgp-fields{flex-direction:column;gap:2px;margin:5px 0 0 22px;display:flex}.itgp-field{font-size:var(--text-sm);cursor:pointer;grid-template-columns:auto 130px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.itgp-field-label{color:var(--muted)}.itgp-field-val{overflow-wrap:anywhere;min-width:0}.itgp-field-val s{opacity:.55}.itgp-field-val strong{color:var(--ink)}.itgp-noop{font-size:var(--text-xs);color:var(--muted-2)}@media (max-width:600px){.itgp-field{grid-template-columns:auto minmax(0,1fr)}.itgp-field-label{grid-column:2}}.itg-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-2);flex-wrap:wrap;display:flex}.itg-foot .ed-btn-quiet{margin-right:auto}@media (max-width:600px){.itg-foot{justify-content:stretch}.itg-foot .ed-btn{flex:1}.itg-foot .ed-btn-quiet{margin-right:0}}.sidebar-box-note{font-size:var(--text-xs);color:#ffffffb8;background:#ffffff1a;border:1px solid #ffffff4d;flex-direction:column;gap:3px;margin:8px 0 2px;padding:9px 11px;line-height:1.5;display:flex}.sidebar-box-note strong{color:#fff;font-weight:700}.cl-status{margin-top:var(--space-4)}.cl-loading{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-sm)}.cl-toolbar{justify-content:flex-end;align-items:center;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.cl-alpha{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.cl-alpha-key{background:var(--panel-2);min-width:24px;height:24px;color:var(--accent);font:inherit;font-size:var(--text-xs);cursor:pointer;border:0;padding:0 4px;font-weight:700;transition:background .16s}.cl-alpha-key:hover:not(:disabled){background:var(--accent-soft)}.cl-alpha-key:disabled{color:var(--line-2);cursor:default;background:0 0}.cl-section-title{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}.cl-recents{margin-top:var(--space-5)}.cl-recent-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.cl-recent{padding:var(--space-3) 14px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:4px;transition:border-color .16s;display:flex}.cl-recent:hover{border-color:var(--accent)}.cl-recent.current{border-left-color:var(--koesio-olive)}.cl-recent-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.cl-recent-name{min-width:0;font-size:var(--text-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cl-recent-detail{font-size:var(--text-xs);color:var(--muted)}.cl-recent-foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:5px;display:flex}.cl-table{margin-top:var(--space-4);border:1px solid var(--line);border-bottom:0}.cl-letter{z-index:1;scroll-margin-top:var(--space-3);padding:6px var(--space-4);background:var(--panel-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex;position:sticky;top:0}.cl-group:first-child .cl-letter{border-top:0}.cl-letter-ch{font-family:var(--font-title-stack);font-size:var(--text-sm);color:var(--accent);font-weight:800}.cl-letter-n{font-size:var(--text-xs);color:var(--muted)}.cl-row{width:100%;padding:8px var(--space-4);border:0;border-bottom:1px solid var(--line-2);background:var(--panel);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-left:3px solid #0000;border-radius:0;grid-template-columns:minmax(0,1fr) 150px 110px 84px 16px;align-items:center;gap:14px;transition:background .1s,border-color .1s;display:grid}.cl-row:hover,.cl-row:focus-visible{background:var(--accent-soft);border-left-color:var(--accent);outline:none}.cl-row.current{border-left-color:var(--koesio-olive)}.cl-ident{align-items:center;gap:10px;min-width:0;display:flex}.cl-avatar{width:28px;height:28px;font-size:var(--text-xs);flex:0 0 28px;justify-content:center;align-items:center;font-weight:800;display:flex}.cl-av-0{background:var(--koesio-violet-soft);color:var(--koesio-violet-strong)}.cl-av-1{background:color-mix(in oklab, var(--koesio-cyan) 20%, var(--panel));color:#0e5e7e}.cl-av-2{background:color-mix(in oklab, var(--koesio-yellow) 24%, var(--panel));color:#8a7200}.cl-av-3{background:color-mix(in oklab, var(--koesio-olive) 20%, var(--panel));color:#43610b}.cl-av-4{background:color-mix(in oklab, var(--koesio-corail) 16%, var(--panel));color:#a5152c}.cl-av-5{background:color-mix(in oklab, #7f77dd 18%, var(--panel));color:#3c3489}.cl-name{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cl-state,.cl-tags{min-width:0}.cl-muted{font-size:var(--text-xs);color:var(--muted-2)}.cl-short,.cl-id{font-size:var(--text-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cl-id{font-family:var(--font-mono-stack);font-variant-numeric:tabular-nums}.cl-badge{font-size:var(--text-xs);color:var(--muted);background:var(--panel-2);border:1px solid var(--line);white-space:nowrap;align-items:center;gap:6px;padding:2px 8px;font-weight:600;display:inline-flex}.cl-badge-live{color:var(--ink);background:color-mix(in oklab, var(--koesio-olive) 16%, var(--panel));border-color:color-mix(in oklab, var(--koesio-olive) 45%, transparent);font-weight:700}.cl-dot{background:var(--koesio-olive);border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:block}.cl-chevron{color:var(--muted-2)}.cl-row:hover .cl-chevron{color:var(--accent)}.cl-empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);border-bottom:1px solid var(--line);font-size:var(--text-sm);color:var(--muted);flex-direction:column;display:flex}.cl-link{font:inherit;font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:600;text-decoration:none;display:inline-flex}.cl-link:hover{text-decoration:underline}.cl-foot{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-2);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;display:flex}@media (max-width:900px){.cl-row{grid-template-columns:minmax(0,1fr) auto 16px}.cl-tags,.cl-short,.cl-id{display:none}.cl-toolbar{align-items:flex-start}.cl-alpha{display:none}.schema-view-hero{gap:var(--space-4);padding:var(--space-5) var(--space-5) calc(var(--space-5) + 6px);grid-template-columns:1fr}}table.inventory{border-collapse:collapse;width:100%;font-size:var(--text-base)}table.inventory th,table.inventory td{border-bottom:1px solid var(--line);padding:10px var(--space-3);text-align:left;vertical-align:middle}.inv-table-wrap table.inventory{table-layout:fixed;min-width:1300px}.inv-table-wrap table.inventory th,.inv-table-wrap table.inventory td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inv-table-wrap table.inventory th:first-child{width:13%}.inv-table-wrap table.inventory th:nth-child(2){width:14%}.inv-table-wrap table.inventory th:nth-child(3){width:9%}.inv-table-wrap table.inventory th:nth-child(4){width:11%}.inv-table-wrap table.inventory th:nth-child(5){width:8%}.inv-table-wrap table.inventory th:nth-child(6){width:9%}.inv-table-wrap table.inventory th:nth-child(7){width:12%}.inv-table-wrap table.inventory th:nth-child(8){width:10%}.inv-table-wrap table.inventory th:nth-child(9){width:14%}.inv-table-wrap table.inventory td:has(.inv-empty){white-space:normal}table.inventory th{color:var(--muted);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:var(--panel-2);border-bottom-color:var(--line-2);position:sticky;top:0}table.inventory th:hover{color:var(--ink)}table.inventory th.sort-asc:after,table.inventory th.sort-desc:after{color:var(--accent);margin-left:4px}table.inventory th.sort-asc:after{content:"↑"}table.inventory th.sort-desc:after{content:"↓"}tr.inv-row{transition:background .16s}tr.inv-row:hover{background:color-mix(in oklab, var(--accent) 6%, var(--panel))}html.theme-dark tr.inv-row:hover{background:color-mix(in oklab, var(--accent) 22%, var(--panel))}table.inventory tbody td{color:var(--ink)}.inv-soft{color:var(--muted)}.portmap-toolbar{align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.portmap-count-field{gap:var(--space-1);font-size:var(--text-sm);color:var(--muted);display:grid}.portmap-count-field input{width:110px}.portmap-summary{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);margin-left:auto;display:inline-flex}.portmap-summary svg{width:16px;height:16px}.portmap-scroll{overflow-x:auto}.portmap-table th{cursor:default}.portmap-table td{padding:4px var(--space-2)}.portmap-table td.portmap-n{text-align:center;width:56px;font-family:var(--font-mono);color:var(--muted);font-weight:700}.portmap-table tr.filled td.portmap-n{color:var(--koesio-violet)}html.theme-dark .portmap-table tr.filled td.portmap-n{color:var(--koesio-cyan)}.portmap-table td.portmap-vlan{width:220px}.portmap-table input,.portmap-table select{width:100%}.portmap-connect{gap:var(--space-2);display:flex}.portmap-connect select{flex:0 200px;min-width:140px}.portmap-connect input{flex:1}.spb{gap:var(--space-4);flex-direction:column;display:flex}.spb-face{margin:var(--space-3) 0;grid-template-rows:repeat(2,34px);grid-auto-flow:column;justify-content:start;gap:4px;padding-bottom:2px;display:grid;overflow-x:auto}.spb-port{border:1px solid var(--line-2);background:var(--panel);width:30px;color:var(--muted-2);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.spb-port.doc{border-color:var(--koesio-violet);background:var(--koesio-violet-soft);color:var(--koesio-violet-strong);border-width:2px}.spb-legend{gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);color:var(--ink);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.spb-chip{border:1px solid var(--line-2);vertical-align:-1px;width:12px;height:12px;margin-right:6px;display:inline-block}.spb-chip-doc{background:var(--koesio-violet-soft);border-color:var(--koesio-violet)}.spb-table th{cursor:default}.spb-table td.spb-num{text-align:center;width:56px;font-family:var(--font-mono);color:var(--muted);font-weight:700}.spb-dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.inv-type-pill{text-overflow:ellipsis;max-width:100%;font-size:var(--text-xs);white-space:nowrap;color:var(--ink);background:color-mix(in oklab, var(--sec-c,var(--line-2)) 16%, var(--panel));border-left:3px solid var(--sec-c,var(--line-2));border-radius:0;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex;overflow:hidden}html.theme-dark .inv-type-pill{background:color-mix(in oklab, var(--sec-c,var(--line-2)) 26%, var(--panel))}.inv-ip{font-family:var(--font-mono-stack);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap}.inv-vlan{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.inv-vlan-dot{width:8px;height:8px;box-shadow:0 0 0 1.5px color-mix(in oklab, var(--line) 60%, transparent);border-radius:50%;flex-shrink:0}.vendors-empty{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-10) var(--space-6);color:var(--muted);flex-direction:column;display:flex}.vendors-empty svg{width:36px;height:36px;color:var(--accent);stroke-width:1.6px}.vendors-empty h2{color:var(--ink);font-size:var(--text-lg);margin:0;font-weight:600}.vendors-empty p{max-width:460px;font-size:var(--text-sm);margin:0;line-height:1.55}.vendors-empty .ed-btn{margin-top:var(--space-2)}.ven-view{flex-direction:column;min-width:0;display:flex}.ven-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-items:start;display:grid}.ven-card{--sec-c:var(--line-2);background:var(--panel);border:1px solid var(--line);flex-direction:column;min-width:0;transition:border-color .16s;display:flex}.ven-card:hover{border-color:var(--sec-c)}.ven-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:10px var(--space-4);background:color-mix(in oklab, var(--sec-c) 14%, var(--panel));border-left:3px solid var(--sec-c);display:flex}.ven-name{min-width:0;font-family:var(--font-title-stack);font-size:var(--text-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:800;overflow:hidden}.ven-cat{border:1px solid var(--sec-c);background:var(--panel);letter-spacing:.1em;text-transform:uppercase;max-width:45%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding:2px 8px;font-size:9.5px;font-weight:700;overflow:hidden}.ven-card-body{padding:var(--space-3) var(--space-4);flex-direction:column;gap:7px;display:flex}.ven-fields{gap:4px var(--space-3);font-size:var(--text-sm);grid-template-columns:88px minmax(0,1fr);margin:0;display:grid}.ven-fields dt{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-self:center;font-size:10px;font-weight:700}.ven-fields dd{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.ven-fields dd a{color:var(--accent);text-decoration:none}.ven-fields dd a:hover{text-decoration:underline}.ven-mono{font-family:var(--font-mono-stack);font-size:var(--text-xs);color:var(--muted)!important;font-weight:400!important}.ven-notes{border-top:1px dashed var(--line);font-size:var(--text-sm);color:var(--muted);padding-top:9px;line-height:1.55}.ven-notes p{white-space:pre-wrap;margin:0}.ven-notes p+p{margin-top:5px}.ven-card-foot{justify-content:space-between;align-items:center;gap:var(--space-2);padding:8px var(--space-4);border-top:1px solid var(--line-2);margin-top:auto;display:flex}.ven-scope{min-width:0;font-size:var(--text-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ven-edit{font:inherit;font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0;font-weight:600}.ven-edit:hover{text-decoration:underline}.ven-foot{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line-2);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;display:flex}.vendors-noresult{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);color:var(--muted-2);grid-column:1/-1;font-style:italic;display:flex}.vendors-noresult svg{width:18px;height:18px}.rep-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.rep-caption{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.rep-caption-plain{font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:400}.rep-chips{margin-bottom:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.rep-link{font-family:inherit;font-size:var(--text-sm);color:var(--mod-action,var(--accent-deep));cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:700;display:inline-flex}.rep-link svg{width:13px;height:13px}.rep-link:hover{text-decoration:underline}.rep-panel{border:1px solid var(--line);background:var(--panel)}.rep-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:9px var(--space-4);background:var(--panel-2);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.rep-panel-head-sw{background:color-mix(in oklab, var(--koesio-yellow) 16%, var(--panel));border-left:3px solid var(--koesio-yellow)}html.theme-dark .rep-panel-head-sw{background:color-mix(in oklab, var(--koesio-yellow) 22%, var(--panel))}.rep-panel-body{padding:var(--space-4)}.rep-zoom{gap:6px;display:inline-flex}.rep-zoom button{background:var(--panel);border:1px solid var(--line-2);min-width:28px;height:28px;color:var(--ink-soft);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:5px;padding:0;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.rep-zoom button svg{width:13px;height:13px}.rep-zoom button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.rep-zoom .rep-zoom-fit{padding:0 10px}.rep-tunnels{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border:1px dashed color-mix(in oklab, var(--accent) 55%, transparent);background:var(--accent-soft);font-size:var(--text-sm);color:var(--ink-soft)}.rep-tunnels strong{color:var(--mod-action,var(--accent-deep));margin-right:6px}html.theme-dark .rep-tunnels{background:color-mix(in oklab, var(--accent) 22%, var(--panel))}.rep-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.rep-card{--sec-c:var(--line-2);--sec-tint:var(--panel-2);border:1px solid var(--line);background:var(--panel);min-width:0}.rep-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-4);background:var(--sec-tint);border-left:3px solid var(--sec-c);display:flex}.rep-card-warn .rep-card-head{background:var(--danger-soft);border-left-color:var(--danger)}.rep-card-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.rep-card-title{font-family:var(--font-title-stack);font-size:var(--text-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:800;overflow:hidden}.rep-card-sub{font-size:var(--text-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rep-card-mono{font-family:var(--font-mono-stack);font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.rep-card-count{text-align:center;min-width:20px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted);background:var(--panel);border:1px solid var(--line);flex-shrink:0;padding:1px 6px}.rep-card-note{padding:6px var(--space-4);border-bottom:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}.rep-card-rows{margin:0;padding:0;list-style:none}.rep-card-row{align-items:center;gap:var(--space-2);padding:8px var(--space-4);border-top:1px solid var(--line);font-size:var(--text-base);min-width:0;display:flex}.rep-card-rows>.rep-card-row:first-child{border-top:0}.rep-row-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:block}.rep-row-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:55%;font-weight:600;overflow:hidden}.rep-row-detail{min-width:0;font-size:var(--text-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rep-card-row .rep-card-mono{margin-left:auto}.rep-card-empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--muted-2);font-style:italic}.rep-host{--sec-tint:color-mix(in oklab, var(--sec-c) 14%, var(--panel))}.rep-host-head{flex-direction:column;align-items:stretch;gap:9px}.rep-host-topline{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.rep-host-ident{align-items:center;gap:9px;min-width:0;display:flex}.rep-host-icon{width:15px;height:15px;color:var(--sec-c);stroke-width:2px;flex:0 0 15px}.rep-card-warn .rep-host-icon{color:var(--danger)}.rep-host-site{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:var(--muted);flex-shrink:0;padding:2px 8px;font-size:9.5px;font-weight:700}.rep-host-specs{flex-wrap:wrap;gap:6px;display:flex}.rep-host-spec{font-size:var(--text-xs);color:var(--muted);background:var(--panel);border:1px solid var(--line);white-space:nowrap;padding:3px 8px;font-weight:600}.rep-host-note{font-size:var(--text-xs);color:var(--muted);margin:0}.rep-host-cols,.rep-host-row{gap:var(--space-3);grid-template-columns:1fr 1.1fr 110px;align-items:center;display:grid}.rep-host-cols{padding:7px var(--space-4);background:var(--panel-2);border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.rep-host-cols span:last-child{text-align:right}.rep-host-rows{margin:0;padding:0;list-style:none}.rep-host-row{width:100%;padding:8px var(--space-4);border:0;border-bottom:1px solid var(--line-2);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0}.rep-host-row:hover{background:var(--accent-soft)}.rep-host-vm{align-items:center;gap:9px;min-width:0;display:flex}.rep-host-row .rep-card-mono{text-align:right}.rep-host-bare{padding:11px var(--space-4);border-bottom:1px solid var(--line-2);font-size:var(--text-sm);color:var(--muted);align-items:center;gap:10px;margin:0;display:flex}.rep-host-bare-dot{background:var(--koesio-olive);flex:0 0 8px;width:8px;height:8px;display:block}.rep-host-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:8px var(--space-4);border-top:1px solid var(--line);display:flex}.rep-host-storage{min-width:0;font-size:var(--text-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rep-host-action{font:inherit;font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.rep-host-action svg{width:13px;height:13px}.rep-host-action:hover{text-decoration:underline}.rep-host-action-warn{color:var(--danger);font-weight:700}.rep-png-src{pointer-events:none;width:1400px;height:900px;position:absolute;top:0;left:-20000px}.report-notes{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-left:4px solid var(--koesio-violet);white-space:pre-wrap;font-size:var(--text-base);color:var(--ink-soft);background:#fff;border-radius:0;line-height:1.55}html.theme-dark .report-notes{background:var(--panel)}.toggle-check{font-size:var(--text-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.toggle-check input{accent-color:var(--accent)}.modal-bg{background:color-mix(in oklab, var(--ink) 60%, transparent);z-index:100;padding:var(--space-12) var(--space-4);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);width:100%;max-width:720px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line);align-items:center;gap:var(--space-3);display:flex}.modal-head h2{font-size:var(--text-lg);letter-spacing:-.015em;flex:1;margin:0;font-weight:600}.modal-head .close{cursor:pointer;color:var(--muted-2);border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:inline-flex}.modal-head .close:hover{background:var(--panel-2);color:var(--ink)}.modal-body{padding:var(--space-5) var(--space-6) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.modal-section{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);background:var(--panel-2);flex-direction:column;display:flex}.modal-section h3{font-size:var(--text-md);letter-spacing:-.005em;margin:0;font-weight:600}.modal-section .hint{font-size:var(--text-sm);color:var(--muted);line-height:1.55}.modal-section textarea{min-height:110px;font-family:var(--font-mono-stack);font-size:var(--text-sm)}.status{font-size:var(--text-sm);padding:8px var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-deep);font-weight:500}.status.error{background:var(--danger-soft);color:var(--danger)}.status.success{background:var(--ok-soft);color:var(--ok)}.diagram-wrap{border:1px solid var(--line);background:var(--panel-2);border-radius:0;height:720px;overflow:hidden}.scene-wrap{background:#fff;display:block;overflow:auto}.scene-stack{gap:var(--space-6);padding:var(--space-4);flex-direction:column;transition:transform .12s ease-out;display:flex}.scene-figure{aspect-ratio:1140/640;width:100%;margin:0;position:relative}.scene-hits{pointer-events:none;position:absolute;inset:0}.scene-hit-veil{z-index:1;cursor:default;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute;inset:0}.scene-hit-slot{pointer-events:none;position:absolute}.scene-hit{cursor:pointer;pointer-events:auto;background:0 0;border:1.5px solid #0000;border-radius:4px;width:100%;height:100%;padding:0;transition:border-color .12s,background .12s;position:absolute;inset:0}.scene-hit:hover,.scene-hit:focus-visible,.scene-hit.is-open{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);outline:none}.scene-pick{z-index:2;background:var(--panel);border:1px solid var(--line-2);pointer-events:auto;min-width:210px;max-width:320px;max-height:260px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.scene-pick-head{border-bottom:1px solid var(--line);background:var(--panel-2);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;padding:7px 10px;font-weight:700}.scene-pick-list{margin:0;padding:0;list-style:none}.scene-pick-item{justify-content:space-between;align-items:baseline;gap:var(--space-3);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:7px 10px;transition:background .12s;display:flex}.scene-pick-item:hover,.scene-pick-item:focus-visible{background:var(--accent-soft);outline:none}.scene-pick-name{font-size:var(--text-base);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scene-pick-kind{font-size:var(--text-xs);color:var(--muted-2);white-space:nowrap;flex-shrink:0}.scene-tabs{border:1px solid var(--line-2);margin:var(--space-3) 0 0;gap:2px;width:fit-content;max-width:100%;padding:2px;display:flex;overflow-x:auto}.scene-tab{font-size:var(--text-sm);white-space:nowrap;background:var(--panel);color:var(--ink);cursor:pointer;border:0;padding:7px 15px;font-weight:600;transition:background .16s}.scene-tab:hover{background:var(--accent-soft)}.scene-tab.is-on{background:var(--accent);color:#fff}.scene-figure+.scene-figure,.scene-stack>.scene-figure~.scene-figure{border-top:1px solid var(--line);padding-top:var(--space-4)}.print-only{display:none}:root{--koesio-purple:#7c3aed;--koesio-purple-strong:#6d28d9;--koesio-red:#e11d48}.print-inventory-table{border-collapse:collapse;width:100%;font-size:7.5pt;font-family:var(--font-sans-stack)}.print-inventory-table th{color:#5f5e5a;text-transform:uppercase;letter-spacing:.05em;text-align:left;background:#f0ede8;border-bottom:.5pt solid #b4b2a9;padding:1.8mm 2mm;font-size:6.5pt;font-weight:700}.print-inventory-table td{vertical-align:middle;border-bottom:.3pt solid #e8e6dc;padding:1.2mm 2mm}.print-inventory-table tbody tr:nth-child(odd){background:#fafafa}.pi-type-pill{white-space:nowrap;border:.4pt solid;border-radius:3mm;align-items:center;gap:3px;padding:.4mm 1.5mm;font-size:6.5pt;font-weight:700;display:inline-flex}.pi-type-firewalls{color:#0c447c;background:#e6f1fb;border-color:#378add}.pi-type-switches{color:#2c2c2a;background:#f1efe8;border-color:#b4b2a9}.pi-type-hypervisors{color:#3c3489;background:#eeedfe;border-color:#7f77dd}.pi-type-vms{color:#881337;background:#ffe4e6;border-color:#fb7185}.pi-type-storage{color:#0f172a;background:#e2e8f0;border-color:#475569}.pi-type-devices{color:#2c2c2a;background:#f1efe8;border-color:#b4b2a9}.pi-type-aps{color:#633806;background:#faeeda;border-color:#ba7517}.pi-ip{font-family:var(--font-mono-stack);white-space:nowrap;font-size:7pt}.pi-vlan{white-space:nowrap;align-items:center;gap:1.2mm;display:inline-flex}.pi-vlan-dot{border-radius:50%;width:2mm;height:2mm;display:inline-block}.pi-details{color:#5f5e5a;font-size:7pt}.pp-subhead{color:#5f5e5a;border-bottom:.4pt solid #e8e6dc;margin-bottom:3mm;padding-bottom:1.5mm;font-size:8.5pt;font-weight:600}.pp-faceplate{grid-template-rows:repeat(2,10mm);grid-auto-flow:column;justify-content:start;gap:1.2mm;margin-bottom:3mm;display:grid}.pp-port{color:#5f5e5a;width:8.6mm;font-size:6.5pt;font-weight:700;font-family:var(--font-mono-stack);background:#fff;border:.5pt solid #b4b2a9;justify-content:center;align-items:center;display:flex}.pp-port.pp-doc{color:#5a2e76;background:#f3ecf7;border-width:.9pt;border-color:#6e398e}.pp-legend{color:#2c2c2a;flex-wrap:wrap;gap:4mm;margin-bottom:3mm;font-size:7.5pt;display:flex}.pp-legend-chip{vertical-align:-.4mm;border:.5pt solid #b4b2a9;width:3mm;height:3mm;margin-right:1.2mm;display:inline-block}.pp-legend-chip.pp-legend-doc{background:#f3ecf7;border-color:#6e398e}.pp-tables{align-items:flex-start;gap:6mm;display:flex}.pp-table{flex:1 1 0;min-width:0;max-width:calc(50% - 3mm)}.pp-tables-wide .pp-table{max-width:none}.pp-table td{padding:1mm 2mm}.pp-vlan-dot{vertical-align:-.3mm;border-radius:50%;width:2.2mm;height:2.2mm;margin-right:1.4mm;display:inline-block}.pp-table td.pp-num{text-align:center;color:#5a2e76;width:9mm;font-weight:800;font-family:var(--font-mono-stack)}.print-vendors-grid{font-family:var(--font-sans-stack);grid-template-columns:1fr 1fr;gap:3mm;display:grid}.print-vendor-card{color:#2c2c2a;background:#fafafa;border:.4pt solid #b4b2a9;border-left:2pt solid #0d9488;padding:2.5mm 3mm;font-size:8pt}.pvc-head{justify-content:space-between;align-items:baseline;gap:2mm;margin-bottom:1mm;display:flex}.pvc-name{color:#2c2c2a;margin:0;font-size:10pt;font-weight:700}.pvc-cat{color:#0f766e;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:#ccfbf1;border:.4pt solid #5eead4;border-radius:2mm;padding:.3mm 1.5mm;font-size:6.5pt;font-weight:700}.pvc-software{color:#0f766e;margin-bottom:1.5mm;font-size:8.5pt;font-weight:600}.pvc-contact{grid-template-columns:22mm 1fr;gap:.3mm 2mm;margin:0 0 1.5mm;font-size:7.5pt;display:grid}.pvc-contact dt{color:#5f5e5a;text-transform:uppercase;letter-spacing:.05em;align-self:center;font-size:6.5pt;font-weight:700}.pvc-contact dd{color:#2c2c2a;margin:0}.pvc-mono{font-family:var(--font-mono-stack);word-break:break-all;font-size:7pt}.pvc-role{color:#2c2c2a;white-space:pre-wrap;border-top:.3pt dashed #b4b2a9;padding-top:1.5mm;font-size:7.5pt;line-height:1.4}.pvc-notes{color:#5f5e5a;white-space:pre-wrap;margin-top:1.2mm;font-size:7pt;font-style:italic}.ed-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}.ed-main{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.ed-hint{font-size:var(--text-sm);color:var(--muted);margin:0}.ed-btn{height:34px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);font-family:inherit;font-size:var(--text-sm);box-shadow:none;cursor:pointer;white-space:nowrap;border:0;border-radius:0;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.ed-btn svg{flex-shrink:0;width:14px;height:14px}.ed-btn-primary{background:var(--accent);color:#fff}.ed-btn-primary:hover{background:var(--accent-deep)}html.theme-dark .ed-btn-primary:hover{background:var(--accent-deep);color:#fff}.ed-btn-ghost{border:1px solid var(--line-2);color:var(--ink-soft);background:0 0}.ed-btn-ghost:hover{background:var(--bg-2);border-color:var(--accent);color:var(--ink)}.ed-btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.ed-btn-danger:hover{background:color-mix(in oklab, var(--danger) 82%, #000);color:#fff}.ed-btn-quiet{color:var(--muted);background:0 0;border-color:#0000;font-weight:600}.ed-btn-quiet:hover{background:var(--panel-2);color:var(--ink);border-color:#0000}.ed-btn-sm{height:30px;padding:0 var(--space-3);font-weight:600;font-size:var(--text-xs)}.ed-btn:disabled{opacity:.5;cursor:not-allowed}.ed-btn:disabled:hover{border-color:var(--line-2);color:var(--ink-soft);background:0 0}.ed-btn:focus-visible,.ed-row:focus-visible,.ed-row-ports:focus-visible,.ed-section-toggle:focus-visible,.ed-section-add:focus-visible,.ed-drawer-close:focus-visible,.ed-rail-link:focus-visible,.ed-add-menu-item:focus-visible,.ed-drawer-delete:focus-visible{outline:2px solid var(--accent-deep);outline-offset:-2px}.mod-head{--mh-bg:#f7f3fa;--mh-line:#e5d5ef;--mh-surface:#fff;--mh-brand:#764896;--mh-brand-hi:#8750b6;--mh-brand-ink:#5a2e76;--mh-brand-line:#c9a8dd;--mh-brand-soft:#f3ecf7;--mh-title:#28313a;--mh-muted:#647083;--mh-ok:#98c41c;--mh-alert:#eb5c6c;--mh-alert-ink:#c22945;--mh-alert-line:#f2c7cd;background:var(--mh-bg);border-bottom:1px solid var(--mh-line);margin:calc(-1 * var(--space-4)) calc(-1 * var(--content-pad,var(--space-6))) var(--space-4);padding:calc(5px + 18px) var(--content-pad,var(--space-6)) 16px;position:relative}html.theme-dark .mod-head{--mh-bg:#211c2e;--mh-line:#3a2f4c;--mh-surface:#1c1826;--mh-brand:#8a52ab;--mh-brand-hi:#a066c4;--mh-brand-ink:#d7bce8;--mh-brand-line:#4d3d63;--mh-brand-soft:#2a1a30;--mh-title:var(--ink);--mh-muted:#9a978f;--mh-ok:#a8d62d;--mh-alert:#eb5c6c;--mh-alert-ink:#ffb3bd;--mh-alert-line:#5a2733}.inv-view>.mod-head,.cl-view>.mod-head,.ven-view>.mod-head{margin-bottom:0}.mod-head-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.mod-head-lead{align-items:center;gap:14px;min-width:0;display:flex}.mod-head-tile{background:var(--mh-brand);color:#fff;border-radius:0;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.mod-head-tile svg{stroke-width:2px;width:20px;height:20px}.mod-head-titles{min-width:0}.mod-head-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--mh-brand);font-size:10.5px;font-weight:700}.mod-head-title{font-family:var(--font-title-stack);color:var(--mh-title);margin:2px 0 0;font-size:24px;font-weight:800;line-height:1.15}.mod-head-titleline{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.mod-head-count{font-size:var(--text-sm);color:var(--mh-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.mod-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mod-head-sub{color:var(--mh-muted);margin:10px 0 0;font-size:12.5px}.mod-head-pill{background:var(--mh-surface);border:1px solid var(--mh-line);height:34px;color:var(--mh-muted);white-space:nowrap;border-radius:0;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:11.5px;line-height:1;display:inline-flex}.mod-head-pill-dot{background:var(--mh-ok);border-radius:50%;flex:none;width:8px;height:8px}.mod-head-pill.is-idle .mod-head-pill-dot{background:var(--muted-2)}.mod-head-pill.is-alert{border-color:var(--mh-alert-line);color:var(--mh-alert-ink);font-weight:600}.mod-head-pill.is-alert .mod-head-pill-dot{background:var(--mh-alert);border-radius:0}button.mod-head-pill{cursor:pointer}button.mod-head-pill:hover{background:var(--mh-brand-soft)}button.mod-head-pill:focus-visible{outline:2px solid var(--mh-brand);outline-offset:2px}.mod-head .ed-btn{height:34px;font-size:12.5px}.mod-head .ed-btn-primary{background:var(--mh-brand);color:#fff}.mod-head .ed-btn-primary:hover{background:var(--mh-brand-hi)}html.theme-dark .mod-head .ed-btn-primary:hover{background:var(--mh-brand-hi);color:#fff}.mod-head .ed-btn-ghost{background:var(--mh-surface);border-color:var(--mh-brand-line);color:var(--mh-brand-ink);font-size:12px;font-weight:600}.mod-head .ed-btn-ghost:hover{background:var(--mh-brand-soft);border-color:var(--mh-brand-line);color:var(--mh-brand-ink)}.mod-head .inv-search,.mod-head .inv-export{height:34px}.mod-head .inv-search{background:var(--mh-surface);border-color:var(--mh-line)}.mod-head-stripe{height:5px;display:flex;position:absolute;top:0;left:0;right:0}.mod-head-stripe span{height:100%;display:block}.mod-head-stripe .s-corail{background:var(--koesio-corail);width:38%}.mod-head-stripe .s-yellow{background:var(--koesio-yellow);width:22%}.mod-head-stripe .s-cyan{background:var(--koesio-cyan);width:40%}.ed-add-wrap{position:relative}.ed-add-menu{z-index:30;background:var(--surface-raised);border:1px solid var(--line-2);flex-direction:column;min-width:260px;max-height:60vh;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.ed-add-menu-item{align-items:center;gap:var(--space-2);padding:8px var(--space-3);border:0;border-bottom:1px solid var(--line);font-family:inherit;font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;display:flex}.ed-add-menu-item:last-child{border-bottom:0}.ed-add-menu-item:hover{background:color-mix(in oklab, var(--accent) 12%, transparent);color:var(--ink)}.ed-add-menu-dot{flex:0 0 9px;width:9px;height:9px;display:block}.ed-add-menu-label{flex:1;min-width:0}.ed-add-menu-count{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}.ed-section{--sec-c:var(--line-2);--sec-tint:color-mix(in oklab, var(--sec-c) 14%, var(--panel));border:1px solid var(--line);border-left:3px solid var(--sec-c);background:var(--panel)}html.theme-dark .ed-section{--sec-tint:color-mix(in oklab, var(--sec-c) 26%, var(--panel))}.ed-section-head{background:var(--sec-tint);align-items:center;display:flex}.ed-section-toggle{align-items:center;gap:var(--space-2);min-width:0;padding:10px var(--space-4);cursor:pointer;text-align:left;color:inherit;background:0 0;border:0;flex:1;font-family:inherit;display:flex}.ed-section-chevron{color:var(--muted);transition:transform .16s;display:inline-flex}.ed-section-chevron svg{width:14px;height:14px}.ed-section-chevron.collapsed{transform:rotate(-90deg)}.ed-section-dot{background:var(--sec-c);flex:0 0 9px;width:9px;height:9px;display:block}.ed-section-label{align-items:center;gap:var(--space-2);font-family:var(--font-title-stack);font-size:var(--text-md);color:var(--ink);font-weight:700;display:inline-flex}.ed-section-label svg{width:15px;height:15px;color:var(--muted)}.ed-section-count{text-align:center;min-width:20px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted);background:var(--panel);border:1px solid var(--line);padding:1px 6px}.ed-section-head .ed-hint{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ed-section-add{padding:0 var(--space-4);font-family:inherit;font-size:var(--text-sm);color:var(--mod-action,var(--accent-deep));cursor:pointer;background:0 0;border:0;align-self:stretch;align-items:center;gap:4px;font-weight:700;display:inline-flex}.ed-section-add svg{width:13px;height:13px}.ed-section-add:hover{background:var(--accent);color:#fff}.ed-section-body{border-top:1px solid var(--line);background:var(--panel)}.ed-rows{content-visibility:auto;contain-intrinsic-size:auto 400px;flex-direction:column;display:flex}.ed-meta-form{padding:var(--space-4)}.ed-empty{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);flex-direction:column;display:flex}.ed-empty-text{font-size:var(--text-sm);color:var(--muted)}.ed-row{align-items:center;gap:var(--space-3);width:100%;padding:11px var(--space-4);border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;font-family:inherit;transition:background .16s;display:flex}.ed-rows>.ed-row:first-child{border-top:0}.ed-row:hover{background:color-mix(in oklab, var(--accent) 6%, var(--panel))}.ed-row.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}html.theme-dark .ed-row:hover{background:color-mix(in oklab, var(--accent) 22%, var(--panel))}html.theme-dark .ed-row.selected{background:color-mix(in oklab, var(--accent) 34%, var(--panel))}.ed-row-dot{border-radius:50%;flex:0 0 7px;width:7px;height:7px;display:block}.ed-row-name{font-size:var(--text-base);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:170px;font-weight:700;overflow:hidden}.ed-row-summary{min-width:0;font-size:var(--text-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ed-row-gap{font-size:var(--text-xs);white-space:nowrap;background:var(--danger-soft);color:#c22945;padding:2px 8px;font-weight:700}html.theme-dark .ed-row-gap{background:color-mix(in oklab, var(--danger) 26%, var(--panel));color:color-mix(in oklab, var(--danger) 70%, #fff)}.ed-row-ports{font-size:var(--text-xs);white-space:nowrap;border:1px solid color-mix(in oklab, var(--koesio-cyan) 55%, transparent);background:color-mix(in oklab, var(--koesio-cyan) 16%, transparent);color:color-mix(in oklab, var(--koesio-cyan) 38%, #2c2c2a);cursor:pointer;align-items:center;gap:5px;padding:3px 8px;font-weight:600;display:inline-flex}.ed-row-ports svg{width:12px;height:12px}.ed-row-ports:hover{border-color:var(--koesio-cyan);background:var(--koesio-cyan);color:#2c2c2a}html.theme-dark .ed-row-ports{color:color-mix(in oklab, var(--koesio-cyan) 75%, #fff)}.ed-row-cta{font-size:var(--text-sm);color:var(--mod-action,var(--accent-deep));white-space:nowrap;font-weight:600}.ed-rail{top:var(--space-4);gap:var(--space-3);flex-direction:column;min-width:0;display:flex;position:sticky}.ed-rail-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ed-rail-title{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.ed-rail-link{font-family:inherit;font-size:var(--text-sm);color:var(--mod-action,var(--accent-deep));cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600}.ed-preview{background:var(--panel);border:1px solid var(--line);padding:var(--space-4) var(--space-3);flex-direction:column;align-items:center;display:flex}.ed-preview-empty{font-size:var(--text-sm);color:var(--muted);text-align:center}.ed-preview-wan{width:100%;padding:6px var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--ink-soft);border:1px solid var(--line-2)}.ed-preview-stem{background:var(--line-2);width:2px;height:14px}.ed-preview-sites{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.ed-preview-site{border:1px solid var(--line);padding:var(--space-2)}.ed-preview-site-name{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mod-action,var(--accent-deep));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.ed-preview-nodes{flex-direction:column;gap:4px;margin-top:6px;display:flex}.ed-preview-node{--sec-c:var(--line-2);justify-content:space-between;align-items:center;gap:var(--space-2);border:1.5px solid color-mix(in oklab, var(--sec-c) 70%, transparent);background:color-mix(in oklab, var(--sec-c) 8%, transparent);min-width:0;padding:4px 8px;display:flex}.ed-preview-node.selected{border-color:var(--accent);background:var(--accent-soft)}html.theme-dark .ed-preview-node.selected{background:color-mix(in oklab, var(--accent) 34%, var(--panel))}.ed-preview-node-name{font-size:var(--text-xs);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ed-preview-node-ip{font-family:var(--font-mono-stack);color:var(--muted);white-space:nowrap;font-size:9px}.ed-preview-more{font-size:var(--text-xs);color:var(--muted);padding:2px 8px}.ed-preview-foot{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--muted);text-align:center}.ed-gaps{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--koesio-corail);padding:var(--space-3)}.ed-gaps.ok{border-left-color:var(--ok)}.ed-gaps-title{font-size:var(--text-sm);color:var(--ink);font-weight:700}.ed-gaps-text{font-size:var(--text-xs);color:var(--muted);margin-top:4px;line-height:1.5}.ed-rail-publish{width:100%;height:38px}.ed-drawer-scrim{z-index:800;background:color-mix(in oklab, var(--ink) 55%, transparent);position:fixed;inset:0}html.theme-dark .ed-drawer-scrim{background:#0009}.ed-drawer{--sec-c:var(--accent);z-index:850;background:var(--surface-raised);border-left:1px solid var(--line-2);width:min(520px,92vw);box-shadow:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.ed-drawer-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:color-mix(in oklab, var(--sec-c) 12%, var(--panel));border-bottom:1px solid var(--line);display:flex}html.theme-dark .ed-drawer-head{background:color-mix(in oklab, var(--sec-c) 22%, var(--panel))}.ed-drawer-head-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.ed-drawer-dot{background:var(--sec-c);flex:0 0 10px;width:10px;height:10px;display:block}.ed-drawer-titles{min-width:0}.ed-drawer-eyebrow{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.ed-drawer-title{font-family:var(--font-title-stack);font-size:var(--text-xl);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.ed-drawer-close{border:1px solid var(--line-2);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ed-drawer-close svg{width:15px;height:15px}.ed-drawer-close:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.ed-drawer-body{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;flex:1;align-items:flex-start;display:flex;overflow-y:auto}.ed-drawer-body .drawer-form{width:100%}.ed-drawer-note{width:100%;padding:var(--space-3);border:1px solid var(--line);border-left:3px solid var(--sec-c);background:var(--panel-2);font-size:var(--text-xs);color:var(--muted);line-height:1.55}.ed-drawer-delete{align-items:center;gap:var(--space-2);padding:6px var(--space-3);border:1px solid var(--line-2);font-family:inherit;font-size:var(--text-xs);color:var(--danger);cursor:pointer;background:0 0;font-weight:600;display:inline-flex}.ed-drawer-delete svg{width:13px;height:13px}.ed-drawer-delete:hover{background:var(--danger-soft);border-color:var(--danger)}.ed-drawer-foot{gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);display:flex}.ed-drawer-foot .ed-btn{height:40px}.ed-drawer-foot .ed-btn-primary{flex:1}.stat-row{position:relative}.stat-row.active{background:#ffffff29}.stat-row.active:before{content:"";background:var(--sec-c,#fff);width:3px;position:absolute;top:0;bottom:0;left:0}.stat-row.active .stat-label{color:#fff;font-weight:700}.sidebar-box{margin:var(--space-3);background:#ffffff1a;border:1px solid #ffffff4d}.sidebar-box-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:7px var(--space-3);border-bottom:1px solid #fff3;display:flex}.sidebar-box-title{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--koesio-yellow);font-weight:700}.sidebar-box-status{font-size:var(--text-xs);color:#ffffffb3}.sidebar-box .nav-item{padding-left:var(--space-2);padding-right:var(--space-2);font-size:var(--text-sm);border-radius:0}.sidebar-box .nav-item>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-chip-beta{letter-spacing:.06em;background:var(--koesio-yellow);color:#5a4a00;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:700}.side-view.active{color:#fff;background:#ffffff29;font-weight:700}.side-view.active:hover{color:#fff;background:#fff3}.side-view.active svg{color:var(--koesio-yellow)}.side-view.active:before{background:var(--koesio-yellow)}.sidebar-pair{gap:var(--space-2);padding:0 var(--space-3);grid-template-columns:1fr 1fr;display:grid}.sidebar-pair-3 .nav-item:last-child{grid-column:1/-1}.sidebar-pair .nav-item:disabled{opacity:.45;cursor:not-allowed}.sidebar-pair .nav-item:disabled:hover{background:0 0}.sidebar-pair .nav-item{font-size:var(--text-xs);border:1px solid #ffffff59;justify-content:center}.acct{align-items:center;min-width:0;display:flex}.acct .acct-root{width:100%;min-width:0}.acct .acct-box{flex-direction:row-reverse;justify-content:flex-end;gap:9px;min-width:0}.acct .acct-trigger{border-radius:0;justify-content:flex-start;width:100%;padding:6px 8px;transition:background .16s}.acct .acct-name{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.acct:not(.acct-violet) .acct-name{color:var(--ink)!important}.acct:not(.acct-violet) .acct-trigger:hover{background:var(--panel-2)}.acct-violet .acct-name{color:#ffffffeb!important}.acct-violet .acct-trigger:hover{background:#ffffff1f}.sidebar-foot .acct{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid #ffffff2e}.proc-sidebar-foot .acct{margin-bottom:var(--space-2)}@media print{.cl-userButtonPopoverCard,.cl-modalBackdrop,.cl-modalContent{display:none!important}}.sidebar-foot-row{align-items:center;gap:var(--space-2);display:flex}.sidebar-danger-link{padding:0 var(--space-2);font-family:inherit;font-size:var(--text-xs);color:#ffb3bd;cursor:pointer;white-space:nowrap;background:0 0;border:0}.sidebar-danger-link:hover{text-decoration:underline}.sidebar-foot-row .sidebar-version{margin-left:auto}@media (max-width:1399px){.ed-layout{grid-template-columns:minmax(0,1fr)}.ed-rail{display:none}}@media (max-width:1023px){.mod-head-row{flex-direction:column;align-items:stretch}.mod-head-actions{flex-wrap:wrap}.mod-head-actions .ed-btn{flex:1}.mod-head-pill{flex:100%;justify-content:flex-start}.ed-add-wrap{flex:1}.ed-add-wrap .ed-btn{width:100%}.ed-row-name{min-width:120px}}@media (max-width:640px){.ed-drawer{width:100vw}.ed-row{flex-wrap:wrap}.ed-row-summary{flex-basis:100%}}@media print{@page{size:A4 landscape;margin:10mm}html,body{font-size:11px;color:#2c2c2a!important;background:#fff!important;margin:0!important;padding:0!important}html.theme-dark{--bg:#fff;--panel:#fff;--ink:#2c2c2a;--line:#ddd}.modal-bg,.screen-only{display:none!important}.print-only{display:block!important}.print-page{page-break-after:always;break-after:page;page-break-inside:avoid;break-inside:avoid;margin:0;padding:0}.print-page:last-child{page-break-after:auto;break-after:auto}.print-page-inventory .print-inventory-table{page-break-inside:auto;break-inside:auto}.print-page-inventory .print-inventory-table thead{display:table-header-group}.print-page-inventory .print-inventory-table tfoot{display:table-footer-group}.print-page-inventory .print-inventory-table tr{page-break-inside:avoid;break-inside:avoid}.print-page-vendors .print-vendors-grid{break-inside:auto;page-break-inside:auto}.print-page-vendors .print-vendor-card{break-inside:avoid;page-break-inside:avoid}@page schema-landscape{size:landscape;margin:0}.schema-print{color:var(--koesio-ink);font-family:Be Vietnam Pro,Arial Nova,Arial,sans-serif;font-size:9.5pt;line-height:1.45;display:block!important}.schema-print,.schema-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;border-radius:0}.schema-print .print-page{page:schema-landscape;box-sizing:border-box;page-break-after:always;break-after:page;page-break-inside:auto;break-inside:auto;background:#fff;flex-direction:column;width:100%;height:max(210mm,100vh);min-height:0;margin:0;padding:0;display:flex;overflow:hidden}.schema-print .print-page:last-child{page-break-after:auto;break-after:auto}.schema-cover-page{color:var(--koesio-ink)}.schema-cover-hero{background:var(--koesio-violet);color:#fff;flex-direction:column;flex:0 0 108mm;padding:14mm 18mm 0;display:flex;position:relative}.schema-cover-wordmark{object-fit:contain;width:42mm;height:auto;display:block}.schema-cover-eyebrow{letter-spacing:.22em;color:#ffffffd9;margin-top:18mm;font-size:8.5pt;font-weight:700}.schema-cover-title{color:#fff;text-transform:uppercase;max-width:230mm;margin:4mm 0 8mm;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:40pt;font-weight:800;line-height:1.02}.schema-cover-client-block{margin-top:auto;padding-bottom:12mm}.schema-cover-client-label{letter-spacing:.22em;color:#ffffffbf;margin-bottom:1.5mm;font-size:8pt;font-weight:700}.schema-cover-client-name{color:#fff;font-size:15pt;font-weight:700;line-height:1.15}.schema-cover-subtitle{color:#fffc;margin-top:1mm;font-size:9.5pt}.schema-cover-stripe{justify-content:flex-end;height:5mm;display:flex;position:absolute;bottom:0;left:0;right:0}.schema-cover-stripe>span{height:100%;display:block}.schema-cover-stripe-corail{background:var(--koesio-corail);width:38mm}.schema-cover-stripe-yellow{background:var(--koesio-yellow);width:26mm}.schema-cover-stripe-cyan{background:var(--koesio-cyan);width:32mm}.schema-cover-bottom{background:#fff;flex:1;min-height:0;padding:10mm 18mm 8mm;overflow:hidden}.schema-cover-info-heading{color:var(--koesio-violet);letter-spacing:.22em;margin:0 0 4mm;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:9.5pt;font-weight:800}.schema-cover-info{border-top:.4pt solid var(--koesio-gray-100);grid-template-columns:1fr 1fr;column-gap:18mm;display:grid}.schema-cover-info-row{border-bottom:.4pt solid var(--koesio-gray-100);grid-template-columns:34mm 1fr;align-items:baseline;gap:4mm;padding:2.6mm 0;display:grid}.schema-cover-info-label{letter-spacing:.16em;color:var(--koesio-violet);text-transform:uppercase;font-size:7.8pt;font-weight:800}.schema-cover-info-value{color:var(--koesio-ink);font-size:9.5pt}.schema-cover-notes{border-left:1mm solid var(--koesio-violet);color:#555;white-space:pre-wrap;margin-top:4mm;padding-left:4mm;font-size:8.5pt}.schema-band{background:var(--koesio-violet);color:#fff;flex:0 0 14mm;grid-template-columns:20mm .4mm 1fr auto;align-items:center;gap:6mm;padding:0 14mm;display:grid}.schema-band-num{font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:21pt;font-weight:800;line-height:1}.schema-band-rule{background:#ffffff8c;width:.4mm;height:8mm}.schema-band-title{text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;text-overflow:ellipsis;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:10.5pt;font-weight:800;overflow:hidden}.schema-band-brand{justify-content:flex-end;align-items:center;min-width:28mm;display:flex}.schema-band-brand img{object-fit:contain;width:28mm;height:auto;display:block}.schema-body{flex:1;min-height:0;padding:7mm 14mm 15mm;overflow:hidden}.schema-diagram-body{justify-content:center;align-items:center;display:flex}.schema-diagram{justify-content:center;align-items:center;width:100%;max-width:269mm;height:151mm;max-height:100%;display:flex;overflow:hidden}.schema-diagram svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;display:block!important}.schema-readable-body{padding:6mm 12mm 14mm;overflow:hidden}.schema-topology-report-diagram{border:.4pt solid var(--koesio-gray-100);background:#fcfbfd}.schema-static-topology-diagram{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;display:block!important}.schema-empty-print-card{color:#777;background:#f9f8f4;border:.4pt solid #d8d6ce;justify-content:center;align-items:center;min-height:17mm;padding:2.3mm;font-size:8pt;font-style:italic;display:flex;overflow:hidden}.schema-cards-body{flex-direction:column;display:flex}.schema-rep-cols{columns:2;column-fill:auto;flex:1;column-gap:6mm;min-height:0;overflow:hidden}.schema-rep-card{break-inside:avoid;border:.4pt solid #ded9e6;border-top:1.2mm solid var(--koesio-violet);background:#fff;margin:0 0 4mm;overflow:hidden}.src-head{border-bottom:.4pt solid #ded9e6;justify-content:space-between;align-items:baseline;gap:3mm;padding:1.6mm 2.4mm;line-height:1.15;display:flex}.src-titles{align-items:baseline;gap:2.4mm;min-width:0;display:flex}.src-titles h3{color:var(--koesio-violet);white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:8.6pt;font-weight:800;line-height:1.1;overflow:hidden}.src-mono{color:#5f5e5a;white-space:nowrap;font-family:JetBrains Mono,Consolas,monospace;font-size:6.8pt}.src-count{color:#4a3557;font-variant-numeric:tabular-nums;white-space:nowrap;background:#f7f3fa;border:.4pt solid #ded9e6;flex-shrink:0;padding:.4mm 1.6mm;font-size:6.8pt;font-weight:700}.src-site{color:var(--koesio-violet);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;background:#f4eef8;border:.4pt solid #d8c8e4;flex-shrink:0;padding:.3mm 1.4mm;font-size:6.2pt;font-weight:700}.src-meta{color:#444;border-bottom:.4pt solid #ede9f2;flex-wrap:wrap;gap:1mm 4mm;padding:.9mm 2.4mm;font-size:6.8pt;line-height:1.2;display:flex}.src-meta em{letter-spacing:.08em;text-transform:uppercase;color:var(--koesio-violet);font-size:6.2pt;font-style:normal;font-weight:800}.src-specs{border-bottom:.4pt solid #ede9f2;flex-wrap:wrap;gap:1mm;padding:.9mm 2.4mm;line-height:1.15;display:flex}.src-specs span{color:#4e4e4b;white-space:nowrap;background:#fbfafc;border:.4pt solid #ded9e6;padding:.4mm 1.4mm;font-size:6.6pt;font-weight:600}.src-note{color:#5f5e5a;border-bottom:.4pt solid #ede9f2;margin:0;padding:.9mm 2.4mm;font-size:6.8pt;line-height:1.2}.src-empty{color:#8a8a86;margin:0;padding:2.4mm;font-size:7pt;font-style:italic}.src-cols,.src-rows li{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) 24mm;align-items:baseline;gap:2.4mm;display:grid}.src-cols{letter-spacing:.12em;text-transform:uppercase;color:#6a5b75;background:#f7f3fa;border-bottom:.4pt solid #ede9f2;padding:.8mm 2.4mm;font-size:5.8pt;font-weight:800;line-height:1.2}.src-cols span:last-child{text-align:right}.src-rows{margin:0;padding:0;list-style:none}.src-rows li{border-bottom:.4pt solid #f0edf4;padding:.75mm 2.4mm;font-size:7.2pt;line-height:1.2}.src-rows li:last-child{border-bottom:0}.src-name{color:#2c2c2a;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.src-detail{color:#5f5e5a;text-overflow:ellipsis;white-space:nowrap;font-size:6.8pt;overflow:hidden}.src-ip{text-align:right}.src-foot{color:#5f5e5a;text-overflow:ellipsis;white-space:nowrap;border-top:.4pt solid #ede9f2;padding:.9mm 2.4mm;font-size:6.6pt;line-height:1.2;overflow:hidden}.src-warn{border-top-color:var(--koesio-corail)}.src-warn .src-head{background:#fdeef0}.src-warn .src-titles h3{color:#a3253a}.schema-foot{border-top:.4pt solid var(--koesio-gray-100);color:#6a6a6a;background:#fff;flex:0 0 14mm;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:4mm 14mm;font-size:7.8pt;display:grid}.schema-foot-left{text-align:left;line-height:1.25}.schema-foot-center{justify-content:center;align-items:center;display:flex}.schema-foot-center img{object-fit:contain;width:24mm;height:auto;display:block}.schema-foot-right{text-align:right}.schema-foot-sub{color:#9a9a9a;margin-top:.5mm;font-size:7pt}.schema-print .print-inventory-table{border-collapse:collapse;width:100%;font-size:7.1pt;line-height:1.2}.schema-print .print-inventory-table th{background:var(--koesio-violet);color:#fff;text-transform:uppercase;letter-spacing:.06em;border:.4pt solid var(--koesio-violet);padding:1.7mm 2mm;font-size:6.5pt;font-weight:800}.schema-print .print-inventory-table td{border:.4pt solid var(--koesio-gray-100);vertical-align:middle;padding:1.35mm 2mm}.schema-print .print-inventory-table tbody tr:nth-child(odd){background:#f8f6fa}.schema-print .pi-type-pill{border-radius:0}.schema-print .print-vendors-grid{grid-template-columns:1fr 1fr;gap:4mm}.schema-print .print-vendor-card{border:.4pt solid var(--koesio-gray-100);border-left:1.2mm solid var(--koesio-violet);background:#fff;padding:3mm}}.tuto-page{max-width:820px;padding:var(--space-10) var(--space-6) var(--space-12);background:var(--bg);min-height:100vh;color:var(--ink);margin:0 auto}.tuto-head{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-10);padding-bottom:var(--space-6);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.tuto-back{text-decoration:none}.tuto-title{font-size:var(--text-3xl);letter-spacing:-.02em;margin:0;font-weight:700}.tuto-lead{font-size:var(--text-lg);color:var(--ink-soft);max-width:60ch;margin:0;line-height:1.55}.tuto-prose{gap:var(--space-10);flex-direction:column;display:flex}.tuto-section{gap:var(--space-5);grid-template-columns:48px 1fr;align-items:start;display:grid}.tuto-step-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-deep);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tuto-step-icon svg{stroke-width:2px;width:20px;height:20px}.tuto-step-body h2{font-size:var(--text-xl);margin:0 0 var(--space-3);letter-spacing:-.01em;color:var(--ink);font-weight:600}.tuto-step-body p,.tuto-step-body ul{font-size:var(--text-md);color:var(--ink-soft);margin:0 0 var(--space-3);line-height:1.65}.tuto-step-body ul{padding-left:1.2em}.tuto-step-body li{margin-bottom:var(--space-1)}.tuto-step-body li::marker{color:var(--muted-2)}.tuto-step-body strong{color:var(--ink);font-weight:600}.tuto-step-body code{font-family:var(--font-mono-stack);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--ink);padding:1px 5px;font-size:.9em}.tuto-media{margin:var(--space-4) 0 0;padding:var(--space-8) var(--space-4);border:1.5px dashed var(--line-2);border-radius:var(--radius-md);background:var(--panel);text-align:center}.tuto-media figcaption{font-size:var(--text-sm);color:var(--muted);font-style:italic}@media (max-width:640px){.tuto-page{padding:var(--space-6) var(--space-4) var(--space-10)}.tuto-section{gap:var(--space-3);grid-template-columns:1fr}.tuto-step-icon{width:38px;height:38px}}.proc-shell{background:var(--bg);align-items:flex-start;min-height:100vh;display:flex}.proc-main{flex:auto;min-width:0}.proc-topbar{z-index:5;height:52px;padding:0 var(--space-6);background:color-mix(in oklab, var(--panel) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);align-items:center;display:none;position:sticky;top:0}.proc-content{padding:var(--space-4) var(--space-6) var(--space-10);width:100%}.proc-sidebar{background:var(--panel);border-right:1px solid var(--line);width:240px;height:100vh;padding:var(--space-4) var(--space-3);align-self:flex-start;gap:var(--space-3);flex-direction:column;flex:0 0 240px;transition:margin-left .22s;display:flex;position:sticky;top:0;overflow-y:auto}.proc-sidebar-head{margin:calc(var(--space-4) * -1) calc(var(--space-3) * -1) 0;padding:var(--space-5) var(--space-4) calc(var(--space-5) + 3px);border-bottom:1px solid var(--line);background:var(--panel);justify-content:flex-start;align-items:center;display:flex;position:relative}.proc-sidebar-head:after{content:"";background:linear-gradient(90deg, var(--koesio-violet) 0 25%, var(--koesio-corail) 25% 50%, var(--koesio-yellow) 50% 75%, var(--koesio-cyan) 75% 100%);height:3px;position:absolute;bottom:-1px;left:0;right:0}.proc-sidebar-head .btn.proc-sidebar-toggle{top:var(--space-3);right:var(--space-3);position:absolute}.proc-sidebar-head .btn.proc-sidebar-toggle svg,.proc-topbar-menu svg{width:18px;height:18px}.proc-shell.sidebar-collapsed .proc-sidebar{margin-left:-240px}.proc-shell.sidebar-collapsed .proc-topbar{display:flex}.proc-back{align-items:center;gap:var(--space-2);padding:9px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--ink-soft);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.proc-back:hover{color:var(--accent-deep);background:var(--accent-soft);border-color:var(--accent);text-decoration:none}.proc-back svg{stroke-width:2px;flex-shrink:0;width:16px;height:16px}.proc-nav-lib{align-items:center;gap:var(--space-2);min-height:40px;padding:8px var(--space-3);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--ink);font-size:var(--text-md);text-align:left;cursor:pointer;border:0;width:100%;font-weight:600;transition:background .12s,color .12s;display:flex;position:relative}.proc-nav-lib svg{width:17px;height:17px;color:var(--muted);flex-shrink:0;transition:color .12s}.proc-nav-lib:hover{background:var(--accent-soft);color:var(--accent-deep)}.proc-nav-lib:hover svg{color:var(--accent)}.proc-nav-lib.active{background:var(--accent-soft);color:var(--accent-deep)}.proc-nav-lib.active svg{color:var(--accent)}.proc-nav-lib.active:before{content:"";background:var(--koesio-violet);width:3px;position:absolute;top:6px;bottom:6px;left:0}.proc-sidebar-section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);padding:0 var(--space-2);margin-top:var(--space-3)}.proc-doc-link{border-radius:var(--radius-sm);min-height:38px;font-size:var(--text-md);color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex;position:relative}.proc-doc-link svg{color:var(--muted);flex-shrink:0;transition:color .15s}.proc-doc-link:hover{background:var(--panel-2);color:var(--ink)}.proc-doc-link:hover svg{color:var(--accent)}.proc-doc-link.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.proc-doc-link.active svg{color:var(--accent)}.proc-doc-link.active:before{content:"";background:var(--koesio-violet);width:3px;position:absolute;top:6px;bottom:6px;left:0}.proc-doc-link .doc-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.proc-sidebar-foot{padding-top:var(--space-3);border-top:1px solid var(--line);gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.lib-head{align-items:stretch;gap:var(--space-5);margin:calc(var(--space-4) * -1) calc(var(--space-6) * -1) var(--space-6);padding:var(--space-6) var(--space-8) calc(var(--space-6) + 6px);background:var(--koesio-violet);color:#fff;border:0;border-radius:0;grid-template-columns:minmax(180px,.85fr) minmax(320px,1.4fr);display:grid;position:relative;overflow:hidden}.lib-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;min-width:0;display:flex}.lib-action-buttons{background:#ffffff1f;border:1px solid #ffffff4d;align-items:center;gap:1px;padding:3px;display:inline-flex}.lib-action-buttons .btn{color:#ffffffe0;background:0 0;border-color:#0000;height:38px}.lib-action-buttons .btn:hover{color:#fff;background:#ffffff2e;border-color:#0000}.lib-action-buttons .btn.ghost{color:#ffffffe0}.lib-action-buttons .btn.primary{color:var(--koesio-violet);background:#fff;border-color:#fff;font-weight:700}.lib-action-buttons .btn.primary:hover{background:var(--koesio-yellow);border-color:var(--koesio-yellow);color:var(--koesio-ink)}.lib-title{font-family:var(--font-title-stack);letter-spacing:-.02em;text-transform:uppercase;color:#fff;margin:0;font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.05}.lib-title-sub{font-size:var(--text-md);color:#ffffffc7;margin:4px 0 0;font-weight:700}.lib-search{flex:320px;min-width:min(100%,260px);margin-right:auto;position:relative}.lib-search svg{width:16px;height:16px;color:var(--koesio-violet);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.lib-search input{border-radius:var(--radius-sm);width:100%;height:44px;color:var(--ink);font-size:var(--text-md);background:#fff;border:1px solid #ffffff4d;padding:0 12px 0 38px}.lib-search input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.lib-head-stripe{height:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.lib-head-stripe span{height:100%;display:block}.lib-head-stripe .s-corail{background:var(--koesio-corail);width:38%}.lib-head-stripe .s-yellow{background:var(--koesio-yellow);width:22%}.lib-head-stripe .s-cyan{background:var(--koesio-cyan);width:30%}@media (max-width:900px){.lib-head{gap:var(--space-4);padding:var(--space-5) var(--space-5) calc(var(--space-5) + 6px);grid-template-columns:1fr}.lib-actions,.lib-action-buttons{width:100%}.lib-search{flex-basis:100%;width:100%}.lib-action-buttons{flex-wrap:wrap}}.lib-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.lib-card{--cat-c:var(--koesio-violet);padding:var(--space-4);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cat-c);box-shadow:none;cursor:pointer;color:var(--ink);border-radius:0;flex-direction:column;min-height:168px;text-decoration:none;transition:border-color .12s,background .12s;display:flex;position:relative}.lib-card[data-cat=procedure]{--cat-c:var(--koesio-violet)}.lib-card[data-cat=doc-interne]{--cat-c:var(--c-blue-border)}.lib-card[data-cat=doc-client]{--cat-c:var(--c-teal-border)}.lib-card[data-cat=guide]{--cat-c:var(--c-amber-border)}.lib-card[data-cat=rapport]{--cat-c:var(--c-rose-border)}.lib-cat-chip{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--cat-c);background:color-mix(in oklab, var(--cat-c) 13%, transparent);margin-bottom:var(--space-2);align-self:flex-start;padding:2px 8px;font-weight:700}.lib-card:hover{border-color:var(--koesio-violet);background:var(--panel);text-decoration:none}.lib-hero{justify-content:center;gap:var(--space-4);padding:clamp(var(--space-6), 6vw, var(--space-10));background:var(--koesio-violet);color:#fff;min-height:calc(100vh - var(--space-4));margin:calc(var(--space-4) * -1) calc(var(--space-6) * -1) 0;flex-direction:column;grid-column:1/-1;margin-bottom:0;display:flex;position:relative;overflow:hidden}.lib-hero:after{content:"";background:linear-gradient(90deg, var(--koesio-corail) 0 33.33%, var(--koesio-yellow) 33.33% 66.66%, var(--koesio-cyan) 66.66% 100%);height:6px;position:absolute;bottom:0;left:0;right:0}.lib-hero-eyebrow{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:#ffffffd9;font-weight:700}.lib-hero-title{font-family:var(--font-title-stack);letter-spacing:-.01em;text-transform:uppercase;max-width:22ch;margin:0;font-size:clamp(24px,3.4vw,36px);font-weight:800;line-height:1.05}.lib-hero-sub{font-size:var(--text-md);color:#ffffffd9;max-width:60ch;line-height:1.5}.lib-hero-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.lib-hero-actions .btn,.lib-hero-actions .btn.primary{color:var(--koesio-violet);background:#fff;border-color:#fff;font-weight:700}.lib-hero-actions .btn:hover{background:var(--koesio-yellow);color:var(--koesio-ink);border-color:var(--koesio-yellow)}.lib-hero-actions .btn.ghost{color:#fff;background:0 0;border-color:#fff9}.lib-hero-actions .btn.ghost:hover{color:#fff;background:#ffffff1f;border-color:#fff}.lib-card-title{font-family:var(--font-title-stack);font-size:var(--text-lg);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 var(--space-1);text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:800;display:-webkit-box;overflow:hidden}.lib-card-meta{font-size:var(--text-sm);color:var(--muted)}.lib-card-foot{padding-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);border-top:1px dashed var(--line);margin-top:auto;display:flex}.lib-chip{font-size:var(--text-xs);color:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-radius:0;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.lib-chip svg{width:12px;height:12px}.lib-card-actions{gap:2px;display:flex}.lib-card-actions .btn{height:26px;font-size:var(--text-xs);padding:0 8px}.lib-card-actions .btn.icon-only{width:26px;padding:0}.lib-card-actions .btn svg{width:13px;height:13px}.lib-new{border:2px dashed var(--koesio-violet);box-shadow:none;text-align:center;justify-content:center;align-items:center;gap:var(--space-2);color:var(--koesio-violet);cursor:pointer;background:0 0}.lib-new:hover{border-color:var(--koesio-violet-strong);color:var(--koesio-violet-strong);background:var(--accent-soft)}.lib-new svg{width:22px;height:22px}.lib-new-label{font-size:var(--text-md);font-weight:600}.lib-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--muted)}.lib-empty h3{margin:0 0 var(--space-2);color:var(--ink)}.proc-editor{gap:var(--space-6);margin-top:calc(var(--space-4) * -1);grid-template-columns:220px 1fr;align-items:start;display:grid}.proc-editor.toc-collapsed{grid-template-columns:38px 1fr}.proc-editor-toc{top:var(--space-4);max-height:calc(100vh - var(--space-4) * 2);padding:var(--space-3);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-sm);position:sticky;overflow-y:auto}.proc-editor-toc.collapsed{padding:var(--space-2) 0;justify-content:center;display:flex;overflow:visible}.proc-editor-toc-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);display:flex}.proc-toc-toggle{width:26px;height:26px;color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.proc-toc-toggle:hover{background:var(--accent-soft);color:var(--accent-deep)}.proc-toc-toggle svg{width:16px;height:16px}.proc-editor-toc-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin:0}.proc-editor-toc ul{margin:0;padding:0;list-style:none}.proc-editor-toc li{margin:0}.proc-editor-toc a{border-radius:var(--radius-xs);color:var(--ink-soft);font-size:var(--text-sm);padding:4px 6px;line-height:1.4;text-decoration:none;display:block}.proc-editor-toc a:hover{background:var(--panel-2);color:var(--ink);text-decoration:none}.proc-editor-toc a.lvl-2{color:var(--muted);padding-left:16px}.proc-editor-toc a.lvl-3{color:var(--muted-2);font-size:var(--text-xs);padding-left:28px}.proc-editor-toc a.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.proc-editor-toc-empty{color:var(--muted-2);font-size:var(--text-sm);font-style:italic}.proc-editor-body{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.proc-editor-headcard{background:var(--koesio-violet);padding:var(--space-5) var(--space-6);margin-right:calc(var(--space-6) * -1);box-shadow:none;gap:var(--space-3);color:#fff;border:0;border-radius:0;flex-direction:column;display:flex}.proc-title-input{font-family:var(--font-title-stack);letter-spacing:-.02em;text-transform:uppercase;color:#fff;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:clamp(28px,3.6vw,40px);font-weight:800;line-height:1.05}.proc-title-input::placeholder{color:#ffffff8c}.proc-category-eyebrow{margin-bottom:calc(var(--space-1) * -1);display:inline-flex}.proc-category-select{appearance:none;font:inherit;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#fff;cursor:pointer;background-color:#ffffff24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #ffffff73;border-radius:0;padding:4px 26px 4px 10px;font-weight:700;transition:background-color .15s,border-color .15s}.proc-category-select:hover{background-color:#ffffff3d;border-color:#ffffffb3}.proc-category-select:focus-visible{outline-offset:2px;outline:2px solid #fff}.proc-category-select option{color:var(--ink);background:var(--panel)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.proc-meta-row{gap:var(--space-4);font-size:var(--text-sm);color:#ffffffd9;flex-wrap:wrap;align-items:center;display:flex}.proc-meta-field{color:#ffffffd9;align-items:center;gap:6px;display:inline-flex}.proc-meta-field>span{letter-spacing:.04em;text-transform:uppercase;font-weight:700;font-size:var(--text-xs)}.proc-meta-field svg{width:13px;height:13px}.proc-meta-field input{font-size:var(--text-sm);color:#fff;background:0 0;border:1px solid #ffffff59;border-radius:0;width:auto;min-width:100px;padding:4px 8px}.proc-meta-field input::placeholder{color:#ffffff80}.proc-meta-field input:hover{background:#ffffff14;border-color:#fff9}.proc-meta-field input:focus{box-shadow:none;background:#ffffff24;border-color:#fff;outline:0}.proc-toolbar{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.proc-toolbar-left,.proc-toolbar-right{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.proc-savestate{font-size:var(--text-sm);color:var(--muted);align-items:center;gap:4px;display:inline-flex}.proc-savestate svg{width:12px;height:12px}.proc-savestate.dirty{color:var(--warn)}.proc-savestate.saved{color:var(--ok)}.block{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4) var(--space-5);position:relative}.block:hover{border-color:var(--line-2)}.block.dragging{opacity:.5;box-shadow:var(--shadow-lg)}.block-handle{left:-28px;top:var(--space-4);width:22px;height:22px;color:var(--muted-2);cursor:grab;opacity:0;border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .12s;display:inline-flex;position:absolute}.block:hover .block-handle{opacity:1}.block-handle:hover{background:var(--panel-2);color:var(--ink)}.block-handle:active{cursor:grabbing}.block-handle svg{width:14px;height:14px}.block-actions{right:var(--space-3);top:var(--space-3);opacity:0;gap:2px;transition:opacity .12s;display:flex;position:absolute}.block:hover .block-actions,.block:focus-within .block-actions{opacity:1}.block-actions .btn{height:26px;font-size:var(--text-xs);padding:0 8px}.block-actions .btn.icon-only{width:26px;padding:0}.block-actions .btn svg{width:13px;height:13px}.block-convert{position:relative}.block-convert-menu{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20;flex-direction:column;min-width:168px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.block-convert-menu-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);padding:4px 10px 6px}.block-convert-menu button{border-radius:var(--radius-sm);text-align:left;color:var(--ink);font-size:var(--text-md);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.block-convert-menu button:hover:not(:disabled){background:var(--panel-2)}.block-convert-menu button:disabled{color:var(--muted-2);cursor:default}.block-convert-menu svg{width:14px;height:14px;color:var(--muted)}.block-convert-menu .block-convert-current{color:var(--accent);margin-left:auto}.block-type-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin-bottom:var(--space-2)}.add-section{justify-content:center;padding:4px 0;display:flex;position:relative}.add-section-line{background:var(--line);opacity:.8;height:1px;position:absolute;top:50%;left:0;right:0}.add-section:hover .add-section-line{opacity:1}.add-section-btn{background:var(--panel);border:1px dashed var(--line-2);font-size:var(--text-xs);color:var(--accent);cursor:pointer;opacity:1;border-radius:0;align-items:center;gap:4px;padding:5px 14px;font-weight:600;transition:color .12s,border-color .12s,opacity .12s,background .12s;display:inline-flex;position:relative}.add-section:hover .add-section-btn,.add-section-btn:focus-visible{opacity:1}.add-section-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--panel)}.add-section-btn svg{width:12px;height:12px}.add-section-menu{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:10;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.add-section-menu button{border-radius:var(--radius-sm);text-align:left;color:var(--ink);font-size:var(--text-md);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.add-section-menu button:hover{background:var(--panel-2)}.add-section-menu svg{width:14px;height:14px;color:var(--muted)}.add-section-menu .desc{font-size:var(--text-xs);color:var(--muted);margin-top:2px;display:block}.block-heading-row{gap:var(--space-3);align-items:center;display:flex}.block-heading-level{background:var(--bg-2);border-radius:var(--radius-sm);flex:none;gap:2px;padding:2px;display:flex}.block-heading-level button{min-width:36px;height:28px;color:var(--muted);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:0 8px;font-weight:600}.block-heading-level button.active{background:var(--panel);color:var(--accent-deep);box-shadow:var(--shadow-xs)}.block-heading-input{letter-spacing:-.02em;color:var(--ink);background:0 0;border:none;outline:none;flex:auto;padding:0;font-weight:700}.block-heading-input.h1{font-size:var(--text-2xl)}.block-heading-input.h2{font-size:var(--text-xl)}.block-heading-input.h3{font-size:var(--text-lg)}.block-text textarea,.block-step-body textarea{resize:vertical;width:100%;min-height:120px;font-family:var(--font-sans-stack);font-size:var(--text-md);color:var(--ink);padding:var(--space-2);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;line-height:1.6}.block-text textarea:hover,.block-step-body textarea:hover{border-color:var(--line)}.block-text textarea:focus,.block-step-body textarea:focus{border-color:var(--accent);background:var(--panel-2);outline:none}.block-step{gap:var(--space-3) var(--space-4);grid-template-columns:auto 1fr;display:grid}.block-step-number{background:var(--koesio-violet);color:#fff;width:36px;height:36px;font-weight:800;font-family:var(--font-title-stack);font-size:var(--text-md);border-radius:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.block-step-content{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.block-step-title{font-size:var(--text-lg);color:var(--ink);background:0 0;border:none;outline:none;width:100%;padding:0;font-weight:600}.block-step-title::placeholder{color:var(--muted-2)}.block-step-time{font-size:var(--text-sm);color:var(--muted);align-items:center;gap:6px;display:inline-flex}.block-step-time input{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-xs);width:50px;color:var(--ink);font-size:var(--text-sm);padding:2px 6px}.block-step-image{margin-top:var(--space-2);border:1.5px dashed var(--line-2);border-radius:var(--radius-sm);padding:var(--space-4);text-align:center;color:var(--muted);font-size:var(--text-sm);cursor:pointer;transition:border-color .12s,background .12s;position:relative}.block-step-image:hover,.block-step-image.dragover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.block-step-image img{border-radius:var(--radius-xs);max-width:100%;height:auto;margin:0 auto;display:block}.block-step-image .remove-img{border:1px solid var(--line);cursor:pointer;width:24px;height:24px;color:var(--ink);background:#ffffffe6;border-radius:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:6px;right:6px}html.theme-dark .block-step-image .remove-img{background:#1f2026e6}.block-callout,.proc-callout{--callout-color:var(--koesio-violet);--callout-bg:#f7f2fa;border:1px solid color-mix(in oklab, var(--callout-color) 42%, var(--line));border-left:4px solid var(--callout-color);background:color-mix(in oklab, var(--callout-bg) 72%, var(--panel))}.block-callout[data-callout=success],.proc-callout[data-callout=success],.block-callout[data-callout=tip],.proc-callout[data-callout=tip]{--callout-color:var(--ok);--callout-bg:var(--ok-soft)}.block-callout[data-callout=warning],.proc-callout[data-callout=warning],.block-callout[data-callout=todo],.proc-callout[data-callout=todo]{--callout-color:var(--warn);--callout-bg:#fff6dd}.block-callout[data-callout=danger],.proc-callout[data-callout=danger]{--callout-color:var(--danger);--callout-bg:var(--danger-soft)}.block-callout[data-callout=question],.proc-callout[data-callout=question],.block-callout[data-callout=example],.proc-callout[data-callout=example]{--callout-color:var(--koesio-cyan);--callout-bg:#eaf8fd}.block-callout[data-callout=quote],.proc-callout[data-callout=quote]{--callout-color:var(--muted);--callout-bg:var(--panel-2)}.block-callout{padding:var(--space-3)}.block-callout-head{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:28px 140px 1fr;align-items:center;display:grid}.block-callout-icon,.proc-callout-icon{color:var(--callout-color);justify-content:center;align-items:center;display:inline-flex}.block-callout-icon svg,.proc-callout-icon svg{width:18px;height:18px}.block-callout select,.block-callout input{border:1px solid color-mix(in oklab, var(--callout-color) 35%, var(--line));background:var(--panel);height:32px;color:var(--ink);border-radius:0;padding:0 8px}.block-callout input{font-weight:700}.block-gallery-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.gallery-item{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);aspect-ratio:4/3;flex-direction:column;display:flex;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;display:block}.gallery-caption{background:var(--panel);border:none;border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-soft);outline:none;width:100%;padding:4px 6px}.gallery-caption:focus{background:var(--accent-soft)}.gallery-item .remove-img{border:1px solid var(--line);cursor:pointer;width:22px;height:22px;color:var(--ink);z-index:2;background:#ffffffe6;border-radius:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:4px;right:4px}html.theme-dark .gallery-item .remove-img{background:#1f2026e6}.gallery-add{border:1.5px dashed var(--line-2);border-radius:var(--radius-sm);aspect-ratio:4/3;color:var(--muted);cursor:pointer;font-size:var(--text-sm);justify-content:center;align-items:center;gap:4px;transition:border-color .12s,background .12s,color .12s;display:flex}.gallery-add:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.gallery-add svg{width:18px;height:18px}.block-table{gap:var(--space-3);flex-direction:column;display:flex}.block-table-caption{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--radius-sm);height:34px;font-size:var(--text-md);padding:0 10px;font-weight:600}.block-table-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);overflow-x:auto}.block-table table{border-collapse:collapse;width:100%;min-width:520px}.block-table th,.block-table td{border:1px solid var(--line);vertical-align:top;padding:0}.block-table th{background:var(--panel-2);position:relative}.block-table textarea{resize:vertical;width:100%;min-height:40px;color:var(--ink);font-family:var(--font-sans-stack);font-size:var(--text-sm);background:0 0;border:none;outline:none;padding:8px;line-height:1.45}.block-table th textarea{padding-right:30px;font-weight:700}.block-table textarea:focus{background:var(--accent-soft)}.block-table-remove{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--panel);width:22px;height:22px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:5px;right:5px}.block-table-remove:hover{color:var(--danger);border-color:var(--danger)}.block-table-remove svg{width:12px;height:12px}.block-table-row-actions{text-align:center;background:var(--panel-2);width:36px;min-width:36px}.block-table-row-actions .btn{width:24px;height:24px;margin:6px}.block-table-row-actions .btn svg{width:12px;height:12px}.block-table-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.block-table-actions .btn svg{width:14px;height:14px}.lightbox{z-index:1000;padding:var(--space-6);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:95vw;max-height:95vh;box-shadow:var(--shadow-lg)}.lightbox-close{top:var(--space-4);right:var(--space-4);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:absolute}.lightbox-close:hover{background:#fff3}.proc-preview{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-8) var(--space-10);box-shadow:var(--shadow-sm);font-size:var(--text-md);line-height:1.65}.proc-preview h1{font-size:var(--text-3xl);margin:0 0 var(--space-2);letter-spacing:-.025em}.proc-preview h2{font-size:var(--text-2xl);margin:var(--space-6) 0 var(--space-3);letter-spacing:-.02em}.proc-preview h3{font-size:var(--text-xl);margin:var(--space-5) 0 var(--space-2);letter-spacing:-.015em}.proc-preview p{margin:0 0 var(--space-3)}.proc-preview ul,.proc-preview ol{margin:0 0 var(--space-3);padding-left:1.5em}.proc-preview li{margin-bottom:4px}.proc-preview img{border-radius:var(--radius-xs);max-width:100%;height:auto}.proc-preview a{color:var(--accent)}.proc-preview .proc-callout{gap:var(--space-3);padding:var(--space-4);margin:0 0 var(--space-4);grid-template-columns:28px 1fr;display:grid}.proc-preview .proc-callout-title{color:var(--callout-color);margin-bottom:var(--space-1);font-weight:800}.proc-preview .proc-callout p:last-child{margin-bottom:0}.proc-preview ul[data-type=taskList],.tiptap-shell ul[data-type=taskList]{padding-left:0;list-style:none}.proc-preview li[data-type=taskItem],.tiptap-shell li[data-type=taskItem]{align-items:flex-start;gap:8px;display:flex}.proc-preview li[data-type=taskItem] label,.tiptap-shell li[data-type=taskItem] label{margin-top:2px}.proc-preview li[data-type=taskItem] input{pointer-events:none}.proc-preview li[data-type=taskItem]>div,.tiptap-shell li[data-type=taskItem]>div{flex:1}.proc-preview li[data-type=taskItem] p,.tiptap-shell li[data-type=taskItem] p{margin:0}.proc-preview .step{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5);grid-template-columns:36px 1fr;display:grid}.proc-preview .step-num{background:var(--koesio-violet);color:#fff;width:36px;height:36px;font-weight:800;font-family:var(--font-title-stack);font-size:var(--text-md);border-radius:0;justify-content:center;align-items:center;display:inline-flex}.proc-preview .step-title{font-size:var(--text-lg);margin:4px 0;font-weight:600}.proc-preview .step-time{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-2)}.proc-preview .gallery{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.proc-preview .gallery figure{margin:0}.proc-preview .gallery img{aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;width:100%}.proc-preview .gallery figcaption{font-size:var(--text-xs);color:var(--muted);text-align:center;margin-top:4px}.proc-preview table{border-collapse:collapse;margin:0 0 var(--space-3)}.proc-preview th,.proc-preview td{border:1px solid var(--line);padding:4px 8px}.proc-preview th{background:var(--panel-2)}.proc-preview .preview-table-wrap{margin:0 0 var(--space-5);overflow-x:auto}.proc-preview .preview-table-caption{color:var(--ink);margin:0 0 var(--space-2);font-weight:700}.proc-preview .preview-table-wrap table{width:100%;min-width:420px}.proc-preview .preview-table-wrap th,.proc-preview .preview-table-wrap td{text-align:left;vertical-align:top;padding:8px 10px}.proc-print{display:none}@media print{.proc-print{display:block!important}@page{size:A4 portrait;margin:0}body{color:#000;background:#fff}.proc-print,.proc-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;border-radius:0}.proc-print{color:var(--koesio-ink);font-family:Be Vietnam Pro,Arial Nova,Arial,sans-serif;font-size:10pt;line-height:1.5}.proc-print .print-page{box-sizing:border-box;page-break-inside:avoid;break-inside:avoid;background:#fff;flex-direction:column;width:210mm;height:297mm;min-height:297mm;padding-bottom:0;display:flex;overflow:hidden}.proc-print .print-page:not(:last-child){page-break-after:always}@page proc-landscape{size:A4 landscape;margin:0}.proc-print.proc-landscape .print-page{page:proc-landscape;width:297mm;height:210mm;min-height:210mm}.proc-print.proc-landscape .proc-cover-hero{flex:0 0 116mm;padding:12mm 16mm 0}.proc-print.proc-landscape .proc-cover-eyebrow{margin-top:10mm}.proc-print.proc-landscape .proc-cover-title{max-width:220mm;margin:3mm 0 8mm;font-size:34pt}.proc-print.proc-landscape .proc-cover-client-block{padding-bottom:10mm}.proc-print.proc-landscape .proc-cover-bottom{padding:12mm 16mm 8mm}.proc-print.proc-landscape .proc-text img{max-height:105mm}.proc-print.proc-landscape .proc-step-image{max-height:96mm}.proc-print.proc-landscape .proc-gallery{grid-template-columns:repeat(3,1fr)}.proc-print.proc-landscape .proc-gallery-figure img{max-height:60mm}.proc-print-cover .proc-cover{flex-direction:column;flex:1;display:flex}.proc-cover-hero{background:var(--koesio-violet);color:#fff;flex-direction:column;flex:0 0 165mm;padding:16mm 16mm 0;display:flex;position:relative}.proc-cover-wordmark{letter-spacing:-.01em;color:#fff;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:18pt;font-weight:800}.proc-cover-eyebrow{letter-spacing:.22em;color:#ffffffd9;margin-top:22mm;font-size:9pt;font-weight:600}.proc-cover-title{letter-spacing:-.01em;color:#fff;text-transform:uppercase;max-width:155mm;margin:4mm 0 12mm;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:42pt;font-weight:800;line-height:1.02}.proc-cover-client-block{margin-top:auto;padding-bottom:14mm}.proc-cover-client-label{letter-spacing:.22em;color:#ffffffbf;margin-bottom:1.5mm;font-size:8.5pt;font-weight:600}.proc-cover-client-name{color:#fff;font-size:16pt;font-weight:700;line-height:1.15}.proc-cover-subtitle{color:#fffc;margin-top:1mm;font-size:10pt;font-weight:400}.proc-cover-stripe{justify-content:flex-end;height:6mm;display:flex;position:absolute;bottom:0;left:0;right:0}.proc-cover-stripe>span{height:100%;display:block}.proc-cover-stripe-corail{background:var(--koesio-corail);width:38mm}.proc-cover-stripe-yellow{background:var(--koesio-yellow);width:26mm}.proc-cover-stripe-cyan{background:var(--koesio-cyan);width:32mm}.proc-cover-bottom{color:var(--koesio-ink);background:#fff;flex:1;padding:18mm 16mm 8mm}.proc-cover-info-heading{color:var(--koesio-violet);letter-spacing:.22em;margin:0 0 5mm;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:10pt;font-weight:700}.proc-cover-info{border-top:.4pt solid var(--koesio-gray-100);flex-direction:column;display:flex}.proc-cover-info-row{border-bottom:.4pt solid var(--koesio-gray-100);grid-template-columns:50mm 1fr;align-items:baseline;gap:4mm;padding:3mm 0;display:grid}.proc-cover-info-label{letter-spacing:.18em;color:var(--koesio-violet);text-transform:uppercase;font-size:8.5pt;font-weight:700}.proc-cover-info-value{color:var(--koesio-ink);font-size:10.5pt;font-weight:400}.proc-band{background:var(--koesio-violet);color:#fff;flex:0 0 14mm;grid-template-columns:22mm .4mm 1fr auto;align-items:center;gap:6mm;padding:0 14mm;display:grid}.proc-band-num{font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:22pt;font-weight:800;line-height:1}.proc-band-rule{background:#ffffff8c;width:.4mm;height:8mm}.proc-band-title{text-transform:uppercase;letter-spacing:.22em;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:11pt;font-weight:700}.proc-band-brand{letter-spacing:-.01em;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:13pt;font-weight:800}.proc-print .proc-body{min-height:0;color:var(--koesio-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;flex:1;padding:14mm 14mm 20mm;font-size:10.5pt;line-height:1.55}.proc-foot{box-sizing:border-box;border-top:.4pt solid var(--koesio-gray-100);color:#6a6a6a;background:#fff;flex:0 0 14mm;grid-template-columns:1fr auto 1fr;align-items:center;height:14mm;margin-top:auto;padding:4mm 14mm;font-size:8pt;display:grid;overflow:hidden}.proc-foot-left,.proc-foot-right{min-width:0;overflow:hidden}.proc-foot-left{text-align:left;line-height:1.3}.proc-foot-center{color:var(--koesio-violet);letter-spacing:-.01em;text-align:center;font-size:12pt;font-weight:800}.proc-foot-right{text-align:right;line-height:1.25}.proc-foot-context,.proc-page-counter{display:block}.proc-foot-left,.proc-foot-context,.proc-foot-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proc-page-counter{color:var(--koesio-violet);font-variant-numeric:tabular-nums;margin-top:.5mm;font-weight:700}.proc-foot-sub{color:#9a9a9a;margin-top:.5mm;font-size:7pt}.proc-toc-list{margin:0;padding:0;list-style:none}.proc-toc-list li{color:var(--koesio-ink);border-bottom:.3pt solid var(--koesio-gray-100);align-items:baseline;gap:2mm;padding:2mm 0;font-size:11pt;display:flex}.proc-toc-list li.lvl-1{color:var(--koesio-violet);text-transform:uppercase;letter-spacing:.06em;font-size:10.5pt;font-weight:700}.proc-toc-list li.lvl-2{color:#333;padding-left:6mm;font-size:10pt}.proc-toc-list li.lvl-3{color:#555;padding-left:12mm;font-size:9pt}.proc-toc-list .toc-text{flex:auto}.proc-toc-list .toc-page-num{color:var(--koesio-ink);text-align:right;font-variant-numeric:tabular-nums;flex:0 0 8mm;font-weight:700}.proc-print .proc-version-table{border-collapse:collapse;width:100%;font-size:9pt;line-height:1.35}.proc-print .proc-version-table th,.proc-print .proc-version-table td{border:.4pt solid var(--koesio-gray-100);text-align:left;vertical-align:top;padding:2.4mm 2.8mm}.proc-print .proc-version-table th{color:#fff;background:var(--koesio-violet);text-transform:uppercase;letter-spacing:.04em;font-size:8pt;font-weight:700}.proc-print .proc-version-table tr:nth-child(2n) td{background:#f8f6fa}.proc-print .proc-version-label{color:#666;margin-top:.8mm;font-size:8pt;font-weight:400;display:block}.proc-print .proc-version-empty{border-left:1.2mm solid var(--koesio-violet);color:#555;background:#f8f6fa;padding:4mm 5mm;font-size:10pt}.proc-print .proc-h2{color:var(--koesio-violet);letter-spacing:.18em;text-transform:uppercase;page-break-after:avoid;margin:6mm 0 2.5mm;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:12pt;font-weight:700}.proc-print .proc-h3{color:var(--koesio-ink);page-break-after:avoid;margin:4mm 0 1.5mm;font-size:11pt;font-weight:700}.proc-print .proc-text{margin:0 0 3mm}.proc-print .proc-text p{margin:0 0 2.5mm}.proc-print .proc-text ul,.proc-print .proc-text ol{margin:0 0 3mm;padding-left:6mm}.proc-print .proc-text li{margin:.5mm 0}.proc-print .proc-text:has(>.proc-listfrag){margin:0}.proc-print .proc-text>ul.proc-listfrag,.proc-print .proc-text>ol.proc-listfrag{margin:0;padding-left:6mm}.proc-print .proc-text>.proc-listfrag li{margin:.5mm 0}.proc-print .proc-text a{color:var(--koesio-violet);text-decoration:underline}.proc-print .proc-text strong{font-weight:700}.proc-print .proc-text em{font-style:italic}.proc-print .proc-text img{max-width:100%;height:auto}.proc-print .proc-text img,.proc-print .proc-step-image,.proc-print .proc-gallery-figure{page-break-inside:avoid;break-inside:avoid}.proc-print .proc-text img{object-fit:contain;width:auto;height:auto;max-height:145mm;margin:3mm auto;display:block}.proc-print .proc-text blockquote{border-left:3px solid var(--koesio-violet);color:#555;margin:2mm 0;padding:1mm 4mm;font-style:italic}.proc-print .proc-text code{font-family:var(--font-mono-stack);background:#f4eef9;padding:0 1mm;font-size:.92em}.proc-print ul[data-type=taskList]{padding-left:0;list-style:none}.proc-print li[data-type=taskItem]{grid-template-columns:5mm 1fr;align-items:start;gap:1.5mm;display:grid}.proc-print li[data-type=taskItem] label{padding-top:.5mm}.proc-print li[data-type=taskItem] input{width:3.5mm;height:3.5mm;accent-color:var(--koesio-violet)}.proc-print li[data-type=taskItem]>div p{margin:0}.proc-print .proc-callout{--callout-color:var(--koesio-violet);--callout-bg:#f8f3fb;color:var(--koesio-ink);background:var(--callout-bg);border-color:#ded1e6;border-left-color:var(--callout-color);break-inside:avoid;page-break-inside:avoid;grid-template-columns:8mm 1fr;gap:3mm;margin:4mm 0;padding:4mm 5mm;display:grid}.proc-print .proc-callout[data-callout=important]{--callout-bg:#f6f0f9}.proc-print .proc-callout[data-callout=success],.proc-print .proc-callout[data-callout=tip]{--callout-bg:#eef8f1}.proc-print .proc-callout[data-callout=warning],.proc-print .proc-callout[data-callout=todo]{--callout-bg:#fff8e8}.proc-print .proc-callout[data-callout=danger]{--callout-bg:#fff0f1}.proc-print .proc-callout[data-callout=question],.proc-print .proc-callout[data-callout=example]{--callout-bg:#eef9fd}.proc-print .proc-callout[data-callout=quote]{--callout-bg:#f5f5f5}.proc-print .proc-callout-title{color:var(--callout-color);margin-bottom:1mm;font-size:10.5pt;font-weight:800}.proc-print .proc-callout-icon svg{width:5mm;height:5mm}.proc-print .proc-callout p:last-child{margin-bottom:0}.proc-print .proc-text pre{border-left:2pt solid var(--koesio-violet);font-family:var(--font-mono-stack);page-break-inside:avoid;white-space:pre-wrap;background:#f4eef9;padding:2mm 3mm;font-size:9pt;overflow:hidden}.proc-print .proc-step{border:.5pt solid var(--koesio-gray-100);border-left:1.2mm solid var(--koesio-violet);page-break-inside:auto;break-inside:auto;background:#fff;margin:5mm 0;padding:4mm 5mm}.proc-print .proc-step-head{align-items:baseline;gap:4mm;margin-bottom:2mm;display:flex}.proc-print .proc-step-num{color:var(--koesio-violet);min-width:9mm;font-family:Arboria,Century Gothic,Inter,sans-serif;font-size:14pt;font-weight:800;line-height:1}.proc-print .proc-step-titles{flex:1}.proc-print .proc-step-title{color:var(--koesio-ink);font-size:12pt;font-weight:700;line-height:1.2}.proc-print .proc-step-time{background:var(--koesio-gray-100);color:#444;letter-spacing:.04em;margin-top:1.2mm;padding:.6mm 2.5mm;font-size:8.5pt;font-weight:600;display:inline-block}.proc-print .proc-step-text{margin-top:1mm}.proc-print .proc-step-text p{margin:0 0 2mm}.proc-print .proc-step-text ul,.proc-print .proc-step-text ol{margin:0 0 2mm;padding-left:6mm}.proc-print .proc-step-image{object-fit:contain;border:.4pt solid var(--koesio-gray-100);width:auto;max-width:100%;height:auto;max-height:132mm;margin-top:3mm;margin-left:auto;margin-right:auto;display:block}.proc-print .proc-gallery{page-break-inside:auto;break-inside:auto;grid-template-columns:1fr 1fr;gap:4mm;margin:4mm 0;display:grid}.proc-print .proc-gallery-figure{page-break-inside:avoid;break-inside:avoid;margin:0}.proc-print .proc-gallery-figure img{object-fit:contain;border:.4pt solid var(--koesio-gray-100);width:100%;height:auto;max-height:82mm}.proc-print .proc-gallery-figure figcaption{color:#555;text-align:center;margin-top:1mm;font-size:8.5pt;font-style:italic}.proc-print .proc-table-wrap{page-break-inside:auto;break-inside:auto;margin:4mm 0 6mm}.proc-print .proc-table-caption{color:var(--koesio-violet);margin:0 0 2mm;font-size:10pt;font-weight:700}.proc-print .proc-table{border-collapse:collapse;width:100%;font-size:9pt;line-height:1.35}.proc-print .proc-table th,.proc-print .proc-table td{border:.4pt solid var(--koesio-gray-100);text-align:left;vertical-align:top;page-break-inside:avoid;break-inside:avoid;padding:2.2mm 2.5mm}.proc-print .proc-table th{color:#fff;background:var(--koesio-violet);font-weight:700}.proc-print .proc-table tr:nth-child(2n) td{background:#f8f6fa}}.tiptap-shell{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);overflow:hidden}.tiptap-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tiptap-toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;padding:4px;display:flex}.tiptap-toolbar button{border-radius:var(--radius-xs);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.tiptap-toolbar button svg{stroke-width:2px;width:14px;height:14px}.tiptap-toolbar button:hover{background:var(--bg-2);color:var(--ink)}.tiptap-toolbar button.active{background:var(--accent-soft);color:var(--accent-deep);border-color:color-mix(in oklab, var(--accent) 30%, transparent)}.tiptap-toolbar button:disabled{opacity:.35;cursor:not-allowed}.tiptap-sep{background:var(--line);align-self:stretch;width:1px;margin:4px}.tiptap-shell .ProseMirror{min-height:80px;padding:var(--space-3) var(--space-4);background:var(--panel);font-size:var(--text-md);color:var(--ink);outline:none;line-height:1.65}.tiptap-shell .ProseMirror>*+*{margin-top:.6em}.tiptap-shell .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted-2);float:left;pointer-events:none;height:0}.tiptap-shell .ProseMirror h2{font-size:var(--text-xl);letter-spacing:-.015em}.tiptap-shell .ProseMirror h3{font-size:var(--text-lg);letter-spacing:-.01em}.tiptap-shell .ProseMirror ul,.tiptap-shell .ProseMirror ol{padding-left:1.4em}.tiptap-shell .ProseMirror li{margin:4px 0}.tiptap-shell .ProseMirror blockquote{border-left:3px solid var(--line-2);color:var(--muted);margin:0;padding:2px 12px}.tiptap-shell .ProseMirror pre{background:var(--bg-2);border-radius:var(--radius-sm);font-family:var(--font-mono-stack);padding:8px 10px;font-size:.9em;overflow-x:auto}.tiptap-shell .ProseMirror code{background:var(--bg-2);border-radius:var(--radius-xs);font-family:var(--font-mono-stack);padding:1px 5px;font-size:.92em}.tiptap-shell .ProseMirror a.proc-link{color:var(--accent);text-decoration:underline}.tiptap-shell .ProseMirror img.proc-inline-img{border-radius:var(--radius-xs);max-width:100%;height:auto;display:block}.proc-savestate{background:var(--bg-2);white-space:nowrap;border:1px solid #0000;border-radius:0;padding:4px 10px}.proc-savestate.dirty{color:var(--warn);background:color-mix(in oklab, var(--warn) 10%, var(--panel));border-color:color-mix(in oklab, var(--warn) 25%, transparent)}.proc-savestate.saved{color:var(--ok);background:color-mix(in oklab, var(--ok) 10%, var(--panel));border-color:color-mix(in oklab, var(--ok) 25%, transparent)}.btn-count{background:var(--koesio-violet);color:#fff;border-radius:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.history-overlay{background:color-mix(in oklab, var(--ink) 35%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900;animation:.14s ease-out history-fade;position:fixed;inset:0}html.theme-dark .history-overlay{background:#0000008c}@keyframes history-fade{0%{opacity:0}to{opacity:1}}.history-panel{background:var(--panel);border-left:1px solid var(--line);width:min(440px,92vw);height:100vh;box-shadow:var(--shadow-lg);z-index:950;flex-direction:column;animation:.18s ease-out history-slide;display:flex;position:fixed;top:0;right:0}@keyframes history-slide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.history-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid var(--line);display:flex}.history-head h2{font-size:var(--text-lg);letter-spacing:-.01em;margin:0}.history-sub{font-size:var(--text-sm);color:var(--muted);margin:4px 0 0;line-height:1.4}.history-empty{padding:var(--space-8) var(--space-5);text-align:center;color:var(--muted);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.history-empty svg{color:var(--muted-2);width:32px;height:32px}.history-empty p{font-size:var(--text-md);max-width:320px;margin:0;line-height:1.5}.history-empty strong{color:var(--ink)}.history-list{padding:var(--space-3) var(--space-3) var(--space-6);flex-direction:column;flex:1;gap:2px;margin:0;list-style:none;display:flex;overflow-y:auto}.history-item{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);grid-template-columns:24px 1fr auto;display:grid;position:relative}.history-item:hover{background:var(--panel-2)}.history-item.head{background:color-mix(in oklab, var(--accent) 6%, var(--panel))}.history-item.head:hover{background:color-mix(in oklab, var(--accent) 10%, var(--panel))}.history-marker{color:var(--muted-2);flex-direction:column;align-items:center;padding-top:4px;display:flex}.history-marker svg{width:16px;height:16px;color:var(--accent)}.history-marker .dot{background:var(--line-2);border-radius:50%;width:8px;height:8px;margin-top:4px}.history-item:not(:last-child) .history-marker:after{content:"";background:var(--line);flex:1;width:1px;margin-top:4px}.history-body{flex-direction:column;gap:2px;min-width:0;display:flex}.history-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.history-label{border-radius:var(--radius-xs);font-size:var(--text-md);color:var(--ink);cursor:pointer;background:0 0;border:1px dashed #0000;align-items:center;gap:4px;margin-left:-4px;padding:2px 6px;font-weight:600;display:inline-flex}.history-label:hover{border-color:var(--line-2);background:var(--panel)}.history-label svg{color:var(--accent)}.history-label-empty{color:var(--muted-2);align-items:center;gap:4px;font-style:italic;font-weight:400;display:inline-flex}.history-label-input{border:1px solid var(--accent);border-radius:var(--radius-xs);background:var(--panel);height:26px;color:var(--ink);font-size:var(--text-md);outline:none;flex:1;min-width:0;padding:0 8px;font-weight:600}.history-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--koesio-violet);color:#fff;border-radius:0;padding:2px 6px;font-size:10px;font-weight:800}.history-meta{font-size:var(--text-xs);color:var(--muted)}.history-author{color:var(--ink-soft);align-items:center;gap:3px;display:inline-flex}.history-author svg{width:11px;height:11px;color:var(--accent)}.history-actions{align-self:center;align-items:center;gap:2px;display:flex}.history-actions .btn.sm svg{width:12px;height:12px}@media (max-width:640px){.history-panel{border-left:none;width:100vw}}.history-item.flash{animation:1.6s ease-out history-flash}@keyframes history-flash{0%{background:color-mix(in oklab, var(--ok) 25%, var(--panel))}to{background:var(--panel)}}.history-item.flash.head{animation-name:history-flash-head}@keyframes history-flash-head{0%{background:color-mix(in oklab, var(--ok) 25%, var(--panel))}to{background:color-mix(in oklab, var(--accent) 6%, var(--panel))}}
