:root{
  color-scheme:light;
  --bg:#EEF1F0; --surface:#FFFFFF; --soft:#F6F8F7; --ink:#17201D; --ink-2:#4A5652; --ink-3:#6F7A76; --line:#DDE3E0;
  --accent:#0E6B63; --accent-soft:#E3F1EE; --ok:#2E7D4F; --ok-soft:#E5F3EA; --err:#B8322A;
  --p1:#B8322A; --p2:#B0650F; --p3:#2F66A0; --p4:#6F7A76;
  --f-display:Bahnschrift,"Segoe UI",system-ui,sans-serif; --f-body:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif; --f-mono:Consolas,"Cascadia Mono",ui-monospace,monospace;
}
@media (prefers-color-scheme: dark){
  :root{ color-scheme:dark;
    --bg:#101614; --surface:#171F1D; --soft:#1F2926; --ink:#E3EAE7; --ink-2:#A8B4AF; --ink-3:#7F8B86; --line:#2B3632;
    --accent:#4DB6AA; --accent-soft:#15322E; --ok:#5FC08A; --ok-soft:#173222; --err:#EF6F65;
    --p1:#EF6F65; --p2:#EEA24E; --p3:#80AEE0; --p4:#9AA5A0; }
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--f-body)}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding-inline:16px}
.bar{background:var(--accent);color:#fff}
.bar-in{display:flex;align-items:center;gap:16px;min-height:56px}
.brand{font:500 17px var(--f-display);letter-spacing:.02em;margin-right:auto;display:flex;align-items:center;gap:12px}
.logo{height:30px;width:auto;background:#FFFFFF;padding:3px 8px;border-radius:6px;box-sizing:content-box}
@media (max-width:420px){ .logo{height:24px} .brand>span{display:none} }
.brand b{font-weight:700}
.bar-right{display:flex;align-items:center;gap:14px;font-size:13px}
.bar .link{color:#fff;opacity:.9}
.who{opacity:.85;overflow-wrap:anywhere}
.link{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
main{padding-block:24px 40px;display:flex;flex-direction:column;gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px}
.signin{max-width:440px;margin:32px auto 0;padding:28px;display:flex;flex-direction:column;gap:10px;width:100%}
.signin h1{font:600 24px var(--f-display);margin:0}
.signin form{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.signin label{font-size:13px;color:var(--ink-2)}
.signin input{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--surface)}
#code{font:600 22px var(--f-mono);letter-spacing:.3em;text-align:center}
.btn{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:10px 16px;font-weight:600;cursor:pointer;margin-top:4px}
.btn:disabled{opacity:.6;cursor:wait}
.muted{color:var(--ink-2);margin:0}
.small{font-size:13px}
.ok{color:var(--ok);margin:0}
.err{color:var(--err);margin:0;font-size:14px}
.err:empty{display:none}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 14px;cursor:pointer;font-size:14px;color:var(--ink-2)}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:start}
.list{overflow:hidden}
.row{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 16px;cursor:pointer}
.row:last-child{border-bottom:0}
.row:hover{background:var(--soft)}
.row[aria-current="true"]{background:var(--accent-soft)}
.ref{font:600 12px var(--f-mono);color:var(--accent)}
.row-title{display:block;font-weight:600;margin:2px 0;overflow-wrap:anywhere}
.row-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}
.status{font-size:12px;font-weight:600;padding:1px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.status.done{background:var(--ok-soft);color:var(--ok)}
.prio{font:600 11px var(--f-mono)}
.prio.P1{color:var(--p1)} .prio.P2{color:var(--p2)} .prio.P3{color:var(--p3)} .prio.P4{color:var(--p4)}
.empty{padding:32px 16px;text-align:center;color:var(--ink-3)}
.detail{padding:22px;display:flex;flex-direction:column;gap:16px}
.detail h2{font:600 21px/1.3 var(--f-display);margin:2px 0 0;text-wrap:balance;overflow-wrap:anywhere}
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--accent-soft);border-radius:6px}
.figs.done{background:var(--ok-soft)}
.fig{padding:12px 14px}
.fig span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.fig b{display:block;font-size:16px;margin-top:2px}
dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0;font-size:14px}
dt{color:var(--ink-3)} dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.sec{font:600 12px var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:0 0 8px}
.text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border-left:3px solid var(--accent);padding:12px 14px;margin:0}
.updates{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}
.updates li{border-left:2px solid var(--line);padding-left:12px}
.updates time{font-size:12px;color:var(--ink-3)}
.updates p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}
@media (max-width:760px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .figs{grid-template-columns:minmax(0,1fr)}
}

