@import "https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@500&display=swap";
:root{--ink:#1a1b23;--paper:#f4f3ef;--surface:#fff;--accent:#4f3cc9;--accent-soft:#e9e5fa;--slate:#6b6a66;--rule:#e2e0d8;--moss:#1d9e75;--moss-soft:#dff3ec}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,sans-serif}h1,h2{margin:0;font-family:Sora,sans-serif;font-weight:700}.nav{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;padding:20px 32px;display:flex}.nav-back{color:var(--slate);font-size:13px;text-decoration:none}.nav-back:hover{color:var(--accent)}.wrap{max-width:1000px;margin:0 auto;padding:0 24px 64px}.title{margin-bottom:6px;font-size:28px}.subtitle{color:var(--slate);margin-bottom:32px;font-size:14px}.calc-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:24px;box-shadow:0 1px 2px #1a1b230a,0 4px 12px #1a1b2308}.card h2{margin-bottom:16px;font-size:15px}.field{margin-bottom:16px}.field label{color:var(--slate);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.field input{border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-family:Inter,sans-serif;font-size:15px}.field input:focus{border-color:var(--accent);outline:none}.summary-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding:10px 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--slate);font-size:13px}.summary-value{font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:500}.summary-value.highlight{color:var(--accent);font-size:22px}.actions{gap:10px;margin-top:16px;display:flex}.btn{border:1px solid var(--rule);cursor:pointer;background:var(--surface);color:var(--ink);text-align:center;border-radius:8px;flex:1;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#3e2fa0}.btn:hover{border-color:var(--accent)}.schedule-title{margin:40px 0 16px;font-size:17px}.schedule-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--rule);border-radius:12px;width:100%;overflow:hidden}.schedule-table th,.schedule-table td{text-align:right;border-bottom:1px solid var(--rule);padding:10px 12px;font-size:13px}.schedule-table th:first-child,.schedule-table td:first-child,.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){text-align:left}.schedule-table th{background:var(--paper);color:var(--slate);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.schedule-table td{font-family:IBM Plex Mono,monospace}.schedule-table tr:last-child td{border-bottom:none}.disclaimer{color:var(--slate);margin-top:32px;font-size:12px;line-height:1.6}@media print{.nav,.actions,.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:1px solid #ccc}}@media (max-width:720px){.calc-grid{grid-template-columns:1fr}}.freq-toggle{gap:8px;display:flex}.freq-btn{border:1px solid var(--rule);background:var(--surface);color:var(--slate);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;font-weight:500}.freq-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.formula-note{color:var(--slate);background:var(--accent-soft);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.6}.print-only-header{display:none}@media print{.print-only-header{border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin-bottom:20px;padding:12px 0;font-size:13px;display:block}.print-only-header div{margin-bottom:4px}}.email-row{gap:8px;margin-top:12px;display:flex}.email-row input{border:1px solid var(--rule);border-radius:8px;flex:1;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px}.status-msg{margin-top:8px;font-size:12px}.status-msg.success{color:var(--moss)}.status-msg.error{color:#c0392b}
