*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0e10;--bg2:#18181c;--bg3:#222228;--surface:#1c1c22;--border:#ffffff12;--border2:#ffffff21;--border3:#fff3;--text:#e8e8ec;--muted:#7c7c8a;--muted2:#4a4a58;--accent:#6c63ff;--accent2:#8b83ff;--red:#e24b4a;--amber:#ef9f27;--green:#1d9e75;--blue:#378add;--titlebar-h:40px;--taskbar-h:38px;--sidebar-w:192px;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.5}html,body{height:100%;overflow:hidden}.os-shell{background:var(--bg);flex-direction:column;height:100vh;display:flex;position:relative;overflow:hidden}.os-body{flex:1;min-height:0;display:flex;overflow:hidden}.os-main{background:var(--bg);flex:1;min-width:0;position:relative;overflow:auto}.os-titlebar{height:var(--titlebar-h);background:var(--bg2);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:0;padding:0;display:flex}.titlebar-wordmark{letter-spacing:.08em;color:var(--text);border-right:1px solid var(--border);align-items:center;height:100%;padding:0 16px;font-size:13px;font-weight:700;display:flex}.titlebar-wordmark span{color:var(--muted);font-weight:400}.titlebar-sectors{flex:1;height:100%;display:flex}.sector-tab{letter-spacing:.07em;height:100%;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:0 16px;font-size:11px;font-weight:500;transition:color .15s,border-color .15s}.sector-tab:hover{color:var(--text)}.sector-tab.active{color:var(--text);border-bottom-color:var(--accent)}.titlebar-right{border-left:1px solid var(--border);align-items:center;height:100%;padding:0 16px;display:flex}.oracle-indicator{letter-spacing:.1em;color:var(--muted2);align-items:center;gap:5px;font-size:10px;font-weight:600;transition:color .3s;display:flex}.oracle-indicator.live{color:var(--green)}.oracle-dot{background:var(--muted2);border-radius:50%;width:7px;height:7px;transition:background .3s}.oracle-indicator.live .oracle-dot{background:var(--green);box-shadow:0 0 6px var(--green);animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.os-sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.sidebar-group{flex-direction:column;flex:1;padding:8px 0;display:flex}.sidebar-item{color:var(--muted);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-left:2px solid #0000;border-radius:0;align-items:center;gap:8px;width:100%;padding:7px 14px;font-size:12px;font-weight:400;transition:color .12s,background .12s;display:flex;overflow:hidden}.sidebar-item:hover{color:var(--text);background:#ffffff0a}.sidebar-item.active{color:var(--text);border-left-color:var(--accent);background:#6c63ff1a;font-weight:500}.sidebar-item.locked{color:var(--muted2);cursor:not-allowed;opacity:.5}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;margin-top:auto;padding:10px 12px;display:flex}.user-avatar{background:var(--accent);color:#fff;letter-spacing:.05em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.user-info{overflow:hidden}.user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.user-role{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.os-taskbar{height:var(--taskbar-h);background:var(--bg2);border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:2px;padding:0 8px;display:flex;overflow:auto hidden}.taskbar-item{height:28px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:400;text-decoration:none;transition:color .12s,background .12s;display:flex}.taskbar-item:hover{color:var(--text);background:#ffffff0d}.taskbar-item.active{color:var(--text);background:#6c63ff1f}.taskbar-divider{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 4px}.taskbar-right{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.action-center-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:color .12s,background .12s;display:flex}.action-center-btn:hover{color:var(--text);background:#ffffff0d}.action-center-btn.active{color:var(--accent2);background:#6c63ff1f}.action-center-panel{right:12px;bottom:calc(var(--taskbar-h) + 8px);background:var(--bg2);border:1px solid var(--border2);z-index:9000;border-radius:10px;flex-direction:column;width:320px;max-height:480px;display:flex;position:fixed;overflow:hidden}.action-center-header{color:var(--text);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:500;display:flex}.action-center-tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.ac-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:7px 8px;font-size:11px;font-weight:400;transition:color .12s,border-color .12s}.ac-tab:hover{color:var(--text)}.ac-tab.active{color:var(--text);border-bottom-color:var(--accent)}.action-center-body{flex:1;overflow-y:auto}.ac-empty{color:var(--muted2);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 16px;font-size:12px;display:flex}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg2);border:1px solid var(--border2);border-radius:12px;width:100%;max-width:360px;padding:32px 28px}.login-logo{letter-spacing:.1em;color:var(--text);align-items:center;gap:8px;margin-bottom:24px;font-size:14px;font-weight:700;display:flex}.login-logo-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.login-title{color:var(--text);margin-bottom:4px;font-size:18px;font-weight:500}.login-subtitle{color:var(--muted);margin-bottom:20px;font-size:13px}.step-indicator{gap:6px;margin-bottom:20px;display:flex}.step-dot{background:var(--muted2);border-radius:50%;width:6px;height:6px;transition:background .2s}.step-dot.active{background:var(--accent)}.step-dot.done{background:var(--green)}.input-group{margin-bottom:14px}.input-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.input{background:var(--bg3);border:1px solid var(--border2);width:100%;color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input-totp{letter-spacing:.3em;text-align:center;font-family:monospace;font-size:20px}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px 16px;font-size:13px;font-weight:500;transition:opacity .15s,background .15s;display:flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.88}.btn-ghost{background:var(--bg3);color:var(--muted);border:1px solid var(--border2)}.btn-ghost:hover:not(:disabled){color:var(--text)}.error-msg{color:#f08080;background:#e24b4a1a;border:1px solid #e24b4a40;border-radius:6px;margin-bottom:14px;padding:8px 12px;font-size:12px}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.page-header{margin-bottom:24px}.page-title{color:var(--text);margin-bottom:4px;font-size:20px;font-weight:500}.page-subtitle{color:var(--muted);font-size:13px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px;transition:border-color .15s}.card:hover{border-color:var(--border2)}.divider{background:var(--border);height:1px;margin:16px 0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--muted2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.3}}table{border-collapse:collapse}input,select,textarea,button{font-family:inherit;font-size:inherit}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}
