:root{color:#111827;font-synthesis:none;--blue:#073fbe;--blue-dark:#052d87;--green:#087a32;--amber:#8a5200;--border:#6b7280;--soft-blue:#eef4ff;--soft-green:#edf8f0;--soft-amber:#fff7e2;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html{background:#fff}body{background:#fff;min-width:320px;margin:0;font-size:18px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible,.toggle-row:focus-within{outline-offset:3px;outline:4px solid #f2a900}.screen{background:#fff;width:min(100%,720px);min-height:100vh;margin:0 auto;padding:22px 20px 120px}.progress{color:var(--blue);text-align:center;font-size:22px;font-weight:800}.progress-bars{grid-template-columns:repeat(3,1fr);gap:7px;max-width:280px;margin:8px auto 25px;display:grid}.progress-bars span{background:#d1d5db;border-radius:9px;height:6px}.progress-bars .active{background:var(--blue)}h1{letter-spacing:-.03em;margin:0 0 22px;font-size:clamp(34px,9vw,46px);line-height:1.15}.form-stack,.unit-list{gap:20px;display:grid}.period-picker{border-top:3px solid #111;border-bottom:3px solid #111;gap:14px;padding:18px 0 22px;display:grid}.period-picker h2{margin:0;font-size:29px}.period-picker h3{margin:4px 0 0;font-size:22px}.period-choice{border:2px solid var(--border);color:#111;text-align:left;background:#fff;border-radius:12px;width:100%;min-height:64px;padding:12px 16px;font-size:21px;font-weight:850}.period-choice:focus-visible,.period-choice.selected{border-color:var(--blue);outline-offset:2px;outline:4px solid #f2a900}.period-choice.selected{color:var(--blue-dark);background:var(--soft-blue)}.previous-period{border-color:var(--blue);color:var(--blue-dark);background:var(--soft-blue);text-align:center}.recent-periods{gap:10px;display:grid}.period-other{width:100%;min-height:60px;font-size:22px}.date-picker-fields{gap:18px;padding-top:8px;display:grid}.selected-period{border-left:6px solid var(--blue);background:var(--soft-blue);margin:0;padding:10px 13px;font-size:23px;font-weight:850}.residual-card{background:#fff;border:3px solid #555;border-radius:14px;gap:8px;margin:22px 0;padding:20px;display:grid}.residual-card h2,.residual-card p{margin:0}.residual-card strong{color:var(--blue);font-size:36px}.residual-card p{font-size:19px;font-weight:700;line-height:1.45}.field{min-width:0}.field label,.cycle-field legend{color:#111;margin-bottom:7px;font-size:21px;font-weight:800;display:block}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap input{border:2px solid var(--border);color:#111;background:#fff;border-radius:12px;width:100%;min-height:62px;padding:12px 62px 12px 15px;font-size:27px;font-weight:750}.input-wrap input[type=date]{padding-right:15px}.input-wrap span{font-size:20px;font-weight:800;position:absolute;right:17px}.field-error,.page-error{color:#9b1c1c;margin:8px 0 0;font-size:18px;font-weight:750}.page-error{background:#fff5f4;border:2px solid #b42318;border-radius:10px;padding:15px}.cycle-field{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;display:grid}.cycle-field legend{grid-column:1/-1}.cycle-field label{border:2px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:58px;font-size:21px;font-weight:800;display:flex}.cycle-field input{width:24px;height:24px;accent-color:var(--blue)}.toggle-row{cursor:pointer;border:2px solid #333;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;min-height:82px;padding:14px 16px;font-size:21px;font-weight:850;display:flex}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.toggle-row i{background:#777;border-radius:22px;flex:0 0 66px;width:66px;height:40px;transition:background .18s;position:relative}.toggle-row i:after{content:"";background:#fff;border-radius:50%;width:30px;height:30px;transition:transform .18s;position:absolute;top:5px;left:5px;box-shadow:0 1px 4px #0005}.toggle-row input:checked+i{background:var(--blue)}.toggle-row input:checked+i:after{transform:translate(26px)}.sub-period{border-top:3px solid #111;gap:18px;padding:20px 0 0;display:grid}.sub-period h2{margin:0;font-size:27px}.sticky-action{z-index:5;padding:12px max(20px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-top:1px solid #d1d5db;position:fixed;bottom:0;left:0;right:0}.primary-button,.secondary-button{border-radius:12px;width:min(100%,680px);min-height:64px;margin:0 auto;padding:12px 18px;font-size:26px;font-weight:900;display:block}.primary-button{border:2px solid var(--blue);color:#fff;background:var(--blue);box-shadow:0 4px 0 var(--blue-dark)}.primary-button:active{box-shadow:0 2px 0 var(--blue-dark);transform:translateY(2px)}.primary-button:disabled{cursor:not-allowed;color:#4b5563;box-shadow:none;background:#e1e4e9;border-color:#b7bcc5}.back-button{min-height:48px;color:var(--blue);background:0 0;border:0;margin:-4px 0 12px;padding:6px 0;font-size:19px;font-weight:800;text-decoration:underline}.instruction{margin:-8px 0 18px;font-size:20px;font-weight:750}.instruction.large{margin-top:0;font-size:24px}.plain-note{color:#30343b;margin:-10px 0 24px;font-size:18px}.period-summary{border-top:2px solid #111;border-bottom:2px solid #111;margin:0 0 28px;padding:16px 0}.period-summary h2,.subsection-title,.management-relative h2{margin:0;font-size:26px}.period-summary p{margin:5px 0 0;font-size:23px;font-weight:850}.management-relative{border-top:4px solid var(--blue);margin-top:34px;padding-top:27px}.management-relative>p{margin:8px 0 22px;font-size:18px;font-weight:650}.calculated-value{background:var(--soft-blue);border:2px solid #8eb0fb;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:17px;display:flex}.calculated-value strong{font-size:21px;display:block}.calculated-value span{color:var(--blue-dark);margin-top:3px;font-size:18px;font-weight:800;display:inline-block}.calculated-value b{color:var(--blue);white-space:nowrap;font-size:28px}.unallocated{background:var(--soft-amber);color:var(--amber);border:2px solid #e9b23e;border-radius:13px;justify-content:space-between;align-items:baseline;gap:12px;margin:26px 0 23px;padding:18px;display:flex}.unallocated span{font-size:21px;font-weight:800}.unallocated strong{font-size:clamp(25px,7vw,34px)}.field-note{background:var(--soft-amber);color:#5c3800;border-left:5px solid #b46b00;padding:13px;font-size:18px;font-weight:750}.success-block{text-align:center;color:var(--green);margin-bottom:22px}.success-block h1{font-size:clamp(27px,7.5vw,42px)}.success-block h1 span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:52px;height:52px;margin-right:5px;display:inline-grid}.success-block>strong{border:3px solid var(--green);border-radius:12px;padding:8px 14px;font-size:clamp(34px,10vw,48px);display:block}.bill-summary{border-top:2px solid #111;border-bottom:2px solid #111;gap:0;margin:0 0 30px;display:grid}.bill-summary div{border-bottom:1px solid #9ca3af;justify-content:space-between;gap:20px;padding:13px 0;display:flex}.bill-summary div:last-child{border-bottom:0}.bill-summary dt{font-size:18px;font-weight:750}.bill-summary dd{text-align:right;margin:0;font-size:21px;font-weight:900}.warning-message{background:var(--soft-amber);color:#613800;border:2px solid #c77700;border-radius:10px;padding:14px;font-weight:800}.section-title{margin:0 0 14px;font-size:27px}.result-list{gap:15px;display:grid}.result-card{content-visibility:auto;background:#fff;border:2px solid #7a91b9;border-radius:14px;padding:18px;box-shadow:0 3px 10px #0b265d14}.result-name{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result-name h3{margin:0;font-size:22px;line-height:1.35}.result-name>span{border:2px solid var(--blue);color:var(--blue-dark);border-radius:8px;flex:none;padding:5px 9px;font-size:17px;font-weight:850}.result-card dl{grid-template-columns:1fr 1fr;margin:15px 0;display:grid}.result-card dl div{border-right:1px solid #9ca3af}.result-card dl div:last-child{border-right:0;padding-left:14px}.result-card dt{font-size:17px;font-weight:700}.result-card dd{margin:2px 0 0;font-size:22px;font-weight:850}.amount-label{border-top:2px solid #d4d8df;margin:0;padding-top:12px;font-size:18px;font-weight:800}.amount{color:var(--blue);text-align:right;margin:0;font-size:clamp(38px,12vw,56px);font-weight:950;line-height:1.15}.amount span{font-size:23px}.copy-button{margin-top:24px}.copy-status{text-align:center;color:var(--green);font-size:19px;font-weight:800}.details{border:2px solid var(--blue);border-radius:12px;margin:20px 0}.details summary{min-height:58px;color:var(--blue-dark);cursor:pointer;padding:13px 16px;font-size:21px;font-weight:850}.details div{overflow-wrap:anywhere;border-top:1px solid #9ca3af;padding:0 16px 15px}.details p{font-size:17px}.secondary-button{border:2px solid var(--blue);color:var(--blue);background:#fff}small{color:#333;margin-left:8px;font-size:16px;display:inline}@media (width>=760px){body{background:#eef1f6}.screen{border-radius:18px;min-height:calc(100vh - 40px);margin:20px auto;padding:30px 42px 130px;box-shadow:0 8px 30px #10203a1a}.sticky-action{border:1px solid #d1d5db;border-radius:16px 16px 0 0;width:720px;left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
