:root{--bg:#0c0d10;--panel:#14161b;--line:#22252c;--ink:#e8e6e1;--muted:#8b8f98;--accent:#c9a86a;--red:#d06058;--ok:#7dbf6f;--dim:var(--muted);--brass:var(--accent)}*{margin:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:14px/1.5 ui-sans-serif,system-ui,sans-serif}.app-shell{display:flex;flex-direction:column;min-height:100vh}.top-bar{display:flex;align-items:center;gap:6px;padding:0 16px;height:54px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:30}.brand{font-size:1.05rem;font-weight:650;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}.crumb-slash{width:15px;height:22px;color:var(--line);flex-shrink:0}.crumb{font-size:13.5px;font-weight:600;color:var(--muted)}.crumb-scope{display:flex;align-items:center;gap:1px}.crumb-scope .scope-name{padding:6px 7px}.crumb-scope .scope-toggle{padding:6px 3px}.app-body{display:flex;flex:1;align-items:stretch}.side-nav{width:210px;flex-shrink:0;display:flex;flex-direction:column;padding:14px 10px;border-right:1px solid var(--line);position:sticky;top:54px;align-self:flex-start;height:calc(100vh - 54px);transition:width .15s ease}.side-nav nav{display:grid;gap:4px}.side-nav nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}.side-nav nav a:hover{background:color-mix(in srgb,var(--panel) 55%,var(--line));color:var(--ink)}.side-nav nav a.on{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.side-nav nav a svg{width:19px;height:19px;flex-shrink:0}.nav-toggle{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-top:auto;border:none;background:none;border-radius:8px;color:var(--muted);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.nav-toggle:hover{background:color-mix(in srgb,var(--panel) 55%,var(--line));color:var(--ink)}.nav-toggle svg{width:19px;height:19px;flex-shrink:0}.side-nav.min{width:57px;padding:14px 9px}.side-nav.min nav a span,.side-nav.min .nav-toggle span{display:none}.side-nav.min nav a,.side-nav.min .nav-toggle{justify-content:center;padding:8px 0}.app-main{flex:1;min-width:0;padding:1.4rem;max-width:70rem}.spacer{flex:1}.dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;gap:8px;padding:6px 9px;border:none;background:none;border-radius:8px;color:var(--ink);font:inherit;font-size:13.5px;cursor:pointer}.dropdown-trigger:hover{background:var(--bg)}.dropdown-trigger svg{width:18px;height:18px;color:var(--muted)}.dropdown-trigger .chevron{width:12px;height:12px;transition:transform .15s}.dropdown-trigger .chevron.up{transform:rotate(180deg)}.dropdown-panel{position:absolute;left:0;top:calc(100% + 6px);min-width:230px;max-width:320px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:5px;box-shadow:0 10px 28px #00000059;display:grid;gap:2px;z-index:50}.dropdown-panel.right{left:auto;right:0}.dropdown-heading{margin:0;padding:6px 10px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-rule{border-top:1px solid var(--line);margin:3px 4px}.dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:none;background:none;border-radius:7px;color:var(--ink);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.dropdown-item:hover{background:var(--bg)}.dropdown-item .grow{flex:1}.dropdown-item svg{width:17px;height:17px;color:var(--muted)}.dropdown-item .check{color:var(--accent);width:15px;height:15px}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:13px;font-weight:700}@media (max-width: 760px){.app-body{flex-direction:column}.side-nav,.side-nav.min{width:auto;height:auto;position:static;flex-direction:row;align-items:center;padding:8px 14px;border-right:none;border-bottom:1px solid var(--line)}.side-nav nav,.side-nav.min nav{display:flex;gap:4px;overflow-x:auto;min-width:0}.side-nav nav a,.side-nav.min nav a{flex-shrink:0;padding:8px 10px;justify-content:flex-start}.side-nav.min nav a span{display:inline}.nav-toggle{display:none}}h2{font-size:1.15rem;margin-bottom:.9rem}h3{font-size:.95rem;margin:1.6rem 0 .6rem;color:var(--accent)}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}th,td{text-align:left;padding:.5rem .8rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:.8rem}tr:last-child td{border-bottom:none}.empty{color:var(--muted);text-align:center;padding:1.2rem}.mono{font-family:ui-monospace,monospace;font-size:.82rem}.small{font-size:.75rem}.actions{display:flex;gap:.35rem}input,textarea,select,button{font:inherit;background:#0f1116;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:.4rem .6rem}button{background:var(--accent);color:var(--bg);border:none;font-weight:600;cursor:pointer}button:disabled{opacity:.4;cursor:default}button.danger{background:transparent;color:var(--red);border:1px solid var(--red);font-weight:500}button.refresh{margin-bottom:.6rem}.form{display:flex;flex-direction:column;gap:.5rem;max-width:26rem}.form.inline{flex-direction:row;align-items:center;flex-wrap:wrap;max-width:none;margin-bottom:.9rem}.err{color:var(--red);margin-bottom:.8rem;white-space:pre-wrap}.ok{color:var(--ok);margin-top:.6rem}.hint{color:var(--muted);font-size:.8rem}a{color:var(--accent)}.login{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.login .key{width:56px;height:56px}.login h1{font-size:1.6rem;font-weight:650}.login h1 span{color:var(--accent)}.login h1 small{color:var(--muted);font-weight:400;font-size:1rem;margin-left:.4rem}.login .cta{padding:.6rem 2.2rem;font-size:1rem}.login .form{width:20rem}.login a{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:14px}.panel h4{font-size:.9rem;margin-bottom:.6rem}.form textarea{font-family:ui-monospace,monospace;font-size:.82rem}label.upload{display:inline-block;background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer}label.upload input{display:none}code{font-family:ui-monospace,monospace;font-size:.78rem;color:var(--accent)}
