/* Shared typography and color tokens. Keep this file before page-level CSS. */
@font-face{
  font-family:"Pretendard Variable";
  src:url("assets/fonts/PretendardVariable.woff2") format("woff2-variations");
  font-weight:45 920;
  font-style:normal;
  font-display:swap;
}

:root{
  color-scheme:light;
  --font-sans:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --header-height:64px;
  --sidebar-width:264px;
  --content-max:1240px;
  --content-gutter:32px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --calc-space-1:4px;
  --calc-space-2:6px;
  --calc-space-3:8px;
  --calc-space-4:12px;
  --calc-space-5:14px;
  --calc-space-6:16px;
  --calc-space-7:20px;
  --calc-space-8:24px;
  --calc-control-height:48px;
  --calc-help-hit-size:28px;
  --calc-radius:10px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  /* Surface palette: neutral work canvas, white work surfaces, blue only for state. */
  --app-bg:#F6F8FC;
  --surface:#FFFFFF;
  --surface-subtle:#F3F6FA;
  --surface-selected:#EAF2FF;
  --surface-info:#EEF4FB;
  --line:#D8E2EE;
  --line-strong:#C2D0E0;
  --text:#172033;
  --text-muted:#5D6B82;
  --text-faint:#7D8BA0;
  --primary:#1769E0;
  --primary-hover:#125FCF;
  --primary-soft:#EAF2FF;
  --success:#087A4A;
  --success-soft:#E9F7EF;
  --warning:#A56600;
  --warning-soft:#FFF6DF;
  --danger:#C8333A;
  --danger-soft:#FFF0F1;
  --bg-canvas:#F6F8FC;
  --bg-shell:#FFFFFF;
  --bg-surface:#FFFFFF;
  --bg-subtle:#F3F6FA;
  --bg-elevated:#F3F6FA;
  --input-bg:#FFFFFF;
  --input-addon-bg:#F3F6FA;
  --bg-selected:#EAF2FF;
  --border-subtle:#D8E2EE;
  --border-strong:#C2D0E0;
  --text-primary:#172033;
  --text-secondary:#46566F;
  --text-tertiary:var(--text-muted);
  --text-inverse:#FFFFFF;
  --accent-link:var(--primary);
  --accent-link-hover:var(--primary-hover);
  --accent-subtle:var(--primary-soft);
  --action-primary-bg:var(--primary);
  --action-primary-hover:var(--primary-hover);
  --action-primary-fg:#FFFFFF;
  --category-sales:#1769E0;
  --category-ads:#087A6B;
  /* Calculator input groups: meaning is conveyed by a labeled section and accent together. */
  --calculator-revenue-accent:#1769E0;
  --calculator-revenue-surface:#EEF4FF;
  --calculator-purchase-accent:#B85B00;
  --calculator-purchase-surface:#FFF4E6;
  --calculator-operations-accent:#7653C8;
  --calculator-operations-surface:#F4F0FF;
  --calculator-fees-accent:#52677D;
  --calculator-fees-surface:#F1F4F7;
  --success-subtle:var(--success-soft);
  --danger-subtle:var(--danger-soft);
  --danger-action-bg:#B42318;
  --danger-action-hover:#8E1C13;
  --danger-action-fg:#FFFFFF;
  --warning-subtle:var(--warning-soft);
  --notice-urgent-bg:#FFF1F0;
  --notice-urgent-ink:#B42318;
  --notice-urgent-border:#FECACA;
  --notice-important-bg:#FFF5DD;
  --notice-important-ink:#8A5600;
  --notice-important-border:#F6D38A;
  --notice-reference-bg:#EEF3F9;
  --notice-reference-ink:#46566F;
  --notice-reference-border:#D8E2EE;
  --notice-neutral-line:#94A3B8;
  --notice-important-line:#C47A00;
  --notice-urgent-line:#D92D20;
  --focus-ring:#1769E0;
  --shadow-soft:0 6px 20px rgb(23 32 51 / 6%);
  --workspace-outside:#EEF1F5;
  --workspace-main:#F6F8FC;
  --workspace-sidebar:#FFFFFF;
  --workspace-card:#FFFFFF;
  --workspace-active-bg:#EEF2FF;
  --workspace-active-fg:#3B82F6;
  --workspace-nav-text:#4B5563;
  --workspace-nav-icon:#6B7280;
  --workspace-nav-group:#9CA3AF;
  --nav-row-height:36px;
  --nav-font-size:14.5px;
  --nav-line-height:21px;
  --nav-icon-size:18px;
  --nav-group-size:12px;
  --nav-group-line-height:16.5px;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --app-bg:#141B26;
  --surface:#202A38;
  --surface-subtle:#273345;
  --surface-selected:#29446F;
  --surface-info:#22354F;
  --line:#36465C;
  --line-strong:#4A5C74;
  --text:#F1F5FB;
  --text-muted:#A7B4C7;
  --text-faint:#8391A5;
  --primary:#78A6FF;
  --primary-hover:#96BCFF;
  --primary-soft:#263D63;
  --success:#63D6A1;
  --success-soft:#163E32;
  --warning:#F4C46C;
  --warning-soft:#493718;
  --danger:#FF9099;
  --danger-soft:#4B2931;
  --bg-canvas:#111722;
  --bg-shell:#18202C;
  --bg-surface:#202A38;
  --bg-subtle:#273345;
  --bg-elevated:#2E3B4E;
  --input-bg:#182231;
  --input-addon-bg:#222D3D;
  --bg-selected:#29446F;
  --border-subtle:#36465C;
  --border-strong:#4A5C74;
  --text-primary:#F1F5FB;
  --text-secondary:#CDD6E4;
  --text-tertiary:#A7B4C7;
  --text-inverse:#FFFFFF;
  --accent-link:var(--primary);
  --accent-link-hover:var(--primary-hover);
  --accent-subtle:var(--primary-soft);
  --action-primary-bg:var(--primary);
  --action-primary-hover:var(--primary-hover);
  --action-primary-fg:#FFFFFF;
  --category-sales:var(--primary);
  --category-ads:#6DDECC;
  --calculator-revenue-accent:#78A6FF;
  --calculator-revenue-surface:#1E2E4A;
  --calculator-purchase-accent:#E9A45F;
  --calculator-purchase-surface:#382D22;
  --calculator-operations-accent:#B9A2FF;
  --calculator-operations-surface:#2E2942;
  --calculator-fees-accent:#B7C3D3;
  --calculator-fees-surface:#27313F;
  --success-subtle:var(--success-soft);
  --danger-subtle:var(--danger-soft);
  --danger-action-bg:#B42318;
  --danger-action-hover:#8E1C13;
  --danger-action-fg:#FFFFFF;
  --warning-subtle:var(--warning-soft);
  --notice-urgent-bg:#4A2027;
  --notice-urgent-ink:#FFB4AE;
  --notice-urgent-border:#7A333D;
  --notice-important-bg:#48330D;
  --notice-important-ink:#FFD28A;
  --notice-important-border:#775B24;
  --notice-reference-bg:#273345;
  --notice-reference-ink:#CDD6E4;
  --notice-reference-border:#4A5C74;
  --notice-neutral-line:#8391A5;
  --notice-important-line:#D69B35;
  --notice-urgent-line:#FF7A70;
  --focus-ring:#78A6FF;
  --shadow-soft:0 12px 32px rgb(4 9 18 / 28%);
  --workspace-outside:#0D131C;
  --workspace-main:#141C28;
  --workspace-sidebar:#18212E;
  --workspace-card:#202A38;
  --workspace-active-bg:#29446F;
  --workspace-active-fg:#8DB3FF;
  --workspace-nav-text:#CDD6E4;
  --workspace-nav-icon:#A7B4C7;
  --workspace-nav-group:#8391A5;
}

