/* ===================== Asset Avenue OS ===================== */
:root {
  --bg:#FAF8F3; --bg-side:#F4F0E7; --panel:#FFFFFF; --panel-2:#FCFAF5;
  --ink:#211E17; --ink-2:#55503F; --muted:#8A8473; --faint:#B4AE9D;
  --border:#EAE4D6; --border-2:#DAD2C0; --gold:#9A7A34; --gold-2:#C6A75E;
  --gold-bg:rgba(154,122,52,0.09); --gold-line:rgba(154,122,52,0.35);
  --good:#4E8A5B; --review:#4C6FB0; --draft:#B07E2E;
  --good-bg:rgba(78,138,91,0.12); --review-bg:rgba(76,111,176,0.12); --draft-bg:rgba(176,126,46,0.14);
  --danger:#B0463E; --danger-bg:rgba(176,70,62,0.12);
  --shadow-sm:0 1px 2px rgba(40,32,10,0.05);
  --shadow:0 1px 2px rgba(40,32,10,0.05),0 10px 30px rgba(40,32,10,0.07);
  --shadow-lg:0 20px 60px rgba(40,32,10,0.16);
  --font-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --r:12px; --r-sm:8px; --nav-w:280px; --rail-w:252px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#100F0C; --bg-side:#0B0A07; --panel:#191712; --panel-2:#201D16;
    --ink:#F3EFE4; --ink-2:#CFC8B6; --muted:#948C79; --faint:#675F4F;
    --border:#2A2620; --border-2:#39342A; --gold:#D8B96B; --gold-2:#EBD79E;
    --gold-bg:rgba(216,185,107,0.10); --gold-line:rgba(216,185,107,0.32);
    --good:#6FB07E; --review:#85A0DC; --draft:#D9AA57;
    --good-bg:rgba(111,176,126,0.14); --review-bg:rgba(133,160,220,0.15); --draft-bg:rgba(217,170,87,0.15);
    --danger:#E0796F; --danger-bg:rgba(224,121,111,0.14);
    --shadow-sm:0 1px 2px rgba(0,0,0,0.5);
    --shadow:0 1px 2px rgba(0,0,0,0.5),0 14px 34px rgba(0,0,0,0.5);
    --shadow-lg:0 24px 70px rgba(0,0,0,0.6);
  }
}
:root[data-theme="light"] {
  --bg:#FAF8F3; --bg-side:#F4F0E7; --panel:#FFFFFF; --panel-2:#FCFAF5;
  --ink:#211E17; --ink-2:#55503F; --muted:#8A8473; --faint:#B4AE9D;
  --border:#EAE4D6; --border-2:#DAD2C0; --gold:#9A7A34; --gold-2:#C6A75E;
  --gold-bg:rgba(154,122,52,0.09); --gold-line:rgba(154,122,52,0.35);
  --good:#4E8A5B; --review:#4C6FB0; --draft:#B07E2E;
  --good-bg:rgba(78,138,91,0.12); --review-bg:rgba(76,111,176,0.12); --draft-bg:rgba(176,126,46,0.14);
  --danger:#B0463E; --danger-bg:rgba(176,70,62,0.12);
  --shadow-sm:0 1px 2px rgba(40,32,10,0.05);
  --shadow:0 1px 2px rgba(40,32,10,0.05),0 10px 30px rgba(40,32,10,0.07);
  --shadow-lg:0 20px 60px rgba(40,32,10,0.16);
}
:root[data-theme="dark"] {
  --bg:#100F0C; --bg-side:#0B0A07; --panel:#191712; --panel-2:#201D16;
  --ink:#F3EFE4; --ink-2:#CFC8B6; --muted:#948C79; --faint:#675F4F;
  --border:#2A2620; --border-2:#39342A; --gold:#D8B96B; --gold-2:#EBD79E;
  --gold-bg:rgba(216,185,107,0.10); --gold-line:rgba(216,185,107,0.32);
  --good:#6FB07E; --review:#85A0DC; --draft:#D9AA57;
  --good-bg:rgba(111,176,126,0.14); --review-bg:rgba(133,160,220,0.15); --draft-bg:rgba(217,170,87,0.15);
  --danger:#E0796F; --danger-bg:rgba(224,121,111,0.14);
  --shadow-sm:0 1px 2px rgba(0,0,0,0.5);
  --shadow:0 1px 2px rgba(0,0,0,0.5),0 14px 34px rgba(0,0,0,0.5);
  --shadow-lg:0 24px 70px rgba(0,0,0,0.6);
}
* { box-sizing:border-box; }
html,body { margin:0; padding:0; }
body { background:var(--bg); color:var(--ink); font-family:var(--font-sans); font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
::selection { background:var(--gold-bg); }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; }
:focus-visible { outline:2px solid var(--gold); outline-offset:2px; border-radius:4px; }
input,select,textarea { font-family:inherit; }

