@import "https://fonts.googleapis.com/css2?family=PT+Root+UI:wght@400;500;600;700&family=PT+Mono&family=Cormorant+Garamond:wght@500;600&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--moon-50:#faf7fa;--moon-100:#f5d5e0;--moon-200:#e5c5d8;--moon-300:#c2a5bd;--moon-400:#9888a8;--moon-500:#7b337e;--moon-600:#5c1268;--moon-700:#420d4b;--moon-800:#2d0833;--moon-900:#210635;--moon-blue:#6667ab;--paper:#faf7fa;--surface:#fff;--surface-2:#f5eff4;--surface-3:#ebe2ea;--border:#e5dbe5;--border-soft:#f0e8ee;--border-strong:#cfc0cb;--text:#210635;--text-2:#4a2d58;--text-3:#7a6585;--text-mute:#a095a8;--brand:#420d4b;--brand-hover:#2d0833;--brand-active:#5c1268;--brand-soft:#f5d5e0;--brand-faint:#fcf1f5;--brand-ring:#420d4b2e;--accent:#7b337e;--accent-soft:#f0dbe9;--ok:#4d7c0f;--ok-soft:#f2f4e3;--warn:#a16207;--warn-soft:#faf1dc;--err:#b91c1c;--err-soft:#fde8e8;--info:#6667ab;--info-soft:#e8e7f2;--sidebar-w:248px;--sidebar-w-collapsed:64px;--topbar-h:64px;--font-sans:"PT Root UI", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"PT Mono", ui-monospace, "JetBrains Mono", monospace;--font-display:"Cormorant Garamond", Georgia, serif;--accent-hover:var(--brand-hover);--accent-light:var(--brand-faint);--text-primary:var(--text);--text-secondary:var(--text-2);--text-muted:var(--text-3);--success:var(--ok);--success-bg:var(--ok-soft);--warning:var(--warn);--warning-bg:var(--warn-soft);--error:var(--err);--error-bg:var(--err-soft)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:var(--font-sans);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"tnum" 1;font-size:15px;line-height:1.5}body{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:600}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.mono,code,kbd,.num{font-family:var(--font-mono);font-feature-settings:"tnum" 1}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-mute);background-clip:padding-box;border:3px solid #0000}::selection{background:var(--brand-soft);color:var(--brand)}.btn{font:500 14px/1.2 var(--font-sans);height:40px;color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 18px;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{box-shadow:0 0 0 3px var(--brand-ring);outline:none}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-mute)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--err);color:#fff;border-color:var(--err)}.btn-danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.btn-sm{gap:6px;height:34px;padding:0 14px;font-size:13.5px}.btn-xs{gap:5px;height:28px;padding:0 10px;font-size:12.5px}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:34px}.btn-icon.btn-xs{width:28px}.input,.select{width:100%;font:400 14.5px/1.4 var(--font-sans);border:1px solid var(--border-strong);background:var(--surface);height:44px;color:var(--text);border-radius:8px;outline:none;padding:0 14px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.input::placeholder{color:var(--text-mute)}.input:disabled{background:var(--surface-2);cursor:not-allowed}.input-sm{height:38px;padding:0 12px;font-size:14px}.label{font:500 13.5px/1.3 var(--font-sans);color:var(--text-2);margin-bottom:8px;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-title{font:600 16px/1.3 var(--font-sans);letter-spacing:-.005em}.card-body{padding:18px 20px}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table thead th{background:var(--surface);color:var(--text-3);font:500 12.5px/1 var(--font-sans);letter-spacing:.02em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:1;padding:13px 14px;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:14px}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:last-child td{border-bottom:none}.badge{font:500 12.5px/1 var(--font-sans);white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.badge-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge-ok{background:var(--ok-soft);color:var(--ok);border-color:#4d7c0f2e}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:#a162072e}.badge-err{background:var(--err-soft);color:var(--err);border-color:#b91c1c2e}.badge-info{background:var(--info-soft);color:var(--info);border-color:#6667ab2e}.badge-neutral{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.badge-brand{background:var(--brand-soft);color:var(--brand);border-color:#420d4b29}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;height:100vh;transition:width .18s;display:flex;position:fixed;top:0;left:0}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-brand{height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:0 18px;display:flex}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-brand-mark{background:linear-gradient(135deg, var(--moon-700) 0%, var(--moon-500) 100%);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 1px 3px #420d4b4d}.sidebar-brand-text{flex-direction:column;gap:3px;min-width:0;display:flex}.sidebar-brand-name{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:600;line-height:1}.sidebar-brand-meta{font:400 11.5px/1 var(--font-sans);color:var(--text-3);letter-spacing:.01em}.sidebar.collapsed .sidebar-brand-text{display:none}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto}.sidebar.collapsed .sidebar-nav{padding:12px 8px}.sidebar-section{font:600 11px/1 var(--font-sans);color:var(--text-mute);text-transform:uppercase;letter-spacing:.1em;padding:14px 12px 9px}.sidebar-section:first-child{padding-top:4px}.sidebar.collapsed .sidebar-section{text-align:center;letter-spacing:0;opacity:.6;padding:14px 4px 6px;font-size:9px}.sidebar-link{width:100%;height:40px;color:var(--text-2);font:500 14px/1 var(--font-sans);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:12px;margin:2px 0;padding:0 12px;transition:background .1s,color .1s;display:flex;position:relative}.sidebar.collapsed .sidebar-link{justify-content:center;padding:0}.sidebar.collapsed .sidebar-link span{display:none}.sidebar-link:hover{background:var(--surface-2);color:var(--text)}.sidebar-link.active{background:var(--brand-faint);color:var(--brand);font-weight:600}.sidebar-link.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar.collapsed .sidebar-link.active:before{display:none}.sidebar-link svg{flex-shrink:0}.sidebar-user{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:11px;padding:12px 14px 14px;display:flex}.sidebar.collapsed .sidebar-user{justify-content:center;padding:12px 8px}.sidebar.collapsed .sidebar-user-meta,.sidebar.collapsed .sidebar-user-logout{display:none}.sidebar-user-avatar{background:linear-gradient(135deg, var(--moon-700) 0%, var(--moon-500) 100%);color:#fff;width:36px;height:36px;font:600 13px/1 var(--font-mono);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-name{font:600 14px/1.2 var(--font-sans)}.sidebar-user-role{font:400 11.5px/1 var(--font-mono);color:var(--text-mute);letter-spacing:.04em;text-transform:uppercase;margin-top:4px}.topbar-toggle{width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.topbar-toggle:hover{background:var(--surface-2);color:var(--text)}.topbar-toggle:active{background:var(--surface-3)}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:40;flex-shrink:0;align-items:center;gap:16px;padding:0 22px;display:flex;position:sticky;top:0}.topbar-title{font:600 18px/1 var(--font-sans);letter-spacing:-.015em}.topbar-search{flex:1;max-width:440px;position:relative}.topbar-search input{border:1px solid var(--border);background:var(--surface-2);width:100%;height:38px;font:400 14px/1 var(--font-sans);color:var(--text);border-radius:8px;outline:none;padding:0 14px 0 38px;transition:background .1s,border-color .1s,box-shadow .1s}.topbar-search input:focus{background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.topbar-search input::placeholder{color:var(--text-mute)}.topbar-search-icon{color:var(--text-mute);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.topbar-search-kbd{font:500 11px/1 var(--font-mono);color:var(--text-mute);background:var(--surface);border:1px solid var(--border);pointer-events:none;border-radius:4px;padding:3px 7px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.page{width:100%;max-width:1480px;margin:0 auto;padding:26px 28px}.page-eyebrow{font:500 12px/1 var(--font-mono);color:var(--text-mute);letter-spacing:.1em;text-transform:uppercase}.page-title-h{font:600 28px/1.15 var(--font-sans);letter-spacing:-.02em;margin-top:8px}.page-sub{font:400 14.5px/1.55 var(--font-sans);color:var(--text-3);max-width:760px;margin-top:6px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;min-height:100px;padding:16px 18px;display:flex}.stat-label{font:500 13px/1 var(--font-sans);color:var(--text-3)}.stat-value{font:700 30px/1.05 var(--font-sans);letter-spacing:-.02em;font-feature-settings:"tnum" 1}.tabs{border-bottom:1px solid var(--border);gap:0;padding:0 22px;display:flex}.tab{font:500 14px/1 var(--font-sans);color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 14px;transition:color .1s,border-color .1s}.tab:hover{color:var(--text)}.tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sk{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:5px;animation:1.5s ease-in-out infinite shimmer;display:block}.truncate{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}mark{background:var(--brand-soft);color:var(--brand);border-radius:3px;padding:1px 4px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.85s linear infinite spin}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.18s ease-out fadeIn}.empty{text-align:center;color:var(--text-3);padding:56px 24px}.empty-title{font:600 16px/1.3 var(--font-sans);color:var(--text);margin-top:14px}.empty-text{margin-top:6px;font-size:14px}kbd{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12px;font-family:var(--font-mono);border-bottom-width:2px;border-radius:4px;padding:2px 7px;display:inline-block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
