:root{--ink:#211525;--muted:#625467;--purple:#653891;--deep:#412361;--lilac:#eee4f7;--pink:#f9eaed;--line:#d8cadb;--paper:#fffbfa;--white:#fff;--serif:Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:2}.top{max-width:1200px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.top>a:last-child{color:var(--deep);font-weight:700}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font-weight:700}.brand img{width:110px;max-height:48px;object-fit:contain}.shell{max-width:1200px;margin:auto;padding:48px 24px 72px}.intro{max-width:760px}.kicker{color:var(--purple);letter-spacing:.13em;font-size:.75rem;font-weight:800;margin:0 0 8px}.intro h1{font:700 clamp(2.3rem,5vw,4.5rem)/1.05 var(--serif);margin:0 0 16px}.intro p{font-size:1.1rem;color:var(--muted)}.notice{margin:32px 0;padding:16px 20px;background:var(--pink);border-left:5px solid var(--purple);border-radius:5px}.layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start;gap:28px}form,aside{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #3e1c5610}form{padding:24px}form section+section{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}h2{font:700 1.55rem/1.15 var(--serif);margin:0 0 18px}h3{margin:0;font-size:.95rem}.fields{display:grid;gap:15px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;font-weight:650;font-size:.9rem}input,select{width:100%;font:inherit;padding:10px 11px;border:1px solid #bbaec0;border-radius:7px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid #cfb6e8;border-color:var(--purple)}small,.hint{display:block;font-size:.78rem;font-weight:400;color:var(--muted)}.hint{margin:.5rem 0 0}.repeat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.secondary,.remove{border:1px solid var(--purple);background:#fff;color:var(--deep);padding:7px 10px;border-radius:7px;font:700 .85rem var(--sans);cursor:pointer}.adjustment{position:relative;margin:16px 0 0;padding:16px;border:1px solid var(--line);border-radius:8px}.adjustment legend{font-weight:800;font-size:.85rem}.remove{position:absolute;right:10px;top:8px;border-color:transparent;font-size:1.25rem;padding:0 7px}.calculate,.contact-btn{display:block;width:100%;padding:14px;background:var(--purple);border:0;border-radius:8px;color:#fff;font:800 1rem var(--sans);cursor:pointer;margin-top:25px;text-align:center;text-decoration:none}.calculate:hover,.contact-btn:hover{background:var(--deep)}.errors{color:#a9002a;font-weight:700}.results-empty{padding:32px}.results-head{padding:25px;background:var(--deep);color:#fff;border-radius:14px 14px 0 0}.results-head .kicker{color:#e9d5ff}.results-head h2{font-size:2rem}.results-head p{margin:6px 0}.warning{margin-top:12px!important;padding:8px;background:#fff1b9;color:#413600;border-radius:5px;font-size:.85rem}.result-list{padding:0 22px}.result-line{padding:17px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.result-line>strong{font-size:1.05rem;white-space:nowrap}.result-line small{color:#9c335c}.result-line details{grid-column:1/-1;font-size:.85rem;color:var(--muted)}summary{cursor:pointer;color:var(--purple);font-weight:700}.result-line details p{margin:.5rem 0 0}.total{display:flex;justify-content:space-between;align-items:center;margin:22px;padding:17px;background:var(--lilac);color:var(--deep);border-radius:8px;font-weight:800}.total strong{font-size:1.5rem}.history{border-top:1px solid var(--line);padding:22px}.history h3{font:700 1.2rem var(--serif);margin-bottom:12px}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.8rem}th,td{padding:8px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted)}.contact{margin:22px;padding:20px;background:var(--pink);border-radius:8px}.contact h3{font:700 1.2rem var(--serif)}.contact-btn{margin-top:14px}.contact-btn{width:auto;display:inline-block}@media(max-width:850px){.layout{grid-template-columns:1fr}.top{padding:12px 16px}.brand span{display:none}.shell{padding:28px 16px}.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.two,.four{grid-template-columns:1fr}.top>a:last-child{font-size:.85rem}.intro h1{font-size:2.4rem}form{padding:17px}.result-line{grid-template-columns:1fr}.result-line>strong{grid-row:2}.total{margin:17px}}
