:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", Menlo, Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--surface-0:#fff;--surface-1:#f8fafc;--surface-2:#f1f5f9;--surface-3:#e2e8f0;--text-1:#0f172a;--text-2:#475569;--text-3:#94a3b8;--text-inverted:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--primary:#0e7490;--primary-hover:#155e75;--primary-soft:#ecfeff;--primary-border:#a5f3fc;--success:#047857;--success-soft:#ecfdf5;--success-border:#a7f3d0;--warning:#b45309;--warning-soft:#fffbeb;--warning-border:#fde68a;--danger:#b91c1c;--danger-soft:#fef2f2;--danger-border:#fecaca;--info:#1d4ed8;--info-soft:#eff6ff;--info-border:#bfdbfe;--focus-ring:0 0 0 3px #0e749040;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000d}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--text-1);background:var(--surface-1);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--text-1);margin:0;font-weight:600}h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.app-shell{min-height:100vh;display:flex}.sidebar{color:#cbd5e1;z-index:40;background:#0b1220;flex-direction:column;width:256px;transition:transform .2s;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);display:flex}.sidebar-brand .logo{border-radius:var(--radius-sm);background:var(--primary);color:#fff;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.sidebar-brand .brand-name{color:#fff;font-size:15px;font-weight:600;line-height:1.2}.sidebar-brand .brand-sub{color:#64748b;font-size:12px;font-weight:400;display:block}.sidebar-nav{padding:var(--space-2) var(--space-3) var(--space-5);flex:1;overflow-y:auto}.nav-group{margin-top:var(--space-4)}.nav-group:first-child{margin-top:0}.nav-group-title{padding:var(--space-2) var(--space-3);text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:11px;font-weight:600}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:#cbd5e1;margin-block:1px;font-size:14px;transition:background .15s,color .15s;display:flex}.nav-item svg{flex-shrink:0}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{background:var(--primary);color:#fff;font-weight:500}.sidebar-footer{padding:var(--space-4) var(--space-4) var(--space-5);border-top:1px solid #ffffff14}.sidebar-footer .meta{color:#64748b;font-size:12px}.main{flex-direction:column;flex:1;min-width:0;margin-inline-start:256px;display:flex}.topbar{z-index:30;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffd9;display:flex;position:sticky;top:0}.topbar .breadcrumb{min-width:0;color:var(--text-3);flex:1;font-size:14px}.topbar .breadcrumb strong{color:var(--text-1);font-weight:600}.topbar-actions{align-items:center;gap:var(--space-2);display:flex}.icon-button{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid;position:relative}.icon-button:hover{background:var(--surface-2);color:var(--text-1)}.icon-button .dot{background:var(--danger);border:2px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:9px;right:9px}.user-menu{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;display:flex}.user-menu:hover{background:var(--surface-2)}.avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:999px;place-items:center;font-size:14px;font-weight:600;display:grid}.user-menu .user-copy{text-align:left;line-height:1.2}.user-menu .user-copy .name{color:var(--text-1);font-size:13px;font-weight:600}.user-menu .user-copy .role{color:var(--text-3);font-size:12px}.content{padding:var(--space-6);width:100%;max-width:1280px;margin-inline:auto}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main{margin-inline-start:0}.content{padding:var(--space-4)}.menu-toggle{display:inline-grid}}.menu-toggle{display:none}.sidebar-scrim{z-index:35;background:#0f172a80;display:none;position:fixed;inset:0}.sidebar-scrim.open{display:block}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header .title{margin-bottom:var(--space-1)}.page-header .subtitle{color:var(--text-2);max-width:62ch;font-size:14px}.page-header .actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.card{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-5)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.card-header h3{font-size:15px}.card-body{padding:var(--space-5)}.grid{gap:var(--space-4);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.stat-card{align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex}.stat-card .stat-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:46px;height:46px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.stat-card .stat-label{color:var(--text-2);font-size:13px;font-weight:500}.stat-card .stat-value{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.1}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);color:#fff}.btn-secondary{background:var(--surface-0);color:var(--text-1);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#991b1b}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text-1)}.btn-sm{padding:6px 10px;font-size:13px}.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:var(--space-4)}.form-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.form-label{margin-bottom:var(--space-2);color:var(--text-1);font-size:13px;font-weight:600;display:block}.form-label .required{color:var(--danger)}.form-help{margin-top:var(--space-1);color:var(--text-3);font-size:12px}.form-error{margin-top:var(--space-1);color:var(--danger);font-size:12.5px}.input,.select,.textarea{width:100%;color:var(--text-1);background:var(--surface-0);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.input.has-error,.select.has-error,.textarea.has-error{border-color:var(--danger)}.input.has-error:focus{box-shadow:0 0 0 3px #b91c1c33}.textarea{resize:vertical;min-height:90px}.checkbox-row{align-items:flex-start;gap:var(--space-2);color:var(--text-2);cursor:pointer;font-size:14px;display:flex}.checkbox-row input{accent-color:var(--primary);width:16px;height:16px;margin-top:3px}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-neutral{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.badge-primary{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-border)}.badge-success{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.badge-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.badge-info{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid;font-size:14px;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert-success{background:var(--success-soft);border-color:var(--success-border);color:#065f46}.alert-warning{background:var(--warning-soft);border-color:var(--warning-border);color:#92400e}.alert-danger{background:var(--danger-soft);border-color:var(--danger-border);color:#991b1b}.alert-info{background:var(--info-soft);border-color:var(--info-border);color:#1e40af}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-0);overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);background:var(--surface-1);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-1);padding:13px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-1)}.table .cell-muted{color:var(--text-3)}.table .row-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.pagination{gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);color:var(--text-2);justify-content:space-between;align-items:center;font-size:13px;display:flex}.pagination nav{gap:4px;display:flex}.pagination nav a,.pagination nav span{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-0);min-width:32px;height:32px;color:var(--text-2);justify-content:center;align-items:center;padding:0 8px;font-size:13px;display:inline-flex}.pagination nav a:hover{background:var(--surface-2);color:var(--text-1)}.pagination nav span[aria-current=page]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.auth-shell{min-height:100vh;padding:var(--space-5);background:radial-gradient(1100px 500px at 100% -10%, #0e74901a, transparent 60%), var(--surface-1);place-items:center;display:grid}.auth-card{width:100%;max-width:420px}.auth-card .card-body{padding:var(--space-6)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);justify-content:center;display:flex}.auth-brand .logo{border-radius:var(--radius-sm);background:var(--primary);color:#fff;place-items:center;width:42px;height:42px;display:grid}.auth-brand .brand-name{font-size:16px;font-weight:600}.auth-title{text-align:center;margin-bottom:var(--space-5)}.auth-title h1{font-size:21px}.auth-title p{color:var(--text-2);margin-top:4px;font-size:14px}.auth-footer{text-align:center;margin-top:var(--space-4);color:var(--text-3);font-size:13px}.dropdown{position:relative}.dropdown-menu{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:50;display:none;position:absolute;top:calc(100% + 6px);right:0}.dropdown-menu.open{display:block}.dropdown-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;color:var(--text-1);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 10px;font-family:inherit;font-size:14px;display:flex}.dropdown-item:hover{background:var(--surface-2)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-soft)}.dropdown-divider{background:var(--border);height:1px;margin:var(--space-2) 0}.dropdown-header{padding:var(--space-2) var(--space-3);color:var(--text-3);font-size:12px}.qr-box{padding:var(--space-5);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-4);place-items:center;display:grid}.qr-box svg{max-width:240px;height:auto}.secret-box{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-1);margin-bottom:var(--space-4);font-size:17px;display:flex}.recovery-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recovery-code{padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm);font-family:var(--font-mono);text-align:center;font-size:13px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.text-muted{color:var(--text-2)}.text-xs{font-size:12px}.text-sm{font-size:13px}.mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);color:var(--text-2);flex-direction:column;display:flex}.empty-state .icon{background:var(--surface-2);width:52px;height:52px;color:var(--text-3);border-radius:999px;place-items:center;display:grid}.empty-state h3{color:var(--text-1);font-size:15px}.kv-list{gap:var(--space-2) var(--space-4);grid-template-columns:180px 1fr;font-size:14px;display:grid}.kv-list dt{color:var(--text-3);font-weight:500}.kv-list dd{color:var(--text-1);word-break:break-word;margin:0}@media (width<=640px){.kv-list{grid-template-columns:1fr}}.metadata-pre{background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-3);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;font-size:13px;overflow-x:auto}.error-state{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;min-height:70vh;display:flex}.error-state .code{letter-spacing:-.03em;color:var(--surface-3);font-size:64px;font-weight:800;line-height:1}.error-state h1{font-size:19px}.error-state p{color:var(--text-2);max-width:40ch}
