@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=JetBrains+Mono:wght@300;400;500;600&family=Inter:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";.ft-root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a28;--bg-card-hover:#222235;--bg-input:#16162280;--accent:#e94560;--accent-glow:#e9456040;--accent2:#0f3460;--accent2-light:#1a5276;--gold:#f1c40f;--gold-dim:#f1c40f30;--text-primary:#eaeaea;--text-secondary:#8a8aa0;--text-muted:#555570;--border:#2a2a3e;--success:#2ecc71;--warning:#f39c12;--danger:#e74c3c;--radius:12px;--radius-sm:8px;--shadow:0 4px 24px #0006;background:var(--bg-primary);color:var(--text-primary);min-height:calc(100vh - 60px);font-family:DM Sans,sans-serif;position:relative;overflow-x:hidden}.ft-root,.ft-root *,.ft-root :before,.ft-root :after{box-sizing:border-box}.ft-root:before{content:"";background:radial-gradient(ellipse at 20% 0%, var(--accent-glow) 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, #0f346020 0%, transparent 50%);pointer-events:none;z-index:0;position:absolute;inset:0}.ft-root .header{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:32px 40px 0;display:flex;position:relative}.ft-root .logo{align-items:center;gap:14px;display:flex}.ft-root .logo-icon{filter:drop-shadow(0 0 12px var(--accent));font-size:36px}.ft-root .logo h1{letter-spacing:3px;background:linear-gradient(135deg, var(--text-primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Bebas Neue,sans-serif;font-size:38px}.ft-root .header-actions{align-items:center;gap:10px;display:flex}.ft-root .api-bar{z-index:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin:16px 40px;padding:14px 20px;display:flex;position:relative}.ft-root .api-bar label{color:var(--text-secondary);white-space:nowrap;font-size:13px}.ft-root .api-bar .api-status{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.ft-root .api-status.ok{color:#2ecc71;background:#2ecc7120}.ft-root .api-status.err{color:#e74c3c;background:#e74c3c20}.ft-root .api-status.pending{color:#f39c12;background:#f39c1220}.ft-root .stats-row{z-index:1;flex-wrap:wrap;gap:12px;margin:16px 40px;display:flex;position:relative}.ft-root .stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;gap:4px;min-width:140px;padding:16px 22px;display:flex}.ft-root .stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:400}.ft-root .stat-card .stat-value{color:var(--accent);font-family:Bebas Neue,sans-serif;font-size:32px;font-weight:400}.ft-root .stat-card .stat-sub{color:var(--text-secondary);font-size:12px}.ft-root .tabs-wrapper{z-index:1;border-bottom:2px solid var(--border);gap:0;margin:20px 40px 0;display:flex;position:relative}.ft-root .tab-btn{letter-spacing:2px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:12px 28px;font-family:Bebas Neue,sans-serif;font-size:20px;transition:color .2s;position:relative}.ft-root .tab-btn:hover{color:var(--text-secondary)}.ft-root .tab-btn.active{color:var(--text-primary)}.ft-root .tab-btn.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-2px;left:0;right:0}.ft-root .toolbar{z-index:1;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 40px;display:flex;position:relative}.ft-root .search-box{flex:1;min-width:200px;position:relative}.ft-root .search-box input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:10px 14px 10px 38px;font-family:DM Sans,sans-serif;font-size:14px}.ft-root .search-box input:focus{border-color:var(--accent);outline:none}.ft-root .search-box:before{content:"🔍";font-size:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ft-root .filter-select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:13px}.ft-root .filter-select:focus{border-color:var(--accent);outline:none}.ft-root .btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);border:none;justify-content:flex-start;align-items:center;gap:6px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.ft-root .btn-primary{background:var(--accent);color:#fff}.ft-root .btn-primary:hover{box-shadow:0 4px 16px var(--accent-glow);background:#d63851;transform:translateY(-1px)}.ft-root .btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.ft-root .btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-muted)}.ft-root .btn-sm{padding:6px 12px;font-size:12px}.ft-root .btn-danger{color:#e74c3c;background:#e74c3c20;border:1px solid #e74c3c40}.ft-root .btn-danger:hover{background:#e74c3c30}.ft-root .btn:disabled{opacity:.6;cursor:not-allowed}.ft-root .table-wrapper{z-index:1;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);margin:0 40px 40px;position:relative;overflow-x:auto}.ft-root table{border-collapse:collapse;width:100%;font-size:13px}.ft-root thead th{background:var(--bg-card);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;text-align:left;white-space:nowrap;border-bottom:2px solid var(--accent);z-index:2;-webkit-user-select:none;user-select:none;padding:14px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.ft-root thead th[data-sortable=true]{cursor:pointer}.ft-root thead th[data-sortable=true]:hover{color:var(--accent)}.ft-root thead th .sort-arrow{margin-left:4px;font-size:10px}.ft-root tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.ft-root tbody tr:hover{background:var(--bg-card-hover)}.ft-root tbody td{vertical-align:middle;padding:12px}.ft-root .poster-cell{width:45px}.ft-root .poster-cell img{object-fit:cover;border-radius:4px;width:40px;height:56px;box-shadow:0 2px 8px #0000004d}.ft-root .poster-cell .no-poster{background:var(--bg-card);width:40px;height:56px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:16px;display:flex}.ft-root .title-cell{color:var(--text-primary);max-width:220px;font-weight:600}.ft-root .title-cell .must-watch-badge{vertical-align:middle;background:linear-gradient(135deg,#f1c40f20,#f39c1215);border:2px solid #f1c40f;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-left:8px;font-size:11px;line-height:1;animation:2s ease-in-out infinite ftMustWatchPulse;display:inline-flex;box-shadow:0 0 8px #f1c40f40,inset 0 0 4px #f1c40f20}@keyframes ftMustWatchPulse{0%,to{box-shadow:0 0 8px #f1c40f40}50%{box-shadow:0 0 14px #f1c40f60,0 0 4px #f1c40f30}}.ft-root .must-watch-toggle{align-items:center;gap:10px;padding:8px 0;display:flex}.ft-root .must-watch-toggle input[type=checkbox]{display:none}.ft-root .must-watch-toggle .mw-label{cursor:pointer;color:var(--text-secondary);text-transform:none;letter-spacing:0;align-items:center;gap:8px;font-size:14px;font-weight:400;transition:color .2s;display:flex}.ft-root .must-watch-toggle input:checked+.mw-label{color:#f1c40f}.ft-root .must-watch-toggle .mw-box{border:2px solid var(--border);background:var(--bg-input);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .2s;display:flex}.ft-root .must-watch-toggle input:checked+.mw-label .mw-box{background:linear-gradient(135deg,#f1c40f30,#f39c1220);border-color:#f1c40f;box-shadow:0 0 10px #f1c40f30}.ft-root .year-cell{color:var(--text-secondary);text-align:center}.ft-root .rating-badge{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.ft-root .rating-high{color:#2ecc71;background:#2ecc7120}.ft-root .rating-mid{color:#f39c12;background:#f39c1220}.ft-root .rating-low{color:#e74c3c;background:#e74c3c20}.ft-root .rating-none{background:var(--bg-card);color:var(--text-muted)}.ft-root .my-rating{background:var(--gold-dim);color:var(--gold);border:1px solid #f1c40f66}.ft-root .status-badge{color:var(--text-secondary);text-transform:none;letter-spacing:0;background:#0f346055;border:none;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.ft-root .genre-cell{color:var(--text-secondary);max-width:160px;font-size:12px}.ft-root .runtime-cell{text-align:center;color:var(--text-secondary)}.ft-root .actions-cell{gap:6px;display:flex}.ft-root .empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.ft-root .empty-state .empty-icon{margin-bottom:12px;font-size:48px}.ft-root .empty-state p{font-size:14px}.ft-root .modal-overlay,.ft-root .confirm-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.ft-root .modal-overlay.open,.ft-root .confirm-overlay.open{display:flex}.ft-root .modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;width:620px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 16px 64px #00000080}.ft-root .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 28px 16px;display:flex}.ft-root .modal-header h2{letter-spacing:2px;margin:0;font-family:Bebas Neue,sans-serif;font-size:24px;font-weight:400}.ft-root .modal-close{background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.ft-root .modal-close:hover{background:var(--accent);color:#fff}.ft-root .modal-body{padding:20px 28px 28px}.ft-root .form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ft-root .form-group{flex-direction:column;gap:5px;display:flex}.ft-root .form-group.full{grid-column:1/-1}.ft-root .form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:0;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600}.ft-root .form-group input,.ft-root .form-group select,.ft-root .form-group textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);width:100%;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:14px}.ft-root .form-group input:focus,.ft-root .form-group select:focus,.ft-root .form-group textarea:focus{border-color:var(--accent);box-shadow:none;outline:none}.ft-root .form-group textarea{resize:vertical;min-height:60px}.ft-root .form-group select{cursor:pointer}.ft-root .search-suggest{position:relative}.ft-root .suggest-list{background:var(--bg-card);border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:200;max-height:280px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.ft-root .suggest-list.open{display:block}.ft-root .suggest-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;transition:background .1s;display:flex}.ft-root .suggest-item:hover{background:var(--bg-card-hover)}.ft-root .suggest-item img{object-fit:cover;border-radius:4px;width:36px;height:50px}.ft-root .suggest-item .si-info{flex:1}.ft-root .suggest-item .si-title{font-size:14px;font-weight:600}.ft-root .suggest-item .si-meta{color:var(--text-secondary);font-size:12px}.ft-root .modal-footer{justify-content:flex-end;gap:10px;padding:0 28px 24px;display:flex}.ft-root .star-rating{gap:2px;display:flex}.ft-root .star-rating .star{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:22px;transition:color .1s}.ft-root .star-rating .star.filled{color:var(--gold)}.ft-root .toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);z-index:500;box-shadow:var(--shadow);opacity:0;pointer-events:none;padding:14px 24px;font-size:14px;transition:all .3s;position:fixed;bottom:30px;right:30px;transform:translateY(100px)}.ft-root .toast.show{opacity:1;transform:translateY(0)}.ft-root .confirm-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);text-align:center;max-width:400px;padding:28px}.ft-root .confirm-box p{color:var(--text-secondary);margin:12px 0 20px;font-size:14px}.ft-root .confirm-box .confirm-actions{justify-content:center;gap:10px;display:flex}@media (width<=768px){.ft-root .header,.ft-root .api-bar,.ft-root .stats-row,.ft-root .tabs-wrapper,.ft-root .toolbar,.ft-root .table-wrapper{margin-left:16px;margin-right:16px}.ft-root .header{padding-top:20px;padding-left:16px;padding-right:16px}.ft-root .logo h1{font-size:28px}.ft-root .form-grid{grid-template-columns:1fr}.ft-root .stat-card{min-width:100px}.ft-root .stat-card .stat-value{font-size:24px}}:root[data-vault-theme=dark]{--v-bg:#0a0a0b;--v-bg-elev:#121215;--v-bg-card:#17171c;--v-bg-hover:#1e1e24;--v-border:#2a2a32;--v-border-strong:#3a3a44;--v-text:#ece9e2;--v-text-muted:#8a8a96;--v-text-dim:#5a5a66;--v-accent:#c9a96e;--v-accent-hover:#d9b97e;--v-accent-dim:#8a7548;--v-positive:#4ade80;--v-negative:#f87171;--v-warning:#fbbf24;--v-grid-line:#ffffff0a;--v-shadow:0 4px 24px #0006;--v-noise-opacity:.025}:root[data-vault-theme=light]{--v-bg:#f5f2ea;--v-bg-elev:#fff;--v-bg-card:#fff;--v-bg-hover:#f0ece0;--v-border:#e5dfd0;--v-border-strong:#c9c0a8;--v-text:#1a1814;--v-text-muted:#6a6558;--v-text-dim:#9a9486;--v-accent:#8b6f2e;--v-accent-hover:#9e7f34;--v-accent-dim:#b39960;--v-positive:#16a34a;--v-negative:#dc2626;--v-warning:#d97706;--v-grid-line:#0000000a;--v-shadow:0 4px 20px #3c321e14;--v-noise-opacity:.015}:root:not([data-vault-theme]) .vault-root{--v-bg:#0a0a0b;--v-bg-elev:#121215;--v-bg-card:#17171c;--v-bg-hover:#1e1e24;--v-border:#2a2a32;--v-text:#ece9e2;--v-text-muted:#8a8a96;--v-text-dim:#5a5a66;--v-accent:#c9a96e;--v-positive:#4ade80;--v-negative:#f87171;--v-warning:#fbbf24;--v-shadow:0 4px 24px #0006}.vault-root{background:var(--v-bg);color:var(--v-text);-webkit-font-smoothing:antialiased;min-height:calc(100vh - 60px);font-family:Inter,sans-serif;font-size:14px;line-height:1.5;transition:background .3s,color .3s;position:relative}.vault-root,.vault-root *,.vault-root :before,.vault-root :after{box-sizing:border-box}.vault-root:before{content:"";pointer-events:none;z-index:0;opacity:var(--v-noise-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");position:absolute;inset:0}.vault-root .app{z-index:2;position:relative}.vault-root .sub-header{border-bottom:1px solid var(--v-border);background:var(--v-bg-elev);z-index:5;justify-content:space-between;align-items:center;padding:20px 32px;display:flex;position:relative}.vault-root .brand{align-items:baseline;gap:12px;display:flex}.vault-root .brand-mark{letter-spacing:-.02em;color:var(--v-text);margin:0;font-family:Fraunces,serif;font-size:26px;font-style:italic;font-weight:500}.vault-root .brand-mark:before{content:"◆";color:var(--v-accent);vertical-align:middle;margin-right:8px;font-size:12px;font-style:normal}.vault-root .brand-sub{color:var(--v-text-dim);letter-spacing:.15em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.vault-root .header-actions{align-items:center;gap:12px;display:flex}.vault-root .theme-toggle,.vault-root .refresh-btn{background:var(--v-bg-card);border:1px solid var(--v-border);color:var(--v-text-muted);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .2s;display:inline-flex}.vault-root .theme-toggle:hover,.vault-root .refresh-btn:hover{border-color:var(--v-accent);color:var(--v-accent)}.vault-root .refresh-btn:disabled{opacity:.5;cursor:not-allowed}.vault-root .refresh-btn.spinning svg{animation:1s linear infinite vault-spin}@keyframes vault-spin{to{transform:rotate(360deg)}}.vault-root .tabs{border-bottom:1px solid var(--v-border);background:var(--v-bg-elev);z-index:5;gap:4px;padding:0 32px;display:flex;position:relative}.vault-root .tab{cursor:pointer;color:var(--v-text-muted);letter-spacing:-.01em;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:16px 24px;font-family:Fraunces,serif;font-size:15px;transition:all .2s;display:flex;position:relative}.vault-root .tab:hover{color:var(--v-text)}.vault-root .tab.active{color:var(--v-text);border-bottom-color:var(--v-accent)}.vault-root .tab-num{color:var(--v-text-dim);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:10px}.vault-root .main{z-index:2;max-width:1400px;margin:0 auto;padding:32px;position:relative}.vault-root .section-label{color:var(--v-text-dim);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:10px}.vault-root .section-title{letter-spacing:-.02em;color:var(--v-text);margin:0 0 32px;font-family:Fraunces,serif;font-size:38px;font-weight:400}.vault-root .section-title em{color:var(--v-accent);font-style:italic}.vault-root .section-divider{text-align:center;margin:40px 0 24px;position:relative}.vault-root .section-divider:before{content:"";background:var(--v-border);height:1px;position:absolute;top:50%;left:0;right:0}.vault-root .section-divider-text{background:var(--v-bg);color:var(--v-text-dim);letter-spacing:.15em;text-transform:uppercase;padding:0 16px;font-family:JetBrains Mono,monospace;font-size:10px;position:relative}.vault-root .grid{gap:16px;display:grid}.vault-root .grid-2{grid-template-columns:1fr 1fr}.vault-root .grid-3{grid-template-columns:1fr 1fr 1fr}.vault-root .grid-4{grid-template-columns:repeat(4,1fr)}.vault-root .grid-main{grid-template-columns:2fr 1fr}@media (width<=1024px){.vault-root .grid-4{grid-template-columns:1fr 1fr}.vault-root .grid-main{grid-template-columns:1fr}}@media (width<=640px){.vault-root .grid-2,.vault-root .grid-3,.vault-root .grid-4{grid-template-columns:1fr}.vault-root .main{padding:20px 16px}.vault-root .sub-header{flex-wrap:wrap;gap:12px;padding:16px 20px}.vault-root .tabs{padding:0 16px;overflow-x:auto}.vault-root .section-title{font-size:28px}}.vault-root .card{background:var(--v-bg-card);border:1px solid var(--v-border);border-radius:8px;padding:24px;transition:border-color .2s}.vault-root .card:hover{border-color:var(--v-border-strong)}.vault-root .card-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.vault-root .card-label{color:var(--v-text-dim);letter-spacing:.15em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.vault-root .metric{letter-spacing:-.02em;color:var(--v-text);font-family:Fraunces,serif;font-size:32px;font-weight:400;line-height:1.1}.vault-root .metric-sub{color:var(--v-text-muted);margin-top:8px;font-family:JetBrains Mono,monospace;font-size:11px}.vault-root .delta{letter-spacing:.05em;border-radius:3px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-block}.vault-root .delta.pos{color:var(--v-positive);background:#4ade801a}.vault-root .delta.neg{color:var(--v-negative);background:#f871711a}.vault-root .delta.neu{color:var(--v-text-dim)}.vault-root .chart-box{width:100%;height:260px;position:relative}.vault-root .chart-box-lg{height:340px}.vault-root .month-nav{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.vault-root .view-toggle{background:var(--v-bg-card);border:1px solid var(--v-border);border-radius:6px;margin-right:8px;padding:2px;display:inline-flex}.vault-root .view-toggle-btn{color:var(--v-text-muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:none;border-radius:4px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px}.vault-root .view-toggle-btn.active{background:var(--v-accent);color:var(--v-bg)}.vault-root .month-btn{background:var(--v-bg-card);border:1px solid var(--v-border);color:var(--v-text);cursor:pointer;border-radius:4px;width:32px;height:32px;font-size:18px;line-height:1}.vault-root .month-btn:hover{border-color:var(--v-accent);color:var(--v-accent)}.vault-root .month-display{color:var(--v-text);text-align:center;min-width:180px;font-family:Fraunces,serif;font-size:20px}.vault-root .btn-ghost{border:1px solid var(--v-border);color:var(--v-text-muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:4px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px}.vault-root .btn-ghost:hover{border-color:var(--v-accent);color:var(--v-accent)}.vault-root .form-row{background:var(--v-bg-card);border:1px solid var(--v-border);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr)) auto;align-items:end;gap:12px;margin-bottom:20px;padding:16px;display:grid}.vault-root .field{flex-direction:column;gap:6px;display:flex}.vault-root .field label{color:var(--v-text-dim);letter-spacing:.1em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.vault-root .field input,.vault-root .field select{background:var(--v-bg);border:1px solid var(--v-border);color:var(--v-text);border-radius:4px;width:100%;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px}.vault-root .field input:focus,.vault-root .field select:focus{border-color:var(--v-accent);outline:none}.vault-root .btn-primary{background:var(--v-accent);border:1px solid var(--v-accent);color:var(--v-bg);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:8px 18px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.vault-root .btn-primary:hover{background:var(--v-accent-hover)}.vault-root .table-wrap{background:var(--v-bg-card);border:1px solid var(--v-border);border-radius:8px;margin-top:16px;overflow-x:auto}.vault-root table{border-collapse:collapse;width:100%;font-size:13px}.vault-root thead th{background:var(--v-bg);text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--v-text-dim);border-bottom:1px solid var(--v-border);padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.vault-root tbody td{border-bottom:1px solid var(--v-border);color:var(--v-text);padding:12px 16px}.vault-root tbody tr:last-child td{border-bottom:none}.vault-root tbody tr:hover{background:var(--v-bg-hover)}.vault-root .num{font-family:JetBrains Mono,monospace}.vault-root .pos{color:var(--v-positive)}.vault-root .neg{color:var(--v-negative)}.vault-root .muted{color:var(--v-text-muted)}.vault-root .empty-state{text-align:center;color:var(--v-text-dim);padding:60px 20px;font-size:13px}.vault-root .delete-btn{color:var(--v-text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 8px;font-size:12px}.vault-root .delete-btn:hover{color:var(--v-negative);border-color:var(--v-negative)}.vault-root .recent-item{border-bottom:1px solid var(--v-border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.vault-root .recent-item:last-child{border-bottom:none}.vault-root .recent-item-left{flex-direction:column;gap:2px;display:flex}.vault-root .recent-item-cat{color:var(--v-text);font-size:13px}.vault-root .recent-item-date{color:var(--v-text-dim);letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-size:10px}.vault-root .recent-item-amt{font-family:JetBrains Mono,monospace;font-size:13px}.vault-root .cat-row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.vault-root .cat-bar{background:var(--v-border);border-radius:2px;flex:1;height:4px;margin:0 12px;overflow:hidden}.vault-root .cat-bar-fill{background:var(--v-accent);height:100%}.vault-root .placeholder-card{background:var(--v-bg-card);border:1px dashed var(--v-border);text-align:center;border-radius:8px;padding:60px 32px}.vault-root .placeholder-card h3{color:var(--v-text);margin:0 0 12px;font-family:Fraunces,serif;font-size:22px;font-weight:500}.vault-root .placeholder-card p{color:var(--v-text-muted);max-width:480px;margin:0 auto;font-size:14px;line-height:1.6}.vault-root .toast{background:var(--v-bg-elev);border:1px solid var(--v-border);color:var(--v-text);box-shadow:var(--v-shadow);opacity:0;z-index:500;pointer-events:none;border-radius:6px;max-width:320px;padding:12px 18px;font-size:13px;transition:all .25s;position:fixed;bottom:32px;right:32px;transform:translateY(100px)}.vault-root .toast.show{opacity:1;transform:translateY(0)}.vault-root .toast.toast-err{border-color:var(--v-negative)}.vault-root .toast.toast-ok{border-color:var(--v-positive)}@media (width<=640px){.vault-root .sub-header{flex-direction:column;align-items:flex-start}.vault-root .header-actions{flex-wrap:wrap}.vault-root .form-row{grid-template-columns:1fr 1fr}}.vault-root .autocomplete-wrap{width:100%;position:relative}.vault-root .autocomplete-wrap input{background:var(--v-bg);border:1px solid var(--v-border);width:100%;color:var(--v-text);text-transform:uppercase;border-radius:4px;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px}.vault-root .autocomplete-wrap input:focus{border-color:var(--v-accent);outline:none}.vault-root .autocomplete-list{background:var(--v-bg-elev);border:1px solid var(--v-border-strong);z-index:100;max-height:280px;box-shadow:var(--v-shadow);border-radius:6px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.vault-root .autocomplete-item{cursor:pointer;border-bottom:1px solid var(--v-border);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.vault-root .autocomplete-item:last-child{border-bottom:none}.vault-root .autocomplete-item:hover,.vault-root .autocomplete-item.highlight{background:var(--v-bg-hover)}.vault-root .autocomplete-item .ac-sym{color:var(--v-accent);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.vault-root .autocomplete-item .ac-name{color:var(--v-text-muted);font-size:11px}.vault-root .asset-filter-tabs{border-bottom:1px solid var(--v-border);flex-wrap:wrap;gap:4px;margin:16px 0 12px;padding-bottom:12px;display:flex}.vault-root .asset-filter-tab{border:1px solid var(--v-border);color:var(--v-text-muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:4px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:10px;transition:all .15s}.vault-root .asset-filter-tab:hover{border-color:var(--v-text-muted);color:var(--v-text)}.vault-root .asset-filter-tab.active{background:var(--v-accent);border-color:var(--v-accent);color:var(--v-bg)}.vault-root thead .sort-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.vault-root thead .sort-th:hover{color:var(--v-accent)}.vault-root thead .sort-th.num{text-align:right}.vault-root tbody td.num{text-align:right;font-family:JetBrains Mono,monospace}.vault-root .form-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr)) auto}.vault-root .page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.vault-root .btn-lg{padding:12px 22px;font-size:12px}.vault-root .empty-hero{background:var(--v-bg-card);border:1px dashed var(--v-border);text-align:center;border-radius:12px;margin-top:32px;padding:80px 32px}.vault-root .empty-hero-icon{color:var(--v-accent);opacity:.5;margin-bottom:20px;font-family:Fraunces,serif;font-size:48px}.vault-root .empty-hero-title{letter-spacing:-.02em;color:var(--v-text);margin:0 0 12px;font-family:Fraunces,serif;font-size:28px;font-weight:400}.vault-root .empty-hero-text{color:var(--v-text-muted);max-width:420px;margin:0 auto 24px;font-size:14px;line-height:1.6}.vault-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out vault-fade-in;display:flex;position:fixed;inset:0}@keyframes vault-fade-in{0%{opacity:0}to{opacity:1}}.vault-modal{background:var(--v-bg-elev,#121215);border:1px solid var(--v-border,#2a2a32);width:100%;max-width:560px;max-height:calc(100vh - 48px);color:var(--v-text,#ece9e2);border-radius:12px;font-family:Inter,sans-serif;animation:.22s cubic-bezier(.2,.8,.2,1) vault-modal-in;overflow-y:auto;box-shadow:0 24px 64px #00000080}:root[data-vault-theme=light] .vault-modal{color:#1a1814;background:#fff;border-color:#e5dfd0}@keyframes vault-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.vault-modal-header{border-bottom:1px solid var(--v-border,#2a2a32);justify-content:space-between;align-items:flex-start;padding:24px 28px 16px;display:flex}:root[data-vault-theme=light] .vault-modal-header{border-bottom-color:#e5dfd0}.vault-modal-title{letter-spacing:-.02em;margin:6px 0 0;font-family:Fraunces,serif;font-size:24px;font-weight:400}.vault-modal-close{border:1px solid var(--v-border,#2a2a32);color:var(--v-text-muted,#8a8a96);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .15s;display:flex}.vault-modal-close:hover{border-color:var(--v-accent,#c9a96e);color:var(--v-accent,#c9a96e)}.vault-modal-body{padding:22px 28px 8px}.vault-modal-footer{border-top:1px solid var(--v-border,#2a2a32);justify-content:flex-end;gap:10px;margin-top:16px;padding:18px 28px 22px;display:flex}:root[data-vault-theme=light] .vault-modal-footer{border-top-color:#e5dfd0}.vault-modal .modal-form-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=480px){.vault-modal .modal-form-grid{grid-template-columns:1fr}.vault-modal .modal-form-grid .field[style*=span\ 2],.vault-modal .modal-form-grid .field[style*=span\ 3]{grid-column:span 1!important}}.vault-modal .field{flex-direction:column;gap:6px;display:flex}.vault-modal .field label{color:var(--v-text-dim,#5a5a66);letter-spacing:.1em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.vault-modal .field input,.vault-modal .field select{background:var(--v-bg,#0a0a0b);border:1px solid var(--v-border,#2a2a32);color:var(--v-text,#ece9e2);border-radius:6px;width:100%;padding:10px 12px;font-family:Inter,sans-serif;font-size:14px}.vault-modal .field input:focus,.vault-modal .field select:focus{border-color:var(--v-accent,#c9a96e);outline:none}:root[data-vault-theme=light] .vault-modal .field input,:root[data-vault-theme=light] .vault-modal .field select{color:#1a1814;background:#f5f2ea;border-color:#e5dfd0}.vault-modal .autocomplete-wrap{width:100%;position:relative}.vault-modal .autocomplete-wrap input{background:var(--v-bg,#0a0a0b);border:1px solid var(--v-border,#2a2a32);width:100%;color:var(--v-text,#ece9e2);text-transform:uppercase;border-radius:6px;padding:10px 12px;font-family:Inter,sans-serif;font-size:14px}.vault-modal .autocomplete-wrap input:focus{border-color:var(--v-accent,#c9a96e);outline:none}.vault-modal .autocomplete-list{background:var(--v-bg-elev,#121215);border:1px solid var(--v-border,#2a2a32);z-index:100;border-radius:6px;max-height:240px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.vault-modal .autocomplete-item{cursor:pointer;border-bottom:1px solid var(--v-border,#2a2a32);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.vault-modal .autocomplete-item:last-child{border-bottom:none}.vault-modal .autocomplete-item:hover,.vault-modal .autocomplete-item.highlight{background:var(--v-bg-hover,#1e1e24)}.vault-modal .autocomplete-item .ac-sym{color:var(--v-accent,#c9a96e);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.vault-modal .autocomplete-item .ac-name{color:var(--v-text-muted,#8a8a96);font-size:11px}:root[data-vault-theme=light] .vault-modal .autocomplete-list{background:#fff;border-color:#e5dfd0}:root[data-vault-theme=light] .vault-modal .autocomplete-item{border-bottom-color:#e5dfd0}:root[data-vault-theme=light] .vault-modal .autocomplete-item:hover,:root[data-vault-theme=light] .vault-modal .autocomplete-item.highlight{background:#f0ece0}.vault-modal .seg-toggle{background:var(--v-bg,#0a0a0b);border:1px solid var(--v-border,#2a2a32);border-radius:8px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}:root[data-vault-theme=light] .vault-modal .seg-toggle{background:#f5f2ea;border-color:#e5dfd0}.vault-modal .seg-btn{letter-spacing:.1em;text-transform:uppercase;color:var(--v-text-muted,#8a8a96);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;transition:all .15s}.vault-modal .seg-btn:hover{color:var(--v-text,#ece9e2)}.vault-modal .seg-btn.active.buy{color:#4ade80;background:#4ade8026}.vault-modal .seg-btn.active.sell{color:#f87171;background:#f8717126}.vault-modal .modal-total-row{background:var(--v-bg,#0a0a0b);border:1px solid var(--v-border,#2a2a32);border-radius:6px;justify-content:space-between;align-items:center;margin-top:18px;padding:14px 16px;display:flex}:root[data-vault-theme=light] .vault-modal .modal-total-row{background:#f5f2ea;border-color:#e5dfd0}.vault-modal .modal-total-row .num{color:var(--v-accent,#c9a96e);font-family:JetBrains Mono,monospace;font-weight:500}.vault-modal .modal-error{color:#f87171;background:#f871711a;border:1px solid #f871714d;border-radius:6px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:13px;display:flex}.vault-modal .modal-hint{color:var(--v-text-dim,#5a5a66);letter-spacing:.05em;padding:0 28px 18px;font-family:JetBrains Mono,monospace;font-size:10px}.vault-modal .btn-primary{background:var(--v-accent,#c9a96e);border:1px solid var(--v-accent,#c9a96e);color:var(--v-bg,#0a0a0b);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border-radius:6px;padding:10px 22px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.vault-modal .btn-primary:hover{background:var(--v-accent-hover,#d9b97e)}:root[data-vault-theme=light] .vault-modal .btn-primary{color:#fff}.vault-modal .btn-ghost{border:1px solid var(--v-border,#2a2a32);color:var(--v-text-muted,#8a8a96);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:6px;padding:10px 18px;font-family:JetBrains Mono,monospace;font-size:11px}.vault-modal .btn-ghost:hover{border-color:var(--v-accent,#c9a96e);color:var(--v-accent,#c9a96e)}:root{--bg:#0a0c12;--bg-elev:#11141d;--bg-card:#161924;--bg-input:#0d101a;--border:#232838;--border-hi:#313850;--text:#e7eaf2;--text-dim:#8a91a8;--text-muted:#5a6076;--brand-tb:#7deef5;--brand-cortex:#3b9eff;--brand-deep:#1e5bd9;--accent:#3b9eff;--accent-hi:#5bb1ff;--accent-dim:#2a7ad9;--accent-glow:#3b9eff2e;--accent-glow-cy:#7deef526;--success:#4ade80;--success-bg:#4ade801f;--warning:#fbbf24;--warning-bg:#fbbf241f;--danger:#f87171;--danger-bg:#f871711f;--radius:10px;--radius-sm:6px;--font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(60% 40% at 20% 0,#7deef50b,#0000 70%),radial-gradient(60% 40% at 90% 100%,#3b9eff0d,#0000 70%);background-attachment:fixed;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hi)}input,button,select,textarea{font:inherit;color:inherit}.mono{font-family:var(--font-mono)}.mono-sm{font-family:var(--font-mono);font-size:12px}.muted{color:var(--text-dim)}.center{min-height:100vh;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.5px;justify-content:center;align-items:center;font-size:13px;display:flex}.brand-link{text-decoration:none;display:inline-flex}.brand-link:hover{color:inherit}.brand{align-items:center;gap:10px;line-height:1;display:inline-flex}.brand-logo{filter:drop-shadow(0 0 8px #7deef540);flex-shrink:0;display:block}.brand-logo-sm{width:28px;height:28px}.brand-logo-md{width:40px;height:40px}.brand-logo-lg{width:56px;height:56px}.brand-text{font-family:var(--font-mono);align-items:baseline;gap:4px;font-weight:600;display:inline-flex}.brand-tb{color:var(--brand-tb);font-weight:700}.brand-cortex{color:var(--brand-cortex);letter-spacing:.18em;font-weight:500}.brand-sm .brand-text{font-size:13px}.brand-sm .brand-cortex{letter-spacing:.15em}.brand-sm .brand-tb{letter-spacing:.05em}.brand-md .brand-text{font-size:18px}.brand-md .brand-cortex{letter-spacing:.2em}.brand-lg .brand-text{font-size:22px}.brand-lg .brand-cortex{letter-spacing:.22em}.brand-lg .brand-tb{font-size:24px}.auth-brand{flex-direction:column;align-items:center;gap:16px;margin-bottom:28px;display:flex}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:420px;padding:36px 32px;position:relative}.auth-card:before{content:"";background:linear-gradient(90deg, transparent, var(--brand-tb), var(--brand-cortex), transparent);opacity:.55;height:1px;position:absolute;top:0;left:24px;right:24px}.auth-title{letter-spacing:-.3px;text-align:center;margin:0 0 6px;font-size:22px;font-weight:600}.auth-subtitle{color:var(--text-dim);text-align:center;margin:0 0 24px;font-size:13px;line-height:1.55}.auth-card form,.auth-card .field{text-align:left}.auth-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-dim);margin-top:20px;padding-top:20px;font-size:13px}.status-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:28px;display:flex}.status-pending{background:var(--warning-bg);color:var(--warning);border:1px solid #fbbf244d}.status-rejected{background:var(--danger-bg);color:var(--danger);border:1px solid #f871714d}.field{margin-bottom:16px}.field label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:11px;font-weight:500;display:block}.field input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.field input::placeholder{color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--border-hi)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--brand-cortex), var(--brand-deep));border-color:var(--brand-cortex);color:#fff;font-weight:600;box-shadow:0 2px 8px #3b9eff40}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-hi), var(--brand-cortex));border-color:var(--accent-hi);color:#fff;box-shadow:0 4px 12px #3b9eff59}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--bg-card);border-color:var(--border-hi);color:var(--text)}.btn-full{width:100%}.btn-sm{padding:6px 12px;font-size:12px}.linklike{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px}.linklike:hover{color:var(--accent)}.alert{border-radius:var(--radius-sm);text-align:left;border:1px solid;margin-bottom:16px;padding:10px 12px;font-size:13px}.alert-error{background:var(--danger-bg);color:var(--danger);border-color:#f871714d}.layout{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0a0c12d9;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:14px 24px;display:flex}.topbar-left{align-items:center;gap:32px;display:flex}.topbar-right{align-items:center;gap:12px;display:flex}.nav{gap:4px;display:flex}.nav-link{color:var(--text-dim);border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;transition:all .15s}.nav-link:hover{color:var(--text);background:var(--bg-card)}.nav-link.active{color:var(--brand-tb);background:var(--accent-glow)}.user-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px 12px;font-size:13px;display:flex}.user-name{color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.role-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;border:1px solid;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:500}.role-admin{background:var(--accent-glow-cy);color:var(--brand-tb);border-color:#7deef559}.role-member{background:var(--success-bg);color:var(--success);border-color:#4ade804d}.role-viewer{color:var(--text-dim);border-color:var(--border);background:0 0}.status-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;border:1px solid;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:500;display:inline-block}.status-approved{background:var(--success-bg);color:var(--success);border-color:#4ade804d}.status-pending{background:var(--warning-bg);color:var(--warning);border-color:#fbbf244d}.status-rejected{background:var(--danger-bg);color:var(--danger);border-color:#f871714d}.content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:40px 24px 60px}.page-header{margin-bottom:32px}.page-eyebrow{font-family:var(--font-mono);color:var(--brand-tb);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;font-size:11px;font-weight:500;display:inline-block}.page-title{letter-spacing:-.5px;margin:0;font-size:28px;font-weight:600}.back-link{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.5px;margin-bottom:20px;font-size:12px;display:inline-block}.back-link:hover{color:var(--accent)}.tool-section{margin-bottom:40px}.section-title{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid var(--border);margin:0 0 16px;padding-bottom:10px;font-size:11px;font-weight:500}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:inherit;flex-direction:column;min-height:180px;padding:22px;transition:all .18s;display:flex;position:relative;overflow:hidden}.tool-card:after{content:"";background:linear-gradient(90deg, transparent, var(--brand-tb), var(--brand-cortex), transparent);opacity:0;height:1px;transition:opacity .18s;position:absolute;top:0;left:0;right:0}.tool-card:hover{border-color:var(--border-hi);background:var(--bg-elev);transform:translateY(-2px)}.tool-card:hover:after{opacity:.7}.tool-card:hover .tool-arrow{color:var(--accent);transform:translate(4px)}.tool-icon{margin-bottom:14px;font-size:28px;line-height:1}.tool-icon-inline{margin-right:6px;display:inline-block}.tool-body{flex:1}.tool-name{color:var(--text);margin:0 0 6px;font-size:15px;font-weight:600}.tool-desc{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.tool-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;display:flex}.tool-arrow{font-family:var(--font-mono);color:var(--text-muted);font-size:16px;transition:all .18s}.empty-state{text-align:center;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);padding:60px 20px}.stats-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;font-size:10px;font-weight:500}.stat-value{font-family:var(--font-mono);color:var(--brand-tb);letter-spacing:-.5px;font-size:28px;font-weight:600}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.user-table{border-collapse:collapse;width:100%}.user-table th,.user-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 16px;font-size:13px}.user-table th{background:var(--bg-elev);font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:500}.user-table tr:last-child td{border-bottom:none}.user-table tr:hover{background:var(--bg-elev)}.role-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text);cursor:pointer;padding:5px 8px;font-size:12px}.role-select:focus{border-color:var(--accent);outline:none}.action-row{gap:6px;display:flex}.placeholder-card{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;margin-top:20px;padding:28px}.placeholder-card h3{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 8px;font-size:13px;font-weight:500}.placeholder-card p{max-width:480px;margin:0 auto}@media (width<=600px){.topbar-inner{padding:12px 16px}.topbar-left{gap:18px}.content{padding:24px 16px 40px}.page-title{font-size:22px}.auth-card{padding:28px 22px}.stats-row{grid-template-columns:repeat(2,1fr)}.user-table th:nth-child(4),.user-table td:nth-child(4),.user-chip,.topbar .brand-cortex{display:none}}
