:root{--bg:#061c29;--panel:#0b2a3a;--panel2:#102f40;--text:#f4f7f8;--muted:#9eb0b9;--line:#244858;--green:#0fd653;--green-dark:#075f32;--red:#ff2938;--red-dark:#431d2b;--gold:#dcb95b;--shadow:0 18px 55px #0005;font-family:Tahoma,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#16475c 0,var(--bg) 48%);color:var(--text);min-height:100vh}button,input{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:#0a2737ee;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow);text-align:center}.brand-mark{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#f3d47a,#9b6e18);color:#11232b;font-size:38px;font-weight:900}.brand-name{margin:14px 0 6px;font-size:clamp(18px,3vw,26px)}p{color:var(--muted)}label{display:grid;gap:8px;text-align:right;color:#d7e0e4;margin:16px 0}input{width:100%;border:1px solid var(--line);background:#061b27;color:#fff;border-radius:11px;padding:12px 14px;outline:none}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #dcb95b22}.btn{border:0;border-radius:11px;padding:12px 16px;cursor:pointer;font-weight:700}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--gold);color:#17232a}.btn.danger{background:#bf2835;color:white}.btn.ghost{background:#153747;color:#dce8ed;border:1px solid var(--line)}form>.btn{width:100%;margin-top:9px}.btn.small{width:auto;padding:8px 12px;margin:0}.debug-code{display:block;margin:8px;padding:8px;background:#443a1f;color:#ffe08c;border-radius:8px}.app{max-width:1180px;margin:auto;padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0 20px}.topbar .brand-name{margin:0}.badge{font-size:12px;padding:5px 9px;border-radius:20px;background:#16412c;color:#86eead}.badge.off{background:#47252b;color:#ffadb4}.user-box{display:flex;align-items:center;gap:14px}.link-btn,.icon-btn{border:0;background:transparent;color:#e6c96e;cursor:pointer}.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:13px 18px;white-space:nowrap;cursor:pointer}.tabs button.active{color:#fff;border-color:var(--gold)}.tab-page{display:none}.tab-page.active{display:block}.market-head,.ticker-card{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;align-items:center}.market-head{padding:8px 14px;color:var(--muted);font-size:13px}.ticker-card{background:#082332;border:1px solid var(--line);padding:12px;border-radius:18px;box-shadow:var(--shadow)}.product{display:grid;gap:7px}.product small,.price-card small{color:#c2d0d6}.price-card{border:0;min-height:88px;border-radius:14px;color:white;cursor:pointer;display:grid;place-items:center;padding:12px}.price-card span{font-size:clamp(20px,4vw,35px);font-weight:900;direction:ltr}.price-card.buy{background:linear-gradient(145deg,#075326,#08783a);color:var(--green)}.price-card.sell{background:linear-gradient(145deg,#351925,#591b2b);color:var(--red)}.price-card:disabled{cursor:not-allowed;filter:saturate(.5)}.market-message{text-align:center;min-height:24px}.balance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.balance-grid>div,.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px}.balance-grid span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#082331;margin:12px 0 26px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:right;padding:13px;border-bottom:1px solid #183c4d;white-space:nowrap}th{color:#aebec6;font-size:13px}td{font-size:14px}.state{display:inline-block;border-radius:20px;padding:5px 9px;background:#183c4d}.state.succeeded{background:#0b5631;color:#64f39a}.state.rejected,.state.price_changed{background:#55232e;color:#ff9aa3}.state.pending,.state.queued,.state.claimed{background:#4f431c;color:#ffe27a}.state.unknown_halted{background:#6b2a21;color:#ffb39e}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid .btn,.form-grid .check{align-self:end}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.toast{position:fixed;z-index:100;left:50%;top:18px;transform:translate(-50%,-120px);background:#162f3a;border:1px solid var(--line);padding:12px 20px;border-radius:12px;box-shadow:var(--shadow);transition:.25s;max-width:min(92vw,560px)}.toast.show{transform:translate(-50%,0)}dialog{width:min(470px,calc(100% - 28px));background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}dialog::backdrop{background:#00101bbb;backdrop-filter:blur(3px)}.dialog-title{display:flex;justify-content:space-between;align-items:center}.icon-btn{font-size:28px}.quote-box{background:#061c29;border:1px solid var(--line);border-radius:12px;padding:14px;margin:15px 0}.quote-box>div{display:flex;justify-content:space-between;padding:8px}.quote-box p{font-size:12px;line-height:1.8}.positive{color:var(--green)}.negative{color:var(--red)}
select{font:inherit;width:100%;border:1px solid var(--line);background:#061b27;color:#fff;border-radius:11px;padding:12px 14px;outline:none}.brand-logo{display:block;object-fit:contain;filter:drop-shadow(0 7px 14px #0007)}.login-logo{width:112px;height:112px;margin:0 auto 8px}.brand-row{display:flex;align-items:center;gap:13px}.header-logo{width:68px;height:68px;flex:0 0 68px}.brand-row .brand-name{margin:0 0 8px}.announcement{margin:0 0 16px;padding:13px 16px;border:1px solid #8e732b;border-radius:12px;background:#3a3119;color:#ffe69a;line-height:1.8}.announcement strong{color:#fff1bd}
.login-logo{margin-bottom:5px}.login-logo-full{width:min(100%,330px);height:auto;margin:0 auto 8px;border-radius:18px}.brand-wordmark{font-size:30px;font-weight:900;line-height:1.1;color:#f2cc69;text-shadow:0 2px 0 #7c5818,0 5px 14px #0008}.header-wordmark{font-size:21px;margin-bottom:3px}.brand-row .brand-name{font-size:20px}.login-card>.brand-name{margin-top:5px}
@media(max-width:760px){.app{padding:12px}.topbar{align-items:flex-start}.user-box{font-size:12px}.header-logo{width:52px;height:52px;flex-basis:52px}.brand-row{gap:8px}.header-wordmark{font-size:18px}.brand-row .brand-name{font-size:16px}.market-head{display:none}.ticker-card{grid-template-columns:1fr 1fr}.product{grid-column:1/-1;text-align:center}.balance-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.price-card{min-height:78px}.price-card span{font-size:22px}}
