:root{--bg:#0e1116;--surface:#161b22;--surface-raised:#1c2128;--border:#2a313c;--border-soft:#21262d;--text:#e6edf3;--text-muted:#8b949e;--text-faint:#5b6573;--signal-live:#3fb950;--signal-live-bg:#3fb9501f;--signal-paused:#d29922;--signal-paused-bg:#d299221f;--signal-error:#f85149;--signal-error-bg:#f851491f;--accent:#58a6ff;--accent-bg:#58a6ff1a;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-card:0 1px 0 0 #ffffff05 inset, 0 1px 3px #0006}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 0,#3fb9500a,#0000 40%),radial-gradient(circle at 85% 100%,#58a6ff08,#0000 40%);min-height:100vh}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:#58a6ff40}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-card);padding:36px 32px}.auth-brand{align-items:center;gap:8px;margin-bottom:28px;display:flex}.auth-brand-mark{background:var(--signal-live);width:8px;height:8px;box-shadow:0 0 0 3px var(--signal-live-bg);border-radius:50%}.auth-brand-name{letter-spacing:.02em;color:var(--text-muted);font-size:14px;font-weight:600}.auth-title{margin:0 0 6px;font-size:22px;font-weight:700}.auth-subtitle{color:var(--text-muted);margin:0 0 28px;font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--text-muted);font-size:13px;font-weight:500}.auth-input{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.auth-input:focus{border-color:var(--accent)}.auth-error{background:var(--signal-error-bg);color:var(--signal-error);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:13px}.auth-submit{background:var(--signal-live);color:#0b1f12;border-radius:var(--radius-sm);border:none;margin-top:6px;padding:11px;font-size:14px;font-weight:700;transition:opacity .15s,transform .1s}.auth-submit:hover:not(:disabled){opacity:.9}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-muted);margin-top:22px;font-size:13px}.auth-switch a{color:var(--accent);font-weight:600}.status-pill{letter-spacing:.02em;font-size:12px;font-weight:600;font-family:var(--font-ui);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;display:inline-flex}.status-pill.is-live{color:var(--signal-live);background:var(--signal-live-bg)}.status-pill.is-paused{color:var(--text-faint);background:#8b949e14}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-pill.is-live .status-dot{animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{box-shadow:0 0 #3fb95080}50%{box-shadow:0 0 0 4px #3fb95000}}.toggle{border:1px solid var(--border);background:var(--surface-raised);border-radius:999px;flex-shrink:0;align-items:center;width:40px;height:24px;padding:2px;transition:background .15s,border-color .15s;display:flex}.toggle.is-on{background:var(--signal-live);border-color:var(--signal-live)}.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;transform:translate(0);box-shadow:0 1px 2px #0000004d}.toggle.is-on .toggle-thumb{transform:translate(14px)}.coin-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:20px;transition:opacity .15s,border-color .15s;display:flex}.coin-card.is-inactive{opacity:.55}.coin-card-header{justify-content:space-between;align-items:center;display:flex}.coin-identity{align-items:baseline;gap:8px;display:flex}.coin-symbol{letter-spacing:.01em;font-size:17px;font-weight:700}.coin-name{color:var(--text-faint);font-size:12px}.coin-card-id{background:var(--surface-raised);border-radius:var(--radius-sm);border:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.ad-id{color:var(--text-muted);letter-spacing:-.01em;font-size:12px}.coin-card-fields{flex-direction:column;gap:12px;display:flex}.field{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-label{color:var(--text-muted);flex-shrink:0;font-size:13px}.field-input{text-align:right;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);width:110px;color:var(--text);padding:7px 10px;font-size:14px;transition:border-color .15s}.field-input:hover{border-color:var(--text-faint)}.field-input:focus{border-color:var(--accent)}.coin-card-footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-top:2px;padding-top:14px;display:flex}.link-danger{color:var(--text-faint);background:0 0;border:none;padding:0;font-size:13px;transition:color .15s}.link-danger:hover{color:var(--signal-error)}.btn-save{background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-sm);border:1px solid #58a6ff40;padding:7px 14px;font-size:13px;font-weight:600;transition:opacity .15s,transform .1s}.btn-save:hover:not(:disabled){border-color:#58a6ff80}.btn-save:active:not(:disabled){transform:scale(.98)}.btn-save:disabled{opacity:.35;cursor:not-allowed}.add-ad-trigger{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-muted);width:100%;padding:20px;font-size:14px;font-weight:500;transition:border-color .15s,color .15s,background .15s}.add-ad-trigger:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.add-ad-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:20px;display:flex}.add-ad-row{flex-wrap:wrap;gap:12px;display:flex}.add-ad-field{flex-direction:column;gap:6px;display:flex}.add-ad-field-grow{flex:1;min-width:200px}.add-ad-select,.add-ad-input{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;font-size:14px;transition:border-color .15s}.add-ad-select:focus,.add-ad-input:focus{border-color:var(--accent)}.add-ad-error{color:var(--signal-error);margin:0;font-size:13px}.add-ad-actions{justify-content:flex-end;gap:10px;display:flex}.btn-ghost{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;padding:8px 16px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--text-faint);color:var(--text)}.btn-primary{background:var(--signal-live);color:#0b1f12;border-radius:var(--radius-sm);border:none;padding:8px 18px;font-size:13px;font-weight:700;transition:opacity .15s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.dashboard{max-width:1080px;margin:0 auto;padding:32px 24px 80px}.dashboard-topbar{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.topbar-brand{align-items:center;gap:8px;display:flex}.topbar-brand-mark{background:var(--signal-live);width:8px;height:8px;box-shadow:0 0 0 3px var(--signal-live-bg);border-radius:50%}.topbar-brand-name{color:var(--text-muted);letter-spacing:.02em;font-size:14px;font-weight:600}.topbar-actions{align-items:center;gap:14px;display:flex}.topbar-email{color:var(--text-faint);font-size:13px}.topbar-logout{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;padding:7px 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.topbar-logout:hover{border-color:var(--signal-error);color:var(--signal-error)}.master-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;margin-bottom:32px;padding:22px 24px;display:flex}.master-panel-info h2{margin:0 0 4px;font-size:16px;font-weight:700}.master-panel-info p{color:var(--text-muted);margin:0;font-size:13px}.master-panel-control{align-items:center;gap:14px;display:flex}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.section-heading h3{margin:0;font-size:15px;font-weight:700}.section-heading span{color:var(--text-faint);font-size:13px}.coin-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=720px){.coin-grid{grid-template-columns:1fr}.master-panel{flex-direction:column;align-items:flex-start;gap:16px}}.empty-state{text-align:center;color:var(--text-faint);padding:60px 20px}.empty-state h3{color:var(--text);margin-bottom:6px;font-size:16px}.empty-state p{margin:0 0 20px;font-size:14px}.toast{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 18px;font-size:13px;animation:.2s toast-in;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #0006}.toast.is-error{color:var(--signal-error);border-color:#f8514966}.toast.is-success{color:var(--signal-live);border-color:#3fb95066}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-shell{min-height:100vh;color:var(--text-faint);justify-content:center;align-items:center;font-size:14px;display:flex}
