:root { color-scheme: dark; --bg:#050505; --panel:#111; --line:#2b2b2b; --text:#f5f5f5; --muted:#9a9a9a; --soft:#181818; }
    * { box-sizing: border-box; }
    * { scrollbar-width: thin; scrollbar-color: #fff #050505; }
    *::-webkit-scrollbar { width: 7px; height: 7px; }
    *::-webkit-scrollbar-track { background: #050505; }
    *::-webkit-scrollbar-thumb { background: #fff; border-radius: 999px; border: 2px solid #050505; }
    *::-webkit-scrollbar-thumb:hover { background: #ddd; }
    body { margin:0; background:var(--bg); color:var(--text); font:12px/1.35 Arial, Helvetica, sans-serif; overflow:hidden; }
    button, input, select, textarea { font:inherit; color:var(--text); background:#000; border:1px solid var(--line); border-radius:6px; }
    button, input, select { height:30px; }
    button { cursor:pointer; padding:0 9px; }
    button:hover { background:#191919; }
    input, select { padding:0 10px; }
    .wrap { width:100vw; max-width:100vw; margin:0; padding:10px; overflow:hidden; opacity:0; transition:opacity .18s ease; }
    body.app-ready .wrap { opacity:1; }
    header { position:relative; display:flex; gap:10px; align-items:center; justify-content:space-between; padding:8px 10px; border:1px solid var(--line); background:var(--panel); border-radius:8px; margin-bottom:5px; }
    .brand { display:flex; align-items:center; gap:10px; min-width:0; }
    .brand-logo { width:28px; height:28px; border-radius:6px; object-fit:cover; border:1px solid var(--line); background:#000; }
    h1 { margin:0; font-size:14px; letter-spacing:.18px; }
    .header-center { flex:1; min-width:0; display:flex; justify-content:center; pointer-events:none; }
    .view-label { height:26px; display:inline-flex; align-items:center; max-width:260px; padding:0 11px; border:1px solid #242424; border-radius:999px; background:#080808; color:#dcdcdc; font:11px/1 Consolas, monospace; text-transform:uppercase; letter-spacing:.1em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .header-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
    .wash-controls { display:flex; align-items:center; gap:8px; min-width:0; }
    body:not([data-view="wash"]) .wash-controls { display:none; }
    .wash-controls input { width:190px; }
    .header-btn { min-width:84px; }
    .nav-toggle { position:relative; width:32px; min-width:32px; height:28px; padding:0; }
    .nav-toggle span, .nav-toggle::before, .nav-toggle::after { content:""; position:absolute; left:9px; right:9px; height:1px; background:#ddd; transition:transform .14s ease, opacity .14s ease; }
    .nav-toggle span { top:13px; }
    .nav-toggle::before { top:9px; }
    .nav-toggle::after { top:17px; }
    .nav-toggle.open span { opacity:0; }
    .nav-toggle.open::before { transform:translateY(4px) rotate(45deg); }
    .nav-toggle.open::after { transform:translateY(-4px) rotate(-45deg); }
    .nav-panel { position:absolute; right:10px; top:48px; z-index:18; width:min(360px, calc(100vw - 20px)); padding:8px; border:1px solid var(--line); border-radius:8px; background:#090909; box-shadow:0 22px 70px rgba(0,0,0,.62); display:grid; gap:8px; transform-origin:top right; animation:navIn .12s ease-out both; }
    @keyframes navIn { from { opacity:0; transform:translateY(-6px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
    .nav-panel[hidden] { display:none; }
    .tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0; }
    .tab { height:30px; min-width:0; text-align:left; padding:0 10px; }
    .tab.active { background:#fff; color:#000; border-color:#fff; }
    .easter-trigger { width:28px; min-width:28px; height:28px; padding:0; border-radius:50%; color:#777; font-size:13px; }
    .easter-trigger:hover { color:#fff; border-color:#777; background:#101010; }
    .easter-trigger.pulse { animation:easterPulse 2.4s ease-in-out infinite; }
    @keyframes easterPulse {
      0%, 100% { color:#777; border-color:var(--line); box-shadow:none; transform:scale(1); }
      50% { color:#fff; border-color:#fff; box-shadow:0 0 14px rgba(255,255,255,.2); transform:scale(1.05); }
    }
    .stats { display:grid; grid-template-columns:1.05fr 1.12fr 1.12fr 1.05fr .7fr 1fr; gap:6px; margin:8px 0; }
    body:not([data-view="wash"]) .stats { display:none; }
    body:not([data-view="wash"]) #errorPanel { display:none; }
    .stat { border:1px solid var(--line); background:var(--panel); border-radius:8px; padding:7px 9px; min-height:46px; min-width:0; }
    .label { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
    .value { margin-top:4px; font-family:Consolas, monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .error-panel { display:none; margin:0 0 8px; border:1px solid #555; background:#0c0c0c; border-radius:8px; padding:8px 10px; }
    .error-panel.visible { display:block; }
    .error-title { color:#ddd; font-size:10px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
    .error-text { font-family:Consolas, monospace; color:#f5f5f5; white-space:normal; overflow-wrap:anywhere; }
    .view { display:none; }
    .view.active { display:block; }
    #deadView.active { height:calc(100vh - 154px); min-height:0; overflow:hidden; display:flex; flex-direction:column; }
    body:not([data-view="wash"]) #deadView.active { height:calc(100vh - 104px); }
    #deadView .table-wrap { flex:1 1 0; min-height:0; height:auto; overflow-y:auto; overflow-x:auto; }
    #deadView .dead-table { min-width:1060px; }
    #mailView.active { height:calc(100vh - 104px); min-height:0; overflow:hidden; }
    .dead-tools { display:flex; gap:8px; align-items:center; justify-content:space-between; margin:0 0 8px; }
    .dead-tools form { display:flex; gap:8px; align-items:center; }
    .dead-tools input { width:150px; text-transform:uppercase; }
    #moneyView.active { height:calc(100vh - 154px); min-height:0; overflow:hidden; }
    body:not([data-view="wash"]) #moneyView.active { height:calc(100vh - 104px); }
    .money-shell { height:100%; min-height:0; display:grid; grid-template-columns:minmax(280px, 360px) minmax(0, 1fr); gap:8px; }
    .money-sonar, .money-results { border:1px solid var(--line); border-radius:8px; background:var(--panel); overflow:hidden; }
    .money-sonar { position:relative; min-height:0; display:grid; grid-template-rows:auto minmax(260px, 1fr) auto; }
    .money-head { padding:12px; border-bottom:1px solid #1d1d1d; display:grid; gap:8px; }
    .money-head-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-width:0; }
    .money-title { font-size:14px; font-weight:700; }
    .money-copy { color:#bdbdbd; font-size:11px; line-height:1.45; }
    .money-filter-btn { flex:0 0 auto; min-width:68px; height:26px; }
    .sonar-visual { position:relative; min-height:260px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at center, rgba(57,212,106,.08), transparent 60%); }
    .sonar-core { position:absolute; width:10px; height:10px; border-radius:50%; background:#39d46a; box-shadow:0 0 18px rgba(57,212,106,.65); z-index:3; }
    .sonar-ring { position:absolute; width:42%; aspect-ratio:1; border:1px solid rgba(57,212,106,.22); border-radius:50%; }
    .sonar-ring.r2 { width:62%; border-color:rgba(255,255,255,.12); }
    .sonar-ring.r3 { width:82%; border-color:rgba(57,212,106,.12); }
    .sonar-sweep { position:absolute; width:84%; aspect-ratio:1; border-radius:50%; background:conic-gradient(from 0deg, rgba(57,212,106,.42), rgba(57,212,106,.08) 38deg, transparent 70deg); animation:sonarSweep 2.8s linear infinite; }
    .sonar-blip { position:absolute; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 12px rgba(255,255,255,.75); opacity:.95; }
    .sonar-blip.b1 { left:62%; top:34%; animation:sonarBlip 2.1s ease-in-out infinite; }
    .sonar-blip.b2 { left:35%; top:58%; animation:sonarBlip 2.8s ease-in-out infinite .4s; }
    .sonar-blip.b3 { left:72%; top:67%; animation:sonarBlip 3.2s ease-in-out infinite .8s; }
    @keyframes sonarSweep { to { transform:rotate(360deg); } }
    @keyframes sonarBlip { 0%, 100% { opacity:.2; transform:scale(.75); } 45% { opacity:1; transform:scale(1.15); } }
    .money-metrics { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; border-top:1px solid #1d1d1d; }
    .money-metric { min-width:0; padding:8px; border:1px solid #1d1d1d; border-radius:6px; background:#080808; }
    .money-metric-value { margin-top:4px; font-family:Consolas, monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .money-results { min-height:0; display:flex; flex-direction:column; }
    .money-results-head { flex:0 0 auto; padding:12px; border-bottom:1px solid #1d1d1d; display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .money-results-title { font-weight:700; }
    .money-status-pill { display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 10px; border:1px solid #2d2d2d; border-radius:999px; color:#dcdcdc; font:11px/1 Consolas, monospace; text-transform:uppercase; letter-spacing:.08em; }
    .money-cards { flex:1 1 0; min-height:0; overflow:auto; padding:10px; display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); align-content:start; gap:10px; }
    .money-empty { min-height:220px; display:grid; place-items:center; border:1px dashed #2d2d2d; border-radius:8px; color:#b8b8b8; font-family:Consolas, monospace; text-transform:uppercase; letter-spacing:.12em; }
    .money-card { border:1px solid #2a2a2a; border-radius:8px; background:#080808; padding:10px; display:grid; gap:9px; animation:mailRowIn .22s ease-out both; }
    .money-card.god { border-color:rgba(57,212,106,.55); box-shadow:0 0 16px rgba(57,212,106,.12); }
    .money-card.good { border-color:rgba(255,255,255,.24); }
    .money-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .money-symbol { font:18px/1 Consolas, monospace; font-weight:700; }
    .money-rank { height:22px; padding:0 8px; border-radius:999px; border:1px solid #444; display:inline-flex; align-items:center; font:11px/1 Consolas, monospace; text-transform:uppercase; }
    .money-card.god .money-rank { background:#fff; color:#000; border-color:#fff; }
    .money-card.good .money-rank { color:#39d46a; border-color:rgba(57,212,106,.45); }
    .money-line { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; color:#cfcfcf; }
    .money-line span:first-child { color:#7d7d7d; text-transform:uppercase; letter-spacing:.06em; font-size:10px; }
    .money-line span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:Consolas, monospace; }
    #coinsView.active { height:calc(100vh - 154px); min-height:0; overflow:hidden; }
    body:not([data-view="wash"]) #coinsView.active { height:calc(100vh - 104px); }
    .coins-shell { height:100%; min-height:0; display:grid; grid-template-columns:auto minmax(280px, 420px) minmax(320px, 1fr); gap:8px; overflow:hidden; }
    .coins-folders, .coins-list-pane, .coin-detail-pane { min-height:0; border:1px solid var(--line); border-radius:8px; background:var(--panel); overflow:hidden; }
    .coins-folders { position:relative; width:220px; min-width:150px; max-width:360px; display:flex; flex-direction:column; }
    .coins-folder-top { flex:0 0 auto; height:44px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; border-bottom:1px solid #1d1d1d; }
    .coins-folder-title { font-weight:700; }
    .coin-folder-list { flex:1 1 0; min-height:0; overflow-y:auto; padding:8px; display:grid; gap:4px; align-content:start; }
    .coin-folder-item { width:100%; height:32px; padding:0 8px; display:flex; align-items:center; justify-content:space-between; gap:8px; text-align:left; border-color:transparent; background:transparent; }
    .coin-folder-item:hover { background:#151515; border-color:#292929; }
    .coin-folder-item.active { background:#fff; color:#000; border-color:#fff; }
    .coin-folder-item span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .coin-folder-count { flex:0 0 auto; min-width:24px; height:18px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#050505; color:#bdbdbd; font:10px/1 Consolas, monospace; }
    .coin-folder-item.active .coin-folder-count { background:#000; color:#fff; }
    .coin-folder-edit { flex:0 0 auto; padding:10px; border-top:1px solid #1d1d1d; display:grid; gap:8px; }
    .coin-folder-edit-head { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
    .coin-folder-edit-actions { display:flex; gap:6px; }
    .coin-folder-edit textarea, .coin-comment-box textarea { width:100%; min-height:76px; resize:vertical; padding:8px; background:#050505; border:1px solid var(--line); border-radius:6px; color:var(--text); font:12px/1.45 Consolas, monospace; }
    .coin-folder-edit textarea:disabled { opacity:.45; resize:none; }
    .coins-resizer { position:absolute; top:0; right:-5px; width:10px; height:100%; cursor:col-resize; z-index:4; }
    .coins-resizer::after { content:""; position:absolute; top:8px; bottom:8px; left:4px; width:1px; background:transparent; transition:background .12s ease, box-shadow .12s ease; }
    .coins-resizer:hover::after, body.resizing-coins .coins-resizer::after { background:#fff; box-shadow:0 0 12px rgba(255,255,255,.28); }
    body.resizing-coins { cursor:col-resize; user-select:none; }
    .coins-list-pane { display:flex; flex-direction:column; }
    .coins-toolbar { flex:0 0 auto; display:flex; gap:8px; padding:10px; border-bottom:1px solid #1d1d1d; }
    .coins-toolbar input { flex:1; min-width:0; }
    .coins-toolbar select { width:118px; flex:0 0 auto; }
    .coin-list-meta { flex:0 0 auto; height:26px; padding:7px 10px 0; color:var(--muted); font:11px/1 Consolas, monospace; }
    .coin-list { flex:1 1 0; min-height:0; overflow-y:auto; display:grid; align-content:start; padding:8px; gap:5px; }
    .coin-row { width:100%; min-height:54px; height:auto; padding:8px 9px; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; border-color:#1e1e1e; background:#080808; }
    .coin-row:hover { background:#141414; border-color:#333; }
    .coin-row.active { border-color:#fff; background:#fff; color:#000; }
    .coin-row-main, .coin-row-side { min-width:0; display:grid; gap:4px; }
    .coin-row-side { text-align:right; flex:0 0 120px; }
    .coin-row-symbol { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:13px/1 Consolas, monospace; font-weight:700; }
    .coin-row-folders, .coin-row-amount { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#8e8e8e; font-size:10px; }
    .coin-row.active .coin-row-folders, .coin-row.active .coin-row-amount { color:#333; }
    .coin-row-price { font:12px/1 Consolas, monospace; }
    .coin-list-empty, .coin-empty { min-height:180px; display:grid; place-items:center; color:#8f8f8f; font-family:Consolas, monospace; text-transform:uppercase; letter-spacing:.1em; }
    .coin-empty[hidden], .coin-detail[hidden] { display:none !important; }
    .coin-detail-pane { display:flex; min-width:0; }
    .coin-detail { width:100%; min-height:0; overflow-y:auto; padding:12px; display:grid; align-content:start; gap:12px; }
    .coin-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:10px; border-bottom:1px solid #1d1d1d; }
    .coin-detail-symbol { font:20px/1.1 Consolas, monospace; font-weight:700; }
    .coin-detail-sub { margin-top:5px; color:#aaa; font:11px/1.35 Consolas, monospace; overflow-wrap:anywhere; }
    .coin-detail-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:8px; }
    .coin-detail-grid div { min-width:0; display:grid; gap:4px; padding:8px; border:1px solid #202020; border-radius:6px; background:#080808; }
    .coin-detail-grid span { color:#858585; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
    .coin-detail-grid strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:12px/1.2 Consolas, monospace; }
    .coin-actions { display:grid; gap:8px; }
    .coin-folder-checks { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:6px; }
    .coin-folder-check { min-width:0; height:30px; display:flex; align-items:center; gap:8px; padding:0 8px; border:1px solid #222; border-radius:6px; background:#070707; }
    .coin-folder-check input { width:14px; height:14px; accent-color:#fff; flex:0 0 auto; }
    .coin-folder-check span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .coin-comment-box { display:grid; gap:6px; }
    @media (max-width: 900px) {
      #coinsView.active { overflow:auto; }
      .coins-shell { min-height:100%; height:auto; grid-template-columns:1fr; overflow:visible; }
      .coins-folders { width:auto !important; max-width:none; }
      .coins-resizer { display:none; }
      .coins-list-pane, .coin-detail-pane { min-height:320px; }
    }
    .mail-shell { height:100%; min-height:0; display:grid; grid-template-rows:auto minmax(0, 1fr); align-items:start; gap:8px; }
    .mail-login-panel, .mail-panel { border:1px solid var(--line); border-radius:8px; background:var(--panel); }
    .mail-login-panel { align-self:start; display:block; overflow:hidden; }
    .mail-panel { height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
    .mail-accordion-head { display:flex; align-items:center; gap:10px; padding:10px 12px; cursor:pointer; list-style:none; user-select:none; }
    .mail-accordion-head::-webkit-details-marker { display:none; }
    .mail-accordion-head::before { content:"+"; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border:1px solid var(--line); border-radius:4px; color:#ddd; font:13px/1 Consolas, monospace; }
    .mail-login-panel[open] .mail-accordion-head::before { content:"-"; }
    .mail-login-body { padding:0 12px 12px; display:grid; gap:10px; }
    .mail-login-title { font-size:14px; font-weight:700; }
    .mail-login-copy, .mail-status-copy { color:#c7c7c7; line-height:1.5; }
    .mail-saved-accounts { display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; min-height:30px; }
    .mail-saved-account { flex:0 0 auto; height:26px; max-width:220px; border-radius:999px; color:#ddd; background:#050505; }
    .mail-saved-account:hover { color:#fff; border-color:#777; background:#101010; }
    .mail-login-actions { display:flex; gap:8px; align-items:flex-start; }
    .mail-login-actions textarea { flex:1; min-height:110px; resize:vertical; padding:10px; border:1px solid var(--line); border-radius:8px; background:#050505; color:var(--text); font:12px/1.45 Consolas, monospace; }
    .mail-login-buttons { width:180px; display:grid; gap:8px; }
    .mail-toolbar { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-start; gap:14px; padding:10px 12px; }
    .mail-toolbar-meta { display:grid; gap:4px; min-width:0; }
    .mail-address { font:13px/1.3 Consolas, monospace; overflow:hidden; text-overflow:ellipsis; }
    .mail-toolbar-actions { display:flex; gap:8px; align-items:center; }
    .mail-folders { flex:0 0 auto; display:flex; flex-wrap:wrap; gap:8px; padding:0 12px 10px; }
    .mail-folder { min-width:78px; }
    .mail-folder.active { background:#fff; color:#000; border-color:#fff; }
    .mail-status-bar { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-start; gap:14px; padding:10px 12px; border-top:1px solid #1d1d1d; border-bottom:1px solid #1d1d1d; background:#0b0b0b; }
    .mail-status-badge { display:inline-flex; align-items:center; gap:7px; font:11px/1 Consolas, monospace; text-transform:uppercase; letter-spacing:.12em; color:#d8d8d8; }
    .mail-status-badge::before { content:""; width:8px; height:8px; border-radius:50%; background:#555; }
    .mail-status-badge.live::before { background:#39d46a; box-shadow:0 0 10px rgba(57,212,106,.35); }
    .mail-status-badge.syncing::before { background:#fff; box-shadow:0 0 10px rgba(255,255,255,.24); }
    .mail-status-badge.error::before { background:#ff6b6b; box-shadow:0 0 10px rgba(255,107,107,.25); }
    .mail-status-copy { min-width:0; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .mail-table-wrap { flex:1 1 0; min-height:120px; max-height:100%; margin:10px 12px 12px; border:1px solid var(--line); border-radius:8px; overflow-y:scroll; overflow-x:auto; background:#080808; overscroll-behavior:contain; position:relative; }
    .mail-table { min-width:1120px; }
    .mail-table th, .mail-table td { height:34px; }
    .mail-table th:nth-child(1), .mail-table td:nth-child(1), .mail-table th:nth-child(2), .mail-table td:nth-child(2), .mail-table th:nth-child(3), .mail-table td:nth-child(3), .mail-table th:nth-child(4), .mail-table td:nth-child(4) { text-align:left; }
    .mail-table th:nth-child(5), .mail-table td:nth-child(5), .mail-table th:nth-child(6), .mail-table td:nth-child(6) { text-align:left; }
    .mail-table th:nth-child(1) { width:170px; }
    .mail-table th:nth-child(2) { width:230px; }
    .mail-table th:nth-child(3) { width:260px; }
    .mail-table th:nth-child(4) { width:270px; }
    .mail-table th:nth-child(5) { width:110px; }
    .mail-table th:nth-child(6) { width:80px; }
    .mail-row-new { animation:mailRowIn .22s ease-out both; }
    @keyframes mailRowIn {
      from { opacity:0; transform:translateY(10px); }
      to { opacity:1; transform:translateY(0); }
    }
    .mail-code-badge { display:inline-flex; align-items:center; justify-content:center; min-width:66px; height:22px; padding:0 8px; border:1px solid rgba(57,212,106,.4); border-radius:999px; color:#fff; background:rgba(57,212,106,.07); font:12px/1 Consolas, monospace; box-shadow:0 0 12px rgba(57,212,106,.16); cursor:copy; transition:border-color .12s ease, background .12s ease, box-shadow .12s ease; }
    .mail-code-badge:hover { border-color:#39d46a; background:rgba(57,212,106,.18); box-shadow:0 0 16px rgba(57,212,106,.28); }
    .mail-code-badge.copied { border-color:#fff; background:#fff; color:#000; }
    .mail-open-btn { min-width:58px; height:24px; padding:0 8px; }
    .mail-empty-row td { height:120px; text-align:center; color:#b8b8b8; }
    .mail-message-head { display:grid; gap:6px; }
    .mail-message-grid { display:grid; gap:10px; }
    .mail-body-card { border:1px solid var(--line); border-radius:8px; background:#050505; padding:10px; }
    .mail-body-card pre { margin:0; white-space:pre-wrap; word-break:break-word; font:12px/1.5 Consolas, monospace; color:#f3f3f3; }
    .mail-frame { width:100%; height:360px; border:1px solid var(--line); border-radius:8px; background:#fff; }
    .table-wrap { border:1px solid var(--line); border-radius:8px; overflow-y:auto; overflow-x:hidden; background:#080808; height:calc(100vh - 154px); }
    table { width:100%; border-collapse:collapse; table-layout:fixed; }
    th, td { padding:6px 7px; border-bottom:1px solid #1d1d1d; text-align:right; vertical-align:middle; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    th { position:sticky; top:0; z-index:2; background:#111; color:#bbb; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
    .wash-table th:nth-child(1), .wash-table td:nth-child(1), .wash-table th:nth-child(9), .wash-table td:nth-child(9) { text-align:left; }
    .wash-table th:nth-child(2), .wash-table td:nth-child(2), .wash-table th:nth-child(10), .wash-table td:nth-child(10) { text-align:center; }
    .wash-table th:nth-child(1) { width:13%; }
    .wash-table th:nth-child(2) { width:5%; }
    .wash-table th:nth-child(3) { width:11%; }
    .wash-table th:nth-child(4) { width:10%; }
    .wash-table th:nth-child(5) { width:7%; }
    .wash-table th:nth-child(6) { width:7%; }
    .wash-table th:nth-child(7) { width:7%; }
    .wash-table th:nth-child(8) { width:8%; }
    .wash-table th:nth-child(9) { width:21%; }
    .wash-table th:nth-child(10) { width:11%; }
    tr:hover td { background:#111; }
    .mono { font-family:Consolas, monospace; }
    .muted { color:var(--muted); }
    .pill { display:inline-flex; align-items:center; min-width:70px; max-width:100%; justify-content:center; height:22px; border:1px solid var(--line); border-radius:999px; font-size:11px; overflow:hidden; text-overflow:ellipsis; }
    .pill.loading::before { content:""; width:9px; height:9px; margin-right:6px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:spin .75s linear infinite; }
    @keyframes spin { to { transform:rotate(360deg); } }
    .triggered { background:#fff; color:#000; border-color:#fff; }
    .disabled { color:#777; }
    .positive { color:#fff; font-weight:700; }
    .negative { color:#777; }
    .power-toggle { position:relative; width:38px; min-width:38px; height:22px; padding:0; border-radius:999px; vertical-align:middle; }
    .power-toggle::before { content:""; position:absolute; top:4px; left:5px; width:12px; height:12px; border-radius:50%; background:#777; transition:transform .14s ease, background .14s ease; }
    .power-toggle.on { background:#062e14; border-color:#16883b; box-shadow:inset 0 0 0 1px rgba(42, 225, 104, .25), 0 0 10px rgba(42, 225, 104, .18); }
    .power-toggle.on::before { transform:translateX(15px); background:#39d46a; }
    .power-toggle.off { background:#050505; border-color:#202020; box-shadow:inset 0 2px 5px rgba(0,0,0,.9), inset 0 -1px 0 rgba(255,255,255,.03); }
    .power-toggle.off::before { background:#333; box-shadow:inset 0 1px 2px rgba(0,0,0,.9); }
    .power-toggle:hover.on { background:#083b1a; }
    .power-toggle:hover.off { background:#080808; }
    .action-cell { display:flex; align-items:center; justify-content:center; gap:6px; }
    .icon-btn, .remove-btn { width:26px; min-width:26px; height:22px; padding:0; color:#aaa; line-height:1; }
    .icon-btn { font-size:14px; }
    .row-check { width:14px; height:14px; margin:0; accent-color:#fff; vertical-align:middle; }
    .dead-type { min-width:58px; height:20px; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
    .dead-type.auto { border-color:#3a3a3a; background:#101010; color:#f0f0f0; }
    .dead-type.manual { color:#8b8b8b; }
    .dead-table th:nth-child(1), .dead-table td:nth-child(1), .dead-table th:nth-child(3), .dead-table td:nth-child(3), .dead-table th:nth-child(7), .dead-table td:nth-child(7), .dead-table th:nth-child(10), .dead-table td:nth-child(10) { text-align:center; }
    .dead-table th:nth-child(2), .dead-table td:nth-child(2), .dead-table th:nth-child(5), .dead-table td:nth-child(5), .dead-table th:nth-child(9), .dead-table td:nth-child(9) { text-align:left; }
    .dead-table th:nth-child(1) { width:4%; }
    .dead-table th:nth-child(2) { width:9%; }
    .dead-table th:nth-child(3) { width:7%; }
    .dead-table th:nth-child(4) { width:11%; }
    .dead-table th:nth-child(5) { width:15%; }
    .dead-table th:nth-child(6) { width:8%; }
    .dead-table th:nth-child(7) { width:9%; }
    .dead-table th:nth-child(8) { width:12%; }
    .dead-table th:nth-child(9) { width:16%; }
    .dead-table th:nth-child(10) { width:9%; }
    .bulk-actions { position:fixed; left:50%; bottom:16px; transform:translate(-50%, 18px); z-index:15; display:flex; align-items:center; gap:8px; max-width:calc(100vw - 24px); padding:8px; border:1px solid var(--line); border-radius:8px; background:#0a0a0a; box-shadow:0 18px 45px rgba(0,0,0,.55); opacity:0; pointer-events:none; transition:opacity .12s ease, transform .12s ease; }
    .bulk-actions.visible { opacity:1; pointer-events:auto; transform:translate(-50%, 0); }
    .bulk-count { min-width:92px; padding:0 8px; font-family:Consolas, monospace; color:#ddd; }
    .modal-backdrop { position:fixed; inset:0; z-index:20; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(0,0,0,.72); overflow-y:auto; }
    .modal-backdrop.visible { display:flex; }
    .modal { width:min(420px, calc(100vw - 28px)); max-height:calc(100vh - 40px); border:1px solid var(--line); border-radius:8px; background:#090909; box-shadow:0 24px 70px rgba(0,0,0,.65); display:flex; flex-direction:column; overflow:hidden; }
    .modal.easter { width:min(520px, calc(100vw - 28px)); }
    .modal-head { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; border-bottom:1px solid var(--line); }
    .modal-title { font-weight:700; font-size:13px; }
    .modal-body { flex:0 1 auto; min-height:0; overflow-y:auto; padding:12px; display:grid; gap:8px; }
    .modal-text { color:#ddd; line-height:1.45; }
    .bulk-symbols-field { width:100%; min-height:220px; resize:vertical; padding:10px; background:#050505; font:12px/1.45 Consolas, monospace; text-transform:uppercase; }
    .exchange-row { display:flex; align-items:center; justify-content:space-between; gap:12px; height:34px; padding:0 2px; }
    .exchange-name { font-family:Consolas, monospace; }
    .modal-actions { flex:0 0 auto; display:flex; justify-content:flex-end; gap:8px; padding:10px 12px 12px; border-top:1px solid var(--line); }
    .easter-visual { width:100%; height:180px; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:#000; }
    .easter-copy { display:block; width:100%; margin-top:6px; padding:9px 10px; border:1px solid var(--line); border-radius:6px; background:#050505; color:#fff; font-family:Consolas, monospace; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:box-shadow .14s ease, border-color .14s ease, color .14s ease; }
    .easter-copy:hover { cursor:pointer; border-color:#fff; box-shadow:0 0 14px rgba(255,255,255,.18); }
    .settings-body { gap:12px; }
    .settings-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .settings-copy { display:grid; gap:4px; }
    .settings-field { display:grid; gap:6px; }
    .settings-field input { width:100%; }
    .settings-hint { min-height:18px; font-family:Consolas, monospace; }
    #settingsView.active { height:calc(100vh - 154px); overflow:auto; }
    body:not([data-view="wash"]) #settingsView.active { height:calc(100vh - 104px); }
    .settings-page { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:8px; align-content:start; }
    .settings-card { border:1px solid var(--line); border-radius:8px; background:var(--panel); padding:12px; display:grid; gap:10px; }
    .settings-card-head { display:grid; gap:4px; }
    .settings-card-title { font-size:14px; font-weight:700; }
    .settings-card-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
    .boot-overlay { position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:20px; background:#000; transition:opacity .28s cubic-bezier(.16,1,.3,1), visibility .28s ease; }
    .boot-overlay.hidden { opacity:0; visibility:hidden; pointer-events:none; }
    .pin-stage { width:min(980px, 100%); min-height:380px; display:grid; place-items:center; perspective:1200px; }
    .pin-card { position:relative; width:min(820px, 100%); display:grid; gap:32px; justify-items:center; padding:28px 22px; background:#000; border:0; box-shadow:none; transform-style:preserve-3d; animation:pinCardIn .62s cubic-bezier(.16,1,.3,1) both; }
    .pin-card::before { content:""; position:absolute; left:50%; top:50%; width:min(620px, 84vw); height:170px; transform:translate(-50%,-52%); border-radius:999px; background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.09), rgba(255,255,255,.025) 38%, transparent 72%); filter:blur(30px); opacity:.78; pointer-events:none; }
    .pin-input { position:absolute; opacity:0; pointer-events:none; width:1px; height:1px; }
    .pin-echo { position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:11px; max-width:100%; min-height:102px; }
    .pin-echo-slot { --delay:0ms; position:relative; width:56px; height:84px; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.145); background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,1) 46%, rgba(255,255,255,.025)); box-shadow:inset 0 0 18px rgba(255,255,255,.035), inset 0 1px 0 rgba(255,255,255,.065); transform:translateY(18px) scale(.68) rotate(-4deg); opacity:0; animation:pinSlotIn .54s cubic-bezier(.16,1,.3,1) var(--delay) forwards; will-change:transform, opacity, box-shadow, border-color; }
    .pin-echo.scanning .pin-echo-slot, .pin-echo.stable .pin-echo-slot { animation:none; transform:translateY(0) scale(1) rotate(0); opacity:1; }
    .pin-echo-slot::before { content:""; position:absolute; inset:-1px; border-radius:inherit; background:linear-gradient(105deg, transparent 0%, rgba(255,255,255,.16) 32%, transparent 54%); opacity:0; transform:translateX(-82%); pointer-events:none; }
    .pin-echo-slot::after { content:""; position:absolute; left:50%; top:47%; width:27px; height:27px; border-radius:999px; border:1px solid rgba(255,255,255,.23); transform:translate(-50%,-50%) scale(.48); opacity:.22; transition:transform .42s cubic-bezier(.16,1,.3,1), opacity .24s ease, background .26s ease, box-shadow .26s ease, border-radius .42s cubic-bezier(.16,1,.3,1); }
    .pin-slot-top { position:absolute; left:9px; right:9px; top:9px; height:2px; border-radius:999px; background:rgba(255,255,255,.46); opacity:.13; transform:scaleX(.38); transform-origin:left center; transition:opacity .24s ease, transform .42s cubic-bezier(.16,1,.3,1); }
    .pin-slot-bottom { position:absolute; left:50%; bottom:10px; width:16px; height:2px; border-radius:999px; background:rgba(255,255,255,.38); opacity:.12; transform:translateX(-50%) scaleX(.4); transition:opacity .24s ease, transform .42s cubic-bezier(.16,1,.3,1), width .42s cubic-bezier(.16,1,.3,1); }
    .pin-liquid { position:absolute; left:0; right:0; bottom:0; height:100%; background:#fff; transform:translateY(108%); opacity:0; transition:transform .52s cubic-bezier(.16,1,.3,1), opacity .22s ease; }
    .pin-liquid::before { content:""; position:absolute; left:-18%; right:-18%; top:-18px; height:34px; border-radius:50%; background:#fff; animation:pinLiquidWave .72s cubic-bezier(.16,1,.3,1) both; }
    .pin-echo-slot.filled { border-color:rgba(255,255,255,.5); box-shadow:inset 0 0 22px rgba(255,255,255,.07), 0 0 18px rgba(255,255,255,.08); }
    .pin-echo-slot.filled::before { animation:pinShine .62s cubic-bezier(.16,1,.3,1); }
    .pin-echo-slot.filled::after { opacity:1; transform:translate(-50%,-50%) scale(1); border-radius:10px; background:rgba(255,255,255,.94); box-shadow:0 0 29px rgba(255,255,255,.58); }
    .pin-echo-slot.filled .pin-slot-top { opacity:.62; transform:scaleX(1); }
    .pin-echo-slot.filled .pin-slot-bottom { opacity:.5; width:26px; transform:translateX(-50%) scaleX(1); }
    .pin-echo-slot.active { border-color:rgba(255,255,255,.9); box-shadow:0 0 0 1px rgba(255,255,255,.42), inset 0 0 24px rgba(255,255,255,.085), 0 0 28px rgba(255,255,255,.15); transform:translateY(-4px) scale(1.035); }
    .pin-echo-slot.active::before { opacity:.8; animation:pinShine 1.18s cubic-bezier(.16,1,.3,1) infinite; }
    .pin-echo-slot.active::after { opacity:.74; transform:translate(-50%,-50%) scale(.72); animation:pinBreath 1.05s ease-in-out infinite; }
    .pin-echo-slot.scan { border-color:rgba(255,255,255,.98); box-shadow:inset 0 0 30px rgba(255,255,255,.18), 0 0 38px rgba(255,255,255,.22); animation:pinScanLift .42s cubic-bezier(.16,1,.3,1) both !important; }
    .pin-echo-slot.scan .pin-liquid { transform:translateY(0); opacity:.92; }
    .pin-echo-slot.scan::after { opacity:0; transform:translate(-50%,-50%) scale(.58); }
    .pin-echo-slot.scan .pin-slot-top, .pin-echo-slot.scan .pin-slot-bottom { opacity:0; }
    .pin-stage.accepted .pin-echo-slot.scan { box-shadow:inset 0 0 34px rgba(255,255,255,.22), 0 0 42px rgba(255,255,255,.26); }
    .pin-submit { position:relative; z-index:2; width:168px; height:58px; overflow:hidden; border-radius:999px; border:1px solid rgba(255,255,255,.19); background:#000; box-shadow:inset 0 0 20px rgba(255,255,255,.045); outline:none; cursor:pointer; transition:transform .26s cubic-bezier(.16,1,.3,1), border-color .24s ease, box-shadow .24s ease, width .52s cubic-bezier(.16,1,.3,1), border-radius .52s cubic-bezier(.16,1,.3,1); }
    .pin-submit:hover { transform:translateY(-1px) scale(1.025); border-color:rgba(255,255,255,.42); box-shadow:inset 0 0 25px rgba(255,255,255,.075), 0 0 24px rgba(255,255,255,.1); }
    .pin-submit:active { transform:translateY(0) scale(.972); }
    .pin-submit[disabled] { cursor:default; }
    .pin-submit-fill { position:absolute; inset:0; background:#fff; transform:scaleX(0); transform-origin:left center; opacity:0; transition:transform .7s cubic-bezier(.16,1,.3,1), opacity .18s ease; }
    .pin-submit-fill::before { content:""; position:absolute; top:-26px; right:-22px; width:74px; height:74px; border-radius:50%; background:#fff; opacity:.92; transform:scale(.55); transition:transform .72s cubic-bezier(.16,1,.3,1); }
    .pin-submit-orb { position:absolute; left:50%; top:50%; width:28px; height:28px; border-radius:999px; border:1px solid rgba(255,255,255,.34); transform:translate(-50%,-50%); opacity:.44; transition:opacity .24s ease, background .24s ease, box-shadow .24s ease, transform .42s cubic-bezier(.16,1,.3,1), border-radius .42s cubic-bezier(.16,1,.3,1); }
    .pin-submit.ready .pin-submit-orb { opacity:.96; transform:translate(-50%,-50%) scale(1.04); }
    .pin-submit.ready { border-color:rgba(255,255,255,.34); }
    .pin-stage.checking .pin-submit { width:236px; border-radius:28px; border-color:rgba(255,255,255,.82); }
    .pin-stage.checking .pin-submit-fill { transform:scaleX(1); opacity:.9; }
    .pin-stage.checking .pin-submit-fill::before { transform:scale(1.24); }
    .pin-stage.checking .pin-submit-orb { background:#fff; box-shadow:0 0 32px rgba(255,255,255,.5); opacity:1; border-radius:9px; transform:translate(-50%,-50%) scale(1.04) rotate(45deg); }
    .pin-stage.invalid .pin-card { animation:pinDeny .52s cubic-bezier(.2,.8,.2,1); }
    .pin-stage.invalid .pin-submit { animation:pinAngry .6s cubic-bezier(.2,.8,.2,1); border-color:rgba(255,255,255,.42); }
    .pin-stage.accepted .pin-submit { width:196px; border-color:rgba(255,255,255,.92); box-shadow:inset 0 0 26px rgba(255,255,255,.12), 0 0 34px rgba(255,255,255,.16); }
    .pin-stage.accepted .pin-submit-fill { transform:scaleX(1); opacity:.96; }
    .pin-stage.accepted .pin-submit-orb { background:#000; border-color:#000; box-shadow:none; opacity:.9; }
    .pin-status { position:relative; z-index:2; min-height:18px; color:rgba(255,255,255,.48); font-family:Consolas, monospace; letter-spacing:.18em; text-transform:uppercase; font-size:11px; text-align:center; transition:opacity .24s ease, transform .24s ease, color .24s ease; }
    .pin-status.error { color:rgba(255,255,255,.82); animation:pinStatusPop .34s cubic-bezier(.16,1,.3,1) both; }
    @keyframes pinCardIn { from { opacity:0; transform:translateY(22px) scale(.96); filter:blur(12px); } to { opacity:1; transform:translateY(0) scale(1); filter:blur(0); } }
    @keyframes pinSlotIn { 0% { transform:translateY(20px) scale(.62) rotate(-6deg); opacity:0; filter:blur(8px); } 72% { transform:translateY(-4px) scale(1.04) rotate(1deg); opacity:1; filter:blur(0); } 100% { transform:translateY(0) scale(1) rotate(0); opacity:1; filter:blur(0); } }
    @keyframes pinShine { from { opacity:0; transform:translateX(-82%); } 45% { opacity:.78; } to { opacity:0; transform:translateX(82%); } }
    @keyframes pinBreath { 0%,100% { transform:translate(-50%,-50%) scale(.66); } 50% { transform:translate(-50%,-50%) scale(.82); } }
    @keyframes pinLiquidWave { from { transform:translateX(-18%) scaleX(1.24); } to { transform:translateX(18%) scaleX(.92); } }
    @keyframes pinScanLift { 0% { transform:translateY(0) scale(1); } 52% { transform:translateY(-8px) scale(1.085); } 100% { transform:translateY(0) scale(1); } }
    @keyframes pinDeny { 0%,100% { transform:translateX(0); } 16% { transform:translateX(-14px) rotate(-.9deg); } 34% { transform:translateX(12px) rotate(.9deg); } 52% { transform:translateX(-8px) rotate(-.55deg); } 70% { transform:translateX(5px) rotate(.38deg); } }
    @keyframes pinAngry { 0%,100% { transform:translateX(0) scale(1); } 18% { transform:translateX(-9px) scale(1.035); } 38% { transform:translateX(9px) scale(.982); } 58% { transform:translateX(-6px) scale(1.012); } 78% { transform:translateX(4px); } }
    @keyframes pinStatusPop { from { opacity:0; transform:translateY(-6px); filter:blur(8px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
    #confettiCanvas { position:fixed; inset:0; z-index:35; width:100vw; height:100vh; pointer-events:none; }
    @media (max-width: 900px) {
      header { align-items:center; }
      .header-center { justify-content:flex-start; }
      .view-label { max-width:140px; }
      .wash-controls input { width:130px; }
      .stats { grid-template-columns:1fr 1fr; }
      .table-wrap { height:calc(100vh - 238px); }
      .dead-tools { align-items:flex-start; flex-direction:column; }
      #moneyView.active { height:calc(100vh - 238px); }
      body:not([data-view="wash"]) #moneyView.active { height:calc(100vh - 196px); }
      .money-shell { grid-template-columns:1fr; overflow:auto; }
      .money-sonar { min-height:420px; }
      #mailView.active { height:calc(100vh - 196px); }
      .mail-login-actions, .mail-toolbar, .mail-status-bar { flex-direction:column; align-items:stretch; }
      .mail-login-buttons { width:100%; }
      .mail-panel { min-height:0; }
      .mail-table { min-width:860px; }
      .mail-table th:nth-child(1) { width:150px; }
      .mail-table th:nth-child(2) { width:190px; }
      .mail-table th:nth-child(3) { width:220px; }
      .mail-table th:nth-child(4) { width:210px; }
      .mail-table th:nth-child(5) { width:90px; }
      .mail-table th:nth-child(6) { width:70px; }
      .mail-status-copy { white-space:normal; }
      .pin-stage { grid-template-columns:1fr; max-width:460px; }
      .pin-copy-card, .pin-card { padding:18px; border-radius:20px; }
      .pin-btn { height:68px; border-radius:18px; }
      .pin-title { font-size:30px; }
      .hide-mobile { display:none; }
    }
    @media (max-width: 620px) {
      .brand h1 { display:none; }
      .header-center { display:none; }
      .wash-controls input { width:112px; }
      .wash-controls select { width:96px; padding:0 6px; }
      .stats { grid-template-columns:1fr; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
      .wrap { opacity:1; transform:none; filter:none; }
    }
    #accountsView.active { height:calc(100vh - 154px); min-height:0; overflow:hidden; display:flex; flex-direction:column; }
    body:not([data-view="wash"]) #accountsView.active { height:calc(100vh - 104px); }
    #accountsView .table-wrap { flex:1 1 0; min-height:0; height:auto; overflow-y:auto; overflow-x:auto; }
    .accounts-tools { display:flex; gap:8px; align-items:center; margin:0 0 8px; flex-wrap:wrap; }
    .accounts-tools input { width:200px; }
    .accounts-table th:nth-child(1) { width:3%; }
    .accounts-table th:nth-child(2) { width:13%; text-align:left; }
    .accounts-table th:nth-child(3) { width:13%; text-align:left; }
    .accounts-table th:nth-child(4) { width:7%; }
    .accounts-table th:nth-child(5) { width:8%; }
    .accounts-table th:nth-child(6) { width:8%; }
    .accounts-table th:nth-child(7) { width:7%; }
    .accounts-table th:nth-child(8) { width:8%; }
    .accounts-table th:nth-child(9) { width:8%; }
    .accounts-table th:nth-child(10) { width:11%; text-align:left; }
    .accounts-table th:nth-child(11) { width:14%; text-align:center; }
    .accounts-table td:nth-child(2), .accounts-table td:nth-child(3), .accounts-table td:nth-child(10) { text-align:left; }
    .accounts-table td:nth-child(11) { text-align:center; }
    .acc-status-ok { color:#39d46a; }
    .acc-status-blocked { color:#ff6b6b; }
    .acc-status-unknown, .acc-status-pending { color:#888; }
    .acc-status-error { color:#ff9797; }
    .acc-email-link { cursor:pointer; color:#7fb3ff; text-decoration:underline; font-family:Consolas,monospace; font-size:11px; }
    .acc-email-link:hover { color:#a8c9ff; }
    .account-modal { width:min(500px, calc(100vw - 28px)); }
    .account-modal .modal-body { padding:14px; gap:12px; }
    .account-modal .settings-field input { height:36px; }
    .account-modal .settings-field textarea { width:100%; min-height:76px; resize:vertical; padding:9px 10px; background:#050505; font:12px/1.45 Consolas, monospace; }
    .account-details-modal { width:min(620px, calc(100vw - 28px)); }
    .account-details-modal .modal-body { padding:14px; gap:8px; }
    .account-details-modal .pin-side-line { border-radius:8px; padding:10px 12px; text-transform:none; letter-spacing:0; }
    .account-details-modal .pin-side-line span:last-child { text-align:right; overflow-wrap:anywhere; }
    #usersView.active { height:calc(100vh - 154px); min-height:0; overflow:hidden; display:flex; flex-direction:column; }
    body:not([data-view="wash"]) #usersView.active { height:calc(100vh - 104px); }
    #usersView .table-wrap { flex:1 1 0; min-height:0; height:auto; overflow-y:auto; overflow-x:auto; }
    .users-tools { display:flex; gap:8px; align-items:center; margin:0 0 8px; }
    .users-table th:nth-child(1) { width:5%; }
    .users-table th:nth-child(2) { width:18%; text-align:left; }
    .users-table th:nth-child(3) { width:30%; text-align:left; }
    .users-table th:nth-child(4) { width:12%; }
    .users-table th:nth-child(5) { width:20%; text-align:left; }
    .users-table th:nth-child(6) { width:15%; text-align:center; }
    .users-table td:nth-child(2), .users-table td:nth-child(3), .users-table td:nth-child(5) { text-align:left; }
    .users-table td:nth-child(6) { text-align:center; }
    .perm-badge { display:inline-flex; align-items:center; height:20px; padding:0 7px; margin:1px; border:1px solid #2a2a2a; border-radius:999px; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:#ccc; background:#0e0e0e; }
    .settings-field { display:grid; gap:4px; }
    .settings-field > span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
    .settings-field input { height:32px; }
    .settings-body { display:grid; gap:12px; }
    .settings-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .settings-copy { display:grid; gap:3px; }
    .settings-hint { font-size:11px; }
    .modal-text { color:#c7c7c7; line-height:1.5; font-size:12px; }
    .perms-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .perm-check { display:flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid var(--line); border-radius:6px; cursor:pointer; }
    .perm-check input { width:14px; height:14px; margin:0; accent-color:#fff; flex:0 0 auto; }
    .perm-check span { font-size:12px; }
    .key-gen-row { display:flex; gap:8px; align-items:flex-end; }
    .key-gen-row .settings-field { flex:1; }
    .key-display { font-family:Consolas, monospace; font-size:13px; padding:8px 10px; border:1px solid rgba(57,212,106,.35); border-radius:6px; background:rgba(57,212,106,.04); color:#39d46a; min-height:32px; display:flex; align-items:center; }
    .monitoring-page { display:flex; flex-direction:column; gap:8px; overflow-y:auto; padding:8px; height:100%; }
    .monitoring-container { display:flex; flex-direction:column; gap:12px; }
    .monitoring-section { display:flex; flex-direction:column; gap:8px; padding:12px; background:#0a0a0a; border:1px solid #2b2b2b; border-radius:8px; }
    .section-title { font-weight:bold; font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:#e0e0e0; margin-bottom:4px; }
    .monitoring-stats { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
    .stat-badge { display:inline-flex; align-items:center; height:26px; padding:0 10px; border:1px solid #3a3a3a; border-radius:4px; background:#0f0f0f; font-size:11px; white-space:nowrap; color:#b0b0b0; }
    .stat-badge.success { border-color:rgba(57,212,106,.4); color:#39d46a; }
    .stat-badge.warning { border-color:rgba(255,165,0,.4); color:#ffa500; }
    .stat-badge.error { border-color:rgba(239,68,68,.4); color:#ef4444; }
    .monitoring-table { width:100%; border-collapse:collapse; }
    .monitoring-table thead { background:#141414; }
    .monitoring-table th { padding:8px; text-align:left; font-size:11px; font-weight:bold; text-transform:uppercase; letter-spacing:.04em; border:1px solid #2b2b2b; color:#a0a0a0; }
    .monitoring-table td { padding:8px; border:1px solid #2b2b2b; font-size:11px; color:#d0d0d0; }
    .monitoring-table tbody tr:hover { background:#0f0f0f; }
    .monitoring-table tbody tr:nth-child(even) { background:#080808; }
    .monitoring-table .status-connected { color:#39d46a; font-weight:bold; }
    .monitoring-table .status-reconnecting { color:#ffa500; font-weight:bold; }
    .monitoring-table .status-error { color:#ef4444; font-weight:bold; }
    .monitoring-table .status-idle { color:#a0a0a0; }
    .heartbeat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; }
    .heartbeat-card { border:1px solid #2b2b2b; border-radius:6px; padding:10px; background:#090909; min-height:108px; }
    .heartbeat-card.healthy { border-color:rgba(57,212,106,.35); }
    .heartbeat-card.waiting { border-color:rgba(96,165,250,.35); }
    .heartbeat-card.busy { border-color:rgba(168,85,247,.35); }
    .heartbeat-card.stale { border-color:rgba(255,165,0,.5); background:#160f04; }
    .heartbeat-card.stuck, .heartbeat-card.error { border-color:rgba(239,68,68,.55); background:#180808; }
    .heartbeat-head { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-bottom:6px; }
    .heartbeat-name { font-size:12px; font-weight:700; color:#e5e5e5; }
    .heartbeat-status { font-size:10px; text-transform:uppercase; letter-spacing:.04em; padding:2px 6px; border-radius:4px; background:#171717; }
    .heartbeat-meta { display:grid; gap:3px; font-size:11px; color:#a8a8a8; }
    .heartbeat-meta .mono { color:#d8d8d8; }
    .queue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; }
    .queue-card { border:1px solid #2b2b2b; border-radius:6px; padding:10px; background:#090909; }
    .queue-title { display:flex; justify-content:space-between; font-size:12px; margin-bottom:8px; }
    .queue-bar { height:8px; background:#1b1b1b; border-radius:999px; overflow:hidden; }
    .queue-fill { height:100%; width:0; background:#39d46a; transition:width .2s ease; }
    .queue-fill.warn { background:#ffa500; }
    .queue-fill.bad { background:#ef4444; }
    .event-list { display:grid; gap:6px; max-height:260px; overflow-y:auto; }
    .event-row { display:grid; grid-template-columns:78px 140px 1fr 78px; gap:8px; align-items:center; padding:7px 8px; border:1px solid #242424; border-radius:4px; background:#080808; font-size:11px; }
    .event-row.error, .event-row.stuck { border-color:rgba(239,68,68,.35); }
    .event-row.stale { border-color:rgba(255,165,0,.35); }
    body[data-role="user"] .admin-only { display:none !important; }
    #monitoringView { display:none; }
    #monitoringView.active { display:flex; flex-direction:column; }
    body:not([data-view="wash"]) #monitoringView.active { height:calc(100vh - 104px); }
    #monitoringView .monitoring-page { flex:1; min-height:0; overflow-y:auto; }
    #monitoringView .table-wrap { max-height:280px; overflow-y:auto; border:1px solid #2b2b2b; border-radius:4px; }
    .mail-accounts-more { background:#111; border:1px solid #333; color:#888; font-size:11px; padding:4px 10px; border-radius:4px; cursor:pointer; }
    .mail-accounts-more:hover { border-color:#555; color:#ccc; }
    .mail-accounts-list-row { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; padding:6px 8px; background:#0a0a0a; border:1px solid #242424; border-radius:4px; font-size:12px; }
    .mail-accounts-list-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#ccc; font-family:Consolas,monospace; }
    .mail-accounts-list-row button { flex:0 0 auto; font-size:11px; padding:3px 10px; }
    .mail-status-animated { font-family:Consolas,monospace; font-size:12px; min-height:18px; display:inline-block; }
    .mail-status-animated .retype-cursor { display:inline-block; width:1px; height:13px; background:#39d46a; margin-left:1px; vertical-align:middle; animation:blink .7s step-end infinite; }
    @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
    .mail-placeholder-row { display:flex; gap:8px; padding:8px 0; border-bottom:1px solid #181818; align-items:center; }
    .mail-placeholder-cell { background:#151515; border-radius:3px; height:14px; animation:shimmer 1.4s ease-in-out infinite; }
    @keyframes shimmer { 0%,100%{opacity:.4} 50%{opacity:.7} }
    .mail-loader-overlay { position:absolute; inset:0; display:none; align-items:center; justify-content:center; z-index:5; background:rgba(8,8,8,.82); border-radius:8px; }
    .mail-loader-overlay.active { display:flex; }
    .wheel-and-hamster { --dur:1s; position:relative; width:12em; height:12em; font-size:14px; }
    .wheel, .hamster, .hamster div, .spoke { position:absolute; }
    .wheel, .spoke { border-radius:50%; top:0; left:0; width:100%; height:100%; }
    .wheel { background:radial-gradient(100% 100% at center,hsla(0,0%,60%,0) 47.8%,hsl(0,0%,60%) 48%); z-index:2; }
    .hamster { animation:hamster var(--dur) ease-in-out infinite; top:50%; left:calc(50% - 3.5em); width:7em; height:3.75em; transform:rotate(4deg) translate(-0.8em,1.85em); transform-origin:50% 0; z-index:1; }
    .hamster__head { animation:hamsterHead var(--dur) ease-in-out infinite; background:hsl(30,90%,55%); border-radius:70% 30% 0 100% / 40% 25% 25% 60%; box-shadow:0 -0.25em 0 hsl(30,90%,80%) inset, 0.75em -1.55em 0 hsl(30,90%,90%) inset; top:0; left:-2em; width:2.75em; height:2.5em; transform-origin:100% 50%; }
    .hamster__ear { animation:hamsterEar var(--dur) ease-in-out infinite; background:hsl(0,90%,85%); border-radius:50%; box-shadow:-0.25em 0 hsl(30,90%,55%) inset; top:-0.25em; right:-0.25em; width:0.75em; height:0.75em; transform-origin:50% 75%; }
    .hamster__eye { animation:hamsterEye var(--dur) linear infinite; background-color:hsl(0,0%,0%); border-radius:50%; top:0.375em; left:1.25em; width:0.5em; height:0.5em; }
    .hamster__nose { background:hsl(0,90%,75%); border-radius:35% 65% 85% 15% / 70% 50% 50% 30%; top:0.75em; left:0; width:0.2em; height:0.25em; }
    .hamster__body { animation:hamsterBody var(--dur) ease-in-out infinite; background:hsl(30,90%,90%); border-radius:50% 30% 50% 30% / 15% 60% 40% 40%; box-shadow:0.1em 0.75em 0 hsl(30,90%,55%) inset, 0.15em -0.5em 0 hsl(30,90%,80%) inset; top:0.25em; left:2em; width:4.5em; height:3em; transform-origin:17% 50%; transform-style:preserve-3d; }
    .hamster__limb--fr, .hamster__limb--fl { clip-path:polygon(0 0,100% 0,70% 80%,60% 100%,0% 100%,40% 80%); top:2em; left:0.5em; width:1em; height:1.5em; transform-origin:50% 0; }
    .hamster__limb--fr { animation:hamsterFRLimb var(--dur) linear infinite; background:linear-gradient(hsl(30,90%,80%) 80%,hsl(0,90%,75%) 80%); transform:rotate(15deg) translateZ(-1px); }
    .hamster__limb--fl { animation:hamsterFLLimb var(--dur) linear infinite; background:linear-gradient(hsl(30,90%,90%) 80%,hsl(0,90%,85%) 80%); transform:rotate(15deg); }
    .hamster__limb--br, .hamster__limb--bl { border-radius:0.75em 0.75em 0 0; clip-path:polygon(0 0,100% 0,100% 30%,70% 90%,70% 100%,30% 100%,40% 90%,0% 30%); top:1em; left:2.8em; width:1.5em; height:2.5em; transform-origin:50% 30%; }
    .hamster__limb--br { animation:hamsterBRLimb var(--dur) linear infinite; background:linear-gradient(hsl(30,90%,80%) 90%,hsl(0,90%,75%) 90%); transform:rotate(-25deg) translateZ(-1px); }
    .hamster__limb--bl { animation:hamsterBLLimb var(--dur) linear infinite; background:linear-gradient(hsl(30,90%,90%) 90%,hsl(0,90%,85%) 90%); transform:rotate(-25deg); }
    .hamster__tail { animation:hamsterTail var(--dur) linear infinite; background:hsl(0,90%,85%); border-radius:0.25em 50% 50% 0.25em; box-shadow:0 -0.2em 0 hsl(0,90%,75%) inset; top:1.5em; right:-0.5em; width:1em; height:0.5em; transform:rotate(30deg) translateZ(-1px); transform-origin:0.25em 0.25em; }
    .spoke { animation:spoke var(--dur) linear infinite; background:radial-gradient(100% 100% at center,hsl(0,0%,60%) 4.8%,hsla(0,0%,60%,0) 5%), linear-gradient(hsla(0,0%,55%,0) 46.9%,hsl(0,0%,65%) 47% 52.9%,hsla(0,0%,65%,0) 53%) 50% 50% / 99% 99% no-repeat; }
    @keyframes hamster { from,to { transform:rotate(4deg) translate(-0.8em,1.85em); } 50% { transform:rotate(0) translate(-0.8em,1.85em); } }
    @keyframes hamsterHead { from,25%,50%,75%,to { transform:rotate(0); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(8deg); } }
    @keyframes hamsterEye { from,90%,to { transform:scaleY(1); } 95% { transform:scaleY(0); } }
    @keyframes hamsterEar { from,25%,50%,75%,to { transform:rotate(0); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(12deg); } }
    @keyframes hamsterBody { from,25%,50%,75%,to { transform:rotate(0); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(-2deg); } }
    @keyframes hamsterFRLimb { from,25%,50%,75%,to { transform:rotate(50deg) translateZ(-1px); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(-30deg) translateZ(-1px); } }
    @keyframes hamsterFLLimb { from,25%,50%,75%,to { transform:rotate(-30deg); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(50deg); } }
    @keyframes hamsterBRLimb { from,25%,50%,75%,to { transform:rotate(-60deg) translateZ(-1px); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(20deg) translateZ(-1px); } }
    @keyframes hamsterBLLimb { from,25%,50%,75%,to { transform:rotate(20deg); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(-60deg); } }
    @keyframes hamsterTail { from,25%,50%,75%,to { transform:rotate(30deg) translateZ(-1px); } 12.5%,37.5%,62.5%,87.5% { transform:rotate(10deg) translateZ(-1px); } }
    @keyframes spoke { from { transform:rotate(0); } to { transform:rotate(-1turn); } }
    .verifying-overlay { position:fixed; inset:0; background:rgba(0,0,0,.85); display:flex; align-items:center; justify-content:center; z-index:9999; transition:opacity .25s; }
    .verifying-overlay.hidden { opacity:0; pointer-events:none; }
    .verifying-card { background:#0e0e0e; border:1px solid #2b2b2b; border-radius:10px; padding:28px 36px; text-align:center; display:grid; gap:12px; }
    .verifying-label { color:#888; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
    .verifying-dots { display:flex; gap:6px; justify-content:center; }
    .verifying-dot { width:7px; height:7px; border-radius:50%; background:#39d46a; animation:vdot 1.2s ease-in-out infinite; }
    .verifying-dot:nth-child(2) { animation-delay:.2s; }
    .verifying-dot:nth-child(3) { animation-delay:.4s; }
    @keyframes vdot { 0%,80%,100%{opacity:.25;transform:scale(.8)} 40%{opacity:1;transform:scale(1.2)} }
