.ve-fastpriskollen{--navy:#233142;--gold:#be9e44;--ink:#182838;--muted:#637182;--line:#dee5e9;--pale:#f5f8f8;--green:#12745e;--red:#ad4f39}
.ve-fastpriskollen *{box-sizing:border-box}
.ve-fastpriskollen{margin:0;background:#f0f4f5;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}
.ve-fastpriskollen main{max-width:1120px;margin:26px auto;padding:0 18px 50px}
.ve-fastpriskollen .hero{background:var(--navy);color:white;border-radius:20px;padding:30px 34px}
.ve-fastpriskollen .eyebrow{color:#e8ce7e;letter-spacing:.11em;font-size:12px;font-weight:800;text-transform:uppercase}
.ve-fastpriskollen .hero h1{color:#ffffff!important;font-size:clamp(28px,4vw,44px);line-height:1.1;margin:10px 0}
.ve-fastpriskollen .hero p{color:#d7e2e8;max-width:780px;line-height:1.55;margin:10px 0 0}
.ve-fastpriskollen .layout{display:grid;grid-template-columns:355px 1fr;gap:18px;margin-top:18px}
.ve-fastpriskollen .panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 4px 20px #172b3610}
.ve-fastpriskollen .panel h2{margin:0 0 15px;font-size:21px}
.ve-fastpriskollen .stack{display:grid;gap:14px}
.ve-fastpriskollen .field label{display:block;font-size:13px;font-weight:750;margin-bottom:6px}
.ve-fastpriskollen .field input,.ve-fastpriskollen .field select{width:100%;padding:11px 12px;font:inherit;border:1px solid #cbd5da;border-radius:9px;background:white;color:var(--ink)}
.ve-fastpriskollen .field input:focus,.ve-fastpriskollen .field select:focus{outline:2px solid #cbb16a;outline-offset:1px}
.ve-fastpriskollen .hint{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}
.ve-fastpriskollen .twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ve-fastpriskollen .checkbox{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;cursor:pointer}
.ve-fastpriskollen .checkbox input{margin-top:3px;accent-color:var(--navy)}
.ve-fastpriskollen .details{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfc}
.ve-fastpriskollen .details summary{cursor:pointer;font-size:13px;font-weight:800}
.ve-fastpriskollen .details .stack{padding-top:12px}
.ve-fastpriskollen .results{display:grid;gap:18px;align-content:start}
.ve-fastpriskollen .muted{color:var(--muted)}
.ve-fastpriskollen .mainmetric{font-size:clamp(31px,4vw,46px);font-weight:800;letter-spacing:-.05em;line-height:1.1;margin:9px 0}
.ve-fastpriskollen .chips{display:flex;gap:8px;flex-wrap:wrap}
.ve-fastpriskollen .chip{border-radius:99px;background:#edf3f3;color:#385366;font-size:12px;font-weight:700;padding:6px 10px}
.ve-fastpriskollen .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:20px 0}
.ve-fastpriskollen .metric{background:var(--pale);border-radius:12px;padding:13px}
.ve-fastpriskollen .metric small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.ve-fastpriskollen .metric strong{font-size:22px;font-weight:800}
.ve-fastpriskollen .sectionline{border-top:1px solid var(--line);margin:20px 0}
.ve-fastpriskollen .message{background:#f6f6ed;border-left:4px solid var(--gold);padding:13px 15px;border-radius:5px;line-height:1.55;font-size:14px}
.ve-fastpriskollen .rows{display:grid;gap:11px}
.ve-fastpriskollen .hrow{display:grid;grid-template-columns:minmax(102px,128px) 1fr auto;align-items:center;gap:10px;font-size:12px}
.ve-fastpriskollen .track{height:15px;border-radius:99px;background:#edf1f1;overflow:hidden}
.ve-fastpriskollen .fill{background:var(--navy);height:100%;border-radius:99px}
.ve-fastpriskollen .fill.fixed{background:var(--gold)}
.ve-fastpriskollen .legend{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:8px 0 18px}
.ve-fastpriskollen .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;background:var(--navy)}
.ve-fastpriskollen .dot.gold{background:var(--gold)}
.ve-fastpriskollen table{border-collapse:collapse;width:100%;font-size:13px}
.ve-fastpriskollen th{text-align:left;background:#f4f7f7}
.ve-fastpriskollen th,.ve-fastpriskollen td{border-bottom:1px solid var(--line);padding:11px 8px}
.ve-fastpriskollen td:not(:first-child),.ve-fastpriskollen th:not(:first-child){text-align:right}
.ve-fastpriskollen tr:last-child td{border-bottom:0}
.ve-fastpriskollen .scroller{overflow-x:auto}
.ve-fastpriskollen .pill{display:inline-block;padding:5px 9px;border-radius:99px;font-size:12px;background:#e9f4ef;color:var(--green);font-weight:750}
.ve-fastpriskollen .pill.bad{background:#f9ede8;color:var(--red)}
.ve-fastpriskollen .button{border:0;background:var(--navy);color:white;font:inherit;font-weight:750;padding:12px 16px;border-radius:10px;cursor:pointer}
.ve-fastpriskollen .button.secondary{background:#edf2f3;color:var(--navy)}
.ve-fastpriskollen .actions{display:flex;gap:9px;flex-wrap:wrap}
.ve-fastpriskollen .foot{color:var(--muted);font-size:12px;line-height:1.65}
.ve-fastpriskollen .error{color:var(--red);font-weight:650}
.ve-fastpriskollen .noresult{padding:30px;text-align:center;color:var(--muted)}
.ve-fastpriskollen .custom-row{display:grid;grid-template-columns:70px 1fr 70px;gap:10px;align-items:center;font-size:12px}
.ve-fastpriskollen .custom-row input{padding:7px 6px;width:100%;border:1px solid var(--line);border-radius:7px}
.ve-fastpriskollen .custom-row output{text-align:right}
.ve-fastpriskollen .customsum{font-size:12px;margin-top:10px}
.ve-fastpriskollen .warning{color:#986025}
@media(max-width:850px){.ve-fastpriskollen .layout{grid-template-columns:1fr}
.ve-fastpriskollen .metrics{grid-template-columns:1fr 1fr}
.ve-fastpriskollen .panel{padding:18px}}
@media(max-width:450px){.ve-fastpriskollen main{padding:0 10px}
.ve-fastpriskollen .hero{padding:24px 20px}
.ve-fastpriskollen .twocol{grid-template-columns:1fr 1fr}
.ve-fastpriskollen .metrics{grid-template-columns:1fr}
.ve-fastpriskollen .hrow{grid-template-columns:90px 1fr 70px}}
.ve-fastpriskollen .monthly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:13px}
.ve-fastpriskollen .monthly-grid .custom-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;min-width:0}
.ve-fastpriskollen .monthly-grid .custom-row span:first-child{font-size:15px;font-weight:800;line-height:1.2}
.ve-fastpriskollen .monthly-grid .custom-row input{width:100%;min-width:0;font-size:18px;line-height:1.2;padding:12px 10px;min-height:52px;border:1px solid #cbd5da;border-radius:8px;text-align:left;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.ve-fastpriskollen .monthly-grid .custom-row input::-webkit-outer-spin-button,.ve-fastpriskollen .monthly-grid .custom-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ve-fastpriskollen .monthly-grid .custom-row span:last-child{font-size:13px;color:var(--muted);line-height:1}
.ve-fastpriskollen .monthly-grid .custom-row input:focus{outline:2px solid #cbb16a;outline-offset:1px}
@media(max-width:420px){.ve-fastpriskollen .monthly-grid{grid-template-columns:1fr}}
.ve-fastpriskollen .hero h1{color:#fff!important}
.ve-fastpriskollen #calculate{background:#be9e44;color:#233142}
.ve-fastpriskollen .monthly-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.ve-fastpriskollen .monthly-grid .custom-row input{width:100%;min-width:0}

/* Delbar resultatlänk */
.ve-fastpriskollen .share-result{margin-top:14px;padding:16px;border:1px solid #d5dee7;border-radius:12px;background:#f8fafc}
.ve-fastpriskollen .share-result label{display:block;font-weight:700;margin-bottom:8px;color:#233142}
.ve-fastpriskollen .share-url-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ve-fastpriskollen .share-url-row input{flex:1 1 260px;min-width:0;width:100%;font-size:14px;padding:12px;border:1px solid #a8b4c3;border-radius:8px;background:#fff;color:#233142}
.ve-fastpriskollen .share-url-row button{flex:0 0 auto}
.ve-fastpriskollen .share-result .hint{margin:10px 0 0}
@media(max-width:600px){.ve-fastpriskollen .share-url-row button{width:100%}}
