:root { color-scheme: dark; --bg: #000000; --panel: #0a0e0a; --panel2: #122012; --text: #c8d0c8; --muted: #889688; --accent: #00ff41; --green: #00ff41; --red: #ff3355; --amber: #ffaa33; --alert: var(--red); --ok: var(--green); --line: rgba(0,255,65,.12); --space-1: .28rem; --space-2: .6rem; --space-3: 1rem; --space-4: 1.5rem; --radius-sm: 2px; --radius-md: 4px; --font-mono: 'SF Mono', 'Fira Code', 'Cascadia Code', 'JetBrains Mono', 'Courier New', monospace; --glow: 0 0 20px rgba(0,255,65,.12), 0 0 40px rgba(0,255,65,.03); --glow-strong: 0 0 20px rgba(0,255,65,.3), 0 0 60px rgba(0,255,65,.08); }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; font-family: var(--font-mono); background: var(--bg); color: var(--text); position: relative; overflow-x: hidden; }
body::before { content: ''; position: fixed; inset: 0; background: radial-gradient(ellipse at 20% 50%, rgba(0,255,65,.03) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(0,255,65,.02) 0%, transparent 50%); pointer-events: none; z-index: 0; }
body::after { content: ''; position: fixed; inset: 0; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,255,65,.005) 2px, rgba(0,255,65,.005) 4px); pointer-events: none; z-index: 0; }
a { color: var(--accent); text-decoration: none; text-shadow: 0 0 8px rgba(0,255,65,.3); transition: text-shadow .2s ease; } a:hover { text-decoration: underline; text-shadow: 0 0 16px rgba(0,255,65,.6), 0 0 32px rgba(0,255,65,.2); }
code { background: rgba(0,255,65,.08); border-radius: .4rem; padding: .08rem .28rem; color: var(--accent); border: 1px solid rgba(0,255,65,.12); text-shadow: 0 0 6px rgba(0,255,65,.2); }
pre { overflow: auto; background: #050805; border: 1px solid var(--line); border-radius: .5rem; padding: 1rem; white-space: pre-wrap; box-shadow: inset 0 0 30px rgba(0,255,65,.02); }
.layout { --sidebar-width: 240px; min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); position: relative; z-index: 1; transition: grid-template-columns .38s cubic-bezier(.22,1,.36,1); }
body.sidebar-collapsed .layout { --sidebar-width: 78px; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 18px; border-right: 1px solid var(--line); background: rgba(5,8,5,.85); backdrop-filter: blur(18px); box-shadow: 4px 0 30px rgba(0,0,0,.5); overflow: hidden; transition: padding .38s cubic-bezier(.22,1,.36,1), box-shadow .38s ease; }
body.sidebar-collapsed .sidebar { padding-inline: 14px; }
.brand { display: flex; align-items: center; gap: 10px; width: 204px; min-height: 48px; color: var(--accent); font-weight: 400; margin: 0 0 28px; letter-spacing: .12em; border: 0; padding: 0; background: transparent; text-align: left; white-space: nowrap; } .brand:hover { text-decoration: none; background: transparent; color: var(--accent); box-shadow: none; }
.brand-logo { width: 48px; height: 48px; flex: 0 0 48px; object-fit: cover; border-radius: 14px; border: 1px solid rgba(0,255,65,.3); box-shadow: var(--glow-strong); transition: transform .38s cubic-bezier(.22,1,.36,1), border-radius .38s ease; }
.brand:hover .brand-logo { transform: scale(1.04); }
.brand-title, .nav-item span { opacity: 1; transform: translateX(0); transition: opacity .2s ease, transform .32s cubic-bezier(.22,1,.36,1); }
body.sidebar-collapsed .brand { width: 50px; gap: 0; overflow: hidden; justify-content: center; } body.sidebar-collapsed .brand-title, body.sidebar-collapsed .nav-item span { opacity: 0; transform: translateX(-8px); pointer-events: none; } body.sidebar-collapsed .brand-title, body.sidebar-collapsed .nav-item span { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.side-nav { display: grid; gap: 6px; } .nav-item { position: relative; display: flex; align-items: center; gap: 12px; width: 204px; padding: 12px 14px; border-radius: 4px; color: var(--muted); font-weight: 400; letter-spacing: .08em; border: 1px solid transparent; white-space: nowrap; overflow: hidden; transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, padding .38s cubic-bezier(.22,1,.36,1), width .38s cubic-bezier(.22,1,.36,1); } .nav-icon { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 6px rgba(0,255,65,.35)); transition: color .2s ease, filter .2s ease, transform .32s cubic-bezier(.22,1,.36,1); } body.sidebar-collapsed .nav-item { width: 50px; padding-inline: 13px; justify-content: center; gap: 0; } body.sidebar-collapsed .nav-icon { color: var(--accent); transform: scale(1.08); filter: drop-shadow(0 0 8px rgba(0,255,65,.75)) drop-shadow(0 0 18px rgba(0,255,65,.25)); } .nav-item:hover { text-decoration: none; color: var(--text); background: rgba(0,255,65,.04); border-color: rgba(0,255,65,.08); text-shadow: 0 0 10px rgba(0,255,65,.3); } .nav-item:hover .nav-icon { color: var(--accent); filter: drop-shadow(0 0 10px rgba(0,255,65,.75)); } .nav-item.active { color: #000; background: var(--accent); border-color: var(--accent); text-shadow: none; box-shadow: var(--glow-strong); } .nav-item.active .nav-icon { color: #000; filter: none; } body.sidebar-collapsed .nav-item.active .nav-icon { color: #000; }
.app-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 56px; transition: width .38s cubic-bezier(.22,1,.36,1); }
.hero { padding: 32px; border: 1px solid var(--line); border-radius: 4px; background: linear-gradient(135deg, rgba(18,32,18,.92), rgba(10,14,10,.88)); box-shadow: var(--glow), inset 0 0 60px rgba(0,255,65,.015); margin-bottom: 24px; } .hero.compact { padding: 26px; }
.eyebrow { color: var(--muted); text-transform: uppercase; letter-spacing: .24em; font-size: .72rem; font-weight: 400; margin: 0 0 8px; }
h1 { line-height: 1.1; margin: 0; font-size: clamp(2rem, 5vw, 4rem); font-weight: 400; color: var(--accent); text-shadow: 0 0 20px rgba(0,255,65,.4), 0 0 60px rgba(0,255,65,.1); letter-spacing: .06em; }
h2 { line-height: 1.1; margin: 0; font-size: 1.15rem; font-weight: 400; color: var(--accent); letter-spacing: .04em; text-shadow: 0 0 10px rgba(0,255,65,.2); }
h3, h4 { color: var(--text); font-weight: 400; letter-spacing: .04em; }
p { color: var(--text); line-height: 1.7; }
.meta { color: var(--muted); font-size: .82rem; margin: 14px 0; }
.panel, .report-card, .content-section, .empty, .agent-row, .stat, .cron-card, .stats-card, .alert-card { border: 1px solid var(--line); border-radius: 4px; background: rgba(10,14,10,.92); padding: 22px; box-shadow: 0 4px 24px rgba(0,0,0,.4); transition: border-color .2s ease, box-shadow .2s ease; }
.report-card:hover, .cron-card:hover, .agent-row:hover, .alert-card:hover { border-color: rgba(0,255,65,.2); box-shadow: var(--glow); }
.section-heading, .card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-bottom: 24px; }
.stats-card { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; } .home-stats { margin-top:24px; } .stats-card .stat { padding: 0; border: 0; background: transparent; box-shadow: none; }
.stat { text-align: center; } .stat span { color: var(--muted); display: block; font-size: .78rem; letter-spacing: .12em; } .stat strong { display: block; font-size: 2.4rem; margin-top: 6px; text-shadow: 0 0 16px rgba(0,255,65,.2); color: var(--accent); }
.report-card, .cron-card { display: flex; flex-direction: column; min-height: 230px; } .report-card p, .cron-card p { flex: 1; color: var(--text); } .alerts-section { margin-bottom: 24px; } .alerts-list { display: grid; gap: 14px; margin-top: 14px; } .alert-card { display: flex; flex-direction: column; gap: 10px; } .alert-card p { margin: 0; } .alert-tags { color: var(--accent); border: 1px solid rgba(0,255,65,.16); background: rgba(0,255,65,.05); border-radius: 3px; padding: .55rem .7rem; text-shadow: 0 0 8px rgba(0,255,65,.2); } .alert-sources { color: var(--muted); font-size: .86rem; line-height: 1.6; } .alert-card.fade-out { opacity: 0; transform: translateX(24px); transition: opacity .3s ease, transform .3s ease; }
.badge { border-radius: 2px; padding: .28rem .6rem; font-size: .72rem; font-weight: 400; letter-spacing: .08em; white-space: nowrap; border: 1px solid transparent; } .badge.alert { color: var(--red); background: rgba(255,51,85,.1); border-color: rgba(255,51,85,.2); text-shadow: 0 0 8px rgba(255,51,85,.2); } .badge.ok { color: var(--green); background: rgba(0,255,65,.08); border-color: rgba(0,255,65,.2); text-shadow: 0 0 8px rgba(0,255,65,.2); } .badge.amber { color: var(--amber); background: rgba(255,170,51,.09); border-color: rgba(255,170,51,.24); text-shadow: 0 0 8px rgba(255,170,51,.18); }
.button, button { align-self: flex-start; border: 1px solid currentColor; border-radius: 2px; background: transparent; font-family: inherit; font-weight: 400; letter-spacing: .08em; padding: .65rem 1rem; cursor: pointer; transition: all .2s ease; } .button:hover, button:hover { text-decoration: none; box-shadow: 0 0 16px rgba(0,255,65,.15); } button:disabled { opacity: .4; cursor: wait; }
.button, button.default { color: var(--accent); text-shadow: 0 0 8px rgba(0,255,65,.2); } .button:hover, button.default:hover { background: var(--accent); color: #000; text-shadow: none; box-shadow: var(--glow-strong); }
.matrix-dialog-overlay { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px; background: radial-gradient(ellipse at center, rgba(0,255,65,.09), rgba(0,0,0,.86) 58%, rgba(0,0,0,.96)); contain: layout style paint; will-change: opacity; }
.matrix-dialog-overlay[hidden] { display: none; }
.matrix-dialog { position: relative; width: min(560px, 100%); border: 1px solid rgba(0,255,65,.42); border-radius: 4px; background: linear-gradient(135deg, rgba(5,12,5,.98), rgba(10,20,10,.96)); padding: 26px; box-shadow: 0 0 0 1px rgba(0,255,65,.08), 0 0 30px rgba(0,255,65,.18), 0 18px 40px rgba(0,0,0,.7); overflow: hidden; will-change: transform, opacity; animation: matrixDialogIn .16s ease-out; }
.matrix-dialog::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(180deg, rgba(0,255,65,.045) 0 1px, transparent 1px 5px); opacity: .42; }
.matrix-dialog-scanline { position: absolute; inset: -30% 0 auto; height: 38%; background: linear-gradient(180deg, transparent, rgba(0,255,65,.09), transparent); animation: matrixScan 2.4s linear infinite; pointer-events: none; will-change: transform; }
.matrix-dialog h2 { margin: 0 0 12px; color: var(--accent); text-shadow: 0 0 18px rgba(0,255,65,.34); }
.matrix-dialog-message { margin: 0; white-space: pre-wrap; color: var(--text); }
.matrix-dialog-actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.matrix-dialog-actions button { align-self: auto; min-width: 112px; }
@keyframes matrixDialogIn { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes matrixScan { from { transform: translateY(-30%); } to { transform: translateY(360%); } }
button .ok, .button.ok { color: var(--green); } .button.ok:hover, button.ok:hover { background: var(--green); color: #000; box-shadow: 0 0 20px rgba(0,255,65,.3); }
.danger, button.danger, .button.danger { color: var(--red); border-color: rgba(255,51,85,.35); text-shadow: 0 0 8px rgba(255,51,85,.15); } .danger:hover, button.danger:hover, .button.danger:hover { background: var(--red); color: #000; border-color: var(--red); box-shadow: 0 0 20px rgba(255,51,85,.3); }
.amber, button.amber, .button.amber { color: var(--amber); border-color: rgba(255,170,51,.35); text-shadow: 0 0 8px rgba(255,170,51,.15); } .amber:hover, button.amber:hover, .button.amber:hover { background: var(--amber); color: #000; border-color: var(--amber); box-shadow: 0 0 20px rgba(255,170,51,.3); }
button.brand { align-self: stretch; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; font-family: inherit; cursor: pointer; } button.brand:hover { background: transparent; color: var(--accent); text-decoration: none; box-shadow: none; text-shadow: 0 0 16px rgba(0,255,65,.35); }
.breadcrumb { margin-bottom: 18px; } .breadcrumb a { color: var(--muted); } .breadcrumb a:hover { color: var(--text); }
.store-breadcrumb { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.sections, .agent-list { display: grid; gap: 14px; } .muted { color: var(--muted) !important; }
.agent-row { display: flex; flex-direction: column; gap: 18px; align-items: stretch; transition: opacity .2s ease, border-color .2s ease; } .agent-row.disabled { opacity: .45; border-color: rgba(0,255,65,.05); }
.agent-row.always-enabled { display: flex; }
.always-on-label { font-size: .72rem; font-weight: 400; letter-spacing: .08em; color: var(--muted); padding: .28rem .6rem; border: 1px solid var(--line); border-radius: 2px; white-space: nowrap; }
.agent-title { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .agent-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: auto; } .agent-toggle, .cron-toggle, .cron-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.switch { display: inline-flex; align-items: center; gap: 10px; color: var(--text); font-weight: 400; cursor: pointer; user-select: none; } .switch input { position: absolute; opacity: 0; pointer-events: none; }
.slider { position: relative; width: 54px; height: 30px; border-radius: 2px; background: rgba(0,255,65,.06); box-shadow: inset 0 0 0 1px var(--line); transition: background .2s ease; } .slider::after { content: ""; position: absolute; width: 22px; height: 22px; top: 4px; left: 4px; border-radius: 2px; background: #334433; transition: all .2s ease; } .switch input:checked + .slider { background: rgba(0,255,65,.12); box-shadow: inset 0 0 0 1px rgba(0,255,65,.25); } .switch input:checked + .slider::after { transform: translateX(24px); background: var(--accent); box-shadow: 0 0 10px rgba(0,255,65,.3); }
.access-list { display:grid; gap:18px; } .access-card { border:1px solid var(--line); border-radius:4px; background:rgba(10,14,10,.92); padding:20px; } .access-switch-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px 16px; margin-top:16px; } .access-switch { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid rgba(0,255,65,.08); border-radius:4px; padding:10px 12px; color:var(--text); } .access-switch > span:first-child { font-size:.8rem; color:var(--muted); }
.tg-id-field { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid rgba(0,255,65,.10); border-radius:4px; padding:10px 12px; margin-bottom:12px; } .tg-id-field span { font-size:.8rem; color:var(--muted); white-space:nowrap; } .tg-id-field input { background:rgba(0,255,65,.04); border:1px solid rgba(0,255,65,.18); color:var(--accent); padding:6px 10px; border-radius:3px; font-size:.8rem; width:180px; } .tg-id-field input:focus { outline:none; border-color:var(--accent); }
.token-form { margin-bottom:14px; } .token-form-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; } .token-input { flex:1; min-width:180px; } .token-select { background:rgba(10,14,10,.92); border:1px solid var(--line); color:var(--text); padding:10px 12px; border-radius:3px; font-size:.82rem; } .tokens-list { display:grid; gap:10px; margin-top:14px; } .token-card { border:1px solid rgba(0,255,65,.08); border-radius:3px; background:rgba(10,14,10,.92); padding:14px; } .token-card .card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; } .token-card .card-top strong { color:var(--accent); font-size:.84rem; } .token-card .card-actions { margin-top:10px; display:flex; gap:8px; } .copy-input { width:100%; background:rgba(0,255,65,.04); border:1px solid rgba(0,255,65,.25); color:var(--accent); padding:8px 10px; border-radius:3px; font-size:.78rem; font-family:monospace; cursor:pointer; margin-top:6px; } .copy-input:focus { outline:none; border-color:var(--accent); }
.action-status { color: var(--muted); font-size: .82rem; min-width: 74px; } .status-dot { display:inline-block; width:.6rem; height:.6rem; margin-right:.35rem; border:1px solid transparent; } .status-dot.enabled { background:var(--green); box-shadow:0 0 10px var(--green), 0 0 20px rgba(0,255,65,.15); } .status-dot.disabled { background:var(--red); box-shadow:0 0 10px var(--red); }
.wallet-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; }
.wallet-actions .action-status[data-state="ok"] { color:var(--green); }
.wallet-actions .action-status[data-state="running"] { color:var(--amber); }
.wallet-actions .action-status[data-state="error"] { color:var(--red); }
[data-codex-refresh-status][data-state="ok"] { color:var(--green); }
[data-codex-refresh-status][data-state="running"] { color:var(--amber); }
[data-codex-refresh-status][data-state="error"] { color:var(--red); }
[data-documents-refresh-status][data-state="ok"] { color:var(--green); }
[data-documents-refresh-status][data-state="running"] { color:var(--amber); }
[data-documents-refresh-status][data-state="error"] { color:var(--red); }
.documents-table table { min-width:780px; }
.documents-table td strong { color: var(--accent); font-weight: 400; }
.documents-table td { vertical-align: middle; }
.documents-table th.actions-col, .documents-table td.actions-col { text-align: right; white-space: nowrap; width: 1%; }
.documents-table .button { display: inline-flex; white-space: nowrap; margin-left: 8px; }
.documents-table .button:first-child { margin-left: 0; }
.doc-section { margin-bottom: 24px; }
.doc-section .section-heading { margin-bottom: 16px; }
.doc-section--primary { border-color: rgba(0,255,65,.28); box-shadow: var(--glow); }
.doc-section--primary .section-heading h2 { text-shadow: 0 0 18px rgba(0,255,65,.4); }

/* ── Document View Modal ── */
.doc-view-overlay { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; background: radial-gradient(ellipse at center, rgba(0,255,65,.09), rgba(0,0,0,.86) 58%, rgba(0,0,0,.96)); contain: layout style paint; will-change: opacity; }
.doc-view-overlay[hidden] { display: none; }
.doc-view-dialog { position: relative; width: min(880px, 100%); max-height: 88vh; border: 1px solid rgba(0,255,65,.42); border-radius: 4px; background: linear-gradient(135deg, rgba(5,12,5,.98), rgba(10,20,10,.96)); box-shadow: 0 0 0 1px rgba(0,255,65,.08), 0 0 30px rgba(0,255,65,.18), 0 18px 40px rgba(0,0,0,.7); overflow: hidden; display: flex; flex-direction: column; will-change: transform, opacity; animation: matrixDialogIn .16s ease-out; }
.doc-view-dialog::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(180deg, rgba(0,255,65,.045) 0 1px, transparent 1px 5px); opacity: .42; z-index: 0; }
.doc-view-header { position: relative; z-index: 1; padding: 26px 26px 14px; border-bottom: 1px solid rgba(0,255,65,.12); flex-shrink: 0; }
.doc-view-header h2 { margin: 4px 0 0; color: var(--accent); text-shadow: 0 0 18px rgba(0,255,65,.34); word-break: break-all; }
.doc-view-header .eyebrow { margin: 0; }
.doc-view-body { position: relative; z-index: 1; flex: 1; overflow: auto; padding: 0; content-visibility: auto; contain-intrinsic-size: 0 300px; }
.doc-view-pre { margin: 0; padding: 26px; font-family: var(--font-mono); font-size: .82rem; line-height: 1.6; color: var(--text); background: rgba(0,0,0,.3); border: 0; border-radius: 0; white-space: pre-wrap; word-break: break-word; box-shadow: inset 0 0 40px rgba(0,255,65,.02); overflow-wrap: anywhere; }
.doc-view-actions { position: relative; z-index: 1; display: flex; justify-content: flex-end; gap: 12px; padding: 18px 26px; border-top: 1px solid rgba(0,255,65,.12); flex-shrink: 0; }
.doc-view-actions button { align-self: auto; min-width: 112px; }
.doc-view-loading { padding: 60px 26px; text-align: center; color: var(--muted); }
.wallet-watch-toggle { margin-left:8px; }
.wallet-codex-section { margin:24px 0 0; }
.wallet-overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; margin:24px 0; }
.wallet-overview-card { border:1px solid var(--line); border-radius:4px; background:rgba(10,14,10,.92); padding:20px; }
.wallet-overview-card h3 { font-size:.82rem; text-transform:uppercase; letter-spacing:.16em; color:var(--accent); margin-bottom:10px; }
.wallet-overview-main { grid-column:1/-1; }
.wallet-metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:16px; }
.wallet-metric { border:1px solid rgba(0,255,65,.1); border-radius:4px; background:rgba(0,255,65,.025); padding:14px; }
.wallet-metric strong { display:block; font-size:2rem; line-height:1; margin:10px 0 8px; font-weight:400; text-shadow:0 0 12px rgba(0,255,65,.15); }
.wallet-metric strong.ok { color:var(--green); } .wallet-metric strong.warning { color:var(--amber); text-shadow:0 0 12px rgba(255,170,51,.15); } .wallet-metric strong.critical { color:var(--red); text-shadow:0 0 12px rgba(255,51,85,.15); } .wallet-metric strong.unknown { color:var(--muted); text-shadow:none; }
.wallet-metric-detail { display:block; color:var(--muted); font-size:.74rem; margin-top:5px; line-height:1.45; }
.wallet-funds-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0 12px; }
.wallet-funds-pair strong { display:block; font-size:clamp(1.7rem,4vw,2.45rem); line-height:1; margin-top:8px; font-weight:400; color:var(--accent); text-shadow:0 0 14px rgba(0,255,65,.18); }
.wallet-card-subline { color:var(--muted); font-size:.78rem; margin:8px 0; }
.wallet-codex-card { grid-column:span 2; }
.wallet-codex-section .wallet-codex-card { grid-column:auto; }
.wallet-codex-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.wallet-codex-head h3 { margin:0; }
.wallet-codex-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-height:34px; }
.wallet-icon-button { display:inline-grid; place-items:center; width:34px; height:34px; min-width:34px; padding:0; border:1px solid rgba(0,255,65,.24); border-radius:4px; background:rgba(0,255,65,.04); color:var(--accent); box-shadow:none; text-shadow:none; }
.wallet-icon-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.wallet-icon-button:hover { border-color:rgba(0,255,65,.5); background:rgba(0,255,65,.08); color:var(--text); box-shadow:0 0 14px rgba(0,255,65,.08); }
.wallet-icon-button:disabled { opacity:.5; cursor:wait; }
.wallet-codex-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.wallet-countdown { margin-top:16px; border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(0,255,65,.03); padding:14px; }
.wallet-countdown-item { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.wallet-countdown-label { color:var(--muted); font-size:.78rem; letter-spacing:.06em; }
.wallet-countdown-value { font-size:1.6rem; line-height:1; font-weight:400; color:var(--accent); text-shadow:0 0 14px rgba(0,255,65,.25); font-variant-numeric:tabular-nums; }
.wallet-countdown-value.expired { color:var(--red); text-shadow:0 0 14px rgba(255,51,85,.25); }
.wallet-stat-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:4px 0; }
.wallet-stat-label { color:var(--muted); font-size:.78rem; }
.wallet-stat-row strong { font-size:1.8rem; line-height:1; font-weight:400; text-shadow:0 0 12px rgba(0,255,65,.15); } .wallet-stat-row strong.ok { color:var(--green); } .wallet-stat-row strong.warning { color:var(--amber); text-shadow:0 0 12px rgba(255,170,51,.15); } .wallet-stat-row strong.critical { color:var(--red); text-shadow:0 0 12px rgba(255,51,85,.15); }
.wallet-stat-row.small { font-size:.75rem; color:var(--muted); margin-top:2px; } .wallet-stat-row.small span { flex:1; }
.wallet-expenses { margin-top:24px; }
.wallet-expense-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin:16px 0 20px; }
.wallet-expense-stats div { border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(0,255,65,.025); padding:14px; }
.wallet-expense-stats span { display:block; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px; }
.wallet-expense-stats strong { display:block; color:var(--accent); font-size:1.8rem; line-height:1; font-weight:400; text-shadow:0 0 14px rgba(0,255,65,.2); }
.wallet-expense-chart { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px; min-height:230px; border:1px solid rgba(0,255,65,.12); border-radius:4px; background:linear-gradient(180deg,rgba(0,255,65,.025),rgba(0,0,0,.12)); padding:18px 16px 14px; }
.wallet-expense-y-axis { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; color:var(--muted); font-size:.72rem; padding:8px 0 28px; }
.wallet-expense-bars { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(74px,1fr); gap:12px; align-items:end; overflow-x:auto; padding:4px 2px 0; }
.wallet-expense-bar { position:relative; display:grid; grid-template-rows:auto 1fr auto; justify-items:center; align-self:stretch; min-height:190px; min-width:74px; padding:0 0 2px; border:0; background:transparent; color:var(--text); letter-spacing:0; text-shadow:none; box-shadow:none; }
.wallet-expense-bar:hover { background:transparent; color:var(--text); box-shadow:none; }
.wallet-expense-bar:focus-visible { outline:1px solid rgba(0,255,65,.55); outline-offset:3px; }
.wallet-expense-column { align-self:end; width:100%; min-height:10px; border:1px solid rgba(0,255,65,.36); border-radius:3px 3px 1px 1px; background:linear-gradient(180deg,rgba(0,255,65,.36),rgba(0,255,65,.08)); box-shadow:0 0 18px rgba(0,255,65,.12); transition:border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.wallet-expense-bar.active .wallet-expense-column { border-color:var(--accent); background:linear-gradient(180deg,rgba(0,255,65,.62),rgba(0,255,65,.14)); box-shadow:0 0 22px rgba(0,255,65,.24); }
.wallet-expense-value { color:var(--accent); font-size:.78rem; margin-bottom:8px; white-space:nowrap; }
.wallet-expense-label { color:var(--muted); font-size:.74rem; margin-top:9px; white-space:nowrap; }
.wallet-expense-detail { margin-top:16px; border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(0,255,65,.025); padding:16px; }
.wallet-expense-detail-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.wallet-expense-detail h3 { margin:0; color:var(--accent); font-size:1rem; font-weight:400; text-transform:uppercase; letter-spacing:.12em; }
.wallet-expense-detail-head strong { color:var(--accent); font-size:1.4rem; font-weight:400; text-shadow:0 0 12px rgba(0,255,65,.18); }
.wallet-expense-detail ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.wallet-expense-detail li { display:flex; justify-content:space-between; gap:14px; border-top:1px solid rgba(0,255,65,.08); padding-top:10px; color:var(--text); }
.wallet-expense-detail li:first-child { border-top:0; padding-top:0; }
.wallet-expense-detail small { display:block; margin-top:3px; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.wallet-expense-detail b { color:var(--accent); font-weight:400; white-space:nowrap; }
.wallet-admin-usage { margin-top:24px; }
.wallet-admin-total { border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(0,255,65,.025); padding:10px 14px; min-width:170px; text-align:right; }
.wallet-admin-total span { display:block; color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:5px; }
.wallet-admin-total strong { color:var(--accent); font-size:1.35rem; line-height:1; font-weight:400; }
.wallet-provider-share-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin:18px 0 20px; }
.wallet-provider-share-card { border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(0,255,65,.018); padding:16px; display:grid; grid-template-columns:86px minmax(0,1fr); gap:14px; align-items:center; }
.wallet-provider-share-card h3 { margin:0 0 4px; color:var(--accent); font-size:.86rem; text-transform:uppercase; letter-spacing:.12em; }
.wallet-provider-share-chart { width:76px; height:76px; border-radius:50%; border:1px solid rgba(0,255,65,.28); box-shadow:0 0 18px rgba(0,255,65,.10); position:relative; }
.wallet-provider-share-chart::after { content:''; position:absolute; inset:20px; border-radius:50%; background:rgba(5,8,5,.95); border:1px solid rgba(0,255,65,.10); }
.wallet-pie-legend { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:6px; }
.wallet-pie-legend li { display:grid; grid-template-columns:12px minmax(0,1fr) auto; align-items:center; gap:8px; color:var(--text); font-size:.75rem; }
.wallet-pie-legend strong { color:var(--accent); font-weight:400; }
.wallet-pie-dot { width:9px; height:9px; border-radius:50%; box-shadow:0 0 8px rgba(0,255,65,.18); }
.wallet-admin-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 16px; }
.wallet-admin-tab { padding:.5rem .85rem; border-color:rgba(0,255,65,.18); background:rgba(0,255,65,.025); color:var(--muted); }
.wallet-admin-tab.active { border-color:rgba(0,255,65,.55); color:var(--accent); background:rgba(0,255,65,.08); box-shadow:0 0 14px rgba(0,255,65,.10); }
.wallet-admin-panel { border:1px solid rgba(0,255,65,.10); border-radius:4px; background:rgba(0,255,65,.012); padding:16px; }
.wallet-admin-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }
.wallet-admin-summary div { border:1px solid rgba(0,255,65,.10); border-radius:4px; background:rgba(0,255,65,.025); padding:12px; }
.wallet-admin-summary span { display:block; color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:7px; }
.wallet-admin-summary strong { color:var(--accent); font-size:1.4rem; line-height:1; font-weight:400; }
.wallet-admin-table td, .wallet-admin-table th { white-space:nowrap; }
.progress-bar { height:6px; border-radius:2px; background:rgba(0,255,65,.05); margin:10px 0 4px; overflow:hidden; }
.progress-fill { height:100%; border-radius:2px; background:var(--green); transition:width .3s ease; box-shadow:0 0 10px rgba(0,255,65,.2); } .progress-fill.warning { background:var(--amber); box-shadow:0 0 10px rgba(255,170,51,.2); } .progress-fill.critical { background:var(--red); box-shadow:0 0 10px rgba(255,51,85,.2); }
.progress-fill.unknown { background:var(--muted); box-shadow:none; }
.wallet-provider-links { margin-top:24px; }
.wallet-provider-link-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:14px; }
.wallet-provider-link-grid a { display:block; border:1px solid rgba(0,255,65,.16); border-radius:4px; background:rgba(0,255,65,.035); padding:16px; text-decoration:none; color:var(--text); transition:border-color .15s ease, background .15s ease, transform .15s ease; }
.wallet-provider-link-grid a:hover { border-color:rgba(0,255,65,.45); background:rgba(0,255,65,.07); transform:translateY(-1px); }
.wallet-provider-link-grid span { display:block; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px; }
.wallet-provider-link-grid strong { display:block; color:var(--accent); font-size:1.05rem; font-weight:500; }
.wallet-report h1 { color:var(--accent); text-shadow:0 0 16px rgba(0,255,65,.3); } .wallet-report h2 { color:var(--accent); } .wallet-report h3 { color:var(--text); }
.wallet-report p, .wallet-report li { color:var(--text); } .wallet-report ul { line-height:1.7; } .wallet-report li { margin:.28rem 0; }
.wallet-links ul { list-style:none; padding:0; margin:14px 0 0; } .wallet-links li { margin:.4rem 0; } .wallet-links li::before { content:'> '; color:var(--muted); }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:4px; margin:14px 0 24px; } table { width:100%; border-collapse:collapse; min-width:720px; } th, td { border-bottom:1px solid var(--line); padding:12px 14px; text-align:left; color:var(--text); vertical-align:top; } th { color:var(--accent); background:rgba(0,255,65,.02); font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; text-shadow:0 0 8px rgba(0,255,65,.15); } tr:last-child td { border-bottom:0; } tr:hover td { color:var(--text); }