/* ---------- Shell ---------- */
.app { display:grid; grid-template-columns:var(--nav-w) 1fr; min-height:100vh; }
.side { background:var(--bg-side); border-right:1px solid var(--border); display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh; overflow:hidden; z-index:40; }
.brand { padding:16px 16px 12px; }
.brand-link { display:flex; align-items:center; gap:11px; }
.mark { width:30px; height:30px; flex:0 0 auto; }
.mark.lg { width:52px; height:52px; }
.brand-txt { line-height:1.1; display:flex; flex-direction:column; }
.brand-txt .n { font-family:var(--font-serif); font-size:17px; font-weight:600; letter-spacing:.2px; }
.brand-txt .s { font-family:var(--font-mono); font-size:9.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--muted); }
.side-search { margin:2px 14px 8px; padding:8px 11px; display:flex; align-items:center; gap:8px; width:calc(100% - 28px);
  background:var(--panel); border:1px solid var(--border); border-radius:var(--r-sm); color:var(--muted); font-size:13px;
  box-shadow:var(--shadow-sm); text-align:left; }
.side-search:hover { border-color:var(--border-2); }
.side-search .kbd { margin-left:auto; font-family:var(--font-mono); font-size:10.5px; color:var(--faint);
  border:1px solid var(--border); border-radius:5px; padding:1px 6px; }
.nav { flex:1; overflow-y:auto; padding:2px 10px 20px; }
.nav::-webkit-scrollbar { width:8px; }
.nav::-webkit-scrollbar-thumb { background:var(--border-2); border-radius:8px; }
.nav-sec { margin-top:12px; }
.nav-lbl { font-family:var(--font-mono); font-size:10px; letter-spacing:1.4px; text-transform:uppercase; color:var(--faint); padding:4px 10px; }
.nav-item { display:flex; align-items:center; gap:9px; padding:6px 10px; border-radius:var(--r-sm); color:var(--ink-2);
  font-size:13.5px; font-weight:450; position:relative; cursor:pointer; }
