:root{--bg: #ffffff;--bg-soft: #f6f6f6;--card: #ffffff;--fg: #0a0a0a;--muted: #6f6f6f;--faint: #a3a3a3;--line: #e6e6e6;--line-strong: #111111;--hover: #f1f1f1;--accent: #0a0a0a;--accent-fg: #ffffff;--shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 24px rgba(0, 0, 0, .04);--radius: 12px;--ease: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg: #0a0a0a;--bg-soft: #121212;--card: #101010;--fg: #fafafa;--muted: #9b9b9b;--faint: #6a6a6a;--line: #232323;--line-strong: #fafafa;--hover: #1a1a1a;--accent: #fafafa;--accent-fg: #0a0a0a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .4s var(--ease),color .4s var(--ease)}a{color:inherit;text-decoration:none}.mono{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slide-in-right{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.animate-up{animation:fade-up .5s var(--ease) both}.animate-in{animation:fade-in .4s var(--ease) both}.animate-pop{animation:pop .28s var(--ease) both}.stagger>*{animation:fade-up .5s var(--ease) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.14s}.stagger>*:nth-child(5){animation-delay:.18s}.stagger>*:nth-child(6){animation-delay:.22s}.stagger>*:nth-child(7){animation-delay:.26s}.stagger>*:nth-child(8){animation-delay:.3s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:6px;background:var(--bg-soft);position:sticky;top:0;height:100vh;transition:background .4s var(--ease),border-color .4s var(--ease)}.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;font-weight:700;letter-spacing:-.02em;font-size:17px}.brand .mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-weight:700;transition:transform .4s var(--ease)}.brand:hover .mark{transform:rotate(-6deg) scale(1.05)}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;color:var(--muted);font-weight:500;transition:color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.nav-item:hover{color:var(--fg);background:var(--hover);transform:translate(2px)}.nav-item.active{color:var(--fg);background:var(--hover)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:3px;background:var(--fg);animation:pop .3s var(--ease) both}.nav-item svg{width:17px;height:17px;flex:none}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:4px}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:60px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;transition:background .4s var(--ease),border-color .4s var(--ease)}.topbar h1{font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}.content{padding:26px;max-width:1080px;width:100%;margin:0 auto}.page-enter{animation:fade-up .45s var(--ease) both}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease),background .4s var(--ease)}.card.pad{padding:20px}.card.hoverable:hover{transform:translateY(-2px);border-color:var(--faint)}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:14px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12.5px}.tiny{font-size:11.5px}.strong{font-weight:600}.upper{text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;color:var(--muted);background:var(--bg-soft);transition:all .2s var(--ease)}.badge.solid{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.divider{height:1px;background:var(--line);border:0;margin:0}button,.btn{font-family:inherit;font-size:13.5px;font-weight:600;border-radius:9px;border:1px solid var(--line-strong);background:var(--accent);color:var(--accent-fg);padding:9px 15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .15s var(--ease),opacity .2s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}button:hover,.btn:hover{transform:translateY(-1px);opacity:.92}button:active,.btn:active{transform:translateY(0) scale(.98)}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}.btn.ghost:hover{background:var(--hover);border-color:var(--faint)}.btn.danger{background:transparent;color:var(--fg);border-color:var(--line-strong)}.btn.danger:hover{background:var(--fg);color:var(--bg)}.btn.sm{padding:6px 11px;font-size:12.5px}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12.5px;font-weight:600;color:var(--muted)}input,select,textarea{font-family:inherit;font-size:14px;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px 12px;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .3s var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--fg) 12%,transparent)}textarea{resize:vertical;min-height:90px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.checkbox-row input{width:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background .2s var(--ease)}tbody tr:hover{background:var(--hover)}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--hover) 25%,var(--bg-soft) 37%,var(--hover) 63%);background-size:400px 100%;animation:shimmer 1.4s infinite linear}.spinner{width:15px;height:15px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{background:var(--accent);color:var(--accent-fg);border-radius:10px;padding:11px 15px;font-size:13px;font-weight:500;box-shadow:var(--shadow);animation:slide-in-right .35s var(--ease) both;max-width:340px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--fg) 4%,transparent),transparent 40%),radial-gradient(circle at 80% 80%,color-mix(in srgb,var(--fg) 4%,transparent),transparent 40%),var(--bg)}.auth-card{width:100%;max-width:420px;padding:30px;animation:fade-up .5s var(--ease) both}.auth-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.03em;margin-bottom:4px}.icon-btn{background:transparent;border:1px solid var(--line);color:var(--muted);padding:7px;border-radius:8px}.icon-btn:hover{color:var(--fg);background:var(--hover)}.empty{text-align:center;padding:46px 20px;color:var(--muted)}.empty .glyph{font-size:30px;margin-bottom:8px;opacity:.35}.progress{height:5px;border-radius:999px;background:var(--hover);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transform-origin:left;animation:bar-grow .9s var(--ease) both}.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--faint)}@media (max-width: 820px){.shell{grid-template-columns:1fr}.sidebar{display:none}.grid.cols-3,.grid.cols-4,.grid.cols-2{grid-template-columns:1fr}}