@media(prefers-color-scheme:dark){
  html:not([data-theme]){
    color-scheme:dark;
    --app-bg:#141B26;--surface:#202A38;--surface-subtle:#273345;--surface-selected:#29446F;--surface-info:#22354F;
    --line:#36465C;--line-strong:#4A5C74;--text:#F1F5FB;--text-muted:#A7B4C7;--text-faint:#8391A5;
    --primary:#78A6FF;--primary-hover:#96BCFF;--primary-soft:#263D63;--success:#63D6A1;--success-soft:#163E32;--warning:#F4C46C;--warning-soft:#493718;--danger:#FF9099;--danger-soft:#4B2931;
    --bg-canvas:#111722;--bg-shell:#18202C;--bg-surface:#202A38;--bg-subtle:#273345;--bg-elevated:#2E3B4E;--input-bg:#182231;--input-addon-bg:#222D3D;--bg-selected:#29446F;
    --border-subtle:#36465C;--border-strong:#4A5C74;--text-primary:#F1F5FB;--text-secondary:#CDD6E4;--text-tertiary:#A7B4C7;--text-inverse:#FFFFFF;
    --accent-link:#78A6FF;--accent-link-hover:#96BCFF;--accent-subtle:#263D63;--action-primary-bg:#78A6FF;--action-primary-hover:#96BCFF;--action-primary-fg:#FFFFFF;
    --category-sales:#78A6FF;--category-ads:#6DDECC;--calculator-revenue-accent:#78A6FF;--calculator-revenue-surface:#1E2E4A;--calculator-purchase-accent:#E9A45F;--calculator-purchase-surface:#382D22;--calculator-operations-accent:#B9A2FF;--calculator-operations-surface:#2E2942;--calculator-fees-accent:#B7C3D3;--calculator-fees-surface:#27313F;
    --success-subtle:#163E32;--danger-subtle:#4B2931;--danger-action-bg:#B42318;--danger-action-hover:#8E1C13;--danger-action-fg:#FFFFFF;--warning-subtle:#493718;--notice-urgent-bg:#4A2027;--notice-urgent-ink:#FFB4AE;--notice-urgent-border:#7A333D;--notice-important-bg:#48330D;--notice-important-ink:#FFD28A;--notice-important-border:#775B24;--notice-reference-bg:#273345;--notice-reference-ink:#CDD6E4;--notice-reference-border:#4A5C74;--notice-neutral-line:#8391A5;--notice-important-line:#D69B35;--notice-urgent-line:#FF7A70;--focus-ring:#78A6FF;--shadow-soft:0 12px 32px rgb(4 9 18 / 28%);
    --workspace-outside:#0D131C;--workspace-main:#141C28;--workspace-sidebar:#18212E;--workspace-card:#202A38;--workspace-active-bg:#29446F;--workspace-active-fg:#8DB3FF;--workspace-nav-text:#CDD6E4;--workspace-nav-icon:#A7B4C7;--workspace-nav-group:#8391A5;
  }
}

