:root{--flix-purple:#4b268f;--flix-purple-600:#3f2079;--flix-purple-700:#331a63;--flix-purple-050:#f5f1fc;--flix-purple-100:#ebe3f9;--flix-purple-200:#d9caf1;--flix-gold:#f4b000;--bg:#f4f4f8;--surface:#fff;--surface-2:#faf9fd;--text:#191527;--text-muted:#6b6580;--text-faint:#928ca6;--border:#e8e6f0;--border-strong:#d6d2e4;--danger:#c0362c;--danger-bg:#fceeec;--danger-border:#f1c7c2;--r-sm:7px;--r-md:11px;--r-lg:14px;--shadow-card:0 1px 2px #1915270a, 0 12px 30px -18px #4b268f29;--ring:0 0 0 3px #4b268f21;--font:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}#root{flex-direction:column;height:100%;display:flex}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}h1,h2,h3,h4{margin:0;line-height:1.2}button{font-family:inherit}:focus-visible{outline:2.5px solid var(--flix-gold);outline-offset:2px;border-radius:5px}.app-header{background:linear-gradient(180deg, var(--flix-purple) 0%, var(--flix-purple-600) 100%);border-bottom:2px solid var(--flix-gold);color:#fff;flex:none}.app-header .brand{align-items:center;gap:12px;max-width:1240px;margin:0 auto;padding:9px 20px;display:flex}.brand-name{letter-spacing:.3px;font-size:18px;font-weight:800}.brand-name .dot{color:var(--flix-gold)}.brand-divider{background:#ffffff47;width:1px;height:18px}.brand-tagline{color:#e9e0fb;font-size:12.5px;font-weight:500}@media (width<=600px){.brand-divider{display:none}.app-header .brand{flex-wrap:wrap;gap:2px 10px;padding:8px 14px}.brand-tagline{flex-basis:100%;font-size:11.5px}}.page{flex-direction:column;flex:1;width:100%;max-width:1240px;min-height:0;margin:0 auto;padding:14px 20px 20px;display:flex}.mode-switch{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:999px;flex:none;align-self:flex-start;gap:3px;margin-bottom:12px;padding:4px;display:inline-flex}.mode-switch button{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-direction:column;align-items:center;padding:7px 18px;font-size:13px;font-weight:600;line-height:1.15;transition:background-color .12s,color .12s;display:flex}.mode-switch button:hover{color:var(--text)}.mode-switch button[aria-pressed=true]{background:var(--flix-purple);color:#fff}.mode-switch .sheet-hint{opacity:.82;font-size:10px;font-weight:500}@media (width<=520px){.mode-switch{width:100%;display:flex}.mode-switch button{flex:1}}.layout{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:start;gap:18px;min-height:0;display:grid}.layout.solo>.result-col{display:none}@media (width>=981px){.layout.solo{grid-template-columns:minmax(0,680px)}.page{overflow:hidden}.layout{flex:1;align-items:stretch}.layout>.form-col,.layout>.result-col{overscroll-behavior:contain;min-height:0;max-height:100%;padding-right:4px;overflow-y:auto}}@media (width<=980px){.layout{grid-template-columns:1fr;gap:14px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px 18px}.card-head{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.card-head h2{font-size:16px;font-weight:700}.card-head .card-sub{color:var(--text-muted);font-size:11.5px}.field-grid{grid-template-columns:1fr 1fr;align-items:start;gap:0 16px;display:grid}.field-grid .span-2{grid-column:1/-1}@media (width<=520px){.field-grid{grid-template-columns:1fr}}.grid-label{text-transform:uppercase;letter-spacing:.6px;color:var(--flix-purple);grid-column:1/-1;align-items:center;gap:7px;margin:10px 0 2px;font-size:10.5px;font-weight:700;display:flex}.grid-label:first-child{margin-top:0}.grid-label:not(:first-child){border-top:1px solid var(--border);padding-top:9px}.grid-label:before{content:"";background:var(--flix-gold);border-radius:2px;flex:none;width:12px;height:2px}.field{margin-bottom:10px}.field>label,.field>.field-label{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.field .req{color:var(--flix-purple);margin-left:2px}.field .hint{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.35}.field .error-text{color:var(--danger);margin-top:3px;font-size:11px;font-weight:500}.input,.select{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;height:38px;color:var(--text);padding:0 11px;font-size:14px;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--text-faint)}.input:focus,.select:focus{border-color:var(--flix-purple);box-shadow:var(--ring);outline:none}.input.with-prefix{padding-left:27px}.input.with-suffix{padding-right:28px}.input-wrap{position:relative}.input-wrap .prefix,.input-wrap .suffix{color:var(--text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;transform:translateY(-50%)}.input-wrap .prefix{left:10px}.input-wrap .suffix{right:11px}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger);background:var(--danger-bg)}.select{cursor:pointer}.yesno{background:var(--flix-purple-050);border:1px solid var(--border-strong);border-radius:var(--r-sm);gap:2px;height:38px;padding:2px;display:inline-flex}.yesno button{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 20px;font-size:13px;font-weight:600;transition:background-color .12s,color .12s}.yesno button:hover{color:var(--text)}.yesno button[aria-pressed=true]{background:var(--flix-purple);color:#fff}.checkbox-row{align-items:center;gap:7px;height:38px;font-size:12.5px;display:flex}.checkbox-row input{width:15px;height:15px;accent-color:var(--flix-purple)}.note{background:var(--flix-purple-050);border:1px solid var(--flix-purple-100);color:var(--flix-purple-700);border-radius:var(--r-sm);gap:8px;margin-bottom:12px;padding:8px 10px;font-size:11.5px;line-height:1.4;display:flex}.note:before{content:"i";background:var(--flix-purple);color:#fff;border-radius:50%;flex:none;place-items:center;width:15px;height:15px;margin-top:1px;font-size:10px;font-style:italic;font-weight:700;display:grid}.note .rate-value{font-weight:700}.reference-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px;line-height:1.35}.actions{gap:10px;margin-top:14px;display:flex}.btn{appearance:none;border-radius:var(--r-sm);cursor:pointer;border:0;padding:10px 18px;font-size:13.5px;font-weight:700;transition:background-color .12s,transform 60ms}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--flix-purple);color:#fff;flex:1;box-shadow:0 2px 7px -2px #4b268f80}.btn-primary:hover{background:var(--flix-purple-600)}.btn-primary:disabled{background:var(--border-strong);box-shadow:none;cursor:progress}.btn-secondary{background:var(--surface);color:var(--flix-purple);border:1.5px solid var(--border-strong)}.btn-secondary:hover{background:var(--surface-2)}.empty-state{border:1.5px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-muted);text-align:center;padding:30px 18px}.empty-state strong{color:var(--text);margin-bottom:3px;font-size:14px;display:block}.empty-state p{margin:0;font-size:12.5px}.loading-row{color:var(--text-muted);align-items:center;gap:9px;padding:4px 0 12px;font-size:13px;display:flex}.spinner{border:2px solid var(--flix-purple-100);border-top-color:var(--flix-purple);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.error-banner{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--r-sm);margin-bottom:12px;padding:10px 12px;font-size:12.5px}.error-banner strong{margin-bottom:2px;display:block}.summary-title{margin-bottom:2px;font-size:15px;font-weight:700}.summary-sub{color:var(--text-muted);margin:0 0 10px;font-size:11px}.hero{background:linear-gradient(155deg, var(--flix-purple) 0%, var(--flix-purple-700) 100%);color:#fff;border-radius:var(--r-md);margin-bottom:10px;padding:13px 16px;position:relative;overflow:hidden}.hero:before{content:"";background:var(--flix-gold);height:3px;position:absolute;inset:0 0 auto}.hero .hero-label{text-transform:uppercase;letter-spacing:.5px;color:#e5d9fb;font-size:10.5px;font-weight:600}.hero .hero-value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:800}.hero .hero-caption{color:#d7c8f5;margin-top:4px;font-size:10.5px}.tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);padding:8px 10px}.tile .t-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.tile .t-value{font-variant-numeric:tabular-nums;margin-top:1px;font-size:15px;font-weight:700}.tile .t-exact{color:var(--text-faint);margin-top:1px;font-size:10px}.tile.span-2{grid-column:1/-1}.tile.commission{border-left:3px solid var(--flix-gold);background:#fffdf6;grid-column:1/-1}details.breakdown-toggle{border-top:1px solid var(--border);margin-top:12px}details.breakdown-toggle>summary{cursor:pointer;color:var(--flix-purple);-webkit-user-select:none;user-select:none;padding:9px 0 7px;font-size:12.5px;font-weight:600;list-style:none}details.breakdown-toggle>summary::-webkit-details-marker{display:none}details.breakdown-toggle>summary:before{content:"▸";margin-right:6px;transition:transform .12s;display:inline-block}details.breakdown-toggle[open]>summary:before{transform:rotate(90deg)}.breakdown h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:12px 0 4px;font-size:10.5px}.breakdown table{border-collapse:collapse;width:100%;font-size:12.5px}.breakdown td{border-bottom:1px solid var(--border);padding:5px 0}.breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.breakdown tr.subtotal td{border-top:1.5px solid var(--border-strong);border-bottom:none;padding-top:6px;font-weight:700}.breakdown .exact-table td:last-child{color:var(--text-muted);font-weight:500}
