:root{--sm-color-bg-page:#f4f6f9;--sm-color-surface:#fff;--sm-color-text-primary:#162030;--sm-color-text-secondary:#617084;--sm-color-text-tertiary:#657283;--sm-color-border-subtle:#dce3eb;--sm-color-border-control:#7f8d9d;--sm-color-accent:#2d6654;--sm-color-accent-soft:#e8f3ee;--sm-color-danger:#a63c3c;--sm-color-danger-soft:#fff1f1;--sm-color-focus:#1769aa;--sm-color-placeholder:#657283;--sm-color-disabled-bg:#e7ebf0;--sm-color-disabled-text:#5b6878;--sm-color-disabled-border:#7f8d9d;--sm-font-family-base:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Noto Sans KR",sans-serif;--sm-font-weight-body:400;--sm-font-weight-label:550;--sm-font-weight-card:650;--sm-font-weight-strong:700;--sm-space-1:4px;--sm-space-2:8px;--sm-space-3:12px;--sm-space-4:14px;--sm-space-5:16px;--sm-space-6:18px;--sm-space-7:20px;--sm-space-8:24px;--sm-radius-compact:9px;--sm-radius-control:10px;--sm-radius-summary:12px;--sm-radius-panel:14px;--sm-radius-card:16px;--sm-radius-hero:18px;--sm-radius-pill:999px;--sm-control-compact:44px;--sm-control-standard:48px;--sm-control-primary:50px;--sm-container-max:680px;--sm-container-gutter:32px;--sm-shadow-elevated:0 12px 32px rgba(25,40,58,.08);--sm-shadow-flat:none;--paper:var(--sm-color-bg-page);--card:var(--sm-color-surface);--ink:var(--sm-color-text-primary);--muted:var(--sm-color-text-secondary);--subtle:var(--sm-color-text-tertiary);--line:var(--sm-color-border-subtle);--control-line:var(--sm-color-border-control);--accent:var(--sm-color-accent);--accent-soft:var(--sm-color-accent-soft);--danger:var(--sm-color-danger);--danger-soft:var(--sm-color-danger-soft);--shadow:var(--sm-shadow-elevated);--focus:var(--sm-color-focus);--font-sans:var(--sm-font-family-base)}
[data-theme="dark"]{--sm-color-bg-page:#111820;--sm-color-surface:#18222d;--sm-color-text-primary:#edf3f8;--sm-color-text-secondary:#aab7c4;--sm-color-text-tertiary:#8f9caa;--sm-color-border-subtle:#2c3a48;--sm-color-border-control:#607181;--sm-color-accent:#79c8aa;--sm-color-accent-soft:#17362d;--sm-color-danger:#ff9f9f;--sm-color-danger-soft:#3c2023;--sm-color-focus:#5da8e8;--sm-color-placeholder:#9aa8b6;--sm-color-disabled-bg:#27323d;--sm-color-disabled-text:#a9b5c1;--sm-color-disabled-border:#607181;--sm-shadow-elevated:0 14px 36px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{background:var(--paper);color-scheme:light}html[data-theme="dark"]{color-scheme:dark}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.55}button,input{font:inherit}button{font-weight:650}.wrap{width:min(100% - 32px,680px);margin:0 auto;padding:20px 0 52px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:44px}.brand{color:var(--ink);font-weight:700;text-decoration:none}.theme-control{position:relative}.theme-toggle{min-height:44px;padding:0 14px;border:1px solid var(--control-line);border-radius:999px;background:var(--card);color:var(--ink);font-weight:700;cursor:pointer}.theme-menu{position:absolute;right:0;top:50px;z-index:3;min-width:128px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.theme-menu[hidden]{display:none}.theme-option{display:block;width:100%;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;cursor:pointer}.theme-option:hover{background:var(--accent-soft)}.intro{padding:42px 0 24px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:13px;font-weight:550}.intro h1{margin:0;font:700 clamp(32px,10vw,48px)/1.2 var(--font-sans);letter-spacing:-.04em}.intro-copy{margin:14px 0 0;color:var(--muted);font-size:16px;word-break:keep-all}.principles{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.principles li{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:12.5px;font-weight:550}.notice{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--accent);font-size:13px}.notice[hidden]{display:none}.notice.is-warning{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.dashboard[hidden]{display:none}.hero{padding:28px 20px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:18px;background:var(--accent-soft);text-align:center;box-shadow:var(--shadow)}.hero-label{margin:0;color:var(--muted);font-size:13px;font-weight:550}.hero-amount{margin:5px 0 0;color:var(--accent);font-size:clamp(36px,12vw,54px);font-weight:700;line-height:1.2;letter-spacing:-.045em;overflow-wrap:anywhere}.hero-dday{margin:9px 0 0;color:var(--ink);font-weight:700}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.hero-grid div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.hero-grid span{display:block;color:var(--muted);font-size:12px}.hero-grid strong{display:block;margin-top:3px;font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.living-note{margin:12px 0 0;color:var(--muted);font-size:14px;font-weight:550;line-height:1.45}.living-note strong{font-weight:700}.settings{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}.settings summary{min-height:52px;padding:15px 18px;cursor:pointer;font-weight:650}.settings-content{padding:4px 18px 20px}.setup-copy{margin:0 0 16px;color:var(--muted);font-size:13.5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.field:first-child{grid-column:1/-1}.field label{display:block;margin:0 0 6px;color:var(--muted);font-size:12.5px;font-weight:550}.input-row{display:flex;align-items:center;min-height:48px;border:1px solid var(--control-line);border-radius:10px;background:var(--paper);overflow:hidden}.input-row:focus-within{outline:2px solid var(--focus);outline-offset:2px}.input-row input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);padding:12px 4px 12px 13px;text-align:right;font-variant-numeric:tabular-nums}.input-row span{padding:0 12px 0 5px;color:var(--muted);white-space:nowrap}.error{margin:12px 0 0;color:var(--danger);font-size:13px;font-weight:550}.error[hidden]{display:none}.primary{width:100%;min-height:50px;margin-top:16px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700;cursor:pointer}.primary:hover{opacity:.92}.privacy,.next{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.privacy h2,.next h2{margin:0 0 7px;font:650 18px/1.4 var(--font-sans)}.privacy p,.next p{margin:0;color:var(--muted);font-size:13.5px;word-break:keep-all}.next ul{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:13px}footer{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);color:var(--subtle);font-size:12.5px}footer a{color:var(--muted)}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.expense-manager{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.expense-manager[hidden]{display:none}.expense-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.expense-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:550}.expense-heading h2{margin:2px 0 0;font:700 20px/1.35 var(--font-sans)}.expense-open{min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700;cursor:pointer;white-space:nowrap}.expense-panel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.expense-panel[hidden]{display:none}.expense-amount-label,.category-fieldset legend{display:block;margin:0 0 7px;color:var(--muted);font-size:12.5px;font-weight:550}.category-fieldset{min-width:0;margin:15px 0 0;padding:0;border:0}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.category-input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.category-chip{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 6px;border:1px solid var(--control-line);border-radius:10px;background:var(--card);color:var(--muted);font-size:13px;font-weight:550;cursor:pointer}.category-input:checked+.category-chip{border-color:var(--accent);background:var(--accent);color:var(--paper)}.category-input:focus-visible+.category-chip{outline:2px solid var(--focus);outline-offset:2px}.expense-submit{margin-top:14px}.primary:disabled{cursor:not-allowed;opacity:.45}.expense-undo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 10px 10px 13px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:12px;background:var(--accent-soft)}.expense-undo-banner[hidden]{display:none}.expense-undo-banner p{margin:0;color:var(--ink);font-size:13px;font-weight:550}.expense-undo-banner button{min-height:44px;padding:0 12px;border:1px solid var(--control-line);border-radius:9px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}.recent-expenses{margin-top:18px}.recent-expenses h3{margin:0 0 9px;font-size:14px;font-weight:650}.recent-expenses ul{margin:0;padding:0;list-style:none}.recent-expense-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:8px 0;border-top:1px solid var(--line)}.recent-expense-copy{min-width:0}.recent-expense-copy strong,.recent-expense-copy span{display:block}.recent-expense-copy strong{font-size:14px;font-weight:650}.recent-expense-copy span{margin-top:1px;color:var(--muted);font-size:12px}.recent-expense-actions{display:flex;align-items:center;gap:9px;min-width:0}.recent-expense-actions>strong{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.recent-expense-delete{min-width:44px;min-height:44px;padding:0 9px;border:1px solid var(--control-line);border-radius:9px;background:var(--card);color:var(--danger);font-size:12.5px;font-weight:700;cursor:pointer}.recent-empty{margin:0;padding:15px 0 2px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.allocation-manager{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.allocation-manager[hidden]{display:none}.allocation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.allocation-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:550}.allocation-heading h2{margin:2px 0 0;font:700 20px/1.35 var(--font-sans)}.allocation-income{text-align:right}.allocation-income span,.allocation-income strong{display:block}.allocation-income span{color:var(--muted);font-size:11.5px}.allocation-income strong{margin-top:1px;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.allocation-list{display:grid;gap:10px;margin-top:17px}.allocation-field{display:grid;grid-template-columns:minmax(52px,.55fr) minmax(0,1.55fr) 50px;align-items:center;gap:9px}.allocation-field label{color:var(--ink);font-size:13px;font-weight:550}.allocation-field .input-row{min-height:48px}.allocation-percent{color:var(--muted);font-size:12.5px;font-weight:550;text-align:right;font-variant-numeric:tabular-nums}.buffer-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin-top:16px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:12px;background:var(--accent-soft)}.buffer-summary div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.buffer-summary span{font-size:13px;font-weight:550}.buffer-summary strong{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.buffer-summary output{color:var(--accent);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.buffer-summary p{grid-column:1/-1;margin:3px 0 0;color:var(--muted);font-size:12.5px}.allocation-error{margin-top:12px}.allocation-submit{margin-top:14px}.profile-grid .field:first-child{grid-column:auto}
.extra-savable-card{margin-top:18px;padding:15px 18px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:var(--card)}.extra-savable-card[hidden]{display:none}.extra-savable-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.extra-savable-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:550}.extra-savable-heading h2{margin:2px 0 0;font:650 18px/1.4 var(--font-sans);word-break:keep-all}.extra-savable-amount{flex:0 0 auto;color:var(--accent);font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap}.extra-savable-helper{margin:8px 0 0;color:var(--muted);font-size:13.5px;word-break:keep-all}.extra-savable-note{margin:3px 0 0;color:var(--subtle);font-size:12.5px;word-break:keep-all}
.goal-manager{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.goal-manager[hidden],.goal-form[hidden],.goal-card[hidden],.goal-delete-confirm[hidden]{display:none}.goal-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:550}.goal-heading h2{margin:2px 0 0;font:700 20px/1.35 var(--font-sans)}.goal-empty{margin-top:16px;padding:17px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:14px;background:var(--accent-soft);text-align:center}.goal-empty[hidden]{display:none}.goal-empty p{margin:0;color:var(--muted);font-size:13.5px;word-break:keep-all}.goal-open{min-height:46px;margin-top:13px;padding:0 17px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700;cursor:pointer}.goal-form{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.goal-form-heading,.goal-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.goal-form-heading h3,.goal-card-heading h3{margin:0;font-size:17px;font-weight:650}.goal-form-cancel,.goal-card-actions button,.goal-delete-confirm button{min-height:44px;padding:0 12px;border:1px solid var(--control-line);border-radius:9px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer}.goal-field{margin-top:14px}.goal-field label{display:block;margin:0 0 6px;color:var(--muted);font-size:12.5px;font-weight:550}.goal-name-field input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--control-line);border-radius:10px;outline:0;background:var(--card);color:var(--ink)}.goal-name-field input:focus{outline:2px solid var(--focus);outline-offset:2px}.goal-amount-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.goal-helper{margin:12px 0 0;color:var(--muted);font-size:12.5px;word-break:keep-all}.goal-submit{margin-top:14px}.goal-card{margin-top:16px;padding:17px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;background:var(--accent-soft)}.goal-status{margin:0 0 2px;color:var(--accent);font-size:12px;font-weight:550}.goal-card-actions{display:flex;gap:6px}.goal-card-actions .goal-delete,.goal-delete-confirm .goal-delete-confirm-button{color:var(--danger)}.goal-balance{margin:18px 0 0;color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.goal-balance strong{color:var(--ink);font-size:24px;font-weight:650;letter-spacing:-.025em}.goal-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px}.goal-progress{height:10px;border-radius:999px;background:color-mix(in srgb,var(--line) 75%,var(--card));overflow:hidden}.goal-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent)}.goal-progress-row>strong{color:var(--accent);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.goal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 0}.goal-summary div{min-width:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.goal-summary dt{color:var(--muted);font-size:11.5px}.goal-summary dd{margin:3px 0 0;color:var(--ink);font-size:13.5px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.goal-delete-confirm{margin-top:14px;padding:13px;border:1px solid var(--danger);border-radius:11px;background:var(--danger-soft)}.goal-delete-confirm p{margin:0;color:var(--danger);font-size:12.5px;font-weight:550;word-break:keep-all}.goal-delete-confirm>div{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}
@media(min-width:768px){.allocation-manager{padding-block:16px}.allocation-list{gap:8px;margin-top:13px}.allocation-field .input-row{min-height:44px}.allocation-field .input-row input{padding-top:9px;padding-bottom:9px}.buffer-summary{margin-top:12px;padding:11px 14px}.allocation-submit{min-height:46px;margin-top:11px}.extra-savable-card{padding:14px 16px}.goal-manager{padding-block:16px}.goal-card{margin-top:12px;padding:15px}.goal-balance{margin-top:13px}.goal-progress-row{margin-top:6px}.goal-summary{gap:7px;margin-top:10px}.goal-summary div{padding:8px 10px}.goal-summary dd{margin-top:2px}.goal-helper{margin-top:8px}}
@media(max-width:520px){.wrap{width:min(100% - 32px,680px);padding-top:14px}.intro{padding:24px 0 16px}.eyebrow{margin-bottom:4px}.intro h1{font-size:36px}.intro-copy{margin-top:8px}.principles{gap:2px 12px;margin-top:10px}.principles li{padding:0;border:0;background:transparent;line-height:1.4}.form-grid{grid-template-columns:1fr}.field:first-child{grid-column:auto}.hero{padding:24px 14px}.hero-grid strong{font-size:16px}.settings-content{padding:4px 14px 18px}}
@media(max-width:520px){.expense-manager,.allocation-manager,.goal-manager{padding:16px 14px}.extra-savable-card{padding:15px 14px}.extra-savable-heading{align-items:flex-start;flex-direction:column;gap:7px}.extra-savable-amount{font-size:26px}.expense-panel,.goal-form{padding:14px}.allocation-heading{align-items:flex-start;flex-direction:column;gap:8px}.allocation-income{text-align:left}.allocation-field{grid-template-columns:50px minmax(0,1fr) 46px;gap:7px}.goal-amount-grid{grid-template-columns:1fr}.goal-summary{grid-template-columns:1fr;gap:7px}.goal-summary div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px}.goal-summary dd{margin:0;text-align:right}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero-grid{grid-template-columns:1fr}.hero-amount{font-size:34px}.principles li{font-size:11.5px}.category-grid{gap:6px}.category-chip{padding:0 4px;font-size:12px}.expense-undo-banner{align-items:flex-start;flex-direction:column}.expense-undo-banner button{width:100%}.allocation-field{grid-template-columns:46px minmax(0,1fr) 43px;gap:6px}.allocation-field label,.allocation-percent{font-size:11.5px}.buffer-summary{padding:12px}}
.settings,.expense-manager{box-shadow:none}.buffer-summary .extra-savable-card{grid-column:1/-1;margin:10px 0 0;padding:10px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.buffer-summary .extra-savable-heading{display:block}.buffer-summary .extra-savable-kicker{margin:0}.buffer-summary .extra-savable-heading h2{margin:1px 0 0;font-size:13.5px;font-weight:650}.buffer-summary .extra-savable-amount{display:none}.buffer-summary .extra-savable-helper{margin:4px 0 0;font-size:12.5px}.buffer-summary .extra-savable-note{margin:2px 0 0}.goal-empty{padding:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.goal-card{padding:0;border:0;border-radius:0;background:transparent}.goal-summary{gap:0;padding-top:14px;border-top:1px solid var(--line)}.goal-summary div{padding:0 12px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent}.goal-summary div:first-child{padding-left:0;border-left:0}.goal-summary div:last-child{padding-right:0}
@media(min-width:361px) and (max-width:520px){.goal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.goal-summary div{display:block;padding:0 9px}.goal-summary dd{margin-top:3px;text-align:left}}
@media(max-width:360px){.goal-summary{gap:0}.goal-summary div{padding:9px 0;border-left:0;border-top:1px solid var(--line)}.goal-summary div:first-child{padding-top:0;border-top:0}.goal-summary div:last-child{padding-bottom:0}}
:root{--placeholder:#657283;--disabled-bg:#e7ebf0;--disabled-text:#5b6878;--disabled-border:#7f8d9d}[data-theme="dark"]{--placeholder:#9aa8b6;--disabled-bg:#27323d;--disabled-text:#a9b5c1;--disabled-border:#607181}
input::placeholder{color:var(--placeholder);font-weight:400;opacity:1}.input-row,.goal-name-field input{transition:border-color .15s ease,background-color .15s ease,outline-color .15s ease}.input-row input,.goal-name-field input{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.input-row span{font-size:.82em;font-weight:550}.input-row:focus-within,.goal-name-field input:focus{border-color:var(--focus)}.input-row:has(input[aria-invalid="true"]),.goal-name-field input[aria-invalid="true"]{border-color:var(--danger);background:var(--danger-soft);outline:2px solid var(--danger);outline-offset:1px}.category-fieldset[aria-invalid="true"] .category-grid{border-radius:10px;outline:2px solid var(--danger);outline-offset:3px}.allocation-form[aria-invalid="true"] .buffer-summary{border-color:var(--danger)}.error:not([hidden]){position:relative;padding-left:18px}.error:not([hidden])::before{position:absolute;left:0;top:0;content:"!";font-weight:700}.input-row:has(input:disabled),.goal-name-field input:disabled{border-color:var(--disabled-border);background:var(--disabled-bg);color:var(--disabled-text)}.input-row input:disabled,.goal-name-field input:disabled{color:var(--disabled-text);cursor:not-allowed}.primary:disabled{border:1px solid var(--disabled-border);background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;opacity:1}
.amount-value,.hero-amount,.hero-grid strong,.living-note strong,.allocation-income strong,.allocation-percent,.buffer-summary strong,.buffer-summary output,.goal-balance,.goal-progress-row>strong,.goal-summary dd,.recent-expense-actions>strong{font-variant-numeric:tabular-nums}.amount-unit{margin-left:.08em;color:var(--muted);font-size:.78em;font-weight:550;letter-spacing:0}.allocation-percent,.buffer-summary output,.goal-progress-row>strong{font-weight:550}
#living-budget,#allocation-net-income,#buffer-amount,#goal-current-display,#goal-target-display,#goal-remaining-display,#goal-monthly-display{white-space:nowrap}#today-used,#today-left{display:inline-flex;align-items:baseline;justify-content:center;white-space:nowrap}
.primary,.expense-open,.goal-open,.theme-toggle,.theme-option,.category-chip,.expense-undo-banner button,.recent-expense-delete,.goal-form-cancel,.goal-card-actions button,.goal-delete-confirm button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,filter .15s ease,transform .08s ease}.primary:hover{opacity:1}.theme-option:hover{background:transparent}.theme-option[aria-checked="true"]{background:var(--accent-soft);color:var(--accent)}.recent-expense-delete,.goal-card-actions .goal-delete{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.goal-delete-confirm .goal-delete-confirm-button{border-color:var(--danger);background:var(--danger);color:var(--paper)}.primary:active:not(:disabled),.expense-open:active:not(:disabled),.goal-open:active:not(:disabled),.theme-toggle:active:not(:disabled),.theme-option:active:not(:disabled),.category-chip:active,.expense-undo-banner button:active:not(:disabled),.recent-expense-delete:active:not(:disabled),.goal-form-cancel:active:not(:disabled),.goal-card-actions button:active:not(:disabled),.goal-delete-confirm button:active:not(:disabled){filter:brightness(.88);transform:translateY(1px)}
@media(hover:hover) and (pointer:fine){.primary:hover:not(:disabled),.expense-open:hover:not(:disabled),.goal-open:hover:not(:disabled){filter:brightness(.94)}.theme-toggle:hover:not(:disabled),.theme-option:hover:not(:disabled),.category-chip:hover,.expense-undo-banner button:hover:not(:disabled),.goal-form-cancel:hover:not(:disabled),.goal-card-actions button:not(.goal-delete):hover:not(:disabled),.goal-delete-confirm button:not(.goal-delete-confirm-button):hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.recent-expense-delete:hover:not(:disabled),.goal-card-actions .goal-delete:hover:not(:disabled),.goal-delete-confirm .goal-delete-confirm-button:hover:not(:disabled){filter:brightness(.92)}}
@media(min-width:768px){.allocation-field .input-row{min-height:48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}button,.input-row,.goal-name-field input{transition:none!important}}

/* SEHU Salary Management Design Token V1: semantic aliases preserve P1-C pixels. */
:root{--subtle:#657283;--control-line:#7f8d9d;--subtle:var(--sm-color-text-tertiary);--control-line:var(--sm-color-border-control);--placeholder:var(--sm-color-placeholder);--disabled-bg:var(--sm-color-disabled-bg);--disabled-text:var(--sm-color-disabled-text);--disabled-border:var(--sm-color-disabled-border);--sm-control-dense:46px}
[data-theme="dark"]{--control-line:#607181;--focus:#5da8e8;--control-line:var(--sm-color-border-control);--focus:var(--sm-color-focus)}
.wrap{width:min(100% - var(--sm-container-gutter),var(--sm-container-max))}
.settings,.expense-manager,.allocation-manager,.extra-savable-card,.goal-manager,.hero-grid{margin-top:var(--sm-space-6)}
.living-note,.error{margin-top:var(--sm-space-3)}
.recent-expense-item,.buffer-summary div,.goal-progress-row{gap:var(--sm-space-3)}
.hero{border-radius:var(--sm-radius-hero)}
.settings,.expense-manager,.allocation-manager,.extra-savable-card,.goal-manager{border-radius:var(--sm-radius-card)}
.privacy,.next,.expense-panel,.goal-form{border-radius:var(--sm-radius-panel)}
.theme-menu,.hero-grid div,.expense-undo-banner,.buffer-summary{border-radius:var(--sm-radius-summary)}
.notice,.input-row,.category-chip,.goal-name-field input{border-radius:var(--sm-radius-control)}
.expense-undo-banner button,.recent-expense-delete,.goal-form-cancel,.goal-card-actions button,.goal-delete-confirm button{border-radius:var(--sm-radius-compact)}
.theme-toggle,.expense-open,.goal-open,.primary{border-radius:var(--sm-radius-pill)}
.site-header,.theme-toggle,.theme-option,.expense-open,.category-chip,.expense-undo-banner button,.recent-expense-delete,.goal-form-cancel,.goal-card-actions button,.goal-delete-confirm button{min-height:var(--sm-control-compact)}
.input-row,.allocation-field .input-row,.goal-name-field input{min-height:var(--sm-control-standard)}
.primary{min-height:var(--sm-control-primary)}
@media(min-width:768px){.allocation-submit{min-height:var(--sm-control-dense)}}
.eyebrow,.hero-label,.living-note,.principles li,.field label,.expense-kicker,.expense-amount-label,.category-fieldset legend,.category-chip,.expense-undo-banner p,.allocation-kicker,.allocation-field label,.allocation-percent,.buffer-summary span,.extra-savable-kicker,.goal-kicker,.goal-status,.goal-field label,.goal-delete-confirm p,.amount-unit,.buffer-summary output,.goal-progress-row>strong{font-weight:var(--sm-font-weight-label)}
button,.settings summary,.privacy h2,.next h2,.recent-expenses h3,.recent-expense-copy strong,.recent-expense-actions>strong,.allocation-income strong,.buffer-summary strong,.extra-savable-heading h2,.goal-form-heading h3,.goal-card-heading h3,.goal-balance strong,.goal-summary dd{font-weight:var(--sm-font-weight-card)}
.brand,.intro h1,.hero-amount,.hero-dday,.living-note strong,.expense-heading h2,.expense-open,.expense-undo-banner button,.allocation-heading h2,.extra-savable-amount,.goal-heading h2,.goal-open,.goal-form-cancel,.goal-card-actions button,.goal-delete-confirm button,.primary{font-weight:var(--sm-font-weight-strong)}
