:root{--text:#1a2332;--text-muted:#5a6a7a;--bg:#eef2f7;--surface:#fff;--border:#d8e0ea;--accent:#2563eb;--accent-soft:#eff6ff;--success:#15803d;--success-soft:#ecfdf5;--danger:#b91c1c;--danger-soft:#fef2f2;--shadow:0 4px 20px #1a233214;--shadow-strong:0 10px 32px #1a23321f;--radius:14px;--radius-sm:12px;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0;overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes amountFade{0%{opacity:.45}to{opacity:1}}@keyframes summaryRefresh{0%{opacity:.96;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.app{width:100%;max-width:1120px;margin:0 auto;padding:2rem 1.5rem 3.5rem}.app-header{text-align:center;margin-bottom:2.25rem}.app-header h1{color:var(--text);margin:0 0 .65rem;font-size:clamp(1.45rem,3.6vw,2rem);font-weight:700;line-height:1.25}.subtitle{letter-spacing:.01em;max-width:36rem;color:var(--accent);margin:0 auto;font-size:.95rem;font-weight:500;line-height:1.45}.layout-main{grid-template-columns:1fr 1fr;align-items:start;gap:1.75rem;margin-bottom:1.75rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.6rem 1.65rem;animation:.4s both cardFadeIn}.card-title{color:var(--text);margin:0 0 1.4rem;font-size:1.15rem;font-weight:650}.form-card{flex-direction:column;gap:1.25rem;display:flex}.field{flex-direction:column;gap:.5rem;display:flex}.field-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;min-height:1.5rem;display:flex}.field label{color:var(--text);font-size:.92rem;font-weight:600}.field-norm{border:1px solid var(--border);pointer-events:none;background:#f1f5f9;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-end;gap:.15rem;min-width:7.5rem;max-width:100%;padding:.45rem .9rem;line-height:1.15;display:inline-flex}.field-norm-label{color:#64748b;letter-spacing:.01em;font-size:.78rem;font-weight:500}.field-norm-value{color:var(--accent);letter-spacing:-.02em;white-space:nowrap;font-size:1.5rem;font-weight:700}@media (width<=600px){.field-norm{align-items:flex-start;min-width:6.75rem;padding:.4rem .8rem}.field-norm-value{font-size:1.4rem}.field-heading{align-items:flex-start}}.field input,.field select{width:100%;min-height:3.15rem;font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);appearance:none;background:#f8fafc;outline:none;padding:.85rem 1rem;font-size:1.08rem;transition:border-color .18s,box-shadow .18s,background .18s}.field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a6a7a' d='M1.4 0.6L6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.field input[type=number]{appearance:textfield}.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input:focus,.field select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #2563eb26}.field-hint{color:var(--text-muted);margin:0;font-size:.85rem}.field-hint-muted{color:#94a3b8;font-size:.75rem;font-weight:400}.toggle-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.toggle{cursor:pointer;background:#cbd5e1;border:none;border-radius:999px;flex-shrink:0;width:3.1rem;height:1.75rem;padding:0;transition:background .2s;position:relative}.toggle-on{background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;width:1.35rem;height:1.35rem;transition:transform .2s;position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 3px #0003}.toggle-on .toggle-knob{transform:translate(1.35rem)}.btn-reset{min-height:auto;font:inherit;color:#94a3b8;cursor:pointer;text-underline-offset:.2em;background:0 0;border:none;border-radius:0;align-self:flex-start;margin-top:0;padding:.35rem .15rem;font-size:.85rem;font-weight:500;text-decoration:underline;transition:color .18s,transform 90ms ease-out}.btn-reset:hover{color:var(--text-muted);background:0 0}.btn-reset:active{transform:scale(.98)}.form-actions{flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:.35rem;display:flex}.btn-pdf{min-height:2.75rem;font:inherit;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;padding:.65rem 1.15rem;font-size:.95rem;font-weight:650;transition:background .18s,opacity .18s,transform 90ms ease-out}.btn-pdf:hover:not(:disabled){background:#1d4ed8}.btn-pdf:active:not(:disabled){transform:scale(.98)}.btn-pdf:disabled{color:#94a3b8;opacity:1;cursor:not-allowed;background:#e2e8f0;border-color:#e2e8f0}.btn-share{min-height:2.75rem;font:inherit;color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1.15rem;font-size:.95rem;font-weight:650;transition:background .18s,border-color .18s,opacity .18s,transform 90ms ease-out;display:inline-flex}.btn-share:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd}.btn-share:active:not(:disabled){transform:scale(.98)}.btn-share:disabled{opacity:.65;cursor:not-allowed}.btn-share:focus-visible,.btn-pdf:focus-visible,.btn-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-share-icon{flex-shrink:0}.install-prompt{flex-direction:column;gap:.65rem;margin:0 0 1rem;display:flex}.btn-install{min-height:2.5rem;font:inherit;color:#0f172a;border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #cbd5e1;align-self:flex-start;padding:.55rem 1rem;font-size:.9rem;font-weight:650;transition:background .18s,border-color .18s}.btn-install:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.btn-install:disabled{opacity:.65;cursor:not-allowed}.btn-install:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ios-install-hint{color:#334155;border-radius:var(--radius-sm);background:#f8fafc;border:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .85rem;padding:.65rem .85rem;font-size:.85rem;line-height:1.35;display:flex}.ios-install-hint p{flex:12rem;margin:0}.ios-install-hint-dismiss{min-height:2rem;font:inherit;color:#64748b;border-radius:var(--radius-sm);cursor:pointer;text-underline-offset:.15em;background:0 0;border:none;padding:.25rem .55rem;font-size:.8rem;font-weight:600;text-decoration:underline}.ios-install-hint-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-toast{z-index:40;color:#fff;pointer-events:none;background:#0f172a;border-radius:999px;max-width:calc(100vw - 2rem);padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a47}@media (width<=480px){.form-actions{gap:.65rem}.btn-pdf,.btn-share{flex:calc(50% - .35rem);min-width:8.5rem}.btn-reset{flex:100%}}.field input:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.field-error{color:var(--danger);margin:0;font-size:.8rem;font-weight:500}.form-pdf-error{color:var(--danger);margin:0;font-size:.85rem;font-weight:500}.summary-card{box-shadow:var(--shadow-strong);background:linear-gradient(#fff 0%,#f7faf8 100%);border-color:#cfe3d6;padding:0;transition:box-shadow .15s ease-out;animation-delay:60ms;overflow:hidden}.summary-card.is-refreshing{animation:.28s ease-out summaryRefresh}.summary-card.is-pulse{box-shadow:0 14px 38px #1a23322b}.summary-hero{background:linear-gradient(165deg,#ecfdf5 0%,#fff 55%);border-bottom:1px solid #dceee3;padding:2.15rem 2rem 1.85rem}.summary-context{color:#94a3b8;letter-spacing:.01em;margin:0 0 .95rem;font-size:.8rem;font-weight:500}.summary-label{color:var(--text-muted);margin:0 0 .55rem;font-size:1.1rem;font-weight:650}.summary-net{color:var(--success);letter-spacing:-.03em;word-break:break-word;margin:0;font-size:clamp(2.6rem,6vw,3.55rem);font-weight:750;line-height:1.08}.summary-net-placeholder{color:#94a3b8;letter-spacing:-.01em;font-size:clamp(1.55rem,4vw,2.1rem);font-weight:600;animation:none}.summary-grid{grid-template-columns:1fr 1fr;gap:.85rem;margin:0;padding:1.15rem 1.25rem 1.25rem;display:grid}.summary-stat{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc;flex-direction:column;justify-content:space-between;min-width:0;min-height:5.4rem;padding:.95rem 1rem;display:flex}.summary-stat dt{color:var(--text-muted);margin:0 0 .45rem;font-size:.78rem;line-height:1.35}.summary-stat dd{color:var(--text);word-break:break-word;margin:auto 0 0;font-size:1.02rem;font-weight:650}.error-card{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.error-card p{margin:0;font-weight:500}.breakdown{grid-template-columns:1fr 1fr;gap:1.75rem;display:grid}.breakdown-card{animation-delay:.1s}.breakdown-list{flex-direction:column;gap:0;margin:0;display:flex}.breakdown-list>div{border-bottom:1px solid #e8eef4;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:1.25rem;padding:.9rem 0;display:grid}.breakdown-list>div:last-child{border-bottom:none;padding-bottom:0}.breakdown-list>div:first-child{padding-top:0}.breakdown-list dt{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.93rem;line-height:1.45}.breakdown-list dd{white-space:nowrap;text-align:right;color:var(--text);margin:0;font-size:.98rem;font-weight:600}.breakdown-total{border-top:1px solid var(--border);margin-top:.35rem;padding-top:1rem!important}.breakdown-total dt,.breakdown-total dd{color:var(--text)!important;font-weight:700!important}.breakdown-net dt,.breakdown-net dd{color:var(--success)!important;font-size:1.05rem!important;font-weight:750!important}.app-disclaimer{text-align:center;color:#94a3b8;max-width:46rem;margin:2rem auto 0;font-size:.78rem;font-weight:400;line-height:1.5}.brand-footer{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin:1.75rem 0 0;padding:0 .5rem .25rem;display:flex;overflow:hidden}.brand-footer-bus{opacity:.18;width:min(420px,88%);height:auto;box-shadow:none;background:0 0;border:0;outline:none;margin-inline:auto;display:block}@media (width<=1366px){.app{max-width:1040px;padding:1.75rem 1.35rem 3rem}}@media (width<=900px){.layout-main,.breakdown{grid-template-columns:1fr;gap:1.35rem}.summary-net{font-size:clamp(2.3rem,9vw,3rem)}}@media (width<=600px){.app{padding:1.15rem .85rem 2.5rem}.app-header{margin-bottom:1.5rem}.card{padding:1.35rem 1.15rem}.summary-hero{padding:1.65rem 1.25rem 1.45rem}.summary-grid{grid-template-columns:1fr;padding:1rem 1rem 1.1rem}.summary-stat{min-height:4.6rem}.breakdown-list>div{column-gap:.85rem}.app-disclaimer{text-align:left;margin-top:1.5rem}.brand-footer{margin-top:1.35rem}.brand-footer-bus{opacity:.17;width:min(240px,78%);margin-inline:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.summary-card.is-refreshing,.summary-card.is-pulse{opacity:1!important;box-shadow:var(--shadow-strong)!important;animation:none!important;transform:none!important}.btn-pdf:active:not(:disabled),.btn-share:active:not(:disabled),.btn-reset:active{transform:none!important}}
