:root{--ruby: #b11226;--ruby-hover: #8e0e1e;--ruby-deep: #7a0c1a;--ruby-soft: #ffdad6;--ruby-mist: rgba(177, 18, 38, .08);--ink: #201a19;--ink-soft: #534341;--muted: #6b5f5d;--line: #e8e0de;--line-strong: #d4c9c6;--surface: #ffffff;--surface-2: #faf7f6;--bg: #f6f1f0;--ok: #1b5e20;--ok-bg: #e8f5e9;--ok-line: #c8e6c9;--warn: #8a5a00;--warn-bg: #fff4e5;--danger: #6b1020;--danger-bg: #fdecee;--danger-line: #f0c4cb;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(32, 26, 25, .04), 0 8px 24px rgba(32, 26, 25, .06);--shadow-lg: 0 12px 40px rgba(32, 26, 25, .12);--font: "Manrope", "Segoe UI", system-ui, sans-serif;--topbar-h: 64px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 0% -10%,var(--ruby-mist),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(177,18,38,.04),transparent 50%),var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--ruby);text-decoration:none}a:hover{color:var(--ruby-hover)}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.65rem;font-weight:800;font-size:1.05rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.brand:hover{color:var(--ruby)}.brand-mark{width:32px;height:32px;border-radius:8px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text small{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.nav-links{display:flex;align-items:center;gap:.25rem;padding:.2rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px}.nav a.nav-link{color:var(--ink-soft);padding:.4rem .85rem;border-radius:999px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s ease,color .15s ease}.nav a.nav-link:hover{color:var(--ink);background:#ffffffe6}.nav a.nav-link.active{color:#fff;background:var(--ruby)}.nav-user{display:flex;align-items:center;gap:.65rem;margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--line)}.nav-user .meta{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;width:min(1080px,100%);margin:0 auto;padding:1.75rem 1.25rem 3.5rem}.page-header{margin-bottom:1.35rem}.page-header h1{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .3rem;color:var(--ink)}.page-header p{margin:0;color:var(--muted);font-size:.95rem;max-width:42rem}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.65rem}.back-link:hover{color:var(--ruby)}h2{font-size:1rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .85rem;color:var(--ink)}.muted{color:var(--muted);font-size:.9rem}.meta{font-size:.8rem;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow)}.card.flat{box-shadow:none;background:var(--surface-2)}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.card-header h2{margin:0}.empty{padding:1.5rem .25rem;text-align:center;color:var(--muted);font-size:.92rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--ink-soft);flex:1;min-width:140px}label.checkbox{flex-direction:row;align-items:center;gap:.5rem;min-width:auto;font-weight:500;cursor:pointer}input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local],select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.6rem .75rem;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--ruby);box-shadow:0 0 0 3px #b1122626}.btn{border:none;border-radius:var(--radius-sm);padding:.6rem 1.15rem;cursor:pointer;background:var(--ruby);color:#fff;font-weight:700;font-size:.9rem;letter-spacing:-.01em;transition:background .15s ease,transform .1s ease}.btn:hover{background:var(--ruby-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line-strong)}.btn.secondary:hover{background:var(--surface-2);border-color:var(--line-strong)}.btn.ghost{background:transparent;color:var(--ink-soft);border:none;padding:.4rem .65rem;font-weight:600}.btn.ghost:hover{color:var(--ruby);background:var(--ruby-mist)}.btn.danger{background:var(--ruby-deep)}.btn.sm{padding:.4rem .75rem;font-size:.8rem}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line);font-size:.9rem}.alert.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.list{list-style:none;margin:0;padding:0}.list li{border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:none}.list a,.list .row-item{display:block;padding:.85rem .35rem;color:inherit;text-decoration:none;border-radius:var(--radius-sm);transition:background .12s ease}.list a:hover{background:var(--surface-2);color:inherit}.list a strong{font-weight:700;color:var(--ink)}.table-wrap{overflow-x:auto;margin:0 -.25rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.75rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover td{background:#fffbfacc}.table tbody tr:last-child td{border-bottom:none}pre.payload{margin:.2rem 0 0;font-size:.72rem;font-family:ui-monospace,SF Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-word;color:var(--muted);max-height:120px;overflow:auto;background:var(--surface-2);border-radius:6px;padding:.45rem .55rem}.pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:#efeae9;color:var(--ink-soft);letter-spacing:.01em}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.danger{background:var(--danger-bg);color:var(--danger)}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.ruby{background:var(--ruby-soft);color:var(--ruby-deep)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem}.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .85rem}.stat .label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.stat .value{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;margin-top:.15rem}.feature-flags{display:flex;flex-wrap:wrap;gap:.4rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem}.segmented{display:inline-flex;padding:.2rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;gap:.15rem}.segmented button{border:none;background:transparent;padding:.4rem .85rem;border-radius:999px;font-weight:600;font-size:.85rem;color:var(--ink-soft);cursor:pointer}.segmented button.active{background:var(--ruby);color:#fff}.segmented button:hover:not(.active){background:#ffffffd9}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(160deg,var(--ruby-deep) 0%,var(--ruby) 42%,#d42a3f 100%);position:relative;overflow:hidden}.login-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.12),transparent 40%),radial-gradient(circle at 85% 15%,rgba(255,255,255,.1),transparent 35%);pointer-events:none}.login-card{width:min(420px,100%);position:relative;z-index:1;padding:1.75rem 1.65rem;animation:rise .45s ease both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.login-brand img{width:44px;height:44px;border-radius:10px;object-fit:cover}.login-brand .title{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.login-card .lede{margin:0 0 .25rem;color:var(--muted);font-size:.92rem}.state-panel{max-width:440px;margin:3rem auto;text-align:center;padding:2.25rem 1.75rem}.state-panel .icon-wrap{width:56px;height:56px;margin:0 auto 1rem;border-radius:16px;background:var(--ruby-mist);display:grid;place-items:center;font-size:1.5rem;color:var(--ruby)}.state-panel h1{font-size:1.35rem;font-weight:800;margin:0 0 .5rem;letter-spacing:-.02em}.state-panel p{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem}.loading-screen{min-height:40vh;display:grid;place-items:center;color:var(--muted);font-weight:600}@media(max-width:720px){.topbar{height:auto;min-height:var(--topbar-h);flex-direction:column;align-items:stretch;padding:.75rem 1rem;gap:.65rem}.nav{justify-content:space-between}.nav-links{flex:1;overflow-x:auto}.nav-user{border-left:none;padding-left:0;margin-left:0}.nav-user .meta{display:none}.main{padding:1.25rem 1rem 2.5rem}.page-header h1{font-size:1.4rem}}
