.page-shell{min-height:100vh}body.modal-open{overflow:hidden}.topbar{box-sizing:border-box;background:0 0;justify-content:flex-start;align-items:center;gap:12px;width:min(1180px,100% - 240px);margin:0 auto;padding:14px 0;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-link{color:inherit;align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand-mark{object-fit:contain;filter:drop-shadow(0 6px 14px #0f121e2e);flex:none;width:70px;height:70px;display:block}.brand-text strong{color:var(--brand);letter-spacing:.04em;text-transform:lowercase;font-size:1.45rem;line-height:1;display:block}.brand-text span{color:var(--text-secondary);font-size:.74rem}.theme-switcher{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 82%, #000 18%);box-sizing:border-box;border-radius:999px;align-items:center;gap:3px;height:32px;padding:2px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.route-links{justify-content:flex-end;gap:8px;display:flex}.route-link{background:color-mix(in srgb, var(--surface-soft) 76%, transparent);min-height:32px;color:var(--text-secondary);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:.84rem;font-weight:600;line-height:1;text-decoration:none;transition:color .18s,background .18s,transform .18s,box-shadow .18s;display:inline-flex}.route-link.is-active,.route-link:hover{color:var(--text-primary);background:color-mix(in srgb, var(--accent) 14%, var(--surface-soft) 86%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-1px)}.theme-toggle{z-index:1;min-width:34px;height:26px;color:var(--text-secondary);box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;margin:0;padding:0 7px;font-size:.95rem;font-weight:600;line-height:1;transition:transform .18s,background .18s,color .18s;display:inline-flex;position:relative}.theme-toggle span{line-height:1;display:block;transform:translateY(-.5px)}.theme-toggle.is-active{background:color-mix(in srgb, var(--surface-muted) 70%, var(--accent) 30%);color:var(--accent-contrast);box-shadow:inset 0 1px #ffffff14,0 1px 2px #00000029}.menu-trigger{background:color-mix(in srgb, var(--surface-soft) 88%, #fff 12%);width:58px;height:58px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 88%, transparent);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:17px;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}@media (width>=761px){.menu-trigger{z-index:95;position:fixed;top:14px;left:14px}}.menu-trigger:hover{background:color-mix(in srgb, var(--surface-soft) 76%, var(--accent) 24%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, var(--border)), 0 10px 22px #080c1414;transform:translateY(-1px)}.menu-trigger span{background:var(--text-primary);border-radius:999px;width:24px;height:2.5px;transition:transform .18s,opacity .18s;display:block}.menu-trigger.is-active span:first-child{transform:translateY(10px)rotate(45deg)}.menu-trigger.is-active span:nth-child(2){opacity:0}.menu-trigger.is-active span:nth-child(3){transform:translateY(-10px)rotate(-45deg)}.menu-trigger.is-active{opacity:0;pointer-events:none}.menu-overlay{z-index:90;opacity:0;pointer-events:none;background:#0b0f1700;transition:opacity .24s,background .24s;position:fixed;inset:0}.menu-overlay.is-open{opacity:1;pointer-events:auto;background:#0b0f175c}.menu-drawer{background:color-mix(in srgb, var(--surface) 98%, #fff 2%);flex-direction:column;width:min(360px,100vw - 28px);height:100%;transition:transform .26s;display:flex;position:absolute;top:0;left:0;transform:translate(-100%);box-shadow:inset -1px 0 #ffffff0a,24px 0 60px #050a1238}.menu-drawer.is-open{transform:translate(0)}.menu-drawer-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;padding:22px 20px 0;display:flex}.menu-close-button{background:color-mix(in srgb, var(--surface-soft) 82%, transparent);width:42px;height:42px;color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border);border:0;border-radius:14px;justify-content:center;align-items:center;font-size:2rem;line-height:0;transition:transform .18s,background .18s;display:inline-flex}.menu-close-button svg{flex:none;width:18px;height:18px;display:block}.menu-close-button:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface-soft) 90%);transform:translateY(-1px)}.menu-drawer-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:0 0 24px;display:flex;overflow:hidden}.menu-search{flex:none;margin:0 20px;display:block}.menu-search input{background:color-mix(in srgb, var(--surface) 88%, var(--page-bg) 12%);width:100%;min-height:42px;color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 92%, transparent);border:1px solid #0000;border-radius:12px;padding:0 14px;font-size:.92rem}.menu-search-empty{color:var(--text-secondary);padding:16px 0;font-size:.9rem}.menu-drawer-copy strong{letter-spacing:-.03em;margin-bottom:8px;font-size:1.9rem;font-weight:700;display:block}.menu-drawer-copy p{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.5}.menu-drawer .route-links{overscroll-behavior:contain;border-top:1px solid color-mix(in srgb, var(--border) 88%, transparent);scrollbar-width:none;scrollbar-color:transparent transparent;flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;gap:0;min-height:0;overflow:hidden auto}.menu-drawer .route-links.is-scrolling{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-secondary) 42%, transparent) transparent}.menu-drawer .route-links::-webkit-scrollbar{width:6px}.menu-drawer .route-links::-webkit-scrollbar-track{background:0 0}.menu-drawer .route-links::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}.menu-drawer .route-links.is-scrolling::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-secondary) 42%, transparent)}.menu-drawer .route-link{width:auto;min-height:auto;box-shadow:none;border-bottom:1px solid color-mix(in srgb, var(--border) 88%, transparent);text-align:left;white-space:normal;background:0 0;border-radius:0;padding:14px 20px;display:block;transform:none}.menu-drawer .route-link strong{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-size:1rem;font-weight:700;display:block}.menu-drawer .route-link span{color:var(--text-secondary);font-size:.84rem;line-height:1.35;display:block}.menu-drawer .route-link.is-active,.menu-drawer .route-link:hover{background:color-mix(in srgb, var(--surface-soft) 62%, transparent);box-shadow:none;transform:none}.menu-drawer .route-link.is-active{border-bottom-color:#0000}[data-theme=light] .menu-drawer .route-link.is-active{background:#e0dbcf}[data-theme=dark] .menu-drawer{background:color-mix(in srgb, var(--surface) 96%, #000 4%)}[data-theme=dark] .menu-trigger{background:color-mix(in srgb, var(--surface-soft) 88%, #fff 4%)}[data-theme=dark] .menu-drawer .route-link.is-active{background:color-mix(in srgb, var(--surface-soft) 82%, var(--accent) 18%)}.app-shell{width:min(1180px,100% - 240px);margin:0 auto;padding:18px 0 28px}.hero-grid{grid-template-columns:minmax(620px,1.42fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.side-stack{flex-direction:column;gap:14px;display:flex}.landing-hero{padding:0}.landing-head{padding-bottom:0}.landing-copy{max-width:760px;color:var(--text-secondary);margin-top:12px;font-size:1rem;line-height:1.55}.landing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.landing-card{color:inherit;text-decoration:none;display:block}.salary-layout,.credit-layout{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:16px;display:grid}.calculator-main-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.salary-note-row{padding:0 14px 14px}.salary-note{max-width:670px;margin:0 auto}.mortgage-helper-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px;display:grid}.mortgage-badge{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border-radius:18px;padding:14px 16px;box-shadow:inset 0 0 0 1px #ffffff0a}.mortgage-badge span{color:var(--text-secondary);margin-bottom:8px;font-size:.88rem;display:block}.mortgage-badge strong{font-size:1.08rem;font-weight:700;line-height:1.2;display:block}.salary-breakdown{margin-top:16px}.salary-breakdown-head{margin-bottom:10px}.salary-breakdown-list{flex-direction:column;gap:8px;display:flex}.salary-breakdown-item strong:last-child{font-variant-numeric:tabular-nums;font-size:.98rem}.salary-rate-badge{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);min-width:54px;min-height:28px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff12}.salary-rate-badge.is-changed{background:color-mix(in srgb, var(--accent) 18%, var(--surface-soft) 82%);color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 56%, var(--border)), 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.salary-rate-changed-row td{background:color-mix(in srgb, var(--accent) 6%, transparent)}.vacation-summary-grid .summary-card{padding:12px}.vacation-summary-grid .summary-card strong{font-size:1.18rem}.vacation-compare{flex-direction:column;gap:12px;display:flex}.vacation-compare-card{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border-radius:18px;padding:14px;box-shadow:inset 0 0 0 1px #ffffff0a}.vacation-compare-card.is-accent{background:color-mix(in srgb, var(--accent) 10%, var(--surface-soft) 90%)}.vacation-compare-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.vacation-compare-head span{color:var(--text-secondary);margin-bottom:4px;font-size:.86rem;display:block}.vacation-compare-head strong{font-variant-numeric:tabular-nums lining-nums;font-size:1.3rem;line-height:1.1;display:block}.vacation-compare-head p{max-width:240px;color:var(--text-secondary);text-align:right;margin:0;font-size:.84rem;line-height:1.35}.vacation-bar-track{background:color-mix(in srgb, var(--surface) 90%, var(--page-bg) 10%);border-radius:999px;height:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.vacation-bar{border-radius:inherit;min-width:18%;height:100%}.vacation-bar-work{background:linear-gradient(90deg,#80889b 0%,#a1a8b8 100%)}.vacation-bar-vacation{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-strong) 100%)}.vacation-chart-note{margin-top:2px}.side-stack .history-card{order:2}.calculator-card,.result-card{background:var(--card-bg-strong);box-shadow:var(--shadow);border:0;border-radius:16px;animation:.32s ease-out both float-in;overflow:hidden}.card-header{padding:15px 18px 10px}.breadcrumbs{color:#6d89a6;margin-bottom:7px;font-size:.78rem}.card-header h1{margin:0;font-size:clamp(1.5rem,2.3vw,2.25rem);font-weight:500;line-height:1.04}.form-surface{background:var(--card-bg);border-top:1px solid #ffffff0a;border-radius:0 0 16px 16px;padding:0}.form-row{grid-template-columns:minmax(148px,208px) minmax(340px,448px);justify-content:center;align-items:center;gap:14px;padding:7px 14px;display:grid}.form-row-note,.form-note-row{align-items:start;padding-top:0}.form-label{text-align:right;font-size:.88rem;line-height:1.25}.form-note{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.45}.form-label-help{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}@media (width<=1024px){.form-label-help{justify-content:flex-start}}.help-badge{background:color-mix(in srgb, var(--surface-muted) 72%, transparent);width:18px;height:18px;color:var(--text-secondary);cursor:help;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;outline:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.help-badge:before,.help-badge:after{opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;position:absolute;left:50%}.help-badge:before{content:attr(data-tooltip);z-index:4;background:color-mix(in srgb, var(--card-bg-strong) 96%, #000 4%);width:min(280px,58vw);color:var(--text-primary);text-align:left;box-shadow:0 12px 30px #0003, inset 0 0 0 1px var(--border);border-radius:12px;padding:10px 12px;font-size:.78rem;font-weight:400;line-height:1.45;bottom:calc(100% + 10px);transform:translate(-50%,8px)}.help-badge:after{content:"";z-index:3;background:color-mix(in srgb, var(--card-bg-strong) 96%, #000 4%);width:10px;height:10px;box-shadow:inset -1px -1px 0 0 var(--border);bottom:calc(100% + 4px);transform:translate(-50%,8px)rotate(45deg)}.help-badge:hover:before,.help-badge:hover:after,.help-badge:focus-visible:before,.help-badge:focus-visible:after{opacity:1;transform:translate(-50%)}.help-badge:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 0 0 1px var(--border)}.form-control{align-items:center;gap:8px;display:flex}.form-control input,.form-control select{background:color-mix(in srgb, var(--surface) 82%, var(--page-bg) 18%);width:100%;min-height:42px;color:var(--text-primary);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 92%, transparent), inset 0 1px 0 #ffffff0d;border:1px solid #0000;border-radius:12px;padding:0 14px;font-size:.9rem;font-weight:400;transition:border-color .16s,box-shadow .16s,background .16s,transform .16s}.form-control input:focus,.form-control select:focus,.repayment-item input:focus,.repayment-item select:focus{border-color:color-mix(in srgb, var(--accent) 72%, white 28%);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 1px 0 #ffffff14;outline:none;transform:translateY(-1px)}.form-control.has-error input,.form-control.has-error select,.form-control.has-error .suffix,.form-control.has-error .currency-trigger{border-color:#e66a6a;box-shadow:0 0 0 3px #e66a6a1f}.form-control select,.repayment-item select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12' fill='none'%3E%3Cpath d='M2 2.25L9 9.25L16 2.25' stroke='%23738391' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px 10px;padding-right:42px}.grouped-control{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.grouped-control-inline{grid-template-columns:minmax(0,1fr) auto}.narrow-select{width:112px}.currency-trigger{z-index:1;background:color-mix(in srgb, var(--surface) 86%, var(--page-bg) 14%);min-width:118px;min-height:42px;color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 92%, transparent);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex;position:relative}.currency-row{align-items:start}.currency-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;padding:4px 0 2px;display:grid}.currency-option{z-index:1;background:color-mix(in srgb, var(--surface) 86%, var(--page-bg) 14%);min-height:42px;color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.currency-option strong{min-width:42px}.currency-option.is-active{border-color:color-mix(in srgb, var(--accent) 62%, white 18%);background:color-mix(in srgb, var(--accent) 14%, var(--surface) 86%)}.suffix{background:color-mix(in srgb, var(--surface) 86%, var(--page-bg) 14%);min-width:58px;min-height:42px;color:var(--text-secondary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 92%, transparent);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0 12px;font-size:.88rem;font-weight:600;display:inline-flex}.payment-type-group{flex-flow:wrap;align-items:flex-start;gap:8px;display:flex}.radio-option{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex:none;min-width:0;display:inline-flex;position:relative}.radio-option input,input[type=radio]{appearance:none;opacity:0;cursor:pointer;border:0;width:100%;min-width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0;min-height:100%!important;max-height:none!important}.radio-option span{min-height:42px;color:var(--text-secondary);text-align:center;max-width:100%;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 88%, transparent);background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:0 16px;font-size:.88rem;font-weight:600;line-height:1.1;transition:color .16s,box-shadow .16s,background .16s,transform .16s;display:inline-flex;position:relative}.radio-option:hover span{color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 32%, var(--border-strong)), 0 6px 18px #0000000a}.radio-option input:checked+span,input[type=radio]:checked+span{color:var(--text-primary);background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 56%, var(--border-strong)), 0 8px 20px #0000000f}.radio-option input:focus-visible+span,input[type=radio]:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--accent) 56%, var(--border-strong));outline:none}.advanced-toggle{z-index:1;background:color-mix(in srgb, var(--surface-soft) 82%, transparent);width:100%;min-height:52px;color:var(--text-secondary);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #ffffff0a;border-left:0;border-right:0;justify-content:center;align-items:center;gap:8px;font-size:.88rem;display:flex;position:relative}.advanced-toggle span{font-size:1.2rem;font-weight:300}.advanced-panel{border-bottom:1px solid var(--border);padding:10px 14px 8px}.advanced-head{color:var(--text-secondary);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.82rem;display:flex}.logic-links{flex-direction:column;gap:8px;display:flex}.logic-link{z-index:1;width:fit-content;color:color-mix(in srgb, var(--accent) 64%, var(--text-secondary) 36%);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.9rem;display:inline-flex;position:relative}.repayment-section{background:color-mix(in srgb, var(--surface-soft) 92%, transparent);border:0;border-radius:16px;margin-top:10px;padding:12px;box-shadow:inset 0 0 0 1px #ffffff0a}.repayment-tabs{gap:12px;margin-bottom:8px;display:inline-flex}.repayment-tab{color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 6px;font-size:.9rem;font-weight:600}.repayment-tab.is-active{border-bottom-color:var(--accent-strong);color:var(--accent-strong)}.repayment-caption{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem}.repayment-list{flex-direction:column;gap:10px;display:flex}.repayment-card{background:color-mix(in srgb, var(--surface) 90%, var(--page-bg) 10%);box-shadow:var(--shadow-soft);border:0;border-radius:14px;padding:12px}.modal-overlay{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12101c85;justify-content:center;align-items:flex-start;padding:clamp(12px,3vh,28px) 18px;display:flex;position:fixed;inset:0;overflow:hidden}.repayment-modal{overscroll-behavior:contain;background:var(--card-bg-strong);border:0;border-radius:18px;width:min(860px,100%);max-height:min(920px,100dvh - clamp(24px,6vh,56px));animation:.22s ease-out both float-in;overflow:auto;box-shadow:0 20px 60px #091a2a3d}.repayment-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 8px;display:flex}.repayment-modal-head h2{margin:4px 0 0;font-size:1.3rem;line-height:1.1}.repayment-modal-eyebrow{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:.78rem;font-weight:700}.modal-repayment-section{margin:0 16px 16px}.modal-actions{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 16px 16px;padding:0;display:grid}.modal-actions .primary-button,.modal-actions .ghost-button{width:100%;min-width:0}.repayment-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.repayment-card-head strong{font-size:.9rem}.repayment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.repayment-grid-regular{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"amount amount""start end""strategy strategy";gap:14px 16px;display:grid}.repayment-field--amount{grid-area:amount}.repayment-fieldset--start{grid-area:start}.repayment-fieldset--end{grid-area:end}.repayment-fieldset--strategy{grid-area:strategy}.repayment-grid-regular>.repayment-field,.repayment-grid-regular>.repayment-fieldset{min-width:0}.repayment-fieldset{flex-direction:column;gap:10px;display:flex}.repayment-fieldset>span{font-size:.82rem;font-weight:600}.repayment-fieldset .repayment-field{margin-top:4px}.repayment-fieldset .check-grid{margin-top:2px}.repayment-field{flex-direction:column;gap:6px;display:flex}.repayment-field>span{font-size:.82rem;font-weight:600}.repayment-field input,.repayment-field select{background:color-mix(in srgb, var(--surface) 86%, var(--page-bg) 14%);min-height:42px;color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 92%, transparent);border:1px solid #0000;border-radius:12px;padding:0 12px;font-size:.88rem}.repayment-field.has-error input,.repayment-field.has-error select{border-color:#e66a6a;box-shadow:0 0 0 3px #e66a6a1f}.repayment-field.has-error>span{color:#e66a6a}.inline-group{gap:6px}.repayment-info{border:1px solid var(--border);background:var(--surface-soft);color:var(--text-secondary);border-radius:14px;margin-bottom:10px;padding:10px 12px;font-size:.82rem;line-height:1.45}.check-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.repayment-fieldset .check-grid,.repayment-grid-regular .check-grid{align-items:start}.check-option{color:var(--text-primary);align-items:center;gap:8px;font-size:.84rem;display:flex}.check-option input{width:18px;height:18px;accent-color:var(--accent)}.form-footer{justify-content:center;gap:16px;padding:14px 16px 16px;display:flex}.primary-button,.ghost-button{z-index:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:0;border-radius:12px;min-height:42px;padding:0 14px;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;position:relative}.primary-button{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%);color:var(--accent-contrast);box-shadow:inset 0 1px 0 #ffffff1f, 0 10px 20px color-mix(in srgb, var(--accent-strong) 26%, transparent);border:0}.ghost-button{background:color-mix(in srgb, var(--surface) 90%, var(--page-bg) 10%);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border);border:0}.calc-button{text-transform:uppercase;min-width:180px;font-size:.9rem}.primary-button:hover,.ghost-button:hover,.theme-toggle:hover{transform:translateY(-1px)}.icon-button{width:42px;min-width:42px;height:42px;color:var(--accent);flex:none;justify-content:center;align-items:center;padding:0;font-size:1rem;display:inline-flex}.icon-button svg{flex:none;width:18px;height:18px;display:block}.repayment-modal-head .icon-button:hover,.repayment-modal-head .icon-button:focus-visible{transform:none}.add-button{margin-top:8px}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.result-card{min-height:100%;margin-top:0;padding:14px;scroll-margin-top:16px}.history-card{min-height:auto}.history-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-list{flex-direction:column;gap:8px;display:flex}.history-item{z-index:1;background:color-mix(in srgb, var(--surface) 92%, var(--page-bg) 8%);color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-strong) 90%, transparent), inset 0 1px 0 #ffffff14;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:14px;padding:11px 52px 11px 11px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}.history-item-restore{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.history-item.is-active,.history-item:hover{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 44%, var(--border-strong)), 0 10px 24px #14182614;transform:translateY(-1px)}.history-item-head,.history-item-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.history-item-head{margin-bottom:6px}.history-item-head span,.history-item-meta{color:var(--text-secondary);font-size:.82rem}.history-item-main{font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:.98rem;font-weight:700}.history-item-extra{color:var(--text-secondary);margin-top:8px;font-size:.76rem}.history-item-print{width:32px;min-width:32px;height:32px;color:color-mix(in srgb, var(--accent) 72%, var(--text-secondary) 28%);background:color-mix(in srgb, var(--surface-soft) 88%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, var(--border)), 0 4px 10px #1418260f;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:10px;right:10px}.history-item-print:hover,.history-item-print:focus-visible{color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, var(--surface-soft) 88%)}.print-icon{width:24px;height:24px;display:block}.saved-repayments{border-top:1px solid #ffffff0d;margin-top:12px;padding-top:10px}.inline-repayments{margin-top:12px}.saved-repayment-list{flex-direction:column;gap:8px;display:flex}.saved-repayment-item{background:color-mix(in srgb, var(--surface) 92%, var(--page-bg) 8%);border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex;box-shadow:inset 0 0 0 1px #ffffff0d}.saved-repayment-item strong{margin-bottom:3px;font-size:.84rem;display:block}.saved-repayment-item p{color:var(--text-secondary);margin:0;font-size:.78rem}[data-theme=dark] .modal-overlay{background:#050c149e}.result-head{margin-bottom:14px}.result-head h2{margin:0 0 6px;font-size:1.45rem;font-weight:500}.result-head p,.result-placeholder{color:var(--text-secondary)}.meta-pills{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.meta-pill{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);min-height:32px;color:var(--text-primary);font-variant-numeric:tabular-nums;border:0;border-radius:999px;align-items:center;padding:0 12px;font-size:.84rem;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0f}.result-visual{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-soft) 88%, transparent) 0%, #ffffff05 100%);border:0;border-radius:18px;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d}.viz-label{color:var(--text-secondary);margin-bottom:8px;font-size:.88rem;display:block}.viz-copy strong{font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:1.6rem;font-weight:700;display:block}.viz-copy p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.4}.viz-chart-block{flex-direction:column;align-items:center;gap:12px;display:flex}.viz-donut{--principal-color:var(--brand-secondary);--interest-color:var(--accent);background:conic-gradient(var(--principal-color) 0 var(--principal), var(--interest-color) var(--principal) 100%);border-radius:50%;place-items:center;width:142px;height:142px;display:grid}.viz-donut-center{background:color-mix(in srgb, var(--card-bg-strong) 86%, var(--page-bg) 14%);text-align:center;width:88px;height:88px;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;place-items:center;display:grid}.viz-donut-center strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:1.15rem;line-height:1.05;overflow:hidden}.viz-donut-center strong.is-compact{font-size:.96rem}.viz-donut-center strong.is-tiny{font-size:.82rem}.viz-donut-center span{color:var(--text-secondary);font-size:.76rem}.viz-legend{flex-direction:column;gap:8px;width:100%;display:flex}.viz-legend div{padding-left:18px;position:relative}.legend-dot{border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:0}.legend-dot-principal{background:var(--brand-secondary)}.legend-dot-interest{background:var(--accent)}.viz-legend strong{font-variant-numeric:tabular-nums;font-size:.95rem;display:block}.viz-legend p{color:var(--text-secondary);margin:2px 0 0;font-size:.78rem}.risk-panel{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border-radius:16px;margin-bottom:14px;padding:12px 14px;box-shadow:inset 0 0 0 1px #ffffff0a}.risk-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.risk-panel-head strong{font-size:.94rem}.risk-panel-head span,.risk-legend span{color:var(--text-secondary);font-size:.78rem}.risk-panel p{color:var(--text-secondary);margin:0 0 10px;font-size:.84rem;line-height:1.45}.risk-bar{background:color-mix(in srgb, var(--surface) 86%, var(--page-bg) 14%);border-radius:999px;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.risk-bar-fill{width:var(--risk-width,0%);border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 48%, #8fd19e 52%) 0%, color-mix(in srgb, var(--accent) 78%, #fff 22%) 100%);height:100%}.risk-legend{justify-content:space-between;gap:10px;margin-top:8px;display:flex}.risk-mini-chart{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-top:10px;display:grid}.risk-mini-bar{background:color-mix(in srgb, var(--surface) 86%, var(--page-bg) 14%);border-radius:999px;height:18px;box-shadow:inset 0 0 0 1px #ffffff0d}.risk-mini-bar.is-strong{background:color-mix(in srgb, var(--accent) 22%, var(--surface) 78%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary-card{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border:0;border-radius:18px;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:inset 0 0 0 1px #ffffff0a}.summary-card span{color:var(--text-secondary);margin-bottom:6px;font-size:.88rem;display:block}.summary-card strong{font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.02em;margin-bottom:6px;font-size:1.28rem;font-weight:700;line-height:1.1;display:block}.summary-card p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.35}.summary-card:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border));box-shadow:var(--shadow-soft);transform:translateY(-2px)}.summary-card-accent{background:color-mix(in srgb, var(--accent-soft) 22%, var(--surface-soft) 78%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent), var(--shadow-soft)}.refinancing-diff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-card{min-height:auto}.faq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.faq-item{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border-radius:18px;padding:14px;box-shadow:inset 0 0 0 1px #ffffff0a}.faq-item h3{margin:0 0 8px;font-size:1rem;font-weight:600}.faq-item p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.seo-section{margin-top:18px}.seo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.seo-item{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border-radius:18px;padding:14px 16px;box-shadow:inset 0 0 0 1px #ffffff0a}.seo-item h3{margin:0 0 8px;font-size:1rem;font-weight:600}.seo-item p{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.55}.related-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.related-link-card{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);color:inherit;border-radius:10px;padding:7px 9px;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:block;box-shadow:inset 0 0 0 1px #ffffff0a}.related-link-card:hover{background:color-mix(in srgb, var(--accent) 7%, var(--surface-soft) 93%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, #ffffff0a), 0 10px 20px #00000014;transform:translateY(-2px)}.related-link-card strong{margin-bottom:2px;font-size:.8rem;font-weight:600;line-height:1.2;display:block}.related-link-card span{color:var(--text-secondary);font-size:.68rem;line-height:1.22;display:block}.example-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.example-item{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);border-radius:18px;padding:14px 16px;box-shadow:inset 0 0 0 1px #ffffff0a}.example-item strong{margin-bottom:8px;font-size:1rem;font-weight:600;display:block}.example-item p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.warning-box{color:#b87700;background:#f2a9001a;border:0;border-radius:14px;padding:10px 12px;font-size:.92rem;box-shadow:inset 0 0 0 1px #f2a9003d}.table-card{margin-top:18px;padding-bottom:10px}.table-wrap{background:color-mix(in srgb, var(--surface) 92%, var(--page-bg) 8%);border:0;border-radius:16px;overflow-x:auto;box-shadow:inset 0 0 0 1px #ffffff0d}.schedule-table{border-collapse:collapse;background:0 0;width:100%;min-width:920px}.schedule-table th,.schedule-table td{text-align:left;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0f;padding:8px 10px;font-size:.84rem}.schedule-table th{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);color:var(--text-secondary);font-size:.76rem;font-weight:700}.table-toggle{color:color-mix(in srgb, var(--accent) 64%, var(--text-secondary) 36%);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin-top:10px;font-size:.9rem}[data-theme=dark] .form-control input,[data-theme=dark] .form-control select,[data-theme=dark] .repayment-field input,[data-theme=dark] .repayment-field select,[data-theme=dark] .suffix{box-shadow:inset 0 0 0 1px #969eb46b,inset 0 1px #ffffff08}[data-theme=dark] .currency-trigger{box-shadow:inset 0 0 0 1px #969eb46b}[data-theme=dark] .form-control select,[data-theme=dark] .repayment-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12' fill='none'%3E%3Cpath d='M2 2.25L9 9.25L16 2.25' stroke='%23C0D0DC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}[data-theme=dark] .advanced-toggle{background:color-mix(in srgb, var(--surface-soft) 78%, transparent);color:var(--text-secondary)}[data-theme=dark] .logic-link,[data-theme=dark] .table-toggle{color:color-mix(in srgb, var(--accent) 64%, var(--text-secondary) 36%)}[data-theme=dark] .summary-card:hover{box-shadow:0 12px 24px #00000029}@keyframes float-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.app-shell{flex-direction:column;gap:16px;display:flex}.salary-layout{grid-template-columns:1fr}.credit-layout,.hero-grid{order:1;display:contents}.calculator-card{order:1}.calculator-main-stack,.side-stack{display:contents}.side-stack .result-card:not(.history-card){order:2}.table-card{order:3;margin-top:0}.side-stack .history-card{order:4;margin-top:0}.calculator-main-stack>.seo-section,.calculator-main-stack>.faq-card,.calculator-main-stack>.example-section,.calculator-main-stack>.related-links-section{order:5}.result-visual{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;justify-content:stretch;gap:12px}.form-label{text-align:left}.currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mortgage-helper-row,.repayment-grid,.repayment-grid-regular,.check-grid{grid-template-columns:1fr}.repayment-grid-regular{grid-template-areas:"amount""start""end""strategy"}.check-grid{gap:6px 8px;margin-top:8px}.repayment-fieldset{gap:8px}}@media (width<=760px){body{font-size:16px}.topbar{align-items:center;width:100%;margin:0;padding:14px 16px}.menu-trigger{width:52px;height:52px;padding:15px;position:static}.menu-trigger span{width:22px}.menu-drawer{width:min(320px,100vw - 22px);padding:18px 16px 22px}.menu-drawer .route-link{width:calc(100% + 32px);margin-inline:-16px;padding:12px 16px}.brand-text strong{font-size:1.35rem}.brand-text span{font-size:.8rem}.brand-mark{width:60px;height:60px}.menu-drawer-copy strong{font-size:1.45rem}.app-shell{width:min(100% - 16px,100%);padding:12px 0 24px}.landing-grid{grid-template-columns:1fr;padding:12px}.card-header,.result-card{padding:14px 12px}.faq-list,.seo-grid,.related-links-grid,.example-grid{grid-template-columns:1fr}.form-footer{flex-direction:column;gap:10px}.risk-panel-head,.risk-legend{flex-direction:column;align-items:flex-start}.form-control input,.form-control select,.repayment-field input,.repayment-field select,.suffix,.currency-trigger,.currency-option,.primary-button,.ghost-button{min-height:50px;font-size:16px}.form-label,.form-label-help,.repayment-field>span,.repayment-caption,.check-option,.logic-link,.table-toggle,.history-item-head span,.history-item-meta,.history-item-extra,.viz-label,.summary-card span,.summary-card p,.viz-copy p,.viz-legend p{font-size:16px}.summary-grid,.currency-grid,.grouped-control:not(.grouped-control-inline){grid-template-columns:1fr}.grouped-control-inline{grid-template-columns:minmax(0,1fr) auto}.repayment-field .grouped-control{align-items:stretch;gap:8px;width:100%;display:flex}.narrow-select,.suffix,.currency-trigger{width:100%}.grouped-control-inline .suffix{width:auto;min-width:58px;padding-inline:14px}.repayment-field .suffix{flex:none;width:auto;min-width:58px;padding-inline:14px}.repayment-field .grouped-control input{flex:auto;width:100%;min-width:0}.vacation-compare-head{flex-direction:column;align-items:flex-start}.vacation-compare-head p{text-align:left;max-width:none}.payment-type-group{gap:6px}.radio-option{min-width:0}.radio-option span{min-height:42px;padding-inline:14px;font-size:16px}.inline-group{gap:6px}.card-header h1{font-size:1.6rem}.modal-overlay{padding:8px}.repayment-modal{border-radius:18px;width:100%;max-height:calc(100dvh - 16px);overflow:auto;box-shadow:0 20px 60px #091a2a3d}.repayment-modal-head{z-index:2;background:var(--card-bg-strong);border-bottom:1px solid var(--border);padding:14px 14px 8px;position:sticky;top:0}.repayment-modal-head h2{font-size:1.08rem}.modal-repayment-section{margin:0;padding:12px 12px 16px}.modal-actions{background:var(--card-bg-strong);box-sizing:border-box;box-shadow:none;flex-direction:column-reverse;gap:8px;margin:0;padding:10px 12px 12px;position:sticky;bottom:0}.modal-actions .primary-button,.modal-actions .ghost-button{width:100%;box-shadow:none}.repayment-section{padding:10px}.repayment-grid,.repayment-grid-regular,.check-grid{grid-template-columns:1fr}.saved-repayment-item{align-items:flex-start}.saved-repayment-item .icon-button{flex:none}.history-item-head,.history-item-meta{flex-direction:column;align-items:flex-start}.result-visual{grid-template-columns:1fr;padding:12px}.viz-chart-block{align-items:flex-start}.schedule-table th,.schedule-table td{padding:7px 8px;font-size:16px}}@supports (-webkit-touch-callout:none){.form-control input,.form-control select,.repayment-field input,.repayment-field select,.currency-trigger,.suffix{font-size:16px}@media (width<=760px){.form-control input,.repayment-field input{appearance:none;height:50px;min-height:50px;padding-top:0;padding-bottom:0;line-height:1.2;transform:none}.form-control input:focus,.form-control select:focus,.repayment-item input:focus,.repayment-item select:focus{transform:none}}}:root{--page-bg:#f2f3f7;--card-bg:#eef0f5;--card-bg-strong:#fff;--surface:#fff;--surface-soft:#f6f7fb;--surface-muted:#ebeef4;--border:#6f768a2e;--border-strong:#68708552;--text-primary:#1f2430;--text-secondary:#687182;--accent:#4c8df6;--accent-strong:#2f6fe4;--accent-contrast:#fff;--brand:#25212d;--brand-secondary:#ff7b39;--shadow:0 20px 44px #14182614;--shadow-soft:0 10px 24px #1418260f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:SF Pro Text,SF Pro Display,Google Sans,Roboto,Helvetica Neue,Segoe UI,sans-serif;font-weight:400;line-height:1.45}[data-theme=dark]{--page-bg:#1c1c1c;--card-bg:#222;--card-bg-strong:#1f1f1f;--surface:#1f1f1f;--surface-soft:#262626;--surface-muted:#2d2d2d;--border:#ffffff12;--border-strong:#ffffff1f;--text-primary:#f5f5f5;--text-secondary:#a6a6a6;--accent:#6da8ff;--accent-strong:#4f91f5;--accent-contrast:#fff;--brand:#f5f5f5;--brand-secondary:#fc6d26;--shadow:0 28px 72px #0000004d;--shadow-soft:0 12px 28px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--surface)}body{min-width:320px;min-height:100vh;color:var(--text-primary);background-color:var(--page-bg);margin:0;font-size:16px}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,[role=button],input,select,label{-webkit-user-select:none;user-select:none}input,select{-webkit-user-select:auto;user-select:auto}#root{background-color:#0000;min-height:100vh}