*,*::before,*::after{box-sizing:border-box}
html,body,button,input,select,textarea,table{font-family:var(--font-sans)}
html{font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-size:16px;line-height:1.65}
button,input,select,textarea{font-size:inherit}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* Small public utility pages inherit the same readable surface treatment. */
body.info-page{background:var(--bg-canvas);color:var(--text-primary)}
body.info-page .info-header,body.info-page .info-footer,body.info-page .info-card{background:var(--bg-surface);border-color:var(--border-subtle)}
body.info-page .info-header{padding:var(--space-4) max(var(--space-5),calc((100vw - 1040px)/2))}body.info-page .info-brand{color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:-.02em}body.info-page .info-brand span,body.info-page .info-eyebrow{color:var(--accent-link);font-weight:600}body.info-page .info-back{color:var(--accent-link);font-size:14px;font-weight:600}body.info-page .info-main{max-width:900px;padding:var(--space-12) var(--space-5) var(--space-16)}body.info-page .info-card{padding:var(--space-10);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}body.info-page .info-card h1{font-size:40px;line-height:1.28;letter-spacing:-.025em}body.info-page .info-lead,body.info-page .info-section p,body.info-page .info-section li{color:var(--text-secondary);font-size:16px;line-height:1.65}body.info-page .info-section{border-top-color:var(--border-subtle);margin-top:var(--space-8);padding-top:var(--space-6)}body.info-page .info-section h2{font-size:22px;line-height:1.4;letter-spacing:-.02em}body.info-page .info-section h3{font-size:16px}body.info-page .info-contact{border-color:var(--border-subtle);border-radius:var(--radius-md);background:var(--accent-subtle)}body.info-page .info-contact a{min-height:44px;border-radius:var(--radius-sm);background:var(--action-primary-bg);font-weight:600}body.info-page .info-warning{border-color:color-mix(in srgb,var(--warning) 35%,var(--border-subtle));border-radius:var(--radius-sm);background:var(--warning-subtle);color:var(--warning)}body.info-page .info-date,body.info-page .info-footer{color:var(--text-tertiary);font-size:13px}
body.admin-page{padding:var(--space-8) var(--space-5);background:var(--bg-canvas);color:var(--text-primary)}body.admin-page .admin-shell{max-width:1020px}body.admin-page .admin-header{border-bottom-color:var(--border-subtle);padding-bottom:var(--space-5)}body.admin-page .admin-header p{color:var(--accent-link);font-weight:600}body.admin-page .admin-header h1{font-size:32px;line-height:1.28;letter-spacing:-.025em}body.admin-page .admin-header a,body.admin-page .request-actions button{border-color:var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:600}body.admin-page .admin-intro h2{font-size:22px;line-height:1.4}body.admin-page .admin-intro p,body.admin-page .admin-status,body.admin-page .request-meta,body.admin-page .request-account{color:var(--text-secondary);font-size:14px;line-height:1.6}body.admin-page .admin-tabs{border-bottom-color:var(--border-subtle)}body.admin-page .admin-tabs button{color:var(--text-secondary);font-weight:600}body.admin-page .admin-tabs button.active{border-color:var(--accent-link);color:var(--accent-link)}body.admin-page .request-card,body.admin-page .empty-state{border-color:var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:none}body.admin-page .request-card{padding:var(--space-5)}body.admin-page .request-card h3{font-size:18px;line-height:1.4}body.admin-page .request-code{border-color:var(--border-subtle);background:var(--accent-subtle);color:var(--accent-link)}body.admin-page .request-actions .approve{background:var(--action-primary-bg);border-color:var(--action-primary-bg);color:var(--action-primary-fg)}body.admin-page .admin-tools label{color:var(--text-primary);font-weight:600}body.admin-page .admin-tools input{border-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary)}
@media(max-width:600px){body.info-page .info-main{padding:var(--space-8) var(--space-4) var(--space-12)}body.info-page .info-card{padding:var(--space-6) var(--space-5)}body.info-page .info-card h1{font-size:32px}body.info-page .info-section p,body.info-page .info-section li{font-size:16px}body.admin-page{padding:var(--space-6) var(--space-4)}body.admin-page .admin-header h1{font-size:28px}}
