:root{--bg-0: #0b1c1a;--bg-1: #12302b;--bg-2: #1a4039;--panel: rgba(246, 241, 232, .06);--panel-strong: rgba(246, 241, 232, .1);--ink: #f4efe4;--ink-muted: #b7c4bf;--accent: #e2a86a;--accent-2: #7ec8b0;--danger: #e07a6b;--ok: #79c98d;--line: rgba(244, 239, 228, .14);--shadow: 0 24px 60px rgba(0, 0, 0, .35);--radius: 18px;--font-display: "Fraunces", Georgia, serif;--font-body: "Sora", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 700px at 10% -10%,rgba(126,200,176,.22),transparent 55%),radial-gradient(900px 600px at 90% 0%,rgba(226,168,106,.18),transparent 50%),linear-gradient(160deg,var(--bg-0),var(--bg-1) 45%,#0e2420);background-attachment:fixed}button,input,select,textarea{font:inherit}a{color:var(--accent-2);text-decoration:none}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{padding:1.5rem 1.1rem;border-right:1px solid var(--line);background:linear-gradient(180deg,#081614bf,#0c1e1b73);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-family:var(--font-display);font-size:2rem;letter-spacing:-.03em;margin:0 0 .25rem}.brand-sub{color:var(--ink-muted);font-size:.85rem;margin-bottom:1.75rem}.nav-link{display:block;padding:.7rem .85rem;border-radius:12px;color:var(--ink);margin-bottom:.35rem;transition:background .16s ease,transform .16s ease}.nav-link:hover,.nav-link.active{background:var(--panel-strong);transform:translate(2px)}.main{padding:1.5rem 1.75rem 2.5rem}.page-title{font-family:var(--font-display);font-size:clamp(1.8rem,2.5vw,2.4rem);margin:0 0 .35rem}.page-lead{color:var(--ink-muted);margin:0 0 1.5rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.stack{display:grid;gap:.75rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}label{display:grid;gap:.35rem;font-size:.9rem;color:var(--ink-muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:#00000038;color:var(--ink);border-radius:12px;padding:.7rem .85rem}button,.btn{border:0;border-radius:999px;padding:.7rem 1.1rem;background:linear-gradient(135deg,var(--accent),#c98445);color:#1b1208;font-weight:600;cursor:pointer;transition:transform .16s ease,filter .16s ease}button:hover,.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}button.secondary,.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button.danger{background:linear-gradient(135deg,var(--danger),#b45345);color:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.muted{color:var(--ink-muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden}.login-screen:before{content:"";position:absolute;inset:-20% 20% auto -10%;height:55vh;background:radial-gradient(circle at 30% 40%,rgba(126,200,176,.35),transparent 45%),radial-gradient(circle at 70% 30%,rgba(226,168,106,.28),transparent 40%);filter:blur(8px);animation:drift 12s ease-in-out infinite alternate}.login-card{width:min(420px,100%);position:relative;z-index:1;animation:rise .7s ease both}.login-card h1{font-family:var(--font-display);font-size:2.6rem;margin:0 0 .35rem}.file-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .2rem;border-bottom:1px solid var(--line)}.file-name{min-width:0;overflow-wrap:anywhere}.file-row button.linkish{background:none;color:var(--accent-2);border:0;padding:0;border-radius:0}@keyframes drift{0%{transform:translateY(0) scale(1)}to{transform:translateY(24px) scale(1.05)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.topbar{display:none}.sidebar-user{margin-top:2rem}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:560px}pre{overflow-wrap:anywhere;max-width:100%}.qr svg{display:block;width:100%;height:auto}.main,.grid-2>*{min-width:0}@media(max-width:920px){body{background-attachment:scroll}.app-shell{grid-template-columns:1fr;min-height:100dvh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(.6rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) .6rem calc(1rem + env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#081614eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar .brand{font-size:1.5rem;margin:0}.sidebar{display:none;border-right:0;border-bottom:1px solid var(--line);padding:.75rem calc(1rem + env(safe-area-inset-right)) 1rem calc(1rem + env(safe-area-inset-left))}.sidebar.open{display:block}.sidebar-brand{display:none}.sidebar-user{margin-top:1rem}.nav-link:hover,.nav-link.active{transform:none}.main{padding:1.1rem calc(1rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left))}.grid-2{grid-template-columns:1fr}input,select,textarea{font-size:16px}button,.btn,.nav-link,input,select{min-height:44px}button:hover,.btn:hover{transform:none}}@media(max-width:560px){.panel{padding:.9rem;border-radius:14px}.page-lead{margin-bottom:1rem}.file-row{flex-wrap:wrap}.file-row .row{width:100%}.file-row .row button{flex:1}.login-screen{padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom))}.login-card h1{font-size:2.2rem}}
