:root{--magenta:#c3006b;--gray:#706f6f;--bg:#0f0f10;--panel:#18181b;--text:#e6e6e6;--muted:#a1a1aa;--border:#2a2a2e;--success:#22c55e;--danger:#ef4444}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.4}
a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:20px}.h2{font-size:1.4rem;margin:16px 0 8px}.muted{color:var(--muted)}
.topbar{position:sticky;top:0;background:rgba(24,24,27,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:10px 16px;z-index:50}
.brand-link{display:flex;gap:10px;align-items:center;font-weight:700}.cube{display:inline-block;width:14px;height:14px;background:linear-gradient(45deg,var(--magenta),var(--gray));border-radius:2px;box-shadow:0 0 0 2px rgba(0,0,0,.15) inset}
.user-pill{padding:6px 10px;border:1px solid var(--border);border-radius:999px;margin-right:8px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#1f1f24;padding:10px 14px;border-radius:14px;cursor:pointer}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(90deg,var(--magenta),#9a0050);border-color:transparent;color:white}
.btn-outline{background:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--text);opacity:.85}.btn-danger{background:#3a111f;border-color:#5c0b21;color:#ffc4da}.btn-small{padding:6px 10px;border-radius:10px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px;margin:14px 0}
.alert{background:#17221c;border:1px solid #20462d;color:#b6f3c6;padding:10px 12px;border-radius:12px;margin:10px 0}
.alert-error{background:#2a1414;border:1px solid #5a1f1f;color:#ffd3d3}
.form{display:grid;gap:10px}.form input,.form select{background:#111115;border:1px solid var(--border);padding:10px 12px;border-radius:12px;color:var(--text)}.form label{font-size:.9rem;color:var(--muted)}
.footer-note{color:var(--muted);text-align:center;padding:20px}
.login-body{display:grid;min-height:100vh;place-items:center}.login-card{width:min(420px,92vw)}
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:10px}
.tile{background:linear-gradient(180deg,#1b1b21,#141418);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px;transition:transform .12s ease}
.tile:hover{transform:translateY(-2px)}.tile-icon{font-size:2rem}.tile-title{font-weight:700}.tile-desc{color:var(--muted);font-size:.9rem}
.empty{opacity:.75;padding:16px;border:1px dashed var(--border);border-radius:16px;margin:14px 0;text-align:center}
.doc-list{display:flex;flex-direction:column;gap:8px}
.doc-row{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:#141418}
.doc-name{flex:1}.doc-meta{color:var(--muted);font-size:.9rem}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.stat{background:#141418;border:1px solid var(--border);border-radius:16px;padding:16px;text-align:center}
.stat-num{font-size:1.6rem;font-weight:800;background:linear-gradient(90deg,var(--magenta),#ff77c8);-webkit-background-clip:text;color:transparent}
.stat-label{color:var(--muted)}.list{display:flex;flex-direction:column;gap:10px}
.list-row{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:#141418}
.list-row .title{font-weight:700}.list-row .sub{color:var(--muted);font-size:.9rem}.badge{background:linear-gradient(90deg,var(--magenta),#9a0050);color:white;border-radius:999px;padding:2px 8px;font-size:.75rem;margin-left:6px}
.grow{flex:1}