/* Emailer / Email Cleaner UI */
.feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin-top:18px; }
.feature-card, .job-card, .history-card { border:1px solid var(--line); border-radius:4px; background:rgba(0,255,65,.025); padding:18px; }
.feature-card h3, .job-card h3 { margin:.2rem 0 .4rem; color:var(--text); font-weight:400; letter-spacing:.04em; }
.feature-card .button { display:inline-flex; margin-top:8px; }
.job-list { display:grid; gap:14px; margin-top:16px; }
.job-card { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.job-card > div:first-child { flex:1 1 280px; }
.job-stats { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.job-stats span { border:1px solid rgba(0,255,65,.12); background:rgba(0,255,65,.035); border-radius:3px; padding:.45rem .6rem; color:var(--muted); font-size:.76rem; }
.job-stats strong { display:block; color:var(--accent); font-size:1rem; font-weight:400; margin-top:2px; }
.tabs { display:flex; gap:10px; margin:0 0 18px; border-bottom:1px solid var(--line); padding-bottom:10px; }
.tab { color:var(--muted); border-color:rgba(0,255,65,.12); }
.tab.active { color:#000; background:var(--accent); border-color:var(--accent); text-shadow:none; box-shadow:var(--glow-strong); }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.view-stage { position:relative; }
.fade-view { opacity:0; transform:translateY(8px); transition:opacity .22s ease, transform .22s ease; }
.fade-view.visible { opacity:1; transform:translateY(0); }
.progress-state-card { align-items:stretch; }
.progress-main { flex:1 1 100%; }
.progress-meter { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; margin:12px 0; }
.progress-meter strong { color:var(--accent); font-weight:400; min-width:62px; text-align:right; }
.progress-state-card { animation: fadeSlideIn .35s ease; }
@keyframes fadeSlideIn { from { opacity:.5; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.progress-actions, .resume-box { margin-top:14px; border-top:1px solid rgba(0,255,65,.1); padding-top:14px; }
.danger { border-color:rgba(255,51,85,.45); color:var(--red); }
.danger:hover { background:rgba(255,51,85,.12); box-shadow:0 0 14px rgba(255,51,85,.12); }
.badge.warn { color:var(--amber); border-color:rgba(255,170,51,.35); }
.badge.active { color:var(--accent); border-color:rgba(0,255,65,.35); }
.table-wrap.compact table th, .table-wrap.compact table td { padding:.45rem .55rem; }
.form-row { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin:18px 0; }
.form-row label, .cleaner-control-row label { display:flex; flex-direction:column; gap:8px; color:var(--muted); font-size:.82rem; letter-spacing:.08em; }
select, input { color:var(--text); background:#050805; border:1px solid var(--line); border-radius:2px; padding:.65rem .75rem; font:inherit; min-height:41px; }
select:focus, input:focus { outline:1px solid rgba(0,255,65,.4); box-shadow:0 0 14px rgba(0,255,65,.12); }
.cleaner-action-panel { margin-top:14px; border:1px solid rgba(0,255,65,.13); background:rgba(0,255,65,.025); border-radius:4px; padding:14px; }
.cleaner-control-row { display:grid; grid-template-columns:minmax(180px,220px) minmax(210px,280px) auto minmax(140px,1fr); gap:12px; align-items:end; }
.cleaner-control-row input, .cleaner-control-row select { width:100%; box-sizing:border-box; }
.cleaner-control-row .button { min-height:41px; white-space:nowrap; align-self:end; }
.cleaner-control-row .action-status { align-self:center; color:var(--muted); min-height:20px; }
.cleaner-mode-note { margin:.75rem 0 0; }
.history-card summary { display:flex; justify-content:space-between; align-items:center; gap:12px; cursor:pointer; color:var(--text); }
.history-card pre { margin:14px 0 0; max-height:360px; }
@media (max-width: 760px) { .cleaner-control-row { grid-template-columns:1fr 1fr; } .cleaner-control-row .button, .cleaner-control-row .action-status { width:100%; } }
@media (max-width: 640px) { .job-card, .form-row { align-items:stretch; flex-direction:column; } .form-row button, .form-row select { width:100%; } .cleaner-control-row { grid-template-columns:1fr; } }


/* Agent Mail browser */
.agentmail-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:18px 0; }
.agentmail-address-card { border:1px solid rgba(0,255,65,.16); background:rgba(0,255,65,.025); border-radius:4px; padding:10px 12px; min-width:min(100%,320px); }
.agentmail-address-card span { display:block; color:var(--muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.agentmail-address-card strong { display:block; color:var(--accent); font-weight:400; margin-top:4px; }
.agentmail-client { display:grid; grid-template-columns:minmax(0,1fr) 0fr; gap:0; align-items:start; transition:grid-template-columns .32s ease, gap .32s ease; }
.agentmail-client.reading { grid-template-columns:minmax(300px,.44fr) minmax(420px,.56fr); gap:16px; }
.agentmail-list, .agentmail-reader { transition:max-height .32s ease, min-height .32s ease, opacity .22s ease, padding .32s ease, border-width .32s ease; }
.agentmail-list { border:1px solid var(--line); border-radius:4px; background:rgba(0,255,65,.02); min-height:560px; max-height:calc(100vh - 260px); overflow:auto; padding:10px; }
.agentmail-reader { border:0 solid transparent; border-radius:4px; background:rgba(10,14,10,.92); min-height:0; max-height:calc(100vh - 260px); padding:0; overflow:auto; opacity:0; }
.agentmail-client.reading .agentmail-reader { border-width:1px; border-color:var(--line); min-height:560px; padding:18px; opacity:1; }
.agentmail-reader-head { border-bottom:1px solid rgba(0,255,65,.12); padding-bottom:14px; margin-bottom:14px; }
.agentmail-reader-top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.agentmail-reader-head p { margin:.35rem 0; }
.agentmail-actions, .agentmail-compose-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:0; }
.agentmail-table { display:grid; gap:6px; }
.agentmail-table-head, .agentmail-row { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(220px,1.5fr) minmax(100px,.45fr) 54px; gap:10px; align-items:center; }
.agentmail-table-head { color:var(--muted); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:0 10px 8px; border-bottom:1px solid rgba(0,255,65,.1); }
.agentmail-row { position:relative; width:100%; text-align:left; border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(10,14,10,.9); color:var(--text); padding:10px; cursor:pointer; transition:background .18s ease, border-color .18s ease, opacity .25s ease, transform .25s ease; }
.agentmail-row:hover, .agentmail-row.active { background:rgba(0,255,65,.06); border-color:rgba(0,255,65,.32); }
.agentmail-row.fade-out { opacity:0; transform:translateX(-10px); }
.agentmail-row-main strong { display:block; color:var(--accent); font-weight:400; margin-bottom:.25rem; }
.agentmail-row-main small, .agentmail-row-from, .agentmail-row-date { color:var(--muted); font-size:.76rem; line-height:1.35; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agentmail-menu { position:relative; display:inline-flex; justify-content:flex-end; }
.agentmail-menu-button { min-width:34px; padding:.35rem .55rem; }
.agentmail-menu-popover { display:none; position:absolute; right:0; top:100%; z-index:20; min-width:130px; border:1px solid var(--line); background:#050805; padding:6px; box-shadow:0 10px 30px rgba(0,0,0,.45); }
.agentmail-menu.open .agentmail-menu-popover { display:grid; gap:4px; }
.agentmail-menu-popover button { width:100%; text-align:left; }
.agentmail-body pre { max-height:none; margin:0; white-space:pre-wrap; }
.agentmail-body iframe { width:100%; min-height:560px; border:1px solid var(--line); border-radius:4px; background:#fff; }
.agentmail-list-footer { padding:14px 0 4px; text-align:center; }
.agentmail-end { text-align:center; margin:14px 0 4px; }
.agentmail-compose { display:grid; gap:12px; }
.agentmail-compose label { display:flex; flex-direction:column; gap:8px; color:var(--muted); font-size:.82rem; letter-spacing:.08em; }
textarea { color:var(--text); background:#050805; border:1px solid var(--line); border-radius:2px; padding:.75rem; font:inherit; resize:vertical; }
textarea:focus { outline:1px solid rgba(0,255,65,.4); box-shadow:0 0 14px rgba(0,255,65,.12); }
@media (max-width: 980px) { .agentmail-client, .agentmail-client.reading { grid-template-columns:1fr; gap:14px; } .agentmail-reader { opacity:1; border:1px solid var(--line); padding:18px; min-height:360px; } .agentmail-list { max-height:460px; min-height:360px; } .agentmail-table-head { display:none; } .agentmail-row { grid-template-columns:1fr auto; } .agentmail-row-from, .agentmail-row-date { white-space:normal; } }

/* Login page */
.login-page { height: 100vh; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse at center, rgba(0,255,65,.03) 0%, transparent 70%), var(--bg); }
.login-shell { width: min(420px, calc(100% - 24px)); margin: 0 auto; }
.login-card { border: 1px solid var(--line); border-radius: 4px; background: rgba(10,14,10,.95); padding: 32px; box-shadow: var(--glow), 0 8px 40px rgba(0,0,0,.5); }
.login-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.login-logo { width: 56px; height: 56px; flex: 0 0 56px; object-fit: cover; border-radius: 14px; border: 1px solid rgba(0,255,65,.3); box-shadow: var(--glow-strong); }
.login-brand .eyebrow { margin: 0 0 2px; color: var(--muted); }
.login-brand h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.login-copy { margin: 0 0 18px; color: var(--muted); line-height: 1.5; }
.login-alert { background: rgba(255,51,85,.1); border: 1px solid rgba(255,51,85,.25); border-radius: 3px; padding: 10px 14px; color: var(--red); margin-bottom: 16px; font-size: .86rem; text-shadow: 0 0 6px rgba(255,51,85,.2); }
.login-section-label { color: var(--muted); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 8px; }
.login-form label { display: block; margin-bottom: 14px; }
.login-form label span { display: block; color: var(--muted); font-size: .82rem; margin-bottom: 6px; letter-spacing: .06em; }
.login-form input { width: 100%; color: var(--text); background: #050805; border: 1px solid var(--line); border-radius: 2px; padding: .7rem .75rem; font: inherit; }
.login-form input:focus { outline: 1px solid rgba(0,255,65,.4); box-shadow: 0 0 14px rgba(0,255,65,.12); }
.login-button { width: 100%; text-align: center; font-size: .9rem; padding: .7rem 1rem; margin-top: 8px; }

/* Fade-out animation for cron deletion */
.cron-card.fade-out { opacity: 0; transform: translateX(30px); transition: opacity .35s ease, transform .35s ease; pointer-events: none; }
@media (max-width: 820px) { .layout { --sidebar-width: 220px; } body.sidebar-collapsed .layout { --sidebar-width: 64px; } .sidebar { padding: 14px 12px; } .brand { width: 196px; margin-bottom: 18px; } .brand-logo { width: 46px; height: 46px; flex-basis: 46px; } .nav-item { width: 196px; } body.sidebar-collapsed .sidebar { padding: 12px 8px; } body.sidebar-collapsed .brand { width: 48px; min-height: 44px; justify-content: center; margin-bottom: 18px; } body.sidebar-collapsed .brand-logo { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; } body.sidebar-collapsed .side-nav { gap: 10px; justify-items: center; } body.sidebar-collapsed .nav-item { width: 46px; height: 46px; padding: 0; justify-content: center; border-radius: 12px; background: rgba(0,255,65,.035); border-color: rgba(0,255,65,.12); } body.sidebar-collapsed .nav-icon { width: 24px; height: 24px; flex-basis: 24px; } body.sidebar-collapsed .nav-item.active { background: rgba(0,255,65,.95); } }
@media (max-width: 640px) { .stats-card { grid-template-columns: repeat(2, minmax(0, 1fr)); } .app-shell { width: min(100% - 12px, 1120px); padding-top: 10px; } body.sidebar-collapsed .app-shell { width: min(100% - 10px, 1120px); } .hero, .panel, .report-card, .content-section, .agent-row { border-radius: 4px; padding: 18px; } .section-heading, .card-top, .agent-row { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; } .wallet-codex-card { grid-column:auto; } .wallet-codex-metrics, .wallet-funds-pair { grid-template-columns:1fr; } .wallet-expense-chart { grid-template-columns:36px 1fr; min-height:230px; padding:14px 10px 10px; } .wallet-expense-bar { height:190px; min-width:68px; } .wallet-expense-detail li, .wallet-expense-detail-head { align-items:flex-start; flex-direction:column; } }

/* ── Global Mission Control ── */
.mission-dashboard { display:grid; gap:20px; }

/* Security Score Card */
.security-score-card {
  border:1px solid var(--line); border-radius:4px;
  background:linear-gradient(135deg, rgba(18,32,18,.92), rgba(10,14,10,.88));
  padding:24px; box-shadow:var(--glow);
  display:grid; grid-template-columns:minmax(180px,220px) minmax(0,1fr);
  gap:24px; align-items:start;
  animation:fadeSlideIn .35s ease;
  margin-bottom:24px;
}
.security-score-card:hover { border-color:rgba(0,255,65,.2); box-shadow:var(--glow-strong); }

/* Circular gauge */
.security-gauge { display:flex; flex-direction:column; align-items:center; gap:8px; }
.gauge-ring { position:relative; width:140px; height:140px; }
.gauge-ring svg { transform:rotate(-90deg); transform-origin:center; width:140px; height:140px; }
.gauge-ring .bg { fill:none; stroke:rgba(0,255,65,.08); stroke-width:9; }
.gauge-ring .fill { fill:none; stroke:var(--green); stroke-width:9; stroke-linecap:round; transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1), stroke .5s ease; }
.gauge-ring .fill.ok { stroke:var(--green); }
.gauge-ring .fill.warn { stroke:var(--amber); }
.gauge-ring .fill.critical { stroke:var(--red); }
.gauge-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.gauge-center .score-value { font-size:2.6rem; font-weight:400; line-height:1; text-shadow:0 0 16px rgba(0,255,65,.25); }
.gauge-center .score-value.ok { color:var(--green); }
.gauge-center .score-value.warn { color:var(--amber); }
.gauge-center .score-value.critical { color:var(--red); }
.gauge-center .score-label { font-size:.68rem; color:var(--muted); letter-spacing:.14em; text-transform:uppercase; margin-top:2px; }

.security-body { min-width:0; }
.security-body .section-heading { margin-bottom:2px; }
.security-body .section-heading h2 { margin:0; }
.security-summary { color:var(--muted); font-size:.82rem; line-height:1.6; margin:8px 0 16px; }

/* Dimension grid inside security card */
.security-dimensions { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; }
.dimension-item { display:flex; flex-direction:column; gap:4px; }
.dimension-item .dim-label { display:flex; align-items:center; justify-content:space-between; font-size:.76rem; letter-spacing:.06em; }
.dimension-item .dim-label span:first-child { color:var(--text); }
.dimension-item .dim-label .dim-score { font-weight:400; min-width:36px; text-align:right; }
.dimension-item .dim-label .dim-score.ok { color:var(--green); }
.dimension-item .dim-label .dim-score.warn { color:var(--amber); }
.dimension-item .dim-label .dim-score.critical { color:var(--red); }
.dimension-item .dim-detail { color:var(--muted); font-size:.68rem; line-height:1.35; min-height:1.2em; }
.dim-bar { height:4px; border-radius:2px; background:rgba(0,255,65,.06); overflow:hidden; }
.dim-bar-fill { height:100%; border-radius:2px; transition:width .6s cubic-bezier(.22,1,.36,1); }
.dim-bar-fill.ok { background:var(--green); box-shadow:0 0 8px rgba(0,255,65,.2); }
.dim-bar-fill.warn { background:var(--amber); box-shadow:0 0 8px rgba(255,170,51,.2); }
.dim-bar-fill.critical { background:var(--red); box-shadow:0 0 8px rgba(255,51,85,.2); }

/* Security actions */
.security-actions { display:flex; align-items:center; gap:10px; margin-top:12px; }
[data-security-status][data-state="ok"] { color:var(--green); }
[data-security-status][data-state="running"] { color:var(--amber); }
[data-security-status][data-state="error"] { color:var(--red); }

/* Update button & result */
.update-bottom-status { display:block; text-align:center; margin-top:6px; min-height:1.2em; }
.update-bottom-status[data-state="ok"] { color:var(--green); }
.update-bottom-status[data-state="running"] { color:var(--amber); }
.update-bottom-status[data-state="error"] { color:var(--red); }
.update-result { margin-top:12px; border:1px solid rgba(0,255,65,.12); border-radius:4px; background:rgba(0,255,65,.02); padding:12px 14px; max-width:260px; }
.update-result[hidden] { display:none; }
.update-versions { display:flex; align-items:center; gap:6px; justify-content:center; flex-wrap:wrap; margin-bottom:6px; }
.update-version-old { color:var(--muted); text-decoration:line-through; font-size:.78rem; }
.update-version-new { color:var(--green); font-weight:400; font-size:.92rem; text-shadow:0 0 8px rgba(0,255,65,.2); }
.update-arrow { color:var(--muted); font-size:.78rem; }
.update-message { color:var(--muted); font-size:.76rem; line-height:1.4; margin:4px 0 0; }
.update-changes { list-style:none; padding:0; margin:6px 0 0; }
.update-changes li { color:var(--muted); font-size:.74rem; line-height:1.4; padding:2px 0; }
.update-changes li::before { content:'¹3 '; color:var(--green); }

/* Quick-status row */
.quick-status { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:20px; }
.quick-badge { border:1px solid rgba(0,255,65,.1); background:rgba(0,255,65,.02); border-radius:4px; padding:10px 14px; display:flex; align-items:center; gap:8px; font-size:.78rem; letter-spacing:.05em; }
.quick-badge .dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.quick-badge .dot.ok { background:var(--green); box-shadow:0 0 8px rgba(0,255,65,.4); }
.quick-badge .dot.warn { background:var(--amber); box-shadow:0 0 8px rgba(255,170,51,.4); }
.quick-badge .dot.critical { background:var(--red); box-shadow:0 0 8px rgba(255,51,85,.4); }

.system-space-card {
  border:1px solid var(--line); border-radius:4px;
  background:rgba(0,255,65,.018);
  padding:18px 20px; box-shadow:var(--glow);
  display:grid; gap:14px; margin-bottom:20px;
}
.system-space-card .section-heading { margin:0; }
.system-space-card h2 { margin:0; }
.space-meter { height:8px; border-radius:2px; background:rgba(0,255,65,.06); overflow:hidden; }
.space-meter-fill { height:100%; width:0; border-radius:2px; background:var(--green); box-shadow:0 0 10px rgba(0,255,65,.22); transition:width .6s cubic-bezier(.22,1,.36,1), background .3s ease, box-shadow .3s ease; }
.space-meter-fill[data-level="warn"] { background:var(--amber); box-shadow:0 0 10px rgba(255,170,51,.26); }
.space-meter-fill[data-level="critical"] { background:var(--red); box-shadow:0 0 10px rgba(255,51,85,.28); }
.system-space-card[data-loading="true"] .space-meter-fill { width:100%; background:linear-gradient(90deg, rgba(0,255,65,.12), rgba(0,255,65,.38), rgba(0,255,65,.12)); background-size:200% 100%; animation:spaceLoading 1.1s linear infinite; box-shadow:0 0 10px rgba(0,255,65,.12); }
.space-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.space-metric { min-width:0; border:1px solid rgba(0,255,65,.08); background:rgba(0,0,0,.16); border-radius:4px; padding:12px 14px; }
.space-metric span { display:block; color:var(--muted); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:6px; }
.space-metric strong { display:block; color:var(--text); font-size:1.08rem; font-weight:400; overflow-wrap:anywhere; }
.system-space-card[data-loading="true"] .space-metric strong { color:var(--muted); }
[data-space-status][data-state="ok"] { color:var(--green); }
[data-space-status][data-state="running"] { color:var(--amber); }
[data-space-status][data-state="error"] { color:var(--red); }
@keyframes spaceLoading { from { background-position:200% 0; } to { background-position:-200% 0; } }

@media (max-width: 820px) { .security-score-card { grid-template-columns:1fr; } .security-gauge { margin:0 auto; } }
@media (max-width: 480px) { .gauge-ring, .gauge-ring svg { width:110px; height:110px; } .gauge-center .score-value { font-size:2rem; } .security-score-card { padding:16px; } }
@media (max-width: 640px) { .security-dimensions, .space-metrics { grid-template-columns:1fr; } .quick-status { grid-template-columns:repeat(2,1fr); } }

/* Kanban boards */
.kanban-board { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin:24px 0; align-items:start; }
.kanban-column { border:1px solid var(--line); border-radius:4px; background:rgba(10,14,10,.92); display:flex; flex-direction:column; height:min(68vh,720px); min-height:260px; }
.kanban-column-head { display:flex; align-items:center; justify-content:space-between; padding:14px 14px 10px; border-bottom:1px solid rgba(0,255,65,.08); }
.kanban-column-head h3 { font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--accent); margin:0; }
.kanban-count { background:rgba(0,255,65,.08); color:var(--accent); border-radius:10px; padding:2px 8px; font-size:.7rem; transition:background .2s; }
.kanban-count.pulse { background:rgba(0,255,65,.25); transition:background 0s; }
.kanban-column-body { flex:1; padding:10px; display:flex; flex-direction:column; gap:8px; overflow-y:auto; min-height:0; scroll-behavior:smooth; }
.kanban-card { border:1px solid rgba(0,255,65,.08); border-radius:3px; background:rgba(0,255,65,.015); padding:10px 12px; transition:opacity .28s ease,transform .28s cubic-bezier(.22,1,.36,1),border-color .2s,max-height .28s ease,padding .28s ease,margin .28s ease; max-height:none; overflow:visible; overflow-wrap:anywhere; }
.kanban-card.entering { opacity:0; transform:translateY(-8px) scale(.97); max-height:0; padding-top:0; padding-bottom:0; overflow:hidden; }
.kanban-card.removing, .kanban-card.deleting { opacity:0; transform:translateX(24px) scale(.95); max-height:0; padding-top:0; padding-bottom:0; margin-top:0; margin-bottom:0; border-width:0; overflow:hidden; }
.kanban-card.deleting { border-color:rgba(255,51,85,.4); box-shadow:0 0 16px rgba(255,51,85,.12); }
.kanban-card:hover { border-color:rgba(0,255,65,.18); }
.kanban-card.active { border-left:3px solid var(--amber); }
.kanban-card.blocked { border-left:3px solid var(--red); }
.kanban-card.ok { border-left:3px solid var(--green); opacity:.65; }
.kanban-card p { margin:0 0 8px; font-size:.82rem; line-height:1.5; color:var(--text); }
.kanban-card-actions { display:flex; gap:6px; flex-wrap:wrap; }
.kanban-card-actions .button.small { font-size:.68rem; padding:.3rem .6rem; }
.kanban-expand-brief, .kanban-see-results { margin:4px 0; font-size:.68rem !important; padding:.28rem .55rem !important; }
.kanban-card-detail, .kanban-card-results { border-top:1px solid rgba(0,255,65,.08); margin-top:8px; padding-top:8px; animation:reportExpand .22s ease; }
.kanban-card-detail-content, .kanban-card-results-content { max-height:min(42vh,500px); overflow:auto; padding:6px 0; font-size:.78rem; line-height:1.55; color:var(--text); scroll-behavior:smooth; }
.kanban-card-detail-content h1,.kanban-card-detail-content h2,.kanban-card-detail-content h3,
.kanban-card-detail-content h4,.kanban-card-results-content h1,.kanban-card-results-content h2,
.kanban-card-results-content h3,.kanban-card-results-content h4 { color:var(--accent); margin:.6rem 0 .3rem; }
.kanban-card-detail-content p,.kanban-card-detail-content li,.kanban-card-results-content p,
.kanban-card-results-content li { line-height:1.5; margin:.25rem 0; }
.kanban-card-detail-content ul,.kanban-card-detail-content ol,.kanban-card-results-content ul,
.kanban-card-results-content ol { padding-left:1.1rem; }
.kanban-card-detail-content blockquote,.kanban-card-results-content blockquote { border-left:2px solid rgba(0,255,65,.25); padding:.3rem .6rem; margin:.4rem 0; background:rgba(0,255,65,.025); }
.store-overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-top:16px; }
.store-agent-card { border:1px solid var(--line); border-radius:4px; background:rgba(0,255,65,.015); padding:16px; transition: opacity .28s ease, transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease; }
.store-agent-card.disabled { opacity:.52; border-color:rgba(255,68,68,.25); background:rgba(255,68,68,.025); }
.store-agent-card.state-changing { transform:translateY(-2px); box-shadow:0 0 20px rgba(0,255,65,.14); }
.store-agent-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.store-agent-card-head h3 { margin:0; font-size:.88rem; }
.store-agent-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:.74rem; color:var(--muted); }
.store-agent-stats strong { color:var(--accent); }
.store-agent-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; padding-top:12px; border-top:1px solid rgba(0,255,65,.08); }
.store-agent-controls .action-status { text-align:right; min-width:76px; }
.store-reports-list { display:grid; gap:14px; margin-top:16px; }
.store-report-card { border:1px solid rgba(0,255,65,.10); border-radius:4px; background:rgba(0,255,65,.015); overflow:hidden; transition:border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.store-report-card.expanded { border-color:rgba(0,255,65,.28); box-shadow:0 0 22px rgba(0,255,65,.10); background:rgba(0,255,65,.025); }
.store-report-title { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:0; border-radius:0; color:var(--accent); background:transparent; text-align:left; }
.store-report-title:hover { box-shadow:none; background:rgba(0,255,65,.04); }
.report-chevron { transition:transform .22s ease; }
.store-report-card.expanded .report-chevron { transform:rotate(180deg); }
.store-report-body { border-top:1px solid rgba(0,255,65,.08); animation:reportExpand .22s ease; }
.store-report-scroll { max-height:min(58vh,620px); overflow:auto; padding:18px; scroll-behavior:smooth; }
.store-report-scroll h2, .store-report-scroll h3, .store-report-scroll h4 { color:var(--accent); margin:1rem 0 .45rem; }
.store-report-scroll p, .store-report-scroll li, .store-report-scroll blockquote { color:var(--text); line-height:1.65; font-size:.9rem; }
.store-report-scroll ul, .store-report-scroll ol { padding-left:1.25rem; }
.store-report-scroll blockquote { margin:.75rem 0; padding:.7rem .9rem; border-left:3px solid rgba(0,255,65,.35); background:rgba(0,255,65,.035); color:var(--muted); }
@keyframes reportExpand { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* Task Bus */
.taskbus-grid { display:flex; flex-direction:column; gap:20px; margin-top:12px; }
.taskbus-group h3 { color:var(--accent); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; margin:0 0 10px; display:flex; align-items:center; gap:8px; }
.taskbus-count { background:rgba(0,255,65,.08); color:var(--accent); border-radius:10px; padding:1px 8px; font-size:.68rem; }
.taskbus-group-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:10px; }
.taskbus-card { border:1px solid rgba(0,255,65,.08); border-radius:3px; background:rgba(0,255,65,.015); padding:12px 14px; transition:border-color .2s; }
.taskbus-card:hover { border-color:rgba(0,255,65,.18); }
.taskbus-card.done { border-left:3px solid var(--green); opacity:.7; }
.taskbus-card.active { border-left:3px solid var(--amber); }
.taskbus-card.blocked { border-left:3px solid var(--red); }
.taskbus-card.pending { border-left:3px solid rgba(0,255,65,.25); }
.taskbus-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.taskbus-status { font-size:.72rem; color:var(--accent); text-transform:uppercase; letter-spacing:.06em; }
.taskbus-date { font-size:.68rem; color:var(--muted); }
.taskbus-desc { font-size:.82rem; color:var(--text); margin:4px 0; line-height:1.45; }
.taskbus-blocked { font-size:.72rem; color:var(--red); margin:4px 0; }
.taskbus-depends { font-size:.68rem; color:var(--muted); display:block; margin-top:4px; }
.taskbus-card-actions { display:flex; gap:6px; margin-top:8px; }

/* VEROGAIA */
.verogaia-hero .stats-card { margin-top:22px; margin-bottom:18px; }
.verogaia-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.verogaia-tabs .button { align-self:auto; }
.verogaia-section { margin-bottom:24px; }
.verogaia-section .section-heading { margin-bottom:16px; }
.verogaia-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.verogaia-card { border:1px solid rgba(0,255,65,.1); border-radius:4px; background:rgba(0,255,65,.015); padding:16px; display:flex; flex-direction:column; gap:12px; min-height:170px; }
.verogaia-card p { margin:0; font-size:.88rem; line-height:1.62; }
.verogaia-card .card-top { align-items:flex-start; }
.verogaia-card h3 { margin:0; color:var(--accent); font-size:.95rem; line-height:1.35; }
.verogaia-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; margin-top:auto; }
.verogaia-meta span { border:1px solid rgba(0,255,65,.08); border-radius:3px; padding:8px 10px; color:var(--text); font-size:.76rem; line-height:1.35; overflow-wrap:anywhere; }
.verogaia-meta strong { display:block; color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; }
.verogaia-links { display:flex; flex-wrap:wrap; gap:8px; }
.verogaia-source-links { border-top:1px solid rgba(0,255,65,.06); padding-top:10px; margin-top:auto; display:flex; flex-direction:column; gap:6px; }
.verogaia-price-row { display:flex; align-items:flex-start; gap:8px; font-size:.78rem; line-height:1.45; }
.verogaia-label { color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; min-width:100px; flex-shrink:0; padding-top:1px; }
.verogaia-link-group { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.verogaia-link-group a, .verogaia-link-group button, .verogaia-sources button { font-size:.76rem; padding:2px 8px; border-radius:3px; text-decoration:none; border:1px solid rgba(0,255,65,.12); color:var(--accent); background:transparent; transition:background .15s; cursor:pointer; line-height:1.45; }
.verogaia-link-group a:hover, .verogaia-link-group button:hover, .verogaia-sources button:hover { background:rgba(0,255,65,.06); box-shadow:none; }
.verogaia-link-group a.price-lo { border-color:rgba(255,150,0,.3); color:#ff9600; }
.verogaia-link-group a.price-lo:hover { background:rgba(255,150,0,.06); }
.verogaia-link-group a.price-viable { border-color:rgba(0,200,255,.3); color:#00c8ff; }
.verogaia-link-group a.price-viable:hover { background:rgba(0,200,255,.06); }
.verogaia-link-group a.price-hi { border-color:rgba(255,80,80,.3); color:#ff5050; }
.verogaia-link-group a.price-hi:hover { background:rgba(255,80,80,.06); }
.verogaia-link-group a.price-best { border-color:rgba(0,255,65,.35); color:#00ff41; font-weight:500; }
.verogaia-link-group a.price-best:hover { background:rgba(0,255,65,.08); }
.verogaia-link-group a.price-supplier { border-color:rgba(180,130,255,.3); color:#b482ff; }
.verogaia-link-group a.price-supplier:hover { background:rgba(180,130,255,.06); }
.verogaia-link-group .price-report, .verogaia-sources .price-report { border-color:rgba(255,255,255,.1); color:var(--muted); font-size:.72rem; }
.verogaia-report-dialog { width:min(1040px,100%); }
.verogaia-report-body { padding:18px; overflow:auto; max-height:64vh; }
.verogaia-report-body h1, .verogaia-report-body h2, .verogaia-report-body h3, .verogaia-report-body h4 { color:var(--accent); margin:1rem 0 .45rem; }
.verogaia-report-body p, .verogaia-report-body li, .verogaia-report-body blockquote, .verogaia-report-body td, .verogaia-report-body th { color:var(--text); line-height:1.65; font-size:.9rem; }
.verogaia-report-body ul, .verogaia-report-body ol { padding-left:1.25rem; }
.verogaia-note { color:var(--muted); font-size:.7rem; font-style:italic; }
.verogaia-link-item { display:inline-flex; align-items:center; gap:4px; }
.button.small { font-size:.68rem; padding:.35rem .6rem; }
.verogaia-decision-actions { border-top:1px solid rgba(255,255,255,.08); padding-top:10px; display:flex; align-items:flex-start; gap:8px; flex-wrap:wrap; }
.verogaia-decision-actions .action-status { color:var(--muted); font-size:.76rem; align-self:center; }
.verogaia-decision-button { align-self:auto; }
.verogaia-rule-list { margin:0; padding-left:1.2rem; display:grid; gap:8px; }
.verogaia-rule-list li { line-height:1.6; }
.verogaia-sources table { min-width:760px; }

@media (max-width: 820px) { .kanban-board { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); } .kanban-column { height:min(62vh,620px); } }
@media (max-width: 640px) { .kanban-board { grid-template-columns:1fr; } .store-overview-grid, .verogaia-grid { grid-template-columns:1fr; } .verogaia-tabs .button { width:100%; justify-content:center; text-align:center; } }
