@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{color-scheme:light;--bg: #f4f1ea;--bg-accent: #e7ddcf;--surface: rgba(255, 251, 245, .84);--surface-strong: #fffaf2;--line: rgba(24, 27, 24, .12);--line-strong: rgba(24, 27, 24, .22);--text: #161917;--text-muted: rgba(22, 25, 23, .68);--brand: #174c3c;--brand-soft: rgba(23, 76, 60, .1);--danger: #a22727;--shadow: 0 28px 80px rgba(43, 31, 14, .12)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:IBM Plex Sans KR,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(23,76,60,.12),transparent 32%),radial-gradient(circle at bottom right,rgba(202,125,45,.12),transparent 28%),linear-gradient(180deg,#f7f4ef 0%,var(--bg) 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 90%);mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 90%)}button,input{font:inherit}#app{position:relative;z-index:1}.eyebrow,.section-kicker,.settlement-type{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em}.auth-shell,.dashboard-shell{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.auth-panel{min-height:calc(100svh - 64px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,420px);gap:24px;align-items:stretch}.auth-copy,.auth-form,.summary-strip,.data-section,.settlement-row{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.auth-copy{padding:clamp(28px,4vw,52px);border-radius:28px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(140deg,#fffbf5b3,#fffbf573),linear-gradient(135deg,#174c3c29,#ca7d2d1a)}.auth-chip{width:fit-content;margin:14px 0 0;padding:7px 12px;border-radius:999px;background:#174c3c1a;color:var(--brand);font-size:.86rem;font-weight:700}.auth-copy h1{margin:16px 0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.04em}.auth-description,.dashboard-subtitle,.section-caption,.form-message,.empty-state p{margin:0;color:var(--text-muted);line-height:1.6}.auth-points{margin:28px 0 0;padding:0;display:grid;gap:10px;list-style:none}.auth-points li{position:relative;padding-left:18px;color:var(--text);font-weight:500}.auth-points li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--brand)}.auth-form{border-radius:28px;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:#fffbf5eb}.auth-form-header h2,.section-heading h2,.empty-state h3{margin:6px 0 0;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1}.field{display:grid;gap:10px}.field span{font-size:.92rem;font-weight:600}.field input{width:100%;border:1px solid transparent;border-radius:16px;padding:15px 16px;background:#fffc;color:var(--text);outline:none;transition:border-color .14s ease,transform .14s ease,background-color .14s ease}.field input:focus{border-color:#174c3c73;background:#fff;transform:translateY(-1px)}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:999px;padding:14px 20px;cursor:pointer;transition:transform .14s ease,opacity .14s ease,background-color .14s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.6;transform:none}.primary-button{background:var(--brand);color:#f7f4ef;font-weight:700}.secondary-button{background:var(--text);color:#fff}.ghost-button{background:transparent;color:var(--text);border:1px solid var(--line-strong)}.form-message,.page-message{padding:14px 16px;border-radius:16px;background:#174c3c0f}.form-message-error,.page-message-error{color:var(--danger);background:#a2272714}.dashboard-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.dashboard-header h1{margin:10px 0;font-size:clamp(2.3rem,4vw,4.4rem);line-height:.95;letter-spacing:-.06em;font-family:Space Grotesk,IBM Plex Sans KR,sans-serif}.dashboard-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;min-width:min(360px,100%)}.month-switcher{display:flex;align-items:center;gap:10px}.month-switcher-label{min-width:160px;padding:10px 14px;border-radius:18px;background:#ffffff8f;border:1px solid var(--line);text-align:center}.month-switcher-label strong{display:block;font-size:1rem}.month-switcher-note{margin:-4px 0 0;color:var(--text-muted);font-size:.8rem;text-align:right}.month-nav-button{min-width:auto;padding:8px 10px;font-size:1rem;font-weight:700;border-radius:10px;border-color:transparent;background:transparent;color:var(--text-muted)}.month-nav-button:hover:not(:disabled){background:#174c3c14;color:var(--text)}.month-nav-button:disabled{background:transparent;color:#1619174d}.month-nav-spacer{display:inline-block;width:32px;height:1px}.month-switcher-note{display:block}.dashboard-account{margin:0;padding:10px 14px;border-radius:999px;background:#174c3c14;color:var(--brand);font-size:.9rem;font-weight:600}.month-switcher-note{color:var(--text-muted)}.dashboard-buttons{display:flex;gap:12px;justify-content:flex-end}.data-section{margin-top:28px;border-radius:24px;padding:24px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.table-wrap{margin-top:22px;overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:#ffffff8f}.settlement-table{width:100%;min-width:920px;border-collapse:collapse}.settlement-table thead th{position:sticky;top:0;z-index:1;padding:16px 18px;text-align:left;font-size:.88rem;font-weight:700;color:var(--text-muted);background:#f7f2ea;border-bottom:1px solid var(--line);white-space:nowrap}.settlement-table tbody td{padding:18px;border-bottom:1px solid rgba(24,27,24,.08);vertical-align:middle;white-space:nowrap}.settlement-table tbody tr:last-child td{border-bottom:none}.settlement-table-row-featured td{background:#174c3c0f}.settlement-name-cell strong{display:block;font-size:1rem}.student-count-cell{display:inline-flex;align-items:center;gap:6px}.student-trend{font-size:.9rem;font-weight:700;line-height:1}.student-trend-up{color:#177245}.student-trend-down{color:#b1452f}.student-trend-same{color:#16191766}.settlement-table td strong{display:block;font-size:1rem}.settlement-table td small{display:block;margin-top:4px;color:var(--text-muted);font-size:.82rem}.settlement-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:7px 10px;border-radius:999px;background:#174c3c1a;color:var(--brand);font-size:.82rem;font-weight:700}.empty-state{margin-top:18px;padding:36px 20px;border-radius:20px;background:#ffffff7a;text-align:center}@media (max-width: 1080px){.auth-panel,.dashboard-header,.section-heading,.settlement-main{grid-template-columns:1fr;display:grid}.dashboard-buttons{justify-content:flex-start}.dashboard-actions{align-items:flex-start}.month-switcher{width:100%}.month-switcher-note{text-align:left}}@media (max-width: 720px){.auth-shell,.dashboard-shell{width:min(100% - 20px,100%);padding:12px 0 28px}.auth-panel{min-height:auto;gap:16px}.auth-copy{padding:24px 20px;min-height:0}.auth-copy h1{font-size:2.1rem}.auth-description{font-size:.95rem}.auth-points{margin-top:20px;gap:8px}.auth-copy,.auth-form,.data-section,.table-wrap{border-radius:22px}.dashboard-buttons{flex-direction:column;width:100%}.primary-button,.secondary-button,.ghost-button{width:100%}.dashboard-account{width:100%;text-align:center}.month-switcher{flex-direction:column;align-items:stretch}.month-switcher-label,.month-nav-button{width:100%}.table-wrap{margin-top:18px}.settlement-table thead th,.settlement-table tbody td{padding:14px 12px}}