.foot{padding-block:8px 28px;font-size:13px;color:var(--ink-3);text-align:center}
.foot a{color:var(--ink-2)}
.sec-page{gap:20px}
.doc{padding:24px 28px;max-width:820px;margin:0 auto;width:100%}
.doc h1{font:600 24px var(--f-display);margin:0 0 4px}
.doc h2{font:600 15px var(--f-display);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:22px 0 6px}
.doc ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.doc p{margin:6px 0}
.doc a{color:var(--accent)}
.bar-right a.link{margin-left:4px}
/* documents */
.files{border:1px dashed transparent;border-radius:8px;margin:0 -10px;padding:6px 10px 10px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,background .15s}
.files.over{border-color:var(--accent);background:var(--accent-soft)}
.flist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.file{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--soft)}
.file.focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.f-top{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap}
.fname{font-weight:600;overflow-wrap:anywhere;margin-right:auto}
.conf{font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--p2)}
.scan{font-size:12px;color:var(--p2)} .scan.bad{color:var(--err)}
.f-up{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}
.btn.ghost{background:var(--surface);color:var(--accent);border:1px solid var(--accent);margin-top:0}
.unlock{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.unlock-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.unlock .btn{margin-top:0}
#dlcode{font:600 18px var(--f-mono);letter-spacing:.3em;text-align:center;width:10ch;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:var(--surface)}

/* sections + knowledge base */
.modes{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;align-self:flex-start}
.modes button{border:0;background:transparent;border-radius:999px;padding:6px 16px;cursor:pointer;font-weight:600;color:var(--ink-2)}
.modes button[aria-pressed="true"]{background:var(--accent);color:#fff}
#kbView,#ticketsView{display:flex;flex-direction:column;gap:16px}
#kbView[hidden],#ticketsView[hidden]{display:none!important}
.kb-search{border:1px solid var(--line);border-radius:6px;padding:9px 12px;background:var(--surface);max-width:420px;width:100%}
.kb-group{font:600 11px var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);padding:12px 16px 4px;background:var(--soft);border-bottom:1px solid var(--line)}
.kb-sum{display:block;font-size:13px;color:var(--ink-2);margin-bottom:4px}
.kb-lead{font-size:16px;color:var(--ink-2);margin:0}
.md{line-height:1.65;overflow-wrap:anywhere}
.md h2{font:600 19px var(--f-display);margin:18px 0 6px}
.md h3{font:600 16px var(--f-display);margin:16px 0 4px}
.md h4,.md h5{font:600 15px var(--f-body);margin:12px 0 4px}
.md p{margin:0 0 10px}
.md ul,.md ol{margin:0 0 10px;padding-left:22px}
.md li{margin:2px 0}
.md code{font:13px var(--f-mono);background:var(--soft);padding:1px 5px;border-radius:4px}
.md pre{background:var(--soft);padding:10px 12px;border-radius:6px;overflow:auto;margin:0 0 10px}
.md pre code{background:none;padding:0}
.md blockquote{margin:0 0 10px;padding:6px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 6px 6px 0}
.md blockquote p:last-child{margin-bottom:0}
.md hr{border:0;border-top:1px solid var(--line);margin:14px 0}
.md a{color:var(--accent)}
.md-table{overflow-x:auto;margin:0 0 10px}
.md table{border-collapse:collapse;font-size:14px;min-width:50%}
.md th,.md td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
.md th{background:var(--soft)}
.md .r{text-align:right} .md .c{text-align:center}
.modes{width:max-content}

.kb-linklist{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}
.kb-linklist li{border:1px solid var(--line);border-radius:6px;padding:9px 12px;background:var(--soft)}
.kb-linklist a{font-weight:600;color:var(--accent);overflow-wrap:anywhere}
