:root{--text:#9ca3af;--text-h:#f5f5f4;--bg:#090a0c;--card-bg:#111318;--border:#252932;--input-bg:#0b0d10;--input-border:#30343d;--placeholder:#626873;--muted:#686e78;--error-bg:#dc26261a;--error-border:#f871714d;--error-text:#fca5a5;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 24px 70px #00000073;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{background:radial-gradient(circle at 50% -10%, #d4af3714, transparent 35%), var(--bg)}button,input{font-family:inherit}.auth-page{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.auth-card{border:1px solid var(--border);background:var(--card-bg);width:100%;max-width:430px;box-shadow:var(--shadow);box-sizing:border-box;border-radius:20px;padding:38px}.brand,.dashboard-brand{align-items:center;gap:14px;display:flex}.brand{margin-bottom:38px}.brand-mark{color:#17130a;letter-spacing:.5px;background:linear-gradient(135deg,#d4af37,#f6d76b);border-radius:14px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:17px;font-weight:800;display:flex;box-shadow:0 8px 22px #d4af3738}.brand h1,.dashboard-brand h1{color:var(--text-h);letter-spacing:-.5px;margin:0;font-size:23px;font-weight:700}.brand p,.dashboard-brand p{color:var(--text);margin:2px 0 0;font-size:13px}.auth-heading{margin-bottom:26px}.auth-heading h2{color:var(--text-h);letter-spacing:-.7px;margin:0 0 7px;font-size:28px;font-weight:650}.auth-heading p{color:var(--text);font-size:14px}.login-form{flex-direction:column;gap:9px;display:flex}.login-form label{color:var(--text-h);font-size:14px;font-weight:600}.login-form input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;min-height:46px;color:var(--text-h);font:inherit;box-sizing:border-box;border-radius:10px;outline:none;margin-bottom:10px;padding:0 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-form input::placeholder{color:var(--placeholder)}.login-form input:focus{border-color:#d4af37;box-shadow:0 0 0 3px #d4af371f}.login-form button{color:#17130a;width:100%;min-height:48px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#c99d25,#e5c354);border:0;border-radius:10px;margin-top:8px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s}.login-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #d4af3738}.login-form button:disabled{cursor:not-allowed;opacity:.65}.auth-error,.dashboard-error{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:9px;padding:11px 13px;font-size:13px}.auth-error{margin:2px 0 4px}.auth-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);margin-top:28px;padding-top:20px;font-size:12px}.dashboard-page{width:100%;min-height:100vh}.dashboard-header{border-bottom:1px solid var(--border);box-sizing:border-box;background:#111318f0;justify-content:space-between;align-items:center;min-height:76px;padding:0 32px;display:flex}.dashboard-brand{gap:12px}.dashboard-brand .brand-mark{border-radius:12px;flex-basis:42px;width:42px;height:42px;font-size:15px}.dashboard-brand h1{font-size:20px}.dashboard-brand p{font-size:12px}.logout-button{border:1px solid var(--input-border);background:var(--input-bg);min-height:38px;color:var(--text);font:inherit;cursor:pointer;border-radius:9px;padding:0 16px;font-size:13px;font-weight:600;transition:border-color .2s,color .2s,background .2s}.logout-button:hover{color:var(--text-h);background:#d4af370f;border-color:#d4af37}.dashboard-content{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:42px 32px 60px}.dashboard-heading{margin-bottom:28px}.dashboard-heading h2{color:var(--text-h);letter-spacing:-.8px;margin:0 0 6px;font-size:32px;font-weight:700}.dashboard-heading p{color:var(--text);margin:0;font-size:14px}.dashboard-error{margin-bottom:22px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:38px;display:grid}.summary-card{border:1px solid var(--border);background:var(--card-bg);box-sizing:border-box;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:112px;padding:22px;display:flex;box-shadow:0 10px 30px #0000002e}.summary-label{color:var(--muted);letter-spacing:1px;font-size:11px;font-weight:700}.summary-card strong{color:var(--text-h);text-transform:capitalize;font-size:22px;font-weight:700}.signals-section{margin-top:8px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.section-heading h3{color:var(--text-h);letter-spacing:-.4px;margin:0 0 5px;font-size:21px;font-weight:700}.section-heading p{color:var(--text);margin:0;font-size:13px}.signal-count{color:#e5c354;box-sizing:border-box;background:#d4af3714;border:1px solid #d4af374d;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.signal-list{flex-direction:column;gap:14px;display:flex}.signal-card{border:1px solid var(--border);background:var(--card-bg);border-radius:15px;padding:22px;box-shadow:0 10px 30px #00000029}.signal-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.signal-card-header>div{align-items:center;gap:10px;display:flex}.signal-symbol{color:var(--text-h);letter-spacing:.2px;font-size:17px;font-weight:750}.signal-direction,.signal-status{letter-spacing:.5px;border-radius:7px;align-items:center;min-height:26px;padding:0 9px;font-size:11px;font-weight:750;display:inline-flex}.signal-direction.buy{color:#86efac;background:#22c55e1a;border:1px solid #4ade8033}.signal-direction.sell{color:#fca5a5;background:#ef44441a;border:1px solid #f8717133}.signal-status{color:#e5c354;background:#d4af3714;border:1px solid #d4af3733}.signal-prices{grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0;display:grid}.price-item{background:var(--input-bg);border:1px solid #30343dcc;border-radius:10px;padding:13px 14px}.price-item span{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.price-item strong{color:var(--text-h);font-size:14px;font-weight:650}.signal-result{border-top:1px solid var(--border);color:var(--text);padding-top:16px;font-size:12px}.signal-result strong{color:var(--text-h)}.empty-state{border:1px dashed var(--border);color:var(--muted);text-align:center;background:#1113188c;border-radius:14px;padding:42px 20px;font-size:13px}@media (width<=760px){.dashboard-header{padding:0 18px}.dashboard-content{padding:30px 18px 48px}.summary-grid{grid-template-columns:1fr}.signal-prices{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.auth-page{padding:20px 14px}.auth-card{border-radius:16px;padding:28px 22px}.brand{margin-bottom:30px}.auth-heading h2{font-size:25px}.dashboard-header{min-height:68px}.dashboard-brand .brand-mark{flex-basis:38px;width:38px;height:38px}.dashboard-brand h1{font-size:17px}.dashboard-brand p{display:none}.logout-button{padding:0 12px}.dashboard-heading h2{font-size:27px}.signal-card{padding:17px}.signal-card-header{align-items:flex-start}.signal-card-header>div{flex-wrap:wrap}}.signal-delivery{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.delivery-button{color:#e5c354;min-height:40px;font:inherit;cursor:pointer;background:#d4af371a;border:1px solid #d4af3773;border-radius:9px;padding:0 16px;font-size:13px;font-weight:700;transition:background .2s,border-color .2s,opacity .2s,transform .15s}.delivery-button:hover:not(:disabled){background:#d4af372e;border-color:#d4af37b3;transform:translateY(-1px)}.delivery-button:disabled{cursor:not-allowed;opacity:.65}.delivery-button.delivered{color:#86efac;background:#4ade801a;border-color:#4ade8059}.delivery-message{color:var(--muted);font-size:12px}.delivery-message.delivered{color:#86efac}.delivery-message.duplicate{color:#facc15}.delivery-message.limit_reached,.delivery-message.error{color:#fca5a5}@media (width<=520px){.signal-delivery{flex-direction:column;align-items:stretch}.delivery-button{width:100%}}.signal-time{color:var(--muted);margin-top:10px;font-size:12px}
