:root{--brand:#0f766e;--brand-d:#0b5c56;--bg:#f1f5f9;--ink:#0f172a;--mut:#64748b;--line:#e2e8f0}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:720px;padding:max(12px, env(safe-area-inset-top)) 14px max(20px, env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}header h1{letter-spacing:-.02em;color:var(--brand);margin:4px 0 0;font-size:1.5rem}header h1 span{color:var(--mut);font-size:1rem;font-weight:400}h2{margin:0 0 10px;font-size:1.05rem}main{flex-direction:column;gap:14px;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.muted{color:var(--mut);margin:4px 0}.small{font-size:.82rem}.sr{position:absolute;left:-9999px}.buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=480px){.buttons{grid-template-columns:1fr}}.btn{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:10px 14px}.btn.big{padding:14px;font-weight:600}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-d)}.btn.link{color:var(--brand);background:0 0;border:0;padding:4px 8px;text-decoration:underline}.btn:disabled{opacity:.5;cursor:not-allowed}.tally{gap:10px;margin:12px 0 4px;display:flex}.tally div{background:var(--bg);text-align:center;border-radius:10px;flex:1;padding:8px}.tally b{font-size:1.6rem;line-height:1.1;display:block}.tally span{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.progress{color:var(--brand);margin:6px 0}.error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:8px 0 0;padding:8px 10px}.info{color:#14532d;background:#f0fdf4;border-radius:8px;margin:8px 0 0;padding:8px 10px}.warn{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:12px 0 0;padding:10px;font-size:.9rem}.receipts{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.receipts li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.receipts li:last-child{border:0}.receipts span{color:var(--mut);font-size:.8rem;display:block}.amt{font-variant-numeric:tabular-nums;font-weight:600}fieldset{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:0;display:grid}.fmt{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:8px;padding:10px;display:flex}.fmt.sel{border-color:var(--brand);background:#f0fdfa}.fmt small{color:var(--mut);font-size:.76rem;display:block}.download .btn.big{width:100%}.ad{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:18px 8px 8px;position:relative;overflow:hidden}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-size:.62rem;position:absolute;top:4px;left:10px}.ad-placeholder{color:#94a3b8;background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px 20px);border-radius:8px;place-items:center;display:grid}.ad-top .ad-placeholder,.ad-bottom .ad-placeholder{min-height:60px}.ad-inline .ad-placeholder{min-height:100px}.ad-top,.ad-bottom{min-height:90px}.ad-inline{min-height:130px}footer{text-align:center}.overlay{z-index:10;background:#0f172a8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:22px}.modal h2{font-size:1.25rem}.price{color:var(--brand);margin:8px 0 14px;font-size:1.8rem;font-weight:700}.price span{color:var(--mut);font-size:.9rem;font-weight:400;display:block}.actions{flex-direction:column;gap:8px;display:flex}.price-box{background:linear-gradient(135deg, var(--brand), #115e59);color:#fff;text-align:center;border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px #0f766e4d}.price-main{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 12px;display:flex}.price-amt{letter-spacing:-.02em;font-size:2.2rem;font-weight:800}.price-amt small{opacity:.85;font-size:1rem;font-weight:600}.price-xcd{background:#ffffff2e;border-radius:999px;padding:2px 12px;font-size:1.4rem;font-weight:700}.price-per{opacity:.9;flex-basis:100%;font-size:.9rem}.price-note{background:#0000002e;border-radius:8px;margin:8px 0 0;padding:4px 8px;font-size:.85rem;display:inline-block}
