:root{--bg: #0d1117;--bg-elev: #161b22;--bg-elev-2: #1c2330;--border: #2a3240;--border-strong: #3a4452;--text: #e6edf3;--text-dim: #9aa7b4;--text-faint: #6b7682;--accent: #4d9fff;--accent-hover: #6bb0ff;--accent-soft: rgba(77, 159, 255, .12);--danger: #f1707a;--danger-soft: rgba(241, 112, 122, .12);--success: #5bd6a0;--warn: #e3b341;--warn-soft: rgba(227, 179, 65, .12);--radius: 10px;--radius-sm: 7px;--shadow: 0 8px 30px rgba(0, 0, 0, .4);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=light]{--bg: #f6f8fa;--bg-elev: #ffffff;--bg-elev-2: #eef1f5;--border: #d8dee4;--border-strong: #c2cad3;--text: #1c2430;--text-dim: #57636f;--text-faint: #8a96a3;--accent: #2f6fed;--accent-hover: #245bd0;--accent-soft: rgba(47, 111, 237, .1);--danger: #d1242f;--danger-soft: rgba(209, 36, 47, .09);--success: #1a7f4b;--warn: #9a6700;--warn-soft: rgba(154, 103, 0, .1);--shadow: 0 8px 30px rgba(27, 31, 36, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.opt-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-bar{height:38px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.app-tabs{display:flex;gap:4px;align-items:center}.app-tab{font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:6px;color:var(--text-dim);display:inline-flex;align-items:center;gap:5px}.app-tab.active{background:var(--accent);color:#fff}a.app-tab.ext:hover{background:var(--bg-elev-2);color:var(--text)}.app-tab svg{opacity:.7}.opt-body{display:flex;flex:1;min-height:0;position:relative}.sidebar{width:234px;flex-shrink:0;background:#0d1526;color:#c4cdda;border-right:1px solid #1c2740;display:flex;flex-direction:column;padding:16px 12px;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:16px;color:#fff}.sidebar .brand .logo{display:inline-flex}.nav-section{font-size:11px;font-weight:700;letter-spacing:1px;color:#5e6b82;margin:22px 4px 8px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:7px;color:#aab4c5;font-weight:500;font-size:14px}.sidebar-nav a:hover{background:#16203a;color:#fff}.sidebar-nav a.active{background:#16203a;color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid #1c2740}.sidebar-foot .user-chip .email{color:#e6edf3;font-size:13px;font-weight:600;display:block}.sidebar-foot .user-chip .role{color:#5e6b82;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.topbar{height:56px;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.content{flex:1;overflow-y:auto;padding:26px 24px 64px}.content>*{max-width:1180px;margin:0 auto}.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}.kbd{font-size:11px;font-weight:600;color:var(--text-faint);border:1px solid var(--border-strong);border-radius:5px;padding:2px 6px}.lang-btn{background:transparent;border:none;color:var(--text-dim);font-weight:700;font-size:12px;cursor:pointer;padding:5px 7px;border-radius:5px}.lang-btn:hover{background:var(--bg-elev-2);color:var(--text)}.gsearch{position:relative;flex:1;max-width:560px}.gsearch-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.gsearch-input{width:100%;padding:9px 12px 9px 36px;border-radius:8px;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font-size:13.5px}.gsearch-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.gsearch-dd{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow);overflow:hidden auto;z-index:40;max-height:360px}.gsearch-item{display:flex;flex-direction:column;gap:2px;padding:9px 14px;cursor:pointer}.gsearch-item.active{background:var(--accent-soft)}.gi-title{font-weight:600;font-size:13.5px}.gi-sub{font-size:12px;color:var(--text-faint)}.gsearch-empty{padding:14px;color:var(--text-dim);font-size:13px;text-align:center}.bell-wrap{position:relative}.bell-dd{position:absolute;top:calc(100% + 8px);right:0;width:230px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow);padding:16px;z-index:40;font-size:13px}.sidebar-overlay{display:none}.btn-ms{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border-radius:var(--radius-sm);background:#fff;color:#1b1b1b;border:1px solid #d0d0d0;font-weight:600;font-size:15px;cursor:pointer;font-family:inherit}.btn-ms:hover{background:#f3f3f3}.btn-ms:disabled{opacity:.6;cursor:not-allowed}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--bg-elev)}.stat-card.clickable{cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sc, transparent)}.stat-icon{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;background:var(--sct, var(--bg-elev-2));color:var(--sc, var(--text))}.stat-num{font-size:30px;font-weight:700;line-height:1.1;color:var(--sc, var(--text))}.stat-label{color:var(--text-dim);font-size:13px;margin-top:4px}.stat-card.c-blue{--sc: #3b82f6;--sct: rgba(59, 130, 246, .13);background:linear-gradient(150deg,rgba(59,130,246,.1),var(--bg-elev) 62%)}.stat-card.c-green{--sc: #10b981;--sct: rgba(16, 185, 129, .13);background:linear-gradient(150deg,rgba(16,185,129,.1),var(--bg-elev) 62%)}.stat-card.c-purple{--sc: #8b5cf6;--sct: rgba(139, 92, 246, .14);background:linear-gradient(150deg,rgba(139,92,246,.11),var(--bg-elev) 62%)}.stat-card.c-orange{--sc: #f59e0b;--sct: rgba(245, 158, 11, .14);background:linear-gradient(150deg,rgba(245,158,11,.11),var(--bg-elev) 62%)}.dash-row{padding:9px 11px;border-radius:7px;background:var(--bg-elev-2);cursor:pointer}.dash-row:hover{background:var(--bg)}.dash-activity{padding:9px 11px;border-radius:7px;background:var(--bg-elev-2);display:flex;flex-direction:column;gap:3px}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:0 0 12px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:16px;flex-wrap:wrap}.subtitle{color:var(--text-dim);margin:0}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.grid{display:grid;gap:14px}.grid.cols-auto{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.cred-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color .12s,transform .12s;display:flex;flex-direction:column;gap:8px}.cred-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.cred-card .title{font-weight:600;font-size:15px}.cred-card .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--text-dim);font-size:12.5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 15px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s;white-space:nowrap}.btn:hover{background:var(--bg-elev)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);filter:brightness(1.1)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn.ghost:hover{background:var(--bg-elev-2);color:var(--text)}.btn.sm{padding:5px 10px;font-size:12.5px}.btn.lg{padding:12px 22px;font-size:15px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;line-height:0}.icon-btn:hover{background:var(--bg-elev-2);color:var(--text)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:600;color:var(--text-dim)}input,select,textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:9px 11px;font-size:14px;font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}textarea{resize:vertical;min-height:70px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.toolbar input,.toolbar select{width:auto;min-width:150px}.search{flex:1;min-width:200px!important}.seg{display:flex;gap:6px}.seg button{flex:1;padding:9px 0;border-radius:7px;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text-dim);font-weight:600;font-size:13px;cursor:pointer}.seg button.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--text-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}tbody tr:hover{background:var(--bg-elev-2)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid var(--border-strong);color:var(--text-dim)}.badge.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.badge.success{background:#5bd6a01f;border-color:transparent;color:var(--success)}.badge.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.badge.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.banner{padding:11px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13.5px;border:1px solid}.banner.error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.banner.success{background:#5bd6a01a;border-color:var(--success);color:var(--success)}.banner.info{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.banner.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060ca8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;z-index:60}.modal{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow);max-height:85vh;overflow-y:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}.secret-box{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;font-family:ui-monospace,monospace;font-size:15px;word-break:break-all}.secret-value{flex:1}.reveal-countdown{font-size:11.5px;color:var(--text-faint)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:40px;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow)}.login-card .logo-lg{width:52px;height:52px;margin:0 auto 18px}.login-card h1{font-size:21px}.login-card p{color:var(--text-dim);margin:6px 0 28px}.center-screen{display:flex;align-items:center;justify-content:center;min-height:60vh;flex-direction:column;gap:14px}.spinner{width:22px;height:22px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.spinner.lg{width:34px;height:34px}@keyframes spin{to{transform:rotate(360deg)}}.row{display:flex;gap:10px;align-items:center}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.empty{text-align:center;padding:50px 20px;color:var(--text-dim)}.spacer{flex:1}.divider{height:1px;background:var(--border);margin:18px 0}.checkbox-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}.checkbox-row input{width:auto}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:13.5px}.kv dt{color:var(--text-dim)}.kv dd{margin:0}small.hint{color:var(--text-faint);font-size:12px}@media(max-width:860px){.sidebar{position:fixed;top:38px;bottom:0;left:0;transform:translate(-100%);transition:transform .22s ease;z-index:50}.opt-body.sb-open .sidebar{transform:none;box-shadow:var(--shadow)}.opt-body.sb-open .sidebar-overlay{display:block;position:fixed;top:38px;right:0;bottom:0;left:0;background:#00000080;z-index:45}.content{padding:16px 14px 56px}.gsearch{max-width:none}.kbd{display:none}.stat-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar select,.toolbar input{min-width:0!important;width:100%}.secret-box{flex-wrap:wrap}.page-head{gap:12px}.kv{grid-template-columns:1fr;gap:2px}.kv dt{margin-top:8px}.modal-overlay{padding:16px;align-items:flex-end}.modal{max-width:100%;max-height:90vh}h1{font-size:20px}}@media(min-width:861px){.opt-body:not(.sb-open) .sidebar{display:none}}
