:root{--forest:#28483a;--forest-deep:#173329;--cream:#f7f3e9;--paper:#fffdf7;--ink:#26352e;--muted:#68736c;--line:#d9dfd6;--rose:#d96d86;--rose-soft:#f9e4e8;--gold:#c79a43;--shadow:0 24px 70px rgba(33,58,46,.1)}
*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(circle at 100% 0,rgba(232,167,184,.22),transparent 28rem),var(--cream);font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.money-header{height:72px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(40,72,58,.1);background:rgba(255,253,247,.9);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.money-brand{display:block;width:155px;height:52px;overflow:hidden}.money-brand img{width:210px;height:52px;object-fit:contain;transform:translateX(-25px)}.header-actions{display:flex;align-items:center;gap:14px;font-size:.88rem;font-weight:750}.privacy-chip{padding:8px 11px;border-radius:999px;color:var(--forest);background:#e1ece3}.money-shell{width:min(100% - 28px,1080px);margin:0 auto;padding:30px 0 72px}.money-welcome{display:grid;gap:20px}.welcome-copy,.welcome-overview,.money-form,.dashboard{border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,253,247,.94);box-shadow:var(--shadow)}.welcome-copy{padding:32px 24px}.eyebrow,.step-heading>span,.dashboard-heading>span,.section-heading>span{color:var(--rose);font-size:.75rem;font-weight:850;letter-spacing:.14em}.privacy-callout{margin:18px 0 24px;padding:14px 16px;border-radius:16px;color:var(--forest);background:#e1ece3}.privacy-callout strong{display:block}.privacy-callout p{margin:5px 0 0;font-size:.85rem;line-height:1.65}.privacy-callout.compact{max-width:620px;margin:16px auto 22px;text-align:left}.welcome-copy h1{margin:0;color:var(--forest-deep);font-family:"Songti TC","Noto Serif TC",Georgia,serif;font-size:clamp(2.35rem,10vw,4.5rem);line-height:1.15;letter-spacing:-.05em}.welcome-copy h1 span{font-size:.65em}.welcome-copy h1 em{color:var(--rose);font-style:normal}.welcome-copy>p{max-width:680px;color:var(--muted);line-height:1.85}.welcome-copy .lead{color:#40534a;font-size:1.08rem;font-weight:700}.primary-button,.secondary-button{min-height:52px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:850}.primary-button{margin-top:10px;border:0;color:#fff;background:var(--forest);box-shadow:0 14px 30px rgba(40,72,58,.22)}.primary-button span{margin-left:12px}.secondary-button{border:1px solid #b9c7bc;color:var(--forest);background:transparent}.welcome-overview{padding:25px}.welcome-overview>span{color:var(--rose);font-size:.75rem;font-weight:850;letter-spacing:.12em}.welcome-overview ol{margin:18px 0;padding:0;list-style:none;counter-reset:item;display:grid;gap:11px}.welcome-overview li{display:flex;align-items:center;gap:11px;color:var(--forest-deep);font-weight:750}.welcome-overview li::before{counter-increment:item;content:counter(item);width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--forest);font-size:.78rem}.welcome-overview small{display:block;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);line-height:1.65}footer{padding:0 22px 38px;text-align:center;color:var(--muted)}footer a{color:var(--forest);font-family:"Songti TC","Noto Serif TC",Georgia,serif;font-weight:800}footer p{font-size:.8rem}

.money-wizard{position:relative}.privacy-sticky{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin:0 0 13px auto;padding:8px 11px;border-radius:999px;color:var(--forest);background:#e1ece3;font-size:.78rem;font-weight:800;position:relative}.privacy-sticky button{border:0;background:transparent;color:var(--forest);cursor:pointer}.privacy-sticky p{position:absolute;right:0;top:42px;width:260px;margin:0;padding:12px 14px;border-radius:13px;color:#fff;background:var(--forest-deep);box-shadow:var(--shadow);font-weight:500;line-height:1.55;z-index:5}.step-track{display:flex;gap:6px;overflow-x:auto;padding:0 0 10px;scrollbar-width:none}.step-track::-webkit-scrollbar{display:none}.step-pill{min-width:max-content;padding:8px 11px;border-radius:999px;color:#788079;background:#e7e7df;font-size:.74rem;font-weight:750}.step-pill.active{color:#fff;background:var(--forest)}.step-pill.complete{color:var(--forest);background:#dfe9df}.progress-bar{height:7px;margin-bottom:16px;border-radius:99px;background:#dedfd7;overflow:hidden}.progress-bar i{display:block;width:12.5%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose),var(--gold));transition:width .25s ease}.money-form{padding:26px 20px}.step-heading h2,.dashboard-heading h1,.section-heading h2{font-family:"Songti TC","Noto Serif TC",Georgia,serif;color:var(--forest-deep)}.step-heading h2{margin:7px 0 0;font-size:clamp(1.8rem,7vw,2.8rem);line-height:1.3}.step-heading p{margin:9px 0 0;color:var(--muted);line-height:1.75}.step-content{margin-top:25px;display:grid;gap:22px}.field-grid{display:grid;gap:15px}.field{display:grid;gap:8px}.field>span,.group-label{color:var(--ink);font-weight:800;line-height:1.5}.required::after{content:" *";color:var(--rose)}.field small,.helper{color:var(--muted);font-size:.8rem;line-height:1.55}.field input,.field select,.field textarea,.item-card input,.item-card select,.item-card textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:14px;padding:11px 13px;color:var(--ink);background:#fff;outline:none}.field textarea,.item-card textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.item-card input:focus,.item-card select:focus,.item-card textarea:focus{border-color:var(--forest);box-shadow:0 0 0 4px rgba(40,72,58,.08)}.checkbox-grid{display:grid;grid-template-columns:1fr;gap:9px}.check-choice{min-height:50px;padding:11px 13px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:650}.check-choice:has(input:checked){border-color:var(--forest);background:#e6eee6}.check-choice input{accent-color:var(--forest)}.inline-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.currency-field{position:relative}.currency-field input{padding-left:45px}.currency-field::before{content:"NT$";position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.82rem;font-weight:800}.currency-preview{color:var(--forest);font-size:.78rem;font-weight:750}.quick-add{display:flex;flex-wrap:wrap;gap:8px}.quick-add button,.add-button{min-height:40px;border:1px solid #bac9bd;border-radius:999px;padding:0 14px;color:var(--forest);background:#f8fbf7;cursor:pointer;font-weight:750}.items-list{display:grid;gap:14px}.item-card{padding:17px;border:1px solid var(--line);border-radius:19px;background:#fff}.item-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.item-card-header strong{color:var(--forest-deep)}.remove-item{border:0;color:#a4475d;background:var(--rose-soft);border-radius:999px;padding:7px 10px;cursor:pointer;font-weight:750}.item-grid{display:grid;gap:12px}.switch-line{display:flex;align-items:center;gap:9px;min-height:48px}.switch-line input{width:18px;height:18px;accent-color:var(--forest)}.linked-debt{padding:15px;border-radius:16px;color:#624f2f;background:#f4e7c9;line-height:1.65}.form-error{margin:20px 0 0;padding:12px 14px;border-radius:13px;color:#983e55;background:var(--rose-soft);line-height:1.55}.save-row{margin-top:22px;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.8rem}.text-button{border:0;color:var(--forest);background:transparent;cursor:pointer;font-weight:850}.wizard-actions{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wizard-actions .primary-button{margin:0}.continue-later{display:block;margin-top:14px;text-align:center;color:var(--muted);font-size:.82rem}.empty-state{padding:24px;border:1px dashed #b9c6bc;border-radius:17px;text-align:center;color:var(--muted)}

.dashboard{padding:27px 18px}.dashboard-heading{text-align:center}.dashboard-heading h1{margin:8px 0 0;font-size:clamp(2.15rem,8vw,3.8rem)}.dashboard-heading>p{max-width:680px;margin:10px auto;color:var(--muted);line-height:1.7}.dashboard-heading>small{color:var(--muted)}.overview-grid{margin-top:27px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-card{min-width:0;padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff}.overview-card span{display:block;color:var(--muted);font-size:.8rem;font-weight:700}.overview-card strong{display:block;margin-top:7px;color:var(--forest-deep);font-size:clamp(1.15rem,5vw,1.7rem);letter-spacing:-.04em;overflow-wrap:anywhere}.overview-card.highlight{color:#fff;border-color:var(--forest);background:var(--forest)}.overview-card.highlight span,.overview-card.highlight strong{color:#fff}.dashboard-section{margin-top:36px}.section-heading h2{margin:5px 0 0;font-size:1.55rem}.asset-mix,.cash-flow,.goal-summary{margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff}.mix-row{margin-top:15px}.mix-copy{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;font-weight:750}.mix-track{height:10px;margin-top:8px;border-radius:99px;background:#e8e8e0;overflow:hidden}.mix-track i{display:block;height:100%;border-radius:inherit;background:var(--forest)}.mix-row:nth-child(2) .mix-track i{background:var(--rose)}.cash-flow{display:grid;gap:8px}.flow-row{padding:12px 14px;border-radius:14px;background:#edf3ed;display:flex;align-items:center;justify-content:space-between;gap:12px}.flow-row strong{color:var(--forest-deep)}.flow-row.positive{color:#fff;background:var(--forest)}.flow-row.positive strong{color:#fff}.flow-row.negative{color:#fff;background:#9c485a}.flow-row.negative strong{color:#fff}.key-grid{margin-top:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.key-card{padding:17px;border-radius:18px;background:#e7efe7}.key-card span{display:block;color:var(--muted);font-size:.8rem}.key-card strong{display:block;margin-top:7px;color:var(--forest-deep);font-size:1.25rem}.goal-row{padding:13px 0;border-bottom:1px solid var(--line)}.goal-row:last-child{border-bottom:0}.goal-row strong{display:flex;justify-content:space-between;gap:12px}.goal-row p{margin:6px 0 0;color:var(--muted);font-size:.83rem;line-height:1.5}.result-boundary{margin-top:30px;padding:18px;border-radius:18px;color:#6e5729;background:#f4e7c9}.result-boundary p{margin:7px 0 0;font-size:.84rem;line-height:1.65}.dashboard-actions{margin-top:25px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.dashboard-actions .primary-button{margin:0}
.advisor-consent{margin-top:30px;padding:21px;border:1px solid #bdcdbf;border-radius:22px;background:linear-gradient(145deg,#f7fbf6,#fffaf1)}.consent-heading{display:flex;align-items:center;gap:12px}.consent-heading>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e1ece3;font-size:1.25rem}.consent-heading small{color:var(--rose);font-size:.68rem;font-weight:850;letter-spacing:.12em}.consent-heading h2{margin:3px 0 0;color:var(--forest-deep);font-family:"Songti TC","Noto Serif TC",Georgia,serif;font-size:1.45rem}.consent-status{margin-top:17px;padding:14px 15px;display:flex;align-items:flex-start;gap:11px;border-radius:16px;background:#eceee8}.consent-status i{width:11px;height:11px;flex:0 0 auto;margin-top:5px;border-radius:50%;background:#889189}.consent-status strong{color:var(--forest-deep)}.consent-status p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}.consent-status.active{background:#dfece1}.consent-status.active i{background:#2d7b4e}.consent-copy{color:var(--muted);font-size:.86rem;line-height:1.7}.consent-copy p{margin:17px 0 10px}.consent-copy ul{margin:0;padding-left:1.25rem}.consent-check{margin-top:16px;padding:14px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);font-size:.86rem;line-height:1.6;cursor:pointer}.consent-check input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--forest)}.consent-message{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#e1ece3;color:var(--forest);font-size:.82rem}.consent-message.error{background:var(--rose-soft);color:#983e55}.consent-actions{margin-top:15px;display:flex;flex-wrap:wrap;gap:10px}.consent-actions .primary-button{margin:0}.consent-actions button:disabled{opacity:.45;cursor:not-allowed}.consent-status time{font-variant-numeric:tabular-nums}
@media(max-width:620px){.header-actions>a{display:none}.privacy-chip{font-size:.76rem}.money-welcome{grid-template-columns:1fr}.welcome-overview{order:-1}.money-shell{padding-top:20px}.wizard-actions{align-items:stretch}.wizard-actions button{flex:1;padding:0 12px}.overview-grid,.key-grid{grid-template-columns:1fr}.dashboard-actions{display:grid}.dashboard-actions>*{width:100%}}
@media(min-width:680px){.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.two,.item-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three,.item-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.key-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:780px){.money-header{height:78px;padding:0 30px}.money-brand{width:205px}.money-brand img{width:250px;height:58px;transform:translateX(-22px)}.money-shell{padding-top:52px}.money-welcome{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:stretch}.welcome-copy{padding:52px}.welcome-overview{padding:34px;display:flex;flex-direction:column;justify-content:center}.primary-button{min-width:190px}.money-form{padding:38px 42px}.dashboard{padding:43px 42px}.other-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
