.auth-page { display: grid; place-items: center; min-height: 100vh; background: #0e120e; color: #d8e0d5; }
.auth-card { width: min(380px, 92vw); padding: 28px; border: 1px solid #2a3329; border-radius: 8px; background: #151a15; display: grid; gap: 14px; }
.auth-card h1 { margin: 0; font-size: 22px; }
.auth-card form { display: grid; gap: 14px; }
.auth-card label { display: grid; gap: 6px; font-size: 14px; color: #a9b5a6; }
.auth-card input { min-height: 40px; padding: 0 10px; border: 1px solid #2f392e; border-radius: 6px; background: #0e120e; color: #eef3ec; font-size: 15px; }
.auth-card button { min-height: 42px; border: 0; border-radius: 6px; background: #b6f36b; color: #10200a; font-weight: 800; font-size: 14px; cursor: pointer; }
.auth-error { margin: 0; padding: 9px 11px; border-radius: 6px; background: #3a1d1b; color: #ffb4ab; font-size: 14px; }

.dashboard-page { min-height: 100vh; background: #0e120e; color: #d8e0d5; }
.dashboard-bar { display: flex; align-items: center; gap: 14px; padding: 12px 20px; border-bottom: 1px solid #2a3329; }
.dashboard-bar .spacer { flex: 1; }
.dashboard-bar form { margin: 0; }
.dashboard-bar button { min-height: 32px; padding: 0 12px; border: 1px solid #3a463a; border-radius: 6px; background: transparent; color: #d8e0d5; cursor: pointer; }
.shared-screens { padding: 24px 20px; display: grid; gap: 14px; max-width: 900px; }
.shared-screens h1 { margin: 0; font-size: 20px; }
.shared-list { display: grid; gap: 10px; }
.shared-card { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid #2f392e; border-radius: 8px; background: #151a15; color: inherit; text-decoration: none; }
.shared-card:hover { border-color: #b6f36b; }
.shared-card strong { font-size: 16px; }
.shared-card small { color: #9aa797; font-size: 13px; display: block; margin-top: 3px; }
.shared-card .live { margin-left: auto; padding: 3px 9px; border-radius: 999px; background: #1f3a1f; color: #8be58b; font-size: 12px; font-weight: 800; }
.shared-empty { padding: 22px; border: 1px dashed #3a463a; border-radius: 8px; color: #9aa797; }

.viewer-page { margin: 0; background: #0e120e; color: #d8e0d5; display: flex; flex-direction: column; height: 100vh; }
.viewer-bar { display: flex; align-items: center; gap: 12px; padding: 8px 16px; border-bottom: 1px solid #2a3329; flex-wrap: wrap; }
.viewer-bar .spacer { flex: 1; }
.viewer-bar a { color: #b6f36b; text-decoration: none; font-size: 14px; }
.viewer-status { font-size: 13px; padding: 3px 9px; border-radius: 999px; background: #2a3329; }
.viewer-status.is-live { background: #1f3a1f; color: #8be58b; }
.viewer-status.is-error { background: #3a1d1b; color: #ffb4ab; }
.signal-badge { padding: 6px 14px; border-radius: 6px; font-weight: 800; font-size: 15px; letter-spacing: .04em; border: 1px solid transparent; }
.signal-badge[hidden] { display: none; }
.signal-badge.is-bullish { background: #143a22; color: #62d38b; border-color: #2c7a4a; }
.signal-badge.is-neutral { background: #10344a; color: #7cc8f0; border-color: #2a6f96; }
.signal-badge.is-bearish { background: #43201d; color: #ef7f75; border-color: #8a3c35; }
.viewer-stage { flex: 1; min-height: 0; display: grid; gap: 6px; padding: 6px; }
.viewer-stage iframe { width: 100%; height: 100%; border: 1px solid #2a3329; border-radius: 6px; background: #0e120e; }
.viewer-stage .viewer-panel { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.viewer-stage .viewer-panel[hidden] { display: none; }
.viewer-stage .viewer-panel > b { padding: 5px 8px; font-size: 14px; }
.viewer-stage .viewer-panel iframe { flex: 1; }
.viewer-banner { padding: 40px; text-align: center; color: #9aa797; }

.share-button.is-sharing { background: #1f3a1f; color: #8be58b; border-color: #2c7a4a; }
.share-state { font-size: 12px; color: #9aa797; margin-left: 6px; }
.signal-badge.is-admin { margin-left: 8px; }
html.viewer-chart .chart-toolbar, html.viewer-chart .topbar, html.viewer-chart .watchlist-panel { display: none !important; }
html.viewer-chart #chart-viewport, html.viewer-chart canvas { cursor: default; }
html.viewer-chart .chart-actions, html.viewer-chart .activity-panel, html.viewer-chart .indicator-dialog, html.viewer-chart .indicator-overlay-controls, html.viewer-chart .drawing-tools-panel, html.viewer-chart .option-strike-widget { display: none !important; }
