@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}:root{--forest-950: #0b2924;--forest-900: #143c35;--forest-800: #1c5147;--forest-700: #286a5d;--forest-100: #dcebe6;--forest-50: #edf5f2;--gold-500: #e7b953;--gold-300: #f2d494;--gold-100: #fff4d9;--ink-900: #18201d;--ink-700: #3f4b47;--ink-500: #6e7874;--ink-300: #a8afac;--line: #e3e8e4;--surface: #ffffff;--canvas: #f4f6f2;--danger: #ba574d;--shadow: 0 14px 42px rgba(19, 53, 46, .09);--ion-font-family: "DM Sans", "Noto Sans KR", sans-serif;--ion-color-primary: #1c5147}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--ink-900);background:var(--canvas);font-family:var(--ion-font-family)}.auth-loading{display:flex;width:100%;height:100%;align-items:center;justify-content:center;gap:12px;color:var(--ink-500);background:var(--canvas);font-size:12px}.data-state,.household-setup{flex-direction:column;padding:24px;text-align:center}.data-state strong,.household-setup strong{color:var(--ink-900);font-size:18px}.data-state button,.household-setup button{min-width:180px;min-height:44px;padding:0 18px;color:#fff;background:var(--forest-800);border:0;border-radius:12px;font-weight:700}.data-state button+button,.household-setup button+button{color:var(--forest-800);background:transparent}.household-setup label{width:min(360px,100%);color:var(--ink-700);text-align:left}.household-setup input{width:min(360px,100%);min-height:48px;padding:0 14px;background:#fff;border:1px solid var(--line);border-radius:12px;font:inherit}.empty-list{padding:28px 18px;color:var(--ink-500);background:var(--surface);border:1px dashed var(--line);border-radius:16px;text-align:center}.login-content{--background: #f4f6f2}.login-page{display:flex;min-height:100%;flex-direction:column}.login-visual{display:none}.login-panel{display:flex;width:100%;max-width:480px;min-height:100%;margin:0 auto;flex-direction:column;justify-content:center;padding:calc(28px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom))}.login-mobile-brand .brand{display:flex;align-items:center;gap:10px;margin-bottom:54px;color:var(--ink-900)}.login-mobile-brand .brand>div:last-child{display:flex;flex-direction:column}.login-mobile-brand .brand strong{font-size:18px}.login-mobile-brand .brand span{color:var(--ink-500);font-size:9px}.login-heading h1{margin:0;font-size:34px;letter-spacing:-1.6px}.login-heading p{margin:9px 0 0;color:var(--ink-500);font-size:13px}.login-demo-note{display:flex;align-items:center;gap:7px;margin-top:24px;padding:10px 12px;color:#735717;background:var(--gold-100);border:1px solid #f0d99f;border-radius:12px;font-size:10px;font-weight:600}.login-form{display:flex;flex-direction:column;margin-top:26px}.login-form>label{margin:0 0 8px 2px;font-size:11px;font-weight:700}.login-form>label:not(:first-child){margin-top:19px}.forgot-link{align-self:flex-end;min-height:32px;margin:-36px 0 4px;padding:0 2px;color:var(--forest-700);background:transparent;border:0;font-size:9px;font-weight:600}.auth-switch{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:22px;color:var(--ink-500);font-size:10px}.auth-switch button{min-height:40px;padding:0 4px;color:var(--forest-700);background:transparent;border:0;font-weight:700}.auth-form-page{display:flex;min-height:100%;align-items:center;justify-content:center;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.auth-form-panel{min-height:auto;justify-content:flex-start;padding-top:28px;padding-bottom:36px}.auth-back{min-height:42px;align-self:flex-start;margin-bottom:25px;padding:0;color:var(--forest-700);background:transparent;border:0;font-size:10px;font-weight:700}.auth-field{display:flex;flex-direction:column}.auth-field+.auth-field{margin-top:17px}.auth-field>label{margin:0 0 8px 2px;font-size:11px;font-weight:700}.auth-action-card{display:flex;flex-direction:column;align-items:center;margin-top:32px;padding:24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px}.auth-action-card>ion-icon{color:var(--forest-700);font-size:38px}.auth-action-card>p{margin:14px 0 0;color:var(--ink-500);font-size:11px;line-height:1.6}.auth-action-card .login-submit{width:100%}.auth-action-card.success>ion-icon{color:var(--forest-700)}.input-wrap{display:flex;min-height:56px;align-items:center;gap:11px;padding:0 15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;transition:border-color .16s ease,box-shadow .16s ease}.input-wrap:focus-within{border-color:var(--forest-700);box-shadow:0 0 0 3px #286a5d1a}.input-wrap.invalid{border-color:var(--danger)}.input-wrap>ion-icon{flex:0 0 auto;color:var(--ink-300);font-size:19px}.input-wrap input{min-width:0;height:54px;flex:1;color:var(--ink-900);background:transparent;border:0;outline:0;font:500 14px var(--ion-font-family)}.input-wrap input::placeholder{color:var(--ink-300);font-weight:400}.password-toggle{display:grid;width:44px;height:44px;flex:0 0 auto;margin-right:-10px;place-items:center;color:var(--ink-500);background:transparent;border:0;font-size:20px}.field-error{margin:6px 0 0 2px;color:var(--danger);font-size:10px}.password-hint{margin:8px 2px 0;color:var(--ink-500);font-size:9px;line-height:1.5}.login-error{margin-top:15px;padding:11px 12px;color:#913e36;background:#faecea;border-radius:11px;font-size:10px}.login-submit{display:flex;min-height:56px;align-items:center;justify-content:center;gap:7px;margin-top:24px;color:#fff;background:var(--forest-800);border:0;border-radius:15px;box-shadow:0 12px 24px #143c352e;font-size:14px;font-weight:700}.login-submit:disabled{opacity:.65}.login-submit ion-icon{font-size:17px}.login-security{display:flex;align-items:center;justify-content:center;gap:5px;margin:20px 0 0;color:var(--ink-500);font-size:9px}.login-security ion-icon{color:var(--forest-700);font-size:14px}button{font:inherit}.app-frame{display:flex;width:100%;min-height:100%;background:var(--canvas)}.main-shell{position:relative;display:flex;flex:1;min-width:0;height:100vh;flex-direction:column}.page-content{--background: var(--canvas)}.content-width{width:100%;max-width:1080px;min-height:100%;margin:0 auto;padding:0 20px 124px}.top-header{z-index:10;display:flex;height:calc(68px + env(safe-area-inset-top));flex:0 0 auto;align-items:flex-end;justify-content:space-between;padding:env(safe-area-inset-top) 20px 12px;background:#f4f6f2eb;border-bottom:1px solid rgba(227,232,228,.7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-brand{display:flex;align-items:center;gap:9px}.mobile-brand strong{font-size:18px;letter-spacing:-.6px}.brand-mark{display:grid;width:32px;height:32px;place-items:center;color:var(--forest-950);background:var(--gold-300);border-radius:11px;font-size:16px;font-weight:800}.household-label{display:flex;min-height:42px;align-items:center;gap:7px;padding:5px 9px 5px 5px;color:var(--ink-700);background:var(--surface);border:1px solid var(--line);border-radius:22px;font-size:13px;font-weight:600}.household-label .avatar{display:grid;width:30px;height:30px;place-items:center;color:#fff;background:var(--forest-800);border-radius:50%}.demo-banner{display:flex;min-height:40px;align-items:center;gap:8px;margin:10px 0 2px;padding:9px 12px;color:#7b5e1f;background:var(--gold-100);border-radius:12px;font-size:12px;font-weight:600}.demo-banner ion-icon{font-size:16px}.page-stack{display:flex;flex-direction:column;gap:22px;padding:24px 0}.eyebrow{display:block;margin-bottom:9px;color:var(--forest-700);font-size:11px;font-weight:700;letter-spacing:1.3px}.welcome{display:flex;align-items:flex-end;justify-content:space-between;padding:4px 2px 0}.welcome h1,.page-intro h1{margin:0;color:var(--ink-900);font-size:clamp(27px,7vw,38px);line-height:1.25;letter-spacing:-1.6px}.welcome h1 em{color:var(--forest-700);font-style:normal}.readiness{display:flex;width:64px;height:64px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;color:var(--forest-900);background:var(--forest-50);border:1px solid var(--forest-100);border-radius:50%}.readiness strong{font-size:20px;line-height:1}.readiness span{margin-top:4px;font-size:9px;font-weight:700}.hero-card{position:relative;overflow:hidden;padding:23px 22px 20px;color:#fff;background:linear-gradient(145deg,#1c5147,#0e342d);border-radius:24px;box-shadow:0 18px 42px #143c3533}.hero-card:after{position:absolute;top:-65px;right:-55px;width:180px;height:180px;content:"";border:1px solid rgba(242,212,148,.15);border-radius:50%;box-shadow:0 0 0 28px #f2d4940d,0 0 0 58px #f2d49408}.hero-label{position:relative;z-index:1;display:flex;align-items:center;gap:7px;color:#ffffffb3;font-size:13px}.hero-label button{display:grid;width:17px;height:17px;padding:0;place-items:center;color:#ffffffb3;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:50%;font:600 10px serif}.hero-value{position:relative;z-index:1;display:block;margin:7px 0 2px;font-size:34px;letter-spacing:-1.8px}.hero-caption{color:#ffffff8c;font-size:11px}.asset-bar{display:flex;height:6px;overflow:hidden;margin:20px 0;background:#ffffff1f;border-radius:5px}.asset-bar span{background:var(--gold-300)}.asset-bar i{background:#ffffff4d}.hero-grid{display:grid;grid-template-columns:1fr 1fr}.hero-grid div{display:flex;flex-direction:column;gap:3px}.hero-grid div+div{padding-left:18px;border-left:1px solid rgba(255,255,255,.15)}.hero-grid span{color:#fff9;font-size:11px}.hero-grid strong{font-size:15px}.section-block{display:flex;flex-direction:column;gap:12px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.section-title h2,.menu-group h2{margin:0;font-size:18px;letter-spacing:-.7px}.section-title button{display:flex;min-height:36px;align-items:center;gap:1px;color:var(--ink-500);background:transparent;border:0;font-size:12px}.section-title ion-icon{font-size:14px}.cashflow-summary{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:18px 18px 0 0}.cashflow-summary>div{display:flex;min-width:0;align-items:center;gap:10px;padding:16px 13px}.cashflow-summary>div+div{border-left:1px solid var(--line)}.cashflow-summary>div>div{display:flex;min-width:0;flex-direction:column;gap:3px}.summary-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:11px}.summary-icon.income{color:var(--forest-700);background:var(--forest-50)}.summary-icon.expense{color:var(--danger);background:#faecea}.cashflow-summary span{color:var(--ink-500);font-size:10px}.cashflow-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.monthly-balance{display:flex;align-items:center;justify-content:space-between;margin-top:-12px;padding:12px 15px;background:#edf2ed;border-radius:0 0 16px 16px;font-size:11px}.monthly-balance strong{color:var(--forest-700);font-size:13px}.allocation-card{display:flex;align-items:center;gap:23px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:19px}.donut{display:grid;width:116px;height:116px;flex:0 0 auto;place-items:center;background:conic-gradient(var(--forest-700) 0 74%,var(--gold-300) 74% 100%);border-radius:50%}.donut:before{position:absolute;width:78px;height:78px;content:"";background:var(--surface);border-radius:50%}.donut div{z-index:1;display:flex;flex-direction:column;align-items:center}.donut strong{font-size:17px}.donut span{color:var(--ink-500);font-size:9px}.legend{display:flex;min-width:0;flex:1;flex-direction:column;gap:16px}.legend-row{display:flex;align-items:center;gap:8px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.green{background:var(--forest-700)}.legend-dot.gold{background:var(--gold-300)}.legend-row div{display:flex;min-width:0;flex:1;flex-direction:column}.legend-row span{color:var(--ink-500);font-size:10px}.legend-row strong{font-size:12px}.legend-row em{color:var(--ink-500);font-size:11px;font-style:normal}.scenario-highlight{display:flex;width:100%;min-height:100px;align-items:center;gap:14px;padding:16px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:19px}.scenario-icon{display:grid;width:47px;height:47px;flex:0 0 auto;place-items:center;color:var(--forest-700);background:var(--forest-50);border-radius:15px;font-size:23px}.scenario-highlight>div:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.scenario-highlight span{color:var(--forest-700);font-size:9px;font-weight:700}.scenario-highlight strong{margin:3px 0;font-size:15px}.scenario-highlight p{margin:0;color:var(--ink-500);font-size:10px}.scenario-highlight>ion-icon{color:var(--ink-300)}.progress-card{padding:18px;background:var(--gold-100);border:1px solid #f4dfad;border-radius:18px}.progress-head{display:flex;align-items:center;justify-content:space-between}.progress-head div{display:flex;gap:6px;align-items:baseline}.progress-head span{font-size:11px}.progress-head strong{color:#85641c;font-size:17px}.progress-head ion-icon{color:#99741f;font-size:20px}.progress-card ion-progress-bar{height:7px;margin:12px 0;--background: rgba(133, 100, 28, .13);--progress-background: #d5a73d;border-radius:4px}.progress-card p{margin:0 0 12px;color:#735d2c;font-size:10px;line-height:1.6}.progress-card button{display:flex;min-height:38px;align-items:center;gap:5px;padding:0;color:#725716;background:transparent;border:0;font-size:11px;font-weight:700}.page-intro{padding:8px 2px 2px}.page-intro h1{font-size:30px}.page-intro p{max-width:560px;margin:9px 0 0;color:var(--ink-500);font-size:13px;line-height:1.65}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-row article{display:flex;flex-direction:column;gap:5px;padding:17px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.metric-row span{color:var(--ink-500);font-size:11px}.metric-row strong{font-size:19px}.segmented{display:flex;padding:4px;background:#e9ede9;border-radius:13px}.segmented button{min-height:38px;flex:1;color:var(--ink-500);background:transparent;border:0;border-radius:10px;font-size:12px;font-weight:600}.segmented button.active{color:var(--forest-900);background:var(--surface);box-shadow:0 3px 10px #19322b14}.item-list{display:flex;flex-direction:column;gap:10px}.list-card{display:flex;width:100%;min-height:82px;align-items:center;gap:12px;padding:13px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:17px}button.list-card{cursor:pointer}.holding-detail .settings-head p{margin:4px 0 0;color:var(--ink-500);font-size:11px}.account-head-actions{display:flex;align-items:center;gap:4px}.settings-head button.account-delete{color:var(--danger)}.settings-head button:disabled{opacity:.55}.holding-list{display:flex;flex-direction:column;gap:9px;margin-top:16px}.holding-summary{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px;padding:14px;color:var(--forest-900);background:var(--forest-50);border-radius:14px}.holding-summary>div{display:flex;min-width:0;flex-direction:column;gap:4px}.holding-summary span{font-size:10px}.holding-summary strong{font-size:17px;overflow-wrap:anywhere}.holding-row{display:block;padding:14px;border:1px solid var(--line);border-radius:14px}.holding-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.holding-row-head>div{display:flex;flex-direction:column;gap:3px}.holding-row-head>strong{max-width:48%;text-align:right;overflow-wrap:anywhere}.holding-row span,.holding-row small{color:var(--ink-500);font-size:9px}.holding-row strong{font-size:12px}.holding-metrics{display:grid;grid-template-columns:1fr;gap:10px 16px;margin:13px 0 0;padding-top:13px;border-top:1px solid var(--line)}.holding-metrics.balance{grid-template-columns:1fr}.holding-metrics div{display:flex;justify-content:space-between;gap:8px}.holding-metrics dt{color:var(--ink-500);font-size:9px}.holding-metrics dd{margin:0;font-size:10px;font-weight:700;text-align:right;overflow-wrap:anywhere}@media(min-width:480px){.holding-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.holding-metrics:not(.balance){grid-template-columns:repeat(2,minmax(0,1fr))}}.positive{color:#147a52!important}.negative{color:#b84d4d!important}.holding-form{display:flex;flex-direction:column;margin-top:16px;padding:17px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.holding-form h2{margin:0 0 4px;font-size:16px}.holding-form>label,.create-number-row label{margin:13px 0 7px 2px;font-size:10px;font-weight:700}.holding-form>label:first-of-type{margin-top:0}.holding-form input,.holding-form select,.create-item-form section>input,.create-item-form section>select{width:100%;min-height:44px;box-sizing:border-box;padding:0 12px;color:var(--ink-900);background:#fff;border:1px solid var(--line);border-radius:11px;outline:none;font:inherit;font-size:13px}.holding-form input:focus,.holding-form select:focus,.create-item-form section>input:focus,.create-item-form section>select:focus{border-color:var(--forest-700);box-shadow:0 0 0 3px #235c4e1a}.create-number-row{display:grid;grid-template-columns:1fr;gap:0 12px}.create-number-row label{display:flex;flex-direction:column;gap:7px}.holding-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.holding-form-actions>button:not(.settings-action){min-width:88px;padding:10px 16px;color:var(--ink-500);background:transparent;border:1px solid var(--line);border-radius:10px}.holding-form-actions .settings-action{min-width:96px;margin-top:0;padding:0 16px}.holding-row-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.holding-row-actions button{min-width:64px;min-height:36px;padding:0 12px;color:var(--forest-700);background:var(--forest-50);border:0;border-radius:10px;font-size:10px;font-weight:700}.holding-row-actions button.danger{color:var(--danger);background:#faecea}.holding-row-actions button:disabled{opacity:.55}@media(min-width:480px){.create-number-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.list-icon{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;color:var(--forest-700);background:var(--forest-50);border-radius:14px;font-size:21px}.list-icon.realEstate{color:#8c6c24;background:var(--gold-100)}.list-icon.liability,.list-icon.expense{color:var(--danger);background:#faecea}.list-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.list-main span,.list-main small{overflow:hidden;color:var(--ink-500);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.list-main strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.list-value{display:flex;align-items:center;gap:7px}.list-value strong{font-size:12px;white-space:nowrap}.list-value strong.negative,.list-value strong.expense{color:var(--danger)}.list-value strong.income{color:var(--forest-700)}.list-value ion-icon{color:var(--ink-300);font-size:14px}.balance-card{padding:21px;color:#fff;background:linear-gradient(145deg,var(--forest-800),var(--forest-950));border-radius:20px}.balance-card span{color:#ffffffa8;font-size:11px}.balance-card strong{display:block;margin:4px 0;color:var(--gold-300);font-size:28px}.balance-card p{margin:0;color:#ffffff87;font-size:10px}.insight-card{display:flex;gap:13px;padding:17px;background:var(--gold-100);border:1px solid #f3dfaf;border-radius:17px}.insight-card>ion-icon{flex:0 0 auto;color:#8f6b1c;font-size:24px}.insight-card div{display:flex;flex-direction:column;gap:4px}.insight-card span{color:#83651f;font-size:9px;font-weight:700}.insight-card strong{font-size:13px;line-height:1.45}.insight-card p{margin:0;color:#77663f;font-size:9px;line-height:1.5}.scenario-card{width:100%;padding:18px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:19px}.scenario-card-head{display:flex;align-items:center;justify-content:space-between}.scenario-card-head span{color:var(--forest-700);font-size:9px;font-weight:700}.scenario-card-head em{padding:4px 7px;color:var(--ink-500);background:#f0f2ef;border-radius:8px;font-size:8px;font-style:normal}.scenario-card-head em.ready{color:var(--forest-700);background:var(--forest-50)}.scenario-card h2{margin:8px 0 15px;font-size:18px}.scenario-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scenario-stats div{display:flex;flex-direction:column;gap:4px}.scenario-stats div+div{padding-left:12px;border-left:1px solid var(--line)}.scenario-stats span{color:var(--ink-500);font-size:9px}.scenario-stats strong{font-size:12px}.scenario-action{display:flex;align-items:center;justify-content:flex-end;gap:2px;padding-top:12px;color:var(--ink-500);font-size:10px}.menu-group{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px}.menu-group h2{padding:17px 16px 9px;font-size:12px}.menu-group button,.menu-info{display:flex;width:100%;min-height:67px;align-items:center;gap:13px;padding:10px 15px;text-align:left;color:inherit;background:transparent;border:0}.menu-group button+button,.menu-info+.menu-info{border-top:1px solid var(--line)}.menu-group button>ion-icon:first-child,.menu-info>ion-icon:first-child{width:20px;color:var(--forest-700);font-size:20px}.menu-group button>ion-icon:last-child{color:var(--ink-300);font-size:15px}.menu-group button div,.menu-info div{display:flex;flex:1;flex-direction:column;gap:3px}.menu-group strong{font-size:13px}.menu-group span{color:var(--ink-500);font-size:9px}.version{padding:10px;color:var(--ink-300);text-align:center;font-size:10px}.account-card{display:flex;grid-column:1 / -1;min-height:72px;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.account-card .avatar{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;color:#fff;background:var(--forest-800);border-radius:50%;font-weight:700}.account-card>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.account-card strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-card small{color:var(--ink-500);font-size:9px}.account-card button{display:flex;min-height:42px;align-items:center;gap:5px;padding:0 10px;color:var(--danger);background:#faecea;border:0;border-radius:11px;font-size:10px;font-weight:600}.account-card button.account-manage{color:var(--forest-700);background:var(--forest-50)}.account-modal{--border-radius: 24px 24px 0 0}.account-settings{display:flex;flex-direction:column;gap:16px;padding:20px 20px calc(36px + env(safe-area-inset-bottom));background:var(--canvas)}.settings-head{display:flex;align-items:center;justify-content:space-between}.settings-head h1{margin:0;font-size:27px}.settings-head button{min-height:44px;padding:0 10px;color:var(--ink-500);background:transparent;border:0;font-size:11px}.account-settings section{display:flex;flex-direction:column;padding:17px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.account-settings section h2{margin:0 0 15px;font-size:14px}.account-settings section label{margin:13px 0 7px 2px;font-size:10px;font-weight:700}.account-settings section h2+label{margin-top:0}.settings-action{min-height:44px;margin-top:14px;color:#fff;background:var(--forest-800);border:0;border-radius:12px;font-size:11px;font-weight:700}.settings-message{padding:12px;color:var(--forest-700);background:var(--forest-50);border-radius:11px;font-size:10px}.admin-user-list{display:grid;gap:12px}.admin-user-list article{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.admin-user-list article>div:first-child{display:grid;gap:4px}.admin-user-list span{color:var(--muted);font-size:.86rem}.admin-user-meta{display:flex;flex-wrap:wrap;gap:6px 12px}.floating-add{position:fixed;z-index:30;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));display:grid;width:52px;height:52px;place-items:center;color:#fff;background:var(--forest-800);border:0;border-radius:17px;box-shadow:0 10px 24px #143c3547;font-size:24px}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;height:calc(68px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);padding:6px 4px env(safe-area-inset-bottom);background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-item{display:flex;min-height:52px;align-items:center;justify-content:center;color:var(--ink-300);background:transparent;border:0}.bottom-nav .nav-item{flex-direction:column;gap:3px;font-size:9px}.nav-item ion-icon{font-size:21px}.nav-item.active{color:var(--forest-800);font-weight:700}.desktop-sidebar{display:none}.add-modal{--border-radius: 25px 25px 0 0}.add-modal::part(content){background:var(--canvas)}.sheet-content{padding:10px 20px 32px}.sheet-handle{width:38px;height:4px;margin:0 auto 20px;background:#c9ceca;border-radius:3px}.sheet-content h1{margin:0;font-size:25px;letter-spacing:-1px}.sheet-content>p{margin:7px 0 18px;color:var(--ink-500);font-size:11px}.sheet-options{display:grid;gap:8px}.sheet-options button{display:flex;width:100%;min-height:67px;align-items:center;gap:12px;padding:10px 12px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:15px}.sheet-options button>span{display:grid;width:39px;height:39px;place-items:center;color:var(--forest-700);background:var(--forest-50);border-radius:12px;font-size:20px}.sheet-options button>div{display:flex;flex:1;flex-direction:column;gap:3px}.sheet-options strong{font-size:13px}.sheet-options small{color:var(--ink-500);font-size:9px}.sheet-options button>ion-icon{color:var(--ink-300)}@media(min-width:768px){.login-page{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(400px,.85fr);background:var(--surface)}.login-visual{position:relative;display:flex;overflow:hidden;flex-direction:column;padding:42px 48px;color:#fff;background:linear-gradient(145deg,var(--forest-800),var(--forest-950))}.login-visual .brand{display:flex;align-items:center;gap:10px}.login-visual .brand>div:last-child{display:flex;flex-direction:column}.login-visual .brand span{color:#ffffff80;font-size:9px}.login-message{z-index:1;margin:auto 0}.login-message .eyebrow{color:var(--gold-300)}.login-message h1{max-width:620px;margin:0;font-size:clamp(34px,4vw,58px);line-height:1.28;letter-spacing:-2.5px}.login-message p{max-width:440px;margin:20px 0 0;color:#ffffff94;font-size:13px;line-height:1.8}.login-orbit{position:absolute;right:-100px;bottom:-130px;width:430px;height:430px;border:1px solid rgba(242,212,148,.16);border-radius:50%;box-shadow:0 0 0 60px #f2d4940a,0 0 0 130px #f2d49406}.login-orbit span,.login-orbit i,.login-orbit b{position:absolute;border-radius:50%}.login-orbit span{top:70px;left:30px;width:18px;height:18px;background:var(--gold-300)}.login-orbit i{top:180px;left:130px;width:105px;height:105px;background:#f2d4941f}.login-orbit b{top:214px;left:164px;width:37px;height:37px;background:var(--gold-300)}.login-panel{max-width:470px;padding:60px 46px;background:var(--surface)}.login-mobile-brand{display:none}.desktop-sidebar{display:flex;width:248px;flex:0 0 auto;flex-direction:column;padding:27px 18px;background:var(--forest-950)}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 30px;color:#fff}.brand>div:last-child{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:18px}.brand span{color:#ffffff7a;font-size:9px}.desktop-sidebar nav{display:flex;flex-direction:column;gap:5px}.desktop-sidebar .nav-item{justify-content:flex-start;gap:12px;padding:0 14px;border-radius:12px;color:#ffffff8c;font-size:13px}.desktop-sidebar .nav-item.active{color:var(--forest-950);background:var(--gold-300)}.desktop-sidebar .nav-item ion-icon{font-size:19px}.sidebar-note{display:flex;gap:10px;margin-top:auto;padding:14px;color:#fff9;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:14px}.sidebar-note>ion-icon{flex:0 0 auto;color:var(--gold-300);font-size:20px}.sidebar-note div{display:flex;flex-direction:column;gap:4px}.sidebar-note strong{color:#ffffffd9;font-size:10px}.sidebar-note span{font-size:8px;line-height:1.4}.mobile-brand,.bottom-nav{display:none}.top-header{height:76px;align-items:center;padding:0 35px;justify-content:flex-end}.content-width{padding:0 38px 70px}.page-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:34px}.demo-banner{margin-top:18px}.welcome,.page-intro,.hero-card,.progress-card,.balance-card,.insight-card,.segmented,.item-list,.menu-group,.version{grid-column:1 / -1}.welcome{align-items:center}.hero-card{padding:28px 30px}.hero-value{font-size:42px}.item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-list{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-add{right:36px;bottom:30px}.metric-row{grid-column:1 / -1}.add-modal{--width: 520px;--height: 620px;--border-radius: 25px}.account-modal{--width: 560px;--height: 86vh;--border-radius: 24px}}@media(min-width:1180px){.desktop-sidebar{width:270px}.page-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome,.page-intro,.hero-card,.progress-card,.balance-card,.insight-card,.segmented,.item-list,.menu-group,.version,.metric-row{grid-column:1 / -1}.section-block{min-width:0}.item-list{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
