/* Toss-inspired panel tokens and surfaces. The scoped specificity overrides legacy theme sheets. */
:root,:is(body,#scanner-panel-theme) {
  --bg:#f2f4f6; --panel:#fff; --soft:#f2f4f6; --ink:#191f28;
  --muted:#6b7684; --line:#e5e8eb; --blue:#3182f6; --accent-soft:#e8f3ff;
  --navy:#fff; --brand-gold:#3182f6; --brand-gold-bright:#3182f6;
  --green:#13795b; --red:#f04452; --orange:#946520;
  --font:Pretendard,'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif;
  color-scheme:light;
}
:is(body,#scanner-panel-theme)[data-theme="dark"] {
  --bg:#17171c; --panel:#202027; --soft:#2c2c35; --ink:#ececf1;
  --muted:#a9a9b3; --line:#35353f; --blue:#70b0ff; --accent-soft:#24344d;
  --navy:#202027; --brand-gold:#70b0ff; --brand-gold-bright:#70b0ff;
  --green:#79c7aa; --red:#ff808b; --orange:#e7bd7b; color-scheme:dark;
}
:is(body,#scanner-panel-theme) { background:var(--bg); color:var(--ink); line-height:1.45; }
:is(body,#scanner-panel-theme) .app-shell { display:block; width:calc(100% - 32px); max-width:1840px; margin:0 auto; min-height:100vh; }
:is(body,#scanner-panel-theme) .sidebar { width:100%; height:auto; padding:14px 0 10px; background:transparent; color:var(--ink); border-bottom:1px solid var(--line); }
:is(body,#scanner-panel-theme) .admin-brand { display:flex; align-items:center; gap:10px; margin:0 0 12px; padding:0; color:var(--ink); font-size:25px; font-weight:800; letter-spacing:-.04em; }
:is(body,#scanner-panel-theme) .admin-brand::before,:is(body,#scanner-panel-theme) .auth-brand-name::before { content:'one'; display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:10px; background:#3182f6; color:white; font-size:13px; font-weight:800; letter-spacing:-.04em; }
:is(body,#scanner-panel-theme) .side-caption,:is(body,#scanner-panel-theme) .sidebar-bottom { display:none; }
:is(body,#scanner-panel-theme) .side-nav { display:flex; flex-wrap:wrap; gap:5px; padding:3px; background:var(--soft); border-radius:10px; }
:is(body,#scanner-panel-theme) .nav-item { height:auto; min-height:36px; padding:7px 12px; font-size:16px; color:var(--muted); border-radius:8px; box-shadow:none; }
:is(body,#scanner-panel-theme) .nav-icon { color:inherit; }
:is(body,#scanner-panel-theme) .nav-item.active { background:var(--panel); color:var(--ink); box-shadow:0 1px 4px #00000012; }
:is(body,#scanner-panel-theme) .nav-item:hover { background:var(--panel); color:var(--ink); }
:is(body,#scanner-panel-theme) .topbar,:is(body,#scanner-panel-theme) .member-topbar { height:auto; min-height:58px; padding:10px 0; border-bottom:1px solid var(--line); background:transparent; gap:12px; flex-wrap:wrap; }
:is(body,#scanner-panel-theme) .topbar-right,:is(body,#scanner-panel-theme) .member-topbar-right { gap:8px; flex-wrap:wrap; }
:is(body,#scanner-panel-theme) .view { max-width:none; padding:18px 0 24px; }
:is(body,#scanner-panel-theme) .member-shell { background:var(--bg); }
:is(body,#scanner-panel-theme) .member-topbar,:is(body,#scanner-panel-theme) .member-content { width:calc(100% - 32px); max-width:1840px; margin-inline:auto; }
:is(body,#scanner-panel-theme) .member-content,:is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-content { padding:16px 0 24px; }
:is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-topbar { padding:10px 0; }
:is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-content,:is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-topbar { width:100%; }
:is(body,#scanner-panel-theme) .member-heading,:is(body,#scanner-panel-theme) .page-heading { margin-bottom:12px; gap:10px; }
:is(body,#scanner-panel-theme) .member-heading h1,:is(body,#scanner-panel-theme) .page-heading h1 { font-size:25px; line-height:1.3; font-weight:800; }
:is(body,#scanner-panel-theme) .eyebrow { color:var(--muted); font-size:14px; letter-spacing:0; font-weight:600; }
:is(body,#scanner-panel-theme) .panel,:is(body,#scanner-panel-theme) .metric-card,:is(body,#scanner-panel-theme) .strategy-card,:is(body,#scanner-panel-theme) .department-card,:is(body,#scanner-panel-theme) .account-row,:is(body,#scanner-panel-theme) .member-history-view,:is(body,#scanner-panel-theme) dialog { background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:12px; box-shadow:none; }
:is(body,#scanner-panel-theme) .panel { padding:12px; }
:is(body,#scanner-panel-theme) .section-heading,:is(body,#scanner-panel-theme) .member-panel-heading { margin-bottom:9px; gap:10px; }
:is(body,#scanner-panel-theme) .member-panel-heading h2,:is(body,#scanner-panel-theme) .section-heading h2 { color:var(--ink); font-size:22px; font-weight:700; }
:is(body,#scanner-panel-theme) .member-board-grid,:is(body,#scanner-panel-theme) .content-grid { gap:10px; }
:is(body,#scanner-panel-theme) .button,:is(body,#scanner-panel-theme) .theme-toggle,:is(body,#scanner-panel-theme) .auth-password-toggle,:is(body,#scanner-panel-theme) .chart-intervals button,:is(body,#scanner-panel-theme) .member-chart-range-controls button { min-height:34px; border:1px solid var(--line); border-radius:8px; background:var(--soft); color:var(--ink); padding:6px 10px; font-size:16px; font-weight:600; box-shadow:none; }
:is(body,#scanner-panel-theme) .button:hover,:is(body,#scanner-panel-theme) .theme-toggle:hover,:is(body,#scanner-panel-theme) .auth-password-toggle:hover { border-color:var(--blue); background:var(--accent-soft); color:var(--blue); }
:is(body,#scanner-panel-theme) button:focus-visible,:is(body,#scanner-panel-theme) a:focus-visible,:is(body,#scanner-panel-theme) summary:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
:is(body,#scanner-panel-theme) input:not([type="checkbox"]):not([type="radio"]),:is(body,#scanner-panel-theme) select,:is(body,#scanner-panel-theme) textarea { min-height:34px; border:1px solid var(--line); border-radius:8px; background:var(--soft); color:var(--ink); font-family:var(--font); font-size:18px; }
:is(body,#scanner-panel-theme) input:focus,:is(body,#scanner-panel-theme) select:focus,:is(body,#scanner-panel-theme) textarea:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 3px var(--accent-soft); }
:is(body,#scanner-panel-theme) input::placeholder { color:var(--muted); }
:is(body,#scanner-panel-theme) input[type="checkbox"],:is(body,#scanner-panel-theme) input[type="radio"] { accent-color:#3182f6; }
:is(body,#scanner-panel-theme) .tabs,:is(body,#scanner-panel-theme) .member-tabs,:is(body,#scanner-panel-theme) .member-font-controls,:is(body,#scanner-panel-theme) .member-main-nav { background:var(--soft); border:0; border-radius:10px; padding:3px; }
:is(body,#scanner-panel-theme) .tab,:is(body,#scanner-panel-theme) .member-tab,:is(body,#scanner-panel-theme) .member-font-controls button,:is(body,#scanner-panel-theme) .member-main-tab { color:var(--muted); border:0; border-radius:8px; box-shadow:none; min-height:34px; font-size:16px; }
:is(body,#scanner-panel-theme) .tab.active,:is(body,#scanner-panel-theme) .member-tab.active,:is(body,#scanner-panel-theme) .member-font-controls button.active { color:var(--ink); background:var(--panel); box-shadow:0 1px 4px #00000012; }
:is(body,#scanner-panel-theme) .member-main-tab { padding:8px 14px; }
:is(body,#scanner-panel-theme) .member-main-tab.active { color:var(--panel); background:var(--ink); border-color:transparent; box-shadow:none; border-radius:24px; }
:is(body,#scanner-panel-theme) .member-font-controls { color:var(--muted); }
:is(body,#scanner-panel-theme) .chart-intervals button.active,:is(body,#scanner-panel-theme) .member-chart-range-controls button.active { color:var(--blue); background:var(--accent-soft); border-color:var(--blue); }
:is(body,#scanner-panel-theme) .candidate,:is(body,#scanner-panel-theme) .member-candidate-card,:is(body,#scanner-panel-theme) .sector-representative { background:var(--panel); border-color:var(--line); border-radius:10px; }
:is(body,#scanner-panel-theme) .candidate:hover,:is(body,#scanner-panel-theme) .candidate.selected { background:var(--accent-soft); }
:is(body,#scanner-panel-theme) .candidate.selected { box-shadow:inset 2px 0 var(--blue); }
:is(body,#scanner-panel-theme) .member-candidate-card.selected { border-color:var(--blue); box-shadow:0 0 0 1px var(--blue); }
:is(body,#scanner-panel-theme) .candidate-rank,:is(body,#scanner-panel-theme) .market-news-rank,:is(body,#scanner-panel-theme) .demo-candidate .candidate-rank { background:var(--soft); color:var(--muted); }
:is(body,#scanner-panel-theme) .member-select-label,:is(body,#scanner-panel-theme) .market-news-link,:is(body,#scanner-panel-theme) .text-button,:is(body,#scanner-panel-theme) .detail-source-link,:is(body,#scanner-panel-theme) .sector-summary-foot a,:is(body,#scanner-panel-theme) .stock-score b,:is(body,#scanner-panel-theme) .department-summary strong { color:var(--blue); }
:is(body,#scanner-panel-theme) .member-stock-name-line strong,:is(body,#scanner-panel-theme) .sector-representative strong,:is(body,#scanner-panel-theme) .sector-candidate .member-stock-name-line strong,:is(body,#scanner-panel-theme) .account-row-identity strong { color:var(--ink); }
:is(body,#scanner-panel-theme) .member-data-notice,:is(body,#scanner-panel-theme) .connection-banner,:is(body,#scanner-panel-theme) .sector-risk-summary { background:var(--accent-soft); border-color:var(--line); color:var(--ink); border-radius:10px; }
:is(body,#scanner-panel-theme) .member-data-notice span,:is(body,#scanner-panel-theme) .connection-banner span,:is(body,#scanner-panel-theme) .sector-summary-copy,:is(body,#scanner-panel-theme) .sector-summary-heading span,:is(body,#scanner-panel-theme) .sector-summary-foot,:is(body,#scanner-panel-theme) .sector-representative small { color:var(--muted); }
:is(body,#scanner-panel-theme) .sector-summary-heading strong,:is(body,#scanner-panel-theme) .sector-representative b { color:var(--blue); }
:is(body,#scanner-panel-theme) .sector-summary-foot { border-color:var(--line); }
:is(body,#scanner-panel-theme) .member-demo-chip,:is(body,#scanner-panel-theme) .tag-demo,:is(body,#scanner-panel-theme) .tag-blue { background:var(--accent-soft); color:var(--blue); }
:is(body,#scanner-panel-theme) .member-demo-chip i,:is(body,#scanner-panel-theme) .demo-dot { background:var(--blue); box-shadow:none; }
:is(body,#scanner-panel-theme) .demo-ribbon { background:var(--soft); color:var(--muted); }
:is(body,#scanner-panel-theme) .tag-orange { color:var(--orange); background:var(--soft); }
:is(body,#scanner-panel-theme) table { font-variant-numeric:tabular-nums; }
:is(body,#scanner-panel-theme) th { background:var(--soft); color:var(--muted); border-color:var(--line); }
:is(body,#scanner-panel-theme) td { color:var(--ink); border-color:var(--line); }
:is(body,#scanner-panel-theme) t:is(body,#scanner-panel-theme) tr:hover { background:var(--soft); }
:is(body,#scanner-panel-theme) .member-plan-cell,:is(body,#scanner-panel-theme) .member-risk-plan .member-plan-cell { background:var(--soft); border-color:var(--line); }
:is(body,#scanner-panel-theme) .auth-gate { background:var(--bg); overflow-y:auto; padding:24px; }
:is(body,#scanner-panel-theme) .auth-card { width:min(430px,100%); padding:36px; border:1px solid var(--line); border-radius:20px; background:var(--panel); color:var(--ink); box-shadow:none; }
:is(body,#scanner-panel-theme) .auth-brand-name { display:flex; align-items:center; gap:12px; margin-bottom:30px; color:var(--ink); font-size:19px; letter-spacing:-.04em; font-weight:800; }
:is(body,#scanner-panel-theme) .auth-card h1 { color:var(--ink); font-size:25px; }
:is(body,#scanner-panel-theme) .auth-card p,:is(body,#scanner-panel-theme) .auth-card form label { color:var(--muted); font-size:14px; }
:is(body,#scanner-panel-theme) .auth-card input { min-height:48px; font-size:16px; }
:is(body,#scanner-panel-theme) .auth-card .auth-submit { min-height:48px; margin-top:16px; border-color:#3182f6; background:#3182f6; color:white; font-size:16px; }
:is(body,#scanner-panel-theme) .auth-card .auth-submit:hover { background:#125bc6; border-color:#125bc6; color:white; }
:is(body,#scanner-panel-theme) .auth-password-toggle { min-height:48px; }
:is(body,#scanner-panel-theme) .auth-local-note { color:var(--muted); border-color:var(--line); font-size:12px!important; }
:is(body,#scanner-panel-theme) .auth-notice { background:var(--soft); border-color:var(--red); color:var(--red); }
:is(body,#scanner-panel-theme) button:disabled { cursor:not-allowed; opacity:.45; }
@media(min-width:1100px) {
  :is(body,#scanner-panel-theme) .member-shell[data-member-page="live"] .member-board-grid { grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); grid-template-areas:"member-recommendations member-chart-panel"; }
}
@media(max-width:1099px) {
  :is(body,#scanner-panel-theme) .member-shell[data-member-page="live"] .member-board-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:none; }
  :is(body,#scanner-panel-theme) .member-topbar-right { width:100%; justify-content:flex-start; }
}
@media(max-width:700px) {
  :is(body,#scanner-panel-theme) .app-shell,:is(body,#scanner-panel-theme) .member-topbar,:is(body,#scanner-panel-theme) .member-content { width:calc(100% - 16px); max-width:100%; }
  :is(body,#scanner-panel-theme) .sidebar { padding:10px 0 8px; }
  :is(body,#scanner-panel-theme) .sidebar>.brand { padding:0 0 10px; margin:0; font-size:18px; }
  :is(body,#scanner-panel-theme) .side-nav { flex-wrap:nowrap; overflow-x:auto; }
  :is(body,#scanner-panel-theme) .nav-item { min-height:44px; flex:none; }
  :is(body,#scanner-panel-theme) .member-topbar { padding:10px 0; }
  :is(body,#scanner-panel-theme) .member-content,:is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-content { padding:12px 0 24px; }
  :is(body,#scanner-panel-theme) .member-main-nav { width:100%; overflow-x:auto; }
  :is(body,#scanner-panel-theme) .member-main-tab,:is(body,#scanner-panel-theme) .member-tab,:is(body,#scanner-panel-theme) .button,:is(body,#scanner-panel-theme) .theme-toggle,:is(body,#scanner-panel-theme) .member-font-controls button,:is(body,#scanner-panel-theme) .chart-intervals button,:is(body,#scanner-panel-theme) .member-chart-range-controls button { min-height:44px; }
  :is(body,#scanner-panel-theme) .member-font-controls { flex-wrap:wrap; }
  :is(body,#scanner-panel-theme) .member-topbar-right { gap:6px; }
  :is(body,#scanner-panel-theme) .panel { padding:10px; }
  :is(body,#scanner-panel-theme) .view { padding:14px 0 24px; }
  :is(body,#scanner-panel-theme) input:not([type="checkbox"]):not([type="radio"]),:is(body,#scanner-panel-theme) select,:is(body,#scanner-panel-theme) textarea { font-size:16px; }
  :is(body,#scanner-panel-theme) .auth-card { padding:28px 22px; }
  :is(body,#scanner-panel-theme) .auth-gate { padding:16px; }
  :is(body,#scanner-panel-theme) .auth-brand-name { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Standard web proportions: 100% baseline, compact data and readable captions. */
:is(body,#scanner-panel-theme) { font-size:14px; }
:is(body,#scanner-panel-theme) .app-shell,
:is(body,#scanner-panel-theme) .member-topbar,
:is(body,#scanner-panel-theme) .member-content { max-width:1600px; }
:is(body,#scanner-panel-theme) .member-heading p,
:is(body,#scanner-panel-theme) .page-heading p,
:is(body,#scanner-panel-theme) .member-panel-heading>div>p,
:is(body,#scanner-panel-theme) .member-data-notice strong,
:is(body,#scanner-panel-theme) .member-analysis-item,
:is(body,#scanner-panel-theme) .member-plan-cell strong,
:is(body,#scanner-panel-theme) .member-stock-name-line strong,
:is(body,#scanner-panel-theme) .member-account strong { font-size:16px; }
:is(body,#scanner-panel-theme) .member-data-notice span,
:is(body,#scanner-panel-theme) .member-stock-name-line small,
:is(body,#scanner-panel-theme) .member-stock-title>small,
:is(body,#scanner-panel-theme) .member-select-label,
:is(body,#scanner-panel-theme) .member-account small,
:is(body,#scanner-panel-theme) .member-plan-cell span,
:is(body,#scanner-panel-theme) .chart-indicator-legend,
:is(body,#scanner-panel-theme) .member-chart-foot,
:is(body,#scanner-panel-theme) .member-demo-chip,
:is(body,#scanner-panel-theme) .tag,
:is(body,#scanner-panel-theme) .member-footer { font-size:14px; }
:is(body,#scanner-panel-theme) th { font-size:14px; }
:is(body,#scanner-panel-theme) td { font-size:16px; }
:is(body,#scanner-panel-theme) .member-font-controls button { font-size:12px; }
@media(min-width:701px) {
  :is(body,#scanner-panel-theme) .auth-card { padding:28px; }
  :is(body,#scanner-panel-theme) .auth-card h1 { font-size:22px; }
  :is(body,#scanner-panel-theme) .auth-brand-name { font-size:17px; margin-bottom:24px; }
  :is(body,#scanner-panel-theme) .auth-card input,
  :is(body,#scanner-panel-theme) .auth-card .auth-submit,
  :is(body,#scanner-panel-theme) .auth-password-toggle { min-height:42px; font-size:14px; }
}

/* Appearance controls stay visible in the login and both app headers. */
:is(body,#scanner-panel-theme) .appearance-switch { display:inline-flex; flex:none; align-items:center; gap:2px; padding:3px; border:1px solid var(--line); border-radius:9px; background:var(--soft); }
:is(body,#scanner-panel-theme) .appearance-switch button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:30px; padding:5px 9px; border:0; border-radius:6px; background:transparent; color:var(--muted); font:600 12px var(--font); cursor:pointer; white-space:nowrap; }
:is(body,#scanner-panel-theme) .appearance-switch button.active { background:var(--panel); color:var(--ink); box-shadow:0 1px 3px #00000012; }
:is(body,#scanner-panel-theme) .auth-appearance { display:flex; justify-content:flex-end; margin-bottom:20px; }
:is(body,#scanner-panel-theme) .member-main-tab.active { color:var(--blue); background:var(--accent-soft); border-radius:8px; }
:is(body,#scanner-panel-theme) .panel { border-color:var(--line); }
:is(body,#scanner-panel-theme) .member-plan-cell.risk { color:var(--red); }
@media(max-width:700px) { :is(body,#scanner-panel-theme) .appearance-switch button { min-height:40px; padding:7px 10px; } }

/* Desktop navigation uses a fixed-width left rail; phones retain scrollable tabs. */
@media(min-width:701px) {
  :is(body,#scanner-panel-theme) .app-shell { display:flex; width:100%; max-width:none; margin:0; align-items:flex-start; }
  :is(body,#scanner-panel-theme) .sidebar { position:sticky; top:0; width:216px; flex:0 0 216px; height:100dvh; overflow-y:auto; padding:22px 12px; background:var(--panel); border:0; border-right:1px solid var(--line); }
  :is(body,#scanner-panel-theme) .admin-brand { align-items:flex-start; gap:9px; padding:0 6px; margin-bottom:24px; font-size:17px; line-height:1.35; }
  :is(body,#scanner-panel-theme) .admin-brand::before { width:32px; height:32px; border-radius:9px; }
  :is(body,#scanner-panel-theme) .side-nav { display:grid; gap:5px; padding:0; background:transparent; }
  :is(body,#scanner-panel-theme) .nav-item { width:100%; min-height:40px; padding:9px 12px; text-align:left; }
  :is(body,#scanner-panel-theme) .nav-item.active { color:var(--blue); background:var(--accent-soft); box-shadow:none; }
  :is(body,#scanner-panel-theme) .nav-item:hover { background:var(--soft); }
  :is(body,#scanner-panel-theme) .main-content { flex:1; min-width:0; padding:0 22px; }
  :is(body,#scanner-panel-theme) .main-content>.topbar { max-width:1600px; margin-inline:auto; }
  :is(body,#scanner-panel-theme) .main-content>.view { max-width:1600px; margin-inline:auto; }
  :is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-topbar,
  :is(body,#scanner-panel-theme).dashboard-member-board #overview-member-host .member-content { max-width:1600px; }
}
@media(min-width:701px) and (max-width:1000px) {
  :is(body,#scanner-panel-theme) .sidebar { width:184px; flex-basis:184px; padding:18px 10px; }
  :is(body,#scanner-panel-theme) .main-content { padding:0 14px; }
}

/* Icon-only appearance buttons retain their accessible names. */
:is(body,#scanner-panel-theme) .appearance-switch button { width:32px; min-width:32px; padding:5px; }
:is(body,#scanner-panel-theme) .appearance-switch button span { font-size:17px!important; line-height:1; }
@media(max-width:700px) { :is(body,#scanner-panel-theme) .appearance-switch button { width:40px; min-width:40px; } }
