.page{position:relative;z-index:1;max-width:580px;margin:0 auto;padding:3rem 1.5rem 4rem}header{margin-bottom:2.75rem}.page-icon{display:block;margin:0 auto 1.5rem;opacity:.18}header h1{font-family:var(--serif);font-size:2.25rem;font-weight:500;font-optical-sizing:auto;color:var(--ink);letter-spacing:-.02em;line-height:1.15;margin-bottom:.375rem}header p{font-size:.9rem;font-weight:400;color:var(--text-muted);letter-spacing:.01em}.input-section{margin-bottom:2rem}.input-label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.625rem}.price-field{display:flex;align-items:baseline;border-bottom:2px solid var(--rule);padding-bottom:.5rem;transition:border-color .25s ease}.price-field:focus-within{border-bottom-color:var(--forest)}.price-field .currency{font-family:var(--serif);font-size:1.75rem;font-weight:400;color:var(--text-muted);pointer-events:none;line-height:1}.price-field input{flex:1;border:none;background:transparent;padding:0 0 0 .25rem;font-family:var(--serif);font-size:2.5rem;font-weight:400;font-optical-sizing:auto;color:var(--ink);outline:none;caret-color:var(--copper);line-height:1}.price-field input::placeholder{color:var(--rule)}.options-section{margin-bottom:2.5rem}.options-label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.625rem}.options-list{display:flex;flex-direction:column;gap:.375rem}.opt{display:flex;align-items:center;gap:.875rem;padding:.75rem .875rem;border-radius:6px;cursor:pointer;user-select:none;transition:background .2s ease;border-left:3px solid transparent}.opt:hover{background:var(--cream-dark)}.opt input{display:none}.opt-indicator{width:18px;height:18px;border:2px solid var(--rule);border-radius:4px;flex-shrink:0;display:grid;place-items:center;transition:all .2s ease}.opt-indicator svg{width:10px;height:10px;opacity:0;transform:scale(.5);transition:all .2s ease}.opt-text{flex:1;min-width:0}.opt-title{display:block;font-weight:500;font-size:.925rem;color:var(--ink);transition:color .2s ease}.opt-sub{display:block;font-size:.775rem;color:var(--text-muted);margin-top:.0625rem}.opt.on-green{background:var(--sage-light);border-left-color:var(--sage)}.opt.on-green .opt-indicator{background:var(--sage);border-color:var(--sage)}.opt.on-green .opt-indicator svg{opacity:1;transform:scale(1)}.opt.on-green .opt-title{color:var(--forest)}.opt.on-blue{background:var(--blue-light);border-left-color:var(--blue)}.opt.on-blue .opt-indicator{background:var(--blue);border-color:var(--blue)}.opt.on-blue .opt-indicator svg{opacity:1;transform:scale(1)}.opt.on-blue .opt-title{color:var(--blue)}.opt.on-red{background:var(--terra-light);border-left-color:var(--terra)}.opt.on-red .opt-indicator{background:var(--terra);border-color:var(--terra)}.opt.on-red .opt-indicator svg{opacity:1;transform:scale(1)}.opt.on-red .opt-title{color:var(--terra)}.opt-hidden{display:none}.results{border-top:1px solid var(--rule);padding-top:2rem}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-muted);font-size:.9rem;font-style:italic;font-family:var(--serif)}.ledger{animation:fadeUp .3s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ledger-table{width:100%;border-collapse:collapse;font-size:.875rem}.ledger-table tbody td{padding:.5rem 0;border-bottom:1px solid var(--rule-light);vertical-align:baseline}.ledger-table tbody tr{animation:rowIn .25s ease both}@keyframes rowIn{0%{opacity:0}to{opacity:1}}.ledger-table .col-desc{color:var(--text-muted)}.ledger-table .col-desc .row-rate{font-weight:600;color:var(--text);display:inline-block;min-width:2rem}.ledger-table .col-debit{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;color:var(--terra)}.ledger-table .col-credit{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;color:var(--sage)}.ledger-table .row-nil .col-credit{color:var(--text-muted)}.ledger-table .row-section-header td{padding-top:1.25rem;padding-bottom:.5rem;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--rule)}.ledger-table .row-group-header td{padding-top:1.25rem;padding-bottom:.625rem;font-family:var(--serif);font-size:.925rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--rule)}.ledger-table .row-group-header+.row-section-header td{padding-top:.75rem}.ledger-table .row-subtotal td{border-top:1px solid var(--rule);border-bottom:none;padding-top:.625rem;padding-bottom:1rem}.ledger-table .row-subtotal .col-desc{font-size:.8rem;font-weight:500;color:var(--text-muted)}.ledger-table .row-subtotal .col-total{font-family:var(--serif);font-size:1.125rem;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-table .row-total td{border-top:2px solid var(--ink);border-bottom:none;padding-top:.875rem}.ledger-table .row-total .col-desc{font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--ink)}.ledger-table .col-total{text-align:right;font-family:var(--serif);font-size:1.75rem;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}.total-divider{height:2px;background:var(--ink);margin-top:.25rem;position:relative}.total-divider:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--ink)}.total-line{display:flex;align-items:baseline;justify-content:space-between;padding-top:.875rem}.total-label{font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--ink)}.total-amount{font-family:var(--serif);font-size:1.75rem;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.effective-line{text-align:right;font-size:.775rem;color:var(--text-muted);margin-top:.25rem;letter-spacing:.02em}.download-btn{display:flex;align-items:center;gap:.5rem;margin-left:auto;margin-top:1.25rem;padding:.5rem 1rem;font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--rule);border-radius:6px;cursor:pointer;transition:all .2s ease}.download-btn:hover{color:var(--ink);border-color:var(--text-muted)}.download-btn svg{width:14px;height:14px}.info{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule-light)}.info h2{font-family:var(--serif);font-size:1.125rem;font-weight:500;color:var(--ink);margin-bottom:.75rem}.info h3{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1.25rem;margin-bottom:.5rem}.info p{font-size:.85rem;color:var(--text-muted);line-height:1.65;margin-bottom:.625rem}.info-cite{display:inline-block;font-size:.675rem;font-weight:500;color:var(--text-muted);text-decoration:none;letter-spacing:.02em;padding:.1875rem .5rem;border:1px solid var(--rule-light);border-radius:3px;margin-bottom:.5rem;transition:all .2s ease}.info-cite:hover{color:var(--forest);border-color:var(--sage)}@media(max-width:480px){.page{padding:2rem 1.25rem 3rem}header h1{font-size:1.75rem}.price-field input{font-size:2rem}.price-field .currency,.total-amount,.ledger-table .col-total{font-size:1.375rem}}
