:root{--bg:#f4f5f7;--surface:#fff;--text:#14181f;--text-muted:#434b59;--border:#c9ced8;--control-border:#69707d;--accent:#07553c;--accent-soft:#e3f3ec;--on-accent:#fff;--danger:#8f1d16;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}:root[data-theme=dark]{--bg:#0e1116;--surface:#181c24;--text:#f1f3f7;--text-muted:#bcc4d2;--border:#333a47;--control-border:#8b94a6;--accent:#7ee0bc;--accent-soft:#142e27;--on-accent:#0b1f19;--danger:#ffaaa3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2,p,dl,dd{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{max-width:690px;margin:0 auto;padding:40px 16px 32px}.app-header{margin-bottom:24px}.app-header h1{margin-bottom:6px;font-size:1.6rem;line-height:1.25}.app-header p{color:var(--text-muted)}.theme-toggle{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.theme-toggle:hover{color:var(--text);background:var(--surface);border-color:var(--border)}@media (width<=830px){.app-header{padding-right:44px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.segmented{border:none;min-width:0;margin:0;padding:0}.segmented legend,.field label,.methods legend{padding:0;font-size:.875rem;font-weight:600}.segmented legend{margin-bottom:6px}.segmented-options{border:1px solid var(--control-border);border-radius:8px;display:flex;overflow:hidden}.segmented-option{cursor:pointer;flex:1;position:relative}.segmented-option+.segmented-option{border-left:1px solid var(--control-border)}.segmented-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented-option span{text-align:center;background:var(--surface);justify-content:center;align-items:center;height:100%;min-height:44px;padding:4px 16px;font-weight:600;display:flex}.segmented-option input:checked+span{color:var(--on-accent);background:var(--accent)}.segmented-option input:checked+span:before{content:"✓";content:"✓" / "";margin-right:6px}.segmented-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:-6px;box-shadow:inset 0 0 0 3px var(--surface)}.form{flex-direction:column;gap:8px;padding:24px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field input,.field select{width:100%;height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:8px;padding:0 12px}.select-wrap,.date-field{position:relative}.field select,.date-field input[type=text],.date-display{appearance:none;padding-right:44px}.select-wrap:after,.date-field-touch:after,.date-picker-button:after{content:"";border-right:2px solid var(--text);border-bottom:2px solid var(--text);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:18px;transform:translateY(-70%)rotate(45deg)}.field input::placeholder,.date-placeholder{color:var(--text-muted);opacity:1}.date-display{background:var(--surface);border:1px solid var(--control-border);white-space:nowrap;border-radius:8px;align-items:center;height:44px;padding-left:12px;display:flex;overflow:hidden}.field .date-native-overlay{appearance:none;opacity:0;cursor:pointer;min-width:0;max-width:100%;height:100%;position:absolute;inset:0}.date-field-touch:has(.date-native-overlay:focus-visible) .date-display{outline:3px solid var(--accent);outline-offset:2px}.date-field-touch:has(.date-native-overlay[aria-invalid=true]) .date-display{border:2px solid var(--danger)}.date-picker-button{cursor:pointer;background:0 0;border:none;border-radius:0 8px 8px 0;width:44px;height:100%;padding:0;position:absolute;top:0;right:0}.date-picker-button:focus-visible{outline-offset:-4px}.field .date-native-hidden{opacity:0;pointer-events:none;height:100%;position:absolute;inset:0}.field input[aria-invalid=true]{border-color:var(--danger);border-width:2px}.field-hint{color:var(--text-muted);font-size:.875rem}.field-error{color:var(--danger);font-size:.875rem;font-weight:600}.field-error:before{content:"⚠ ";content:"⚠ " / ""}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.methods{border:none;flex-direction:column;gap:8px;margin:12px 0 0;padding:0;display:flex}.methods legend{margin-bottom:8px}.method{border:1px solid var(--control-border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.method:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.method input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin:3px 0 0}.method-label{font-weight:600;display:block}.method-hint{color:var(--text-muted);font-size:.875rem;display:block}.method-note{border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:12px;font-size:.9375rem}.result{background:var(--accent-soft);border-top:1px solid var(--border);padding:24px}.result-empty{color:var(--text-muted);background:0 0}.result-label{color:var(--text-muted);font-size:.875rem;font-weight:600}.result-amount{color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:16px;font-size:2.5rem;font-weight:700;line-height:1.2}.result-details{flex-direction:column;gap:6px;display:flex}.result-details div{grid-template-columns:90px 1fr;gap:12px;display:grid}.result-details dt{color:var(--text-muted)}.result-details dd{font-variant-numeric:tabular-nums}.app-footer{color:var(--text-muted);flex-direction:column;gap:6px;margin-top:20px;font-size:.875rem;display:flex}@media (width<=560px){.app{padding-top:24px}.field-row{grid-template-columns:1fr}.form,.result{padding:18px}.result-amount{font-size:2rem}}@media (forced-colors:active){.segmented-option input:checked+span{outline-offset:-3px;outline:3px solid highlight}}
