:root{--bg: #f1f3f6;--surface: #ffffff;--surface-2: #f6f8fa;--surface-3: #eef1f5;--line: #dde2e8;--line-strong: #ccd2da;--text: #1b2531;--text-2: #56616f;--text-3: #8a94a1;--rail: #1f2733;--rail-2: #19212b;--rail-text: #c5cdd8;--rail-text-dim: #818d9c;--rail-line: rgba(255, 255, 255, .07);--rail-active: rgba(122, 155, 245, .14);--accent: #2f59d6;--accent-deep: #21429f;--accent-weak: #eef2fd;--accent-line: #c6d3f4;--hover: #e4ebfa;--hover-strong: #d6e0f7;--accent-rail: #7e9bf2;--on-accent: #ffffff;--on-accent-deep: #ffffff;--accent-ink: #2f59d6;--accent-deep-ink: #21429f;--accent-mark: #2f59d6;--ok: #1f9d57;--ok-text: #167a43;--warn: #bf7d12;--warn-bg: #fdf4e3;--danger: #d23b48;--danger-bg: #fcebed;--danger-line: #f2c8cd;--r: 8px;--r-sm: 6px;--shadow: 0 1px 2px rgba(20, 30, 45, .06);--shadow-card: 0 1px 2px rgba(20, 30, 45, .05), 0 1px 1px rgba(20, 30, 45, .04);--ui: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--display: "Segoe UI Variable Display", "Segoe UI Semibold", "Segoe UI", system-ui, sans-serif;--mono: "Cascadia Mono", Consolas, ui-monospace, monospace;font-family:var(--ui);font-size:14px;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}h1,h2,h3{font-family:var(--display);color:var(--text)}a{color:var(--accent-ink)}.muted{color:var(--text-2);font-size:.86rem}.mono{font-family:var(--mono)}.shell{display:grid;grid-template-columns:232px 1fr;height:100vh}.sidebar{background:linear-gradient(180deg,var(--rail),var(--rail-2));color:var(--rail-text);display:flex;flex-direction:column;padding:.9rem .7rem;border-right:1px solid var(--rail-line)}.brand{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem 1rem}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:var(--on-accent);font-family:var(--display);font-weight:700}img.brand-mark.brand-logo{object-fit:contain;background:#fff;padding:3px;box-sizing:border-box}.brand h1{margin:0;font-size:1.05rem;color:#fff;font-weight:600}.brand h1 em{font-style:normal;color:var(--accent-rail)}.brand-sub{font-size:.7rem;color:var(--rail-text-dim);letter-spacing:.02em}.nav-section{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rail-text-dim);padding:.5rem .6rem .3rem}.nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:none;background:none;color:var(--rail-text);font:inherit;font-size:.9rem;border-radius:var(--r-sm);cursor:pointer;text-align:left;text-decoration:none}.sidebar .nav-item:hover,.nav-item.nav-active{background:var(--rail-active);color:#fff}.nav-icon{width:1.1rem;text-align:center;color:var(--accent-rail)}.sidebar-foot{margin-top:auto;padding:.6rem;font-size:.72rem;color:var(--rail-text-dim);border-top:1px solid var(--rail-line)}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.2rem;background:var(--surface);border-bottom:1px solid var(--line)}.topbar-title{margin:0;font-size:1.05rem}.topbar-right{display:flex;align-items:center;gap:.8rem}.topbar-user{font-size:.8rem;color:var(--text-3);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:1.3rem;overflow:auto}.page{display:flex;flex-direction:column;gap:1rem;max-width:920px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);padding:1.1rem 1.2rem}.card h2{margin:0 0 .8rem;font-size:1rem}.card-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.84rem;color:var(--text-2);margin-bottom:.7rem}.field input,.field select{font:inherit;font-size:.9rem;color:var(--text);padding:.5rem .6rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}button{font:inherit;font-size:.88rem;padding:.45rem .85rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-deep);color:var(--on-accent-deep)}button.ghost{background:none;border-color:transparent;color:var(--text-2)}button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.danger{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}button.small{padding:.3rem .6rem;font-size:.82rem}.button-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.link-button{background:none;border:none;color:var(--accent-ink);font:inherit;font-size:.84rem;padding:.2rem;cursor:pointer}.link-button:hover{text-decoration:underline;background:none}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-weight:600;color:var(--text-3);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .6rem;border-bottom:1px solid var(--line)}.table td{padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table .row-actions{display:flex;gap:.4rem;justify-content:flex-end}.chip{display:inline-block;padding:.12rem .5rem;border-radius:999px;background:var(--accent-weak);color:var(--accent-deep-ink);border:1px solid var(--accent-line);font-size:.74rem;font-family:var(--mono)}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.lamp{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-3)}.lamp-ok{background:var(--ok)}.lamp-warn{background:var(--warn)}.lamp-danger{background:var(--danger)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:999px;font-size:.76rem;border:1px solid var(--line);background:var(--surface-2);color:var(--text-2)}.badge-role{text-transform:capitalize}.badge-ok{background:#e9f6ef;color:var(--ok-text);border-color:#bfe4cd}.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:#ecd9ad}.badge-muted{background:var(--surface-3);color:var(--text-3)}.meter-track{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin-top:.4rem}.meter-fill{height:100%;background:var(--accent-mark)}.meter-fill.over{background:var(--danger)}.stat{display:flex;flex-direction:column;gap:.2rem}.stat-value{font-family:var(--mono);font-size:1.5rem;color:var(--text)}.stat-label{font-size:.74rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;flex:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-slider{position:relative;width:38px;height:22px;border-radius:999px;background:var(--line-strong, #ccd2da);transition:background .15s;flex:none}.switch-slider:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #141e2d40;transition:transform .15s}.switch input:checked+.switch-slider{background:var(--accent-mark)}.switch input:checked+.switch-slider:before{transform:translate(16px)}.switch input:disabled+.switch-slider{opacity:.5;cursor:default}.switch-label{font-size:.8rem;font-weight:600;color:var(--text-2);width:1.6rem}.res-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .45rem;border-radius:999px;border:1px solid transparent}.res-resolved{color:var(--ok-text, #167a43);background:#e7f6ee;border-color:#bfe6d0}.res-unresolved{color:var(--danger);background:var(--danger-bg, #fcebed);border-color:var(--danger-line, #f2c8cd)}.res-unknown{color:var(--text-3);background:var(--surface-3, #eef1f5);border-color:var(--line)}.served-list{margin:0;padding-left:1rem}.served-list li{margin:.1rem 0}.error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:var(--r-sm);padding:.5rem .7rem;font-size:.84rem;margin:0}.notice{color:var(--ok-text);background:#e9f6ef;border:1px solid #bfe4cd;border-radius:var(--r-sm);padding:.5rem .7rem;font-size:.84rem;margin:0}.auth-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:radial-gradient(1200px 600px at 50% -10%,rgba(122,155,245,.1),transparent 60%),var(--bg)}.auth-card{width:min(400px,92vw);display:flex;flex-direction:column;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);padding:1.6rem 1.5rem}.auth-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.2rem}.auth-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:var(--on-accent);font-family:var(--display);font-weight:700;font-size:1.15rem}.auth-icon{object-fit:cover;background:none}.auth-wordmark{font-family:var(--display);font-size:1.35rem;font-weight:600}.auth-wordmark em{font-style:normal;color:var(--accent-ink)}.auth-title{margin:.2rem 0 0;font-size:1.15rem}.auth-sub{margin:0 0 .4rem;color:var(--text-2);font-size:.88rem}.auth-submit{width:100%;justify-content:center;margin-top:.3rem}.auth-alt{text-align:center;font-size:.84rem;color:var(--text-2)}.auth-foot{color:var(--text-3);font-size:.78rem}.splash{min-height:100vh;display:grid;place-items:center;color:var(--text-2)}.kb-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}.kb-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}.kb-type-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 2px 8px #141e2d14;transform:translateY(-1px);background:var(--surface)}.kb-type-icon{font-size:1.4rem;line-height:1}.kb-type-name{font-family:var(--display);font-weight:600;font-size:.98rem;color:var(--text)}.kb-type-blurb{font-size:.82rem;color:var(--text-2);line-height:1.4}.kb-type-pill,.kb-type-badge{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.kb-type-badge{padding:.25rem .6rem;border-radius:999px;background:var(--accent-weak);color:var(--accent-deep-ink);border:1px solid var(--accent-line);font-size:.82rem;font-weight:600}.kb-editor{display:flex;flex-direction:column;gap:.9rem}.kb-editor-top{display:flex;align-items:center;gap:.6rem}.kb-editor-spacer{flex:1}.kb-editor-hint{font-size:.78rem}.kb-editor-err{margin:0}.kb-title{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--text);width:100%;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.kb-title:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.kb-editor-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.kb-meta-rail{display:flex;flex-direction:column;gap:.9rem}.kb-meta-card h3,.kb-tips h3{margin:0 0 .7rem;font-size:.92rem}.kb-meta-card .field{margin-bottom:.6rem}.kb-tips{background:var(--surface-2)}.kb-tips ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.45rem}.kb-tips li{font-size:.83rem;color:var(--text-2);line-height:1.45}@media(max-width:1000px){.kb-editor-body{grid-template-columns:1fr}}.md-editor{border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.md-toolbar{display:flex;align-items:center;gap:.2rem;padding:.35rem .5rem;background:var(--surface-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.md-tool{font-size:.8rem;padding:.25rem .5rem;border:1px solid transparent;background:none;color:var(--text-2);border-radius:var(--r-sm);cursor:pointer;min-width:1.9rem}.md-tool:hover{background:var(--surface);border-color:var(--line);color:var(--text)}.md-sep{width:1px;height:1.1rem;background:var(--line);margin:0 .25rem}.md-toolbar-spacer{flex:1}.md-count{font-size:.74rem;color:var(--text-3);font-family:var(--mono);padding-right:.3rem}.md-panes{display:grid;grid-template-columns:1fr 1fr}.md-source{font-family:var(--mono);font-size:.84rem;line-height:1.55;color:var(--text);border:none;background:var(--surface);padding:.9rem 1rem;resize:vertical;min-height:460px;width:100%;box-sizing:border-box}.md-source:focus{outline:none}.md-preview{border-left:1px solid var(--line);padding:.4rem 1.1rem;min-height:460px;overflow:auto;background:var(--surface)}@media(max-width:760px){.md-panes{grid-template-columns:1fr}.md-preview{border-left:none;border-top:1px solid var(--line)}}.kb-prose{font-size:.9rem;line-height:1.6;color:var(--text)}.kb-prose h1,.kb-prose h2,.kb-prose h3{font-family:var(--display);line-height:1.3;margin:1.1rem 0 .5rem}.kb-prose h1{font-size:1.3rem}.kb-prose h2{font-size:1.05rem;padding-bottom:.25rem;border-bottom:1px solid var(--line)}.kb-prose h3{font-size:.95rem}.kb-prose :first-child{margin-top:0}.kb-prose p{margin:.5rem 0}.kb-prose ul,.kb-prose ol{margin:.5rem 0;padding-left:1.4rem}.kb-prose li{margin:.25rem 0}.kb-prose a{color:var(--accent-ink)}.kb-prose code{font-family:var(--mono);font-size:.85em;background:var(--surface-3);padding:.1rem .3rem;border-radius:4px}.kb-prose pre{background:var(--surface-3);padding:.7rem .9rem;border-radius:var(--r-sm);overflow-x:auto}.kb-prose pre code{background:none;padding:0}.kb-prose table{border-collapse:collapse;width:100%;margin:.6rem 0;font-size:.85rem}.kb-prose th,.kb-prose td{border:1px solid var(--line);padding:.4rem .6rem;text-align:left}.kb-prose th{background:var(--surface-2)}.kb-prose blockquote{margin:.6rem 0;padding:.3rem .9rem;border-left:3px solid var(--accent-line);color:var(--text-2)}.kb-prose-checklist ol{list-style:none;padding-left:0;counter-reset:step}.kb-prose-checklist ol>li{position:relative;padding-left:2rem;margin:.55rem 0}.kb-prose-checklist ol>li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.05rem;width:1.4rem;height:1.4rem;display:grid;place-items:center;font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--on-accent);background:var(--accent);border-radius:50%}.editor-mode-toggle{display:inline-flex;gap:2px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;margin-bottom:.6rem}.editor-mode-toggle button{font-size:.8rem;padding:.3rem .8rem;border:none;background:none;color:var(--text-2);border-radius:5px;cursor:pointer}.editor-mode-toggle button:hover{background:var(--surface)}.editor-mode-toggle button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.md-tool.is-active{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-deep-ink)}.kb-insert-tpl{padding:0;margin-top:.2rem}.rich-editor{border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.rich-surface .ProseMirror{min-height:460px;padding:.9rem 1.1rem;outline:none}.kb-prose img{max-width:100%;height:auto;border-radius:6px;border:1px solid var(--line);margin:.5rem 0}.rich-surface .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--accent)}.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-2);padding:.5rem .9rem;margin-bottom:-1px}.tab:hover:not(:disabled){background:none;color:var(--text)}.tab.tab-active{color:var(--accent-deep-ink);border-bottom-color:var(--accent);font-weight:600}.hint{font-size:.78rem;color:var(--text-3)}.page code{font-family:var(--mono);font-size:.82em;background:var(--surface-3);border:1px solid var(--line);border-radius:4px;padding:0 .3em;color:var(--text)}.pb-empty{padding:1rem;border:1px dashed var(--line-strong);border-radius:var(--r);text-align:center}.pb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.pb-item{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);padding:.8rem .9rem .7rem}.pb-item-head{display:flex;align-items:flex-end;gap:.7rem;flex-wrap:wrap}.pb-num{flex:none;width:1.7rem;height:1.7rem;border-radius:999px;background:var(--accent-weak);border:1px solid var(--accent-line);color:var(--accent-deep-ink);font-weight:600;font-size:.82rem;display:grid;place-items:center;margin-bottom:.95rem}.pb-label{flex:1 1 260px}.pb-timing{width:140px}.pb-actions{margin-bottom:.75rem}.pb-examples{margin-left:2.4rem;display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}.pb-example{width:100%}.pb-example-row{display:flex;gap:.4rem;align-items:center}.pb-example-row input{font:inherit;font-size:.88rem;color:var(--text);padding:.4rem .55rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);flex:1;min-width:0}.pb-example-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.pb-preview{margin:.25rem 0 0 .1rem;font-size:.8rem;color:var(--text-2);font-style:italic}.pb-savebar{position:sticky;bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 4px 16px #141e2d14}@media(max-width:640px){.pb-examples{margin-left:0}}.user-email{font-size:.8rem}.sc-table th.num,.sc-table td.num{text-align:right;font-variant-numeric:tabular-nums}.sc-table .sc-first{border-left:1px solid var(--line)}.sc-table th.sc-item{text-align:center;text-transform:none;letter-spacing:0;font-size:.8rem;color:var(--text-2);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-table th.sortable{padding:0}.th-sort{all:unset;box-sizing:border-box;display:flex;gap:.25rem;width:100%;padding:.5rem .6rem;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.num .th-sort{justify-content:flex-end}.th-sort:hover{color:var(--text)}.th-sort:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.th-arrow{width:.7em}.sc-team td{background:var(--accent-weak);font-weight:600;border-bottom:1px solid var(--accent-line)}.sc-name{white-space:nowrap}.co-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem}.co-form .co-wide{grid-column:1 / -1}@media(max-width:560px){.co-form{grid-template-columns:1fr}}.co-chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.3rem}.co-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .3rem .2rem .6rem;border-radius:999px;background:var(--accent-weak);font-size:.85rem}.co-chip button{border:0;background:none;padding:0 .25rem;cursor:pointer;color:var(--text-2)}.co-chips input{flex:1;min-width:140px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger, #c0392b)}.auth-step{font-size:.8rem;color:var(--text-2);margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.04em}.auth-card:has(.co-form){max-width:560px}.banner{margin:0 0 1rem;padding:.7rem .9rem;border-radius:var(--r-sm);background:var(--accent-weak);color:var(--text);font-size:.9rem}.banner a{font-weight:600;margin-left:.25rem}