.nav-item:hover { background:var(--panel); color:var(--ink); }
.nav-item .ic { width:15px; text-align:center; color:var(--muted); font-size:13px; flex:0 0 auto; }
.nav-item.active { background:var(--gold-bg); color:var(--ink); font-weight:600; }
.nav-item.active .ic { color:var(--gold); }
.nav-item.active::before { content:""; position:absolute; left:-10px; top:7px; bottom:7px; width:3px; background:var(--gold); border-radius:0 3px 3px 0; }
.nav-item .doc-id { margin-left:auto; font-family:var(--font-mono); font-size:9px; color:var(--faint); letter-spacing:.3px; flex:0 0 auto; }
.np-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nav-cat .caret { margin-left:auto; color:var(--faint); font-size:10px; transition:transform .18s; flex:0 0 auto; }
.nav-cat .cat-add { margin-left:auto; color:var(--faint); font-size:14px; width:18px; text-align:center; opacity:0; flex:0 0 auto; }
.nav-cat:hover .cat-add { opacity:1; }
.nav-cat:hover .cat-add:hover { color:var(--gold); }
.nav-parent.closed .caret { transform:rotate(-90deg); }
.nav-children { margin:2px 0 4px 12px; padding-left:12px; border-left:1px solid var(--border); }
.nav-parent.closed .nav-children { display:none; }
.nav-children .nav-item { font-size:12.5px; padding:5px 10px; }
.nav-empty { font-size:11px; color:var(--faint); padding:4px 10px; }
.side-foot { border-top:1px solid var(--border); padding:10px 14px; display:flex; align-items:center; gap:10px; }
.avatar { width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#1a1508; display:grid; place-items:center; font-weight:700; font-size:12px; flex:0 0 auto; }
.avatar.sm { width:30px; height:30px; }
.who { line-height:1.2; flex:1; min-width:0; }
.who b { font-size:12.5px; font-weight:600; }
.who span { display:block; font-size:11px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.logout-form { margin:0; }
.logout-btn { background:none; border:1px solid var(--border); color:var(--muted); width:28px; height:28px; border-radius:7px; }
.logout-btn:hover { color:var(--danger); border-color:var(--danger); }

.main { display:flex; flex-direction:column; min-width:0; }
.topbar { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:14px; padding:10px 24px;
  background:color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter:saturate(150%) blur(14px); border-bottom:1px solid var(--border); }
.burger { display:none; background:none; border:none; font-size:18px; color:var(--ink-2); }
.crumbs { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--muted); min-width:0; overflow:hidden; }
.crumbs .sep { color:var(--faint); }
.crumbs b { color:var(--ink-2); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.crumbs a:hover { color:var(--ink); }
.top-actions { margin-left:auto; display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.icon-btn { height:34px; min-width:34px; display:grid; place-items:center; border-radius:var(--r-sm); background:var(--panel);
  border:1px solid var(--border); color:var(--ink-2); box-shadow:var(--shadow-sm); padding:0 8px; }
.icon-btn:hover { border-color:var(--border-2); color:var(--ink); }
.btn-search { display:flex; align-items:center; gap:8px; padding:0 12px; font-size:12.5px; color:var(--muted); }
.btn-search .kbd { font-family:var(--font-mono); font-size:10px; color:var(--faint); border:1px solid var(--border); border-radius:5px; padding:1px 5px; }
.scroll { flex:1; overflow-y:auto; }

/* ---------- Document ---------- */
.doc-wrap { display:grid; grid-template-columns:minmax(0,1fr) var(--rail-w); gap:40px; max-width:1180px; margin:0 auto; padding:28px 30px 90px; }
.doc { min-width:0; }
.doc-idrow { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.id-chip { font-family:var(--font-mono); font-size:11px; letter-spacing:1px; color:var(--gold); background:var(--gold-bg); border:1px solid var(--gold-line); padding:3px 9px; border-radius:6px; }
.kind-chip { font-family:var(--font-mono); font-size:10px; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); border:1px solid var(--border-2); padding:3px 8px; border-radius:6px; }
.doc-actions { margin-left:auto; }
.doc h1 { font-family:var(--font-serif); font-weight:600; font-size:38px; line-height:1.12; letter-spacing:-.4px; margin:4px 0 12px; text-wrap:balance; }
.doc-emoji { font-family:var(--font-sans); }
.lead { font-size:17px; line-height:1.55; color:var(--ink-2); max-width:64ch; margin:0 0 22px; }
.meta-chips { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:22px; margin-bottom:6px; border-bottom:1px solid var(--border); }
.chip { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-2); background:var(--panel); border:1px solid var(--border); border-radius:20px; padding:4px 11px 4px 9px; box-shadow:var(--shadow-sm); }
.chip .k { color:var(--muted); }
.chip.tag { color:var(--gold); }
.chip .dot { width:16px; height:16px; border-radius:50%; font-size:9px; display:grid; place-items:center; background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#1a1508; font-weight:700; }
.status { font-weight:600; padding:4px 11px; border-radius:20px; font-size:12px; }
.status.draft { color:var(--draft); background:var(--draft-bg); }
.status.review { color:var(--review); background:var(--review-bg); }
.status.live { color:var(--good); background:var(--good-bg); }

/* ---------- Markdown body ---------- */
.md { color:var(--ink-2); font-size:15.5px; }
.md > :first-child { margin-top:8px; }
.md h2 { font-family:var(--font-serif); font-weight:600; font-size:22px; letter-spacing:-.2px; color:var(--ink);
  margin:34px 0 12px; padding-top:6px; scroll-margin-top:74px; }
.md h3 { font-size:16px; font-weight:700; color:var(--ink); margin:22px 0 8px; scroll-margin-top:74px; }
.md p { margin:0 0 13px; max-width:70ch; }
.md a { color:var(--gold); border-bottom:1px solid var(--gold-line); }
.md a:hover { border-bottom-color:var(--gold); }
.md a code { color:var(--gold); }
.md ul, .md ol { margin:0 0 14px; padding-left:22px; max-width:70ch; }
.md li { margin:5px 0; }
.md ul li::marker { color:var(--gold); }
.md ol li::marker { color:var(--gold); font-family:var(--font-mono); font-size:.85em; }
.md strong { color:var(--ink); }
.md code { font-family:var(--font-mono); font-size:.86em; background:var(--panel-2); border:1px solid var(--border); border-radius:5px; padding:1px 5px; }
.md pre { background:var(--panel-2); border:1px solid var(--border); border-radius:var(--r); padding:14px 16px; overflow-x:auto; }
.md pre code { background:none; border:none; padding:0; }
.md blockquote { margin:14px 0; padding:14px 17px; background:var(--gold-bg); border:1px solid var(--gold-line); border-radius:var(--r); color:var(--ink-2); }
.md blockquote p { margin:0; }
.md blockquote strong { color:var(--gold); }
.md table { width:100%; border-collapse:collapse; font-size:13.5px; margin:6px 0 18px; display:block; overflow-x:auto; }
.md thead th { text-align:left; font-family:var(--font-mono); font-size:10.5px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); font-weight:600; padding:10px 14px; background:var(--panel-2); border-bottom:1px solid var(--border); }
.md tbody td { padding:10px 14px; border-bottom:1px solid var(--border); }
.md tbody td:first-child { color:var(--ink); font-weight:500; }
.md hr { border:none; border-top:1px solid var(--border); margin:26px 0; }
.md .task-list-item { list-style:none; margin-left:-22px; display:flex; align-items:flex-start; gap:9px; padding:2px 0; }
.md .task-list-item input { margin-top:5px; accent-color:var(--gold); width:15px; height:15px; }
.md img { max-width:100%; border-radius:var(--r); border:1px solid var(--border); }

.related-block { margin-top:38px; padding-top:22px; border-top:1px solid var(--border); }
.rb-h { font-family:var(--font-mono); font-size:10px; letter-spacing:1.4px; text-transform:uppercase; color:var(--faint); margin-bottom:12px; }
.rel { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rel a { display:flex; align-items:center; gap:11px; padding:11px 14px; background:var(--panel); border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow-sm); }
.rel a:hover { border-color:var(--gold-line); transform:translateY(-1px); }
.rel .rid { font-family:var(--font-mono); font-size:10px; color:var(--gold); letter-spacing:.5px; flex:0 0 auto; }
.rel .rn { font-size:13px; font-weight:500; color:var(--ink); }

/* ---------- Right rail ---------- */
.rail { position:sticky; top:74px; align-self:start; display:flex; flex-direction:column; gap:16px; }
.rail-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:14px; box-shadow:var(--shadow-sm); }
.rail-h { font-family:var(--font-mono); font-size:10px; letter-spacing:1.4px; text-transform:uppercase; color:var(--faint); margin-bottom:10px; }
.toc a { display:block; font-size:12.5px; color:var(--muted); padding:4px 0 4px 12px; border-left:2px solid var(--border); }
.toc a:hover { color:var(--ink); }
.toc a.on { color:var(--ink); border-left-color:var(--gold); font-weight:500; }
.ai-btn { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; padding:11px; border-radius:var(--r-sm);
  font-weight:600; font-size:13.5px; color:#1a1508; background:linear-gradient(135deg,var(--gold-2),var(--gold)); border:none; box-shadow:var(--shadow); }
.ai-btn:hover { transform:translateY(-1px); filter:brightness(1.04); }
.rail-meta { display:grid; gap:9px; }
.rail-meta .row { display:flex; justify-content:space-between; align-items:center; font-size:12.5px; }
.rail-meta .row .k { color:var(--muted); }
.rail-meta .row .v { color:var(--ink-2); font-weight:500; }
.prog { height:6px; border-radius:6px; background:var(--border); overflow:hidden; margin-top:6px; }
.prog i { display:block; height:100%; background:linear-gradient(90deg,var(--gold-2),var(--gold)); border-radius:6px; }
.rail-btns { display:grid; gap:8px; margin-top:14px; }
.rail-btns form { margin:0; }

.mini-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:12.5px; font-weight:500;
  padding:7px 12px; border-radius:var(--r-sm); background:var(--panel); border:1px solid var(--border); color:var(--ink-2); box-shadow:var(--shadow-sm); }
.mini-btn:hover { border-color:var(--border-2); color:var(--ink); }
.mini-btn.full { width:100%; }
.mini-btn.danger { color:var(--danger); border-color:transparent; background:var(--danger-bg); }
.mini-btn.danger:hover { border-color:var(--danger); }

/* ---------- Dashboard ---------- */
.dash, .struktur, .search-page { max-width:1180px; margin:0 auto; padding:32px 30px 90px; }
.hello { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; flex-wrap:wrap; }
.hello h1 { font-family:var(--font-serif); font-weight:600; font-size:32px; letter-spacing:-.4px; margin:0 0 4px; }
.hello .sub { color:var(--muted); font-size:14px; }
.new-btn { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:var(--r-sm); font-weight:600; font-size:13.5px;
  color:#1a1508; background:linear-gradient(135deg,var(--gold-2),var(--gold)); border:none; box-shadow:var(--shadow); }
.new-btn:hover { transform:translateY(-1px); filter:brightness(1.04); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.stat { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:16px 17px; box-shadow:var(--shadow-sm); }
.stat .sl { font-size:12px; color:var(--muted); display:flex; align-items:center; gap:7px; }
.stat .sl .d2 { width:8px; height:8px; border-radius:50%; }
.stat .sv { font-family:var(--font-serif); font-size:32px; font-weight:600; letter-spacing:-.5px; margin-top:6px; font-variant-numeric:tabular-nums; }
.stat .st { font-size:11.5px; color:var(--muted); margin-top:2px; }
.stat .st b { color:var(--good); }
.grid2 { display:grid; grid-template-columns:1.15fr 1fr; gap:16px; }
.card { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; }
.card-h { display:flex; align-items:center; gap:9px; padding:15px 17px 11px; }
.card-h h3 { font-size:14px; font-weight:600; margin:0; }
.card-h .hi { color:var(--gold); }
.card-h .more { margin-left:auto; font-size:11.5px; color:var(--muted); }
.card-b { padding:4px 9px 10px; }
.row-item { display:flex; align-items:center; gap:12px; padding:10px 8px; border-radius:var(--r-sm); }
.row-item:hover { background:var(--panel-2); }
.row-item .rid2 { font-family:var(--font-mono); font-size:9.5px; color:var(--gold); letter-spacing:.5px; width:48px; flex:0 0 auto; }
.row-item .rmain { min-width:0; flex:1; }
.row-item .rt { font-size:13.5px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ink); }
.row-item .rs { font-size:11.5px; color:var(--muted); }
.miniprog { width:64px; flex:0 0 auto; }
.miniprog .pct { font-size:10.5px; color:var(--muted); font-variant-numeric:tabular-nums; text-align:right; margin-bottom:3px; }
.st-pill { font-size:10.5px; font-weight:600; padding:3px 9px; border-radius:20px; flex:0 0 auto; }
.st-pill.review { color:var(--review); background:var(--review-bg); }
.st-pill.live { color:var(--good); background:var(--good-bg); }
.feed .row-item { align-items:flex-start; }
.feed .av { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:10.5px; font-weight:700; color:#1a1508; flex:0 0 auto; }
.feed .av.t { background:linear-gradient(135deg,#8FB6E0,#4C6FB0); color:#0a1220; }
.feed .av.c { background:linear-gradient(135deg,#C9A0DC,#8E5EA8); color:#180a20; }
.feed .av.d { background:linear-gradient(135deg,var(--gold-2),var(--gold)); }
.feed .ft { font-size:13px; color:var(--ink-2); }
.feed .ft b { color:var(--ink); font-weight:600; }
.feed .fm { font-size:11px; color:var(--muted); margin-top:1px; }
.empty { font-size:12.5px; color:var(--muted); padding:12px 8px; }
.full { grid-column:1 / -1; }
.sop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:6px 15px 16px; }
.sop { text-align:left; background:var(--panel-2); border:1px solid var(--border); border-radius:var(--r); padding:14px; }
.sop:hover { border-color:var(--gold-line); transform:translateY(-2px); }
.sop .sid { font-family:var(--font-mono); font-size:9.5px; color:var(--gold); letter-spacing:.5px; }
.sop .sn { font-size:13.5px; font-weight:600; margin:6px 0 4px; color:var(--ink); }
.sop .sd { font-size:12px; color:var(--muted); line-height:1.45; }

/* ---------- Login ---------- */
.login-body { display:grid; place-items:center; min-height:100vh; background:
  radial-gradient(1200px 600px at 70% -10%, var(--gold-bg), transparent), var(--bg); }
.login-card { width:min(400px,92vw); background:var(--panel); border:1px solid var(--border); border-radius:18px; padding:34px 32px; box-shadow:var(--shadow-lg); }
.login-brand { text-align:center; margin-bottom:24px; }
.login-name { font-family:var(--font-serif); font-size:26px; font-weight:600; margin-top:10px; }
.login-name span { color:var(--gold); }
.login-sub { color:var(--muted); font-size:13px; margin-top:2px; }
.login-form { display:flex; flex-direction:column; gap:6px; }
.login-form label { font-size:12px; color:var(--muted); margin-top:10px; }
.login-form input { padding:11px 13px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel-2); color:var(--ink); font-size:14px; }
.login-form input:focus { outline:none; border-color:var(--gold); }
.pw-wrap { position:relative; display:flex; }
.pw-wrap input { flex:1; width:100%; padding-right:44px; }
.pw-eye { position:absolute; right:5px; top:50%; transform:translateY(-50%); background:none; border:none; font-size:17px; line-height:1; padding:6px; opacity:.65; border-radius:6px; }
.pw-eye:hover { opacity:1; background:var(--panel-2); }
.login-btn { margin-top:18px; padding:12px; border:none; border-radius:var(--r-sm); font-weight:600; font-size:14px; color:#1a1508; background:linear-gradient(135deg,var(--gold-2),var(--gold)); box-shadow:var(--shadow); }
.login-btn:hover { filter:brightness(1.04); }
.login-err { background:var(--danger-bg); color:var(--danger); font-size:13px; padding:10px 12px; border-radius:var(--r-sm); margin-bottom:14px; text-align:center; }
.login-foot { text-align:center; color:var(--faint); font-size:11.5px; margin-top:18px; }

/* ---------- Edit ---------- */
.edit-wrap { max-width:1000px; margin:0 auto; padding:24px 30px 90px; }
.edit-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.edit-title-row { display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
.ico-in { width:52px; text-align:center; font-size:20px; padding:8px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel); color:var(--ink); }
.title-in { flex:1; font-family:var(--font-serif); font-size:26px; font-weight:600; padding:8px 12px; border:1px solid transparent; border-radius:var(--r-sm); background:transparent; color:var(--ink); }
.title-in:focus { outline:none; border-color:var(--border); background:var(--panel); }
.edit-actions { display:flex; gap:8px; flex:0 0 auto; }
.save-btn { padding:9px 18px; border:none; border-radius:var(--r-sm); font-weight:600; font-size:13.5px; color:#1a1508; background:linear-gradient(135deg,var(--gold-2),var(--gold)); box-shadow:var(--shadow); }
.save-btn:hover { filter:brightness(1.04); }
.desc-in { width:100%; padding:9px 12px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel); color:var(--ink-2); font-size:14px; margin-bottom:14px; }
.meta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.meta-grid label { display:flex; flex-direction:column; gap:4px; font-size:11px; color:var(--muted); }
.meta-grid label.wide { grid-column:span 2; }
.meta-grid input, .meta-grid select { padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel); color:var(--ink); font-size:13px; }
.meta-grid input:focus, .meta-grid select:focus { outline:none; border-color:var(--gold); }

/* ---------- Struktur ---------- */
.str-list { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.str-cat { display:flex; align-items:center; gap:10px; background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:8px 12px; box-shadow:var(--shadow-sm); flex-wrap:wrap; }
.str-drag { cursor:grab; color:var(--faint); font-size:16px; }
.str-row { display:flex; align-items:center; gap:8px; flex:1; margin:0; min-width:280px; }
.str-ico { width:44px; text-align:center; font-size:16px; padding:7px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel-2); color:var(--ink); }
.str-title { flex:1; min-width:120px; padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel-2); color:var(--ink); font-weight:500; }
.str-group { padding:8px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel-2); color:var(--ink-2); font-size:12.5px; }
.str-code { font-family:var(--font-mono); font-size:10px; color:var(--gold); background:var(--gold-bg); padding:3px 7px; border-radius:5px; }
.str-count { font-size:11.5px; color:var(--muted); }
.str-tools { display:flex; gap:6px; }
.str-del { display:none; width:100%; align-items:center; gap:10px; margin:8px 0 2px; padding:10px; background:var(--danger-bg); border-radius:var(--r-sm); font-size:12.5px; color:var(--danger); }
.str-del.open { display:flex; }
.str-del select { padding:6px 8px; border:1px solid var(--border); border-radius:6px; background:var(--panel); color:var(--ink-2); font-size:12px; }
.str-add { padding:16px 18px; }
.str-addform { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.str-code-in { width:120px; padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel-2); color:var(--ink); }

/* ---------- Search / 404 ---------- */
.search-page h1, .struktur h1 { font-family:var(--font-serif); font-weight:600; font-size:30px; margin:0 0 16px; }
.search-bar { display:flex; gap:10px; margin-bottom:20px; }
.search-bar input { flex:1; padding:12px 15px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel); color:var(--ink); font-size:15px; }
.search-bar input:focus { outline:none; border-color:var(--gold); }
.search-bar button { padding:0 20px; border:none; border-radius:var(--r-sm); font-weight:600; color:#1a1508; background:linear-gradient(135deg,var(--gold-2),var(--gold)); }
.search-count { font-size:12.5px; color:var(--muted); margin-bottom:12px; }
.search-results { display:grid; gap:10px; }
.sr { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:14px 16px; box-shadow:var(--shadow-sm); }
.sr:hover { border-color:var(--gold-line); }
.sr-top { display:flex; justify-content:space-between; font-size:10.5px; }
.sr-top .rid { font-family:var(--font-mono); color:var(--gold); letter-spacing:.5px; }
.sr-cat { color:var(--muted); }
.sr-title { font-size:15px; font-weight:600; color:var(--ink); margin:5px 0 3px; }
.sr-desc { font-size:12.5px; color:var(--muted); }
.notfound { max-width:600px; margin:0 auto; padding:80px 30px; text-align:center; }
.nf-code { font-family:var(--font-serif); font-size:64px; font-weight:600; color:var(--gold); }
.notfound h1 { font-family:var(--font-serif); font-weight:600; font-size:26px; margin:8px 0; }
.notfound p { color:var(--muted); }
.nf-btns { display:flex; gap:10px; justify-content:center; margin-top:20px; }

/* ---------- Cmd-K ---------- */
.cmdk-back, .ai-back { position:fixed; inset:0; z-index:90; background:rgba(20,16,6,.42); backdrop-filter:blur(4px); display:none; align-items:flex-start; justify-content:center; padding-top:12vh; }
.cmdk-back.open, .ai-back.open { display:flex; animation:fade .16s ease; }
.cmdk { width:min(600px,92vw); background:var(--panel); border:1px solid var(--border-2); border-radius:16px; box-shadow:var(--shadow-lg); overflow:hidden; animation:pop .18s cubic-bezier(.2,.9,.3,1.2); }
.cmdk-in { display:flex; align-items:center; gap:11px; padding:15px 18px; border-bottom:1px solid var(--border); }
.cmdk-in input { flex:1; background:none; border:none; outline:none; color:var(--ink); font-size:16px; }
.cmdk-in .esc { font-family:var(--font-mono); font-size:10px; color:var(--faint); border:1px solid var(--border); border-radius:5px; padding:2px 6px; }
.cmdk-body { max-height:52vh; overflow-y:auto; padding:8px; }
.cmdk-hint, .cmdk-empty { font-size:12.5px; color:var(--muted); padding:14px; text-align:center; }
.cmdk-res { display:flex; align-items:center; gap:12px; padding:9px 11px; border-radius:9px; cursor:pointer; }
.cmdk-res.sel, .cmdk-res:hover { background:var(--gold-bg); }
.cmdk-res .ri { width:16px; text-align:center; }
.cmdk-res .rid3 { font-family:var(--font-mono); font-size:9.5px; color:var(--muted); width:52px; flex:0 0 auto; }
.cmdk-res .rtt { font-size:13.5px; font-weight:500; color:var(--ink); }
.cmdk-res .rpath { margin-left:auto; font-size:11px; color:var(--muted); }

/* ---------- AI modal ---------- */
.ai-modal { width:min(560px,94vw); background:var(--panel); border:1px solid var(--border-2); border-radius:16px; box-shadow:var(--shadow-lg); overflow:hidden; display:flex; flex-direction:column; max-height:76vh; animation:pop .18s cubic-bezier(.2,.9,.3,1.2); }
.ai-head { display:flex; align-items:center; gap:10px; padding:15px 18px; border-bottom:1px solid var(--border); }
.ai-title { font-weight:600; }
.ai-beta { font-size:10.5px; color:var(--gold); background:var(--gold-bg); border:1px solid var(--gold-line); padding:2px 8px; border-radius:20px; }
.ai-x { margin-left:auto; background:none; border:none; color:var(--muted); font-size:15px; }
.ai-body { padding:16px 18px; overflow-y:auto; flex:1; font-size:14px; line-height:1.6; color:var(--ink-2); }
.ai-empty { color:var(--muted); font-size:13px; }
.ai-q { font-weight:600; color:var(--ink); margin:10px 0 6px; }
.ai-a { white-space:pre-wrap; }
.ai-src { margin-top:12px; display:flex; flex-wrap:wrap; gap:6px; }
.ai-src a { font-family:var(--font-mono); font-size:10px; color:var(--gold); background:var(--gold-bg); border:1px solid var(--gold-line); padding:3px 8px; border-radius:6px; }
.ai-loading { color:var(--muted); font-size:13px; }
.ai-inrow { display:flex; gap:8px; padding:14px 18px; border-top:1px solid var(--border); }
.ai-inrow input { flex:1; padding:10px 13px; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel-2); color:var(--ink); font-size:14px; }
.ai-inrow input:focus { outline:none; border-color:var(--gold); }
.ai-send { padding:0 18px; border:none; border-radius:var(--r-sm); font-weight:600; color:#1a1508; background:linear-gradient(135deg,var(--gold-2),var(--gold)); }

@keyframes fade { from { opacity:0; } }
@keyframes pop { from { opacity:0; transform:translateY(-8px) scale(.98); } }
.dash, .doc-wrap, .struktur, .search-page, .edit-wrap { animation:rise .28s ease; }
@keyframes rise { from { opacity:0; transform:translateY(6px); } }
@media (prefers-reduced-motion: reduce) { * { animation:none !important; transition:none !important; } }

/* ---------- Responsive ---------- */
@media (max-width:1080px) {
  .doc-wrap { grid-template-columns:1fr; }
  .rail { display:none; }
  .stats { grid-template-columns:repeat(2,1fr); }
  .grid2 { grid-template-columns:1fr; }
  .sop-grid { grid-template-columns:1fr 1fr; }
  .meta-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) {
  .app { grid-template-columns:1fr; }
  .side { position:fixed; left:0; top:0; width:280px; transform:translateX(-100%); transition:transform .22s; }
  .side.open { transform:translateX(0); box-shadow:var(--shadow-lg); }
  .burger { display:block; }
  .sop-grid { grid-template-columns:1fr; }
  .doc h1 { font-size:30px; }
  .btn-search { display:none; }
  .meta-grid { grid-template-columns:1fr 1fr; }
}
