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