:root{
  --bg:#07111f;--panel:#0d1b2a;--panel2:#11263a;--text:#eef6ff;--muted:#9eb0c4;--accent:#53d6a8;--accent2:#78a9ff;--line:#203449;--white:#fff;--danger:#ff7b7b;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#06101d 0,#0a1524 40%,#eef3f7 40%,#eef3f7 100%);color:var(--text)}
a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,5vw,72px);background:rgba(6,16,29,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{font-weight:900;font-size:1.25rem;letter-spacing:-.03em}.site-header nav{display:flex;gap:18px;align-items:center}.site-header nav>a:not(.btn){color:#c5d2df;font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 20px;background:linear-gradient(135deg,var(--accent),#82ebc7);color:#042016;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(83,214,168,.18)}.btn:hover{transform:translateY(-1px)}.btn-small{padding:10px 14px;border-radius:12px}.btn-ghost{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.16);box-shadow:none}.hero{min-height:620px;padding:86px clamp(20px,7vw,110px) 110px;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.eyebrow{display:inline-block;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.hero h1,.admin-hero h1,.track-card h1{font-size:clamp(2.7rem,6vw,5.4rem);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.hero p{font-size:1.15rem;line-height:1.65;color:#b8c8d8;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-card{background:linear-gradient(145deg,#17324b,#0c1b2b);border:1px solid rgba(255,255,255,.1);border-radius:32px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.van-visual{height:260px;position:relative;background:linear-gradient(180deg,#74a9e8 0 45%,#5f7f53 45% 60%,#31404a 60%);border-radius:24px;overflow:hidden}.van-visual:before{content:"";position:absolute;left:14%;right:13%;bottom:35px;height:106px;border-radius:18px 22px 8px 8px;background:#f6fbff;box-shadow:inset -45px 0 0 #dbe8f1}.van-window{position:absolute;left:48%;bottom:96px;width:112px;height:58px;background:#29455f;border-radius:12px 18px 6px 6px;z-index:2}.van-door{position:absolute;left:42%;bottom:40px;width:10px;height:100px;background:#b8c8d5;z-index:2}.wheel{position:absolute;bottom:16px;width:50px;height:50px;border-radius:50%;background:#121b24;border:8px solid #2d3945;z-index:3}.w1{left:24%}.w2{right:17%}.van-logo{position:absolute;left:19%;bottom:70px;z-index:3;color:#0a2437;font-weight:900;font-size:1.05rem}.live-strip{display:flex;align-items:center;gap:10px;margin-top:22px;color:#dbe9f4}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px rgba(83,214,168,.12)}.section{padding:90px clamp(20px,7vw,110px);color:#0b1724;background:#eef3f7}.section-head{max-width:760px;margin-bottom:36px}.section-head h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{background:#fff;border:1px solid #dfe7ee;border-radius:22px;padding:28px;box-shadow:0 12px 30px rgba(10,30,50,.06)}.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0d2236;color:#fff;font-weight:900}.steps h3{font-size:1.2rem;margin:22px 0 8px}.steps p{color:#617387;line-height:1.6}.booking-section{background:#f7f9fb}.booking-shell{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start}.progress{position:sticky;top:100px;background:#0c1b2b;border-radius:22px;padding:18px;color:#fff}.progress-item{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;color:#8fa4b7}.progress-item.active{background:#142a3f;color:#fff}.progress-item.done{color:var(--accent)}.progress-num{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;border:1px solid #365069;font-size:.8rem;font-weight:800}.booking-card{background:#fff;border-radius:24px;border:1px solid #dfe7ee;padding:28px;box-shadow:0 18px 60px rgba(20,40,60,.08)}.form-step{display:none}.form-step.active{display:block}.form-step h3{font-size:1.65rem;letter-spacing:-.025em;margin:0 0 22px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-card{border:1px solid #d9e3eb;border-radius:16px;padding:18px;background:#fff;text-align:left;cursor:pointer;transition:.2s}.choice-card:hover{border-color:#92b6d8;transform:translateY(-1px)}.choice-card.selected{border:2px solid #0c6d50;background:#effcf7}.choice-card strong{display:block;font-size:1rem}.choice-card small{display:block;color:#74889b;margin-top:4px}.choice-card .price{color:#0b7655;font-weight:900;margin-top:10px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field label{font-weight:800;font-size:.92rem}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid #cfdbe5;border-radius:13px;font:inherit;background:#fff;color:#0b1724;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#4a91d0;box-shadow:0 0 0 4px rgba(74,145,208,.1)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.muted{color:#708195}.info-box{padding:16px;border-radius:14px;background:#edf6ff;border:1px solid #cfe5f7;color:#38566f}.summary{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #edf1f4}.summary-row strong:last-child{text-align:right}.summary-total{font-size:1.2rem}.check{display:flex;gap:10px;align-items:flex-start;margin-top:20px;color:#4f6274}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid #edf1f4}.hidden{display:none!important}.success-card{max-width:760px;margin:auto;background:#fff;border-radius:28px;padding:42px;text-align:center;box-shadow:0 20px 70px rgba(30,50,70,.12)}.success-icon{width:74px;height:74px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:#e9fbf4;color:#0c7656;font-size:2rem;font-weight:900}.success-card h2{font-size:2.3rem;letter-spacing:-.04em;margin:8px 0 10px}.success-card p{color:#637689;line-height:1.6}.status-box{margin:24px 0;padding:18px;border-radius:16px;background:#0d1d2c;color:#fff}.success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.success-actions .btn-ghost{color:#0b1724;border-color:#c8d4de}.admin-page{background:#eef3f7;color:#0b1724;min-height:100vh}.admin-main{padding:54px clamp(20px,6vw,90px)}.admin-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.admin-hero h1{color:#0b1724;font-size:clamp(2.4rem,5vw,4.8rem);margin-bottom:12px}.admin-hero p{color:#657789;max-width:640px}.metric{min-width:150px;background:#0d1d2c;color:#fff;border-radius:22px;padding:22px;text-align:center}.metric strong{display:block;font-size:2.2rem}.metric span{color:#9fb1c2}.admin-grid{display:grid;gap:18px}.booking-item{background:#fff;border:1px solid #dfe7ee;border-radius:22px;padding:22px;display:grid;grid-template-columns:1.4fr 1fr auto;gap:20px;align-items:center}.booking-item h3{margin:0 0 6px}.booking-meta{color:#64778a;display:grid;gap:5px}.status-pill{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:#eaf2f8;color:#33516b;font-size:.78rem;font-weight:900}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mini-btn{padding:9px 11px;border-radius:10px;border:1px solid #cdd9e3;background:#fff;font-weight:800;cursor:pointer}.mini-btn.primary{background:#0d1d2c;color:#fff;border-color:#0d1d2c}.track-main{min-height:calc(100vh - 74px);padding:70px 20px;background:#eef3f7;color:#0b1724}.track-card{max-width:860px;margin:auto;background:#fff;border-radius:28px;padding:36px;border:1px solid #dfe7ee}.track-card h1{font-size:clamp(2.2rem,5vw,4rem);color:#0b1724}.timeline{display:grid;gap:14px;margin:28px 0}.timeline-step{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;background:#f4f7fa;color:#8292a1}.timeline-step.done{background:#eafaf4;color:#0c7254}.timeline-step.current{background:#0e2235;color:#fff}.timeline-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;font-weight:900}.track-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.track-detail{background:#f5f8fa;padding:14px;border-radius:14px}.track-detail span{display:block;color:#7b8b99;font-size:.8rem;margin-bottom:4px}.track-detail strong{font-size:.98rem}footer{background:#07111f;color:#a8b8c7;padding:34px clamp(20px,7vw,110px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer strong{color:#fff}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:60px}.hero-card{max-width:680px}.steps{grid-template-columns:1fr}.booking-shell{grid-template-columns:1fr}.progress{position:static;display:flex;overflow:auto;gap:8px}.progress-item{min-width:max-content}.booking-item{grid-template-columns:1fr}.admin-actions{justify-content:flex-start}.admin-hero{align-items:flex-start;flex-direction:column}.track-details{grid-template-columns:1fr}}
@media(max-width:620px){.site-header{padding:15px 16px}.site-header nav>a:not(.btn){display:none}.hero{padding:44px 18px 70px}.hero h1{font-size:3.1rem}.hero-card{padding:18px;border-radius:22px}.van-visual{height:220px}.section{padding:64px 18px}.booking-card{padding:20px}.choice-grid,.two-col{grid-template-columns:1fr}.progress{padding:10px}.progress-item span:last-child{display:none}.form-actions{position:sticky;bottom:0;background:#fff;padding-bottom:4px}.success-card{padding:28px 20px}.admin-main{padding:36px 16px}.track-card{padding:24px 18px}}

/* v3 live status */
.track-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.track-lead{color:#66798c;line-height:1.65;margin:-8px 0 26px}.live-badge{display:inline-flex;align-items:center;gap:8px;background:#e9fbf4;color:#0b7354;border:1px solid #c8efdf;border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:900;letter-spacing:.08em}.live-pulse{width:8px;height:8px;border-radius:50%;background:#1db77d;box-shadow:0 0 0 0 rgba(29,183,125,.4);animation:livePulse 1.8s infinite}.current-status-card{display:flex;align-items:flex-start;gap:18px;background:linear-gradient(135deg,#0d2134,#12304a);color:#fff;border-radius:22px;padding:24px;margin:8px 0 24px;box-shadow:0 18px 40px rgba(15,38,59,.15)}.current-status-icon{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.1);font-size:1.5rem}.current-status-label{color:#8ce6c5;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.72rem}.current-status-card h2{margin:4px 0 7px;font-size:1.45rem}.current-status-card p{margin:0;color:#c9d8e5;line-height:1.55}.timeline-step div{display:grid;gap:2px}.timeline-step small{font-size:.75rem;opacity:.7}.track-footer-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid #edf1f4}.last-updated{color:#718395;font-size:.86rem}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-actions .mini-btn{text-decoration:none;color:#0b1724}.status-flash{animation:statusFlash .9s ease}@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(29,183,125,.38)}70%{box-shadow:0 0 0 9px rgba(29,183,125,0)}100%{box-shadow:0 0 0 0 rgba(29,183,125,0)}}@keyframes statusFlash{0%{transform:scale(.99);box-shadow:0 0 0 0 rgba(83,214,168,.35)}60%{box-shadow:0 0 0 12px rgba(83,214,168,0)}100%{transform:scale(1)}}
@media(max-width:620px){.track-topline{align-items:flex-start}.current-status-card{padding:20px 16px}.current-status-icon{flex-basis:46px;width:46px;height:46px}.track-footer-row{align-items:flex-start;flex-direction:column}.track-footer-row .mini-btn{width:100%}}

/* v6 – live-position */
.live-map-card{margin:18px 0;padding:18px;border:1px solid var(--line,#e5e7eb);border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.live-map-card.hidden{display:none}
.live-map-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:12px}
.live-map-head h2{margin:3px 0 0;font-size:1.25rem}
.live-map{height:330px;border-radius:16px;overflow:hidden;background:#eef2f7}
.location-admin-note[data-kind="ok"]{font-weight:700}
.location-admin-note[data-kind="error"]{font-weight:700}
@media (max-width:700px){.live-map{height:280px}.live-map-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* v7 – ETA, betalning, kvitto och garanti */
.eta-card{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0;padding:18px 20px;border-radius:18px;background:#ecf7ff;border:1px solid #cfe8f7;color:#12324b}.eta-card>div{display:grid;gap:3px}.eta-card span{color:#657f93;font-size:.8rem}.eta-card strong{font-size:1.35rem}.admin-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.admin-tool-group{border:1px solid #e0e8ef;border-radius:14px;padding:13px;background:#f8fafc}.admin-tool-group>strong{display:block;margin-bottom:8px;font-size:.9rem}.payment-row{display:flex;gap:8px;align-items:center}.payment-row select{min-width:140px;padding:9px 10px;border:1px solid #cdd9e3;border-radius:10px;background:#fff;color:#0b1724;font:inherit}.service-finish{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid #caeadf;background:#effbf6;border-radius:20px;margin:22px 0}.service-finish h2{margin:2px 0 6px}.service-finish p{margin:0 0 14px;color:#547064;line-height:1.55}.finish-icon{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:#0e7658;color:#fff;font-weight:900;font-size:1.2rem}.receipt-page{background:#edf2f6;color:#0b1724;min-height:100vh}.receipt-main{padding:48px 18px}.receipt-sheet{max-width:850px;margin:auto;background:#fff;border:1px solid #dde6ed;border-radius:26px;padding:36px;box-shadow:0 20px 60px rgba(17,38,56,.08)}.receipt-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid #e6edf2}.receipt-head h1{margin:3px 0 5px;font-size:2.4rem;letter-spacing:-.04em}.receipt-head p{margin:0;color:#728395}.receipt-state{height:max-content;padding:9px 12px;border-radius:999px;background:#e9fbf4;color:#0b7354;font-weight:900}.receipt-number{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #edf1f4}.receipt-number span,.receipt-grid span{display:block;color:#758697;font-size:.8rem;margin-bottom:4px}.receipt-number strong{font-size:1.15rem}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 0}.receipt-grid>div{background:#f6f8fa;border-radius:13px;padding:14px}.receipt-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #0d1d2c;border-bottom:2px solid #0d1d2c;padding:18px 0;font-size:1.15rem}.receipt-total strong{font-size:1.55rem}.warranty-box{margin:24px 0;padding:22px;border-radius:18px;background:#f0f8ff;border:1px solid #d7e9f8}.warranty-box h2{margin:3px 0 8px}.warranty-box p{margin:0;color:#5e7283;line-height:1.6}.receipt-note{color:#7a8997;font-size:.86rem;line-height:1.55}.receipt-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:26px}
@media(max-width:700px){.admin-tools{grid-template-columns:1fr}.eta-card,.receipt-head,.receipt-number{align-items:flex-start;flex-direction:column}.receipt-grid{grid-template-columns:1fr}.receipt-sheet{padding:24px 18px}.payment-row{align-items:stretch;flex-direction:column}.payment-row select{width:100%}}
@media print{body{background:#fff!important}.no-print{display:none!important}.receipt-main{padding:0}.receipt-sheet{box-shadow:none;border:0;border-radius:0;max-width:none;padding:0}.receipt-page{background:#fff}.receipt-note{font-size:.78rem}}

/* v8 – Swish */
.settings-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;align-items:end;background:#fff;border:1px solid #e7ebf0;border-radius:22px;padding:22px;margin:0 0 20px;box-shadow:0 12px 32px rgba(15,23,42,.05)}
.settings-panel.hidden{display:none}.settings-panel h2{margin:.2rem 0 .45rem}.settings-panel p{margin:0;color:#596273;max-width:660px}.settings-form label{font-weight:800;display:block;margin-bottom:8px}.settings-row{display:flex;gap:8px}.settings-row input{flex:1;min-width:0;border:1px solid #cfd6df;border-radius:12px;padding:11px 12px;font:inherit}
.swish-payment-card{background:linear-gradient(135deg,#eefbf7,#f8fffc);border:1px solid #bde9d9;border-radius:24px;padding:22px;margin:18px 0}.swish-payment-card.hidden{display:none}.swish-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.swish-head h2{font-size:2rem;margin:.2rem 0 .4rem}.swish-head p{margin:0;color:#52606c}.swish-logo{font-weight:900;letter-spacing:.12em;border:2px solid currentColor;border-radius:999px;padding:8px 12px;white-space:nowrap}.swish-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.swish-pay-grid>div{background:#fff;border:1px solid #d8eee6;border-radius:16px;padding:14px;display:grid;gap:7px}.swish-pay-grid span{font-size:.82rem;color:#687386}.swish-pay-grid strong{font-size:1.12rem}.swish-message{grid-column:1/-1}.swish-qr-box{display:grid;place-items:center;gap:10px;background:#fff;border:1px dashed #b6d7cb;border-radius:18px;padding:18px;min-height:84px}.swish-qr{width:min(320px,85vw);height:auto;display:block;border-radius:12px}.swish-payment-card .booking-meta{text-align:center;display:block;margin-top:12px}
@media(max-width:760px){.settings-panel{grid-template-columns:1fr}.settings-row{flex-direction:column}.swish-pay-grid{grid-template-columns:1fr}.swish-message{grid-column:auto}.swish-head{align-items:center}.swish-logo{font-size:.82rem}}
/* v9 – Lager och serviceprotokoll */
.site-header nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.inventory-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(920px,100%)}
.inventory-form input,.inventory-form select,.service-sheet input,.service-sheet textarea{width:100%;border:1px solid #d9e0e8;border-radius:12px;padding:12px 13px;font:inherit;background:#fff;color:#182230}
.inventory-card .status-pill.warning{background:#fff3cd;color:#7a5700}
.inventory-adjust{display:flex;align-items:center;gap:8px;margin-top:14px}.inventory-adjust strong{min-width:36px;text-align:center;font-size:1.15rem}
.service-main{max-width:1050px}.service-sheet{display:grid;gap:18px}.service-block{background:#fff;border:1px solid #e4e9ef;border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(18,31,53,.05)}.service-block h2{margin:0 0 14px}.service-block label{display:grid;gap:7px;margin-top:12px;font-weight:700}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item{display:flex!important;align-items:center;gap:10px!important;margin:0!important;padding:12px;border:1px solid #e5e9ef;border-radius:12px;font-weight:600!important}.check-item input{width:20px;height:20px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:14px}.service-photo{margin:0;position:relative}.service-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid #e5e9ef}.photo-delete{position:absolute;left:8px;bottom:8px;border:0;border-radius:999px;background:rgba(20,28,38,.84);color:#fff;padding:7px 10px;font-weight:700}.service-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:30px}
.part-status{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f4f7fa}.part-status.ok{background:#eaf8ef}.part-status.warn{background:#fff6df}
@media (max-width:850px){.inventory-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.inventory-form{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.service-block{padding:16px}.site-header nav{gap:9px;font-size:.92rem}}

/* v10 – rymligare lagerformulär */
.settings-panel.inventory-create{grid-template-columns:1fr;align-items:start;padding:28px}
.inventory-create>div{max-width:760px}
.inventory-form{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(320px,1.8fr) minmax(180px,.9fr);gap:14px 16px;width:100%;max-width:none;margin-top:8px;align-items:stretch}
.inventory-form input,.inventory-form select{min-width:0;height:52px;padding:14px 16px;font-size:1rem}
.inventory-form .inv-name,.inventory-form .inv-model{grid-column:span 2}
.inventory-form .inventory-submit{min-height:52px;padding:12px 20px;white-space:normal}
.inventory-form .inventory-msg{grid-column:1/-1;min-height:20px;align-self:center}
@media(max-width:1100px){.inventory-form{grid-template-columns:repeat(2,minmax(240px,1fr))}.inventory-form .inv-name,.inventory-form .inv-model{grid-column:auto}.inventory-form .inventory-msg{grid-column:1/-1}}
@media(max-width:700px){.settings-panel.inventory-create{padding:20px}.inventory-form{grid-template-columns:1fr;gap:12px}.inventory-form .inv-name,.inventory-form .inv-model,.inventory-form .inventory-msg{grid-column:auto}.inventory-form input,.inventory-form select,.inventory-form .inventory-submit{width:100%;min-height:54px}}


/* v12 dashboard + map booking + moving service van */
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}.dashboard-metrics article,.dashboard-panel{background:#fff;border:1px solid #dbe4ea;border-radius:22px;padding:20px;box-shadow:0 12px 30px rgba(4,25,43,.05)}.dashboard-metrics article{display:flex;flex-direction:column;gap:5px}.dashboard-metrics article span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#5f7484}.dashboard-metrics article strong{font-size:1.8rem;color:#0b2031}.dashboard-metrics article small{color:#7b8d99}.dashboard-panel{margin-bottom:22px}.section-head.compact{margin-bottom:14px}.section-head.compact h2{font-size:1.55rem;margin:.25rem 0 0}.next-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.next-job-card{display:grid;gap:5px;padding:15px;border:1px solid #dfe7ec;border-radius:16px;text-decoration:none;color:inherit;background:#fbfdfe}.next-job-card:hover{border-color:#61dbb6;transform:translateY(-1px)}
.booking-location-card{margin-top:14px;border:1px solid #dce6ec;border-radius:18px;overflow:hidden;background:#f8fbfc}.booking-location-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.booking-location-head>div{display:grid;gap:4px}.booking-location-head span{font-size:.86rem;color:#607482}.booking-map{height:280px;width:100%;background:#e9f0f3}.booking-location-card>.booking-meta{display:block;padding:10px 16px}.van-map-marker,.customer-map-marker{background:transparent!important;border:0!important}.van-map-bubble{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:#0b2031;border:3px solid #67dfbd;box-shadow:0 8px 20px rgba(5,24,39,.28);transition:transform .8s ease}.customer-map-pin{width:34px;height:34px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;background:#fff;border:3px solid #ff5a4c;color:#0b2031;box-shadow:0 5px 14px rgba(5,24,39,.2)}.customer-map-pin::first-letter{transform:rotate(45deg)}
@media(max-width:900px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.next-jobs{grid-template-columns:1fr}}
@media(max-width:560px){.dashboard-metrics{grid-template-columns:1fr 1fr;gap:10px}.dashboard-metrics article{padding:15px;border-radius:16px}.dashboard-metrics article strong{font-size:1.35rem}.booking-location-head{align-items:flex-start;flex-direction:column}.booking-map{height:240px}}

/* v13 – hero-bokning inspirerad av fältserviceflöde */
.hero{grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr);gap:54px;align-items:center;padding-top:64px}
.hero-booking-card{background:#fff;color:#102033;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.18)}
.hero-booking-head{display:flex;justify-content:space-between;gap:20px;padding:26px 28px 18px;align-items:flex-start}
.hero-booking-head h2{margin:3px 0 5px;font-size:1.7rem;letter-spacing:-.035em}.hero-booking-head p{margin:0;color:#68798b;font-size:.95rem;line-height:1.45}.hero-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#18a675}.hero-step-badge{font-size:.8rem;font-weight:800;color:#0b7f5b;background:#e7fbf3;padding:8px 10px;border-radius:999px;white-space:nowrap}
.hero-address-wrap{margin:0 28px 16px;height:52px;border:1px solid #d6e0e9;border-radius:14px;display:grid;grid-template-columns:42px 1fr 44px;align-items:center;background:#f9fbfd;box-shadow:0 5px 18px rgba(14,35,54,.05)}
.hero-address-wrap:focus-within{border-color:#53d6a8;box-shadow:0 0 0 4px rgba(83,214,168,.13)}.hero-address-icon{display:grid;place-items:center;color:#73879a;font-size:1.15rem}.hero-address-wrap input{border:0;background:transparent;outline:0;width:100%;font:inherit;color:#102033;padding:0}.hero-address-wrap input::placeholder{color:#9aabba}.hero-locate-btn{height:36px;width:36px;border:0;border-radius:10px;background:#e8f8f2;color:#14815f;font-size:1.1rem;cursor:pointer}
.hero-booking-map{height:300px;background:#dde7ef;border-top:1px solid #e0e7ed;border-bottom:1px solid #e0e7ed}.hero-map-note{padding:8px 28px 0;color:#7d8e9e;font-size:.78rem;min-height:26px}
.hero-service-title{padding:12px 28px 8px;font-weight:800;font-size:.92rem}.hero-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 28px 18px}.hero-service-card{min-height:112px;border:1px solid #dce5ec;border-radius:16px;background:#fff;padding:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#1b2b3c;cursor:pointer}.hero-service-card.selected{border:2px solid #53d6a8;background:#f3fcf9;box-shadow:0 8px 22px rgba(83,214,168,.12)}.hero-service-card.coming-soon{opacity:.48;cursor:not-allowed}.hero-service-icon{font-size:1.8rem}.hero-service-card strong{font-size:.92rem}.hero-service-card small{font-size:.75rem;color:#8293a3}
.hero-booking-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 28px 24px}.hero-selection{display:flex;align-items:center;gap:8px;color:#708295;font-size:.86rem}.hero-next-btn{border:0;border-radius:12px;background:linear-gradient(135deg,#53d6a8,#7be7c0);padding:13px 20px;font-weight:900;color:#05271b;cursor:pointer;min-width:112px}.hero-next-btn span{margin-left:8px}
.selected-service-address{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #dce5ec;border-radius:14px;background:#f8fbfd;color:#102033;margin-bottom:16px}.selected-service-address>span{font-size:1.45rem}.selected-service-address small{display:block;color:#7d8e9e;margin-bottom:3px}.selected-service-address strong{display:block;line-height:1.25}
@media(max-width:1050px){.hero{grid-template-columns:1fr;padding-top:54px}.hero-copy{max-width:760px}.hero-booking-card{max-width:820px;width:100%;justify-self:center}}
@media(max-width:640px){.site-header nav>a:not(.btn){display:none}.hero{padding:46px 16px 72px;gap:34px}.hero h1{font-size:clamp(2.55rem,14vw,4.1rem)}.hero-booking-card{border-radius:22px}.hero-booking-head{padding:20px 18px 14px}.hero-address-wrap{margin:0 18px 12px}.hero-booking-map{height:255px}.hero-map-note,.hero-service-title{padding-left:18px;padding-right:18px}.hero-service-grid{padding:0 18px 14px;gap:9px}.hero-service-card{min-height:104px;padding:11px}.hero-booking-footer{padding:12px 18px 18px}.hero-selection{font-size:.78rem}}

/* v14 premium map + automation workflow */
.hero-address-wrap{position:relative;display:flex;align-items:center}.hero-address-wrap #googleHeroAutocomplete{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:#102033}.hero-locate-btn{display:flex!important;align-items:center;gap:8px;background:#146ef5!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:10px 13px!important;font-size:.82rem!important;font-weight:900!important;white-space:nowrap;box-shadow:0 8px 20px rgba(20,110,245,.28)}.locate-cross{font-size:1.15rem}.hero-booking-map{position:relative;background:#dfeaf5}.hero-booking-map:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(10,33,55,.04)}.google-customer-pin{width:26px;height:26px;border-radius:50%;background:#146ef5;border:5px solid #fff;box-shadow:0 5px 18px rgba(20,110,245,.45);position:relative}.google-customer-pin:after{content:"";position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;left:4px;top:4px}.active-nav{color:#69e2bc!important}.automation-toolbar{background:#fff;border:1px solid #dbe4ea;border-radius:20px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.automation-toolbar>div:first-child{display:grid;gap:3px}.automation-toolbar span{color:#6c7f8e}.automation-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem}.automation-legend span{display:flex;align-items:center;gap:6px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.blue{background:#146ef5}.dot.green{background:#26c58d}.dot.amber{background:#f1ad35}.workflow-canvas{max-width:720px;margin:0 auto 28px;background:radial-gradient(circle at 1px 1px,#d9e3eb 1px,transparent 1px);background-size:18px 18px;border:1px solid #dce5ec;border-radius:28px;padding:34px 22px}.workflow-node{max-width:500px;margin:auto;background:#fff;border:1px solid #dce5ec;border-radius:18px;padding:16px 18px;display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;box-shadow:0 8px 24px rgba(11,32,49,.06)}.workflow-node.trigger{border-color:#8bb9ff}.workflow-node.auto{border-color:#9be6cb}.workflow-node.wait{border-color:#f5cf8e}.workflow-icon{width:44px;height:44px;border-radius:13px;background:#eff5fa;display:grid;place-items:center;font-size:1.35rem}.workflow-node small{font-size:.65rem;font-weight:900;letter-spacing:.12em;color:#7c8d9a}.workflow-node h3{margin:2px 0;font-size:1rem}.workflow-node p{margin:0;color:#718291;font-size:.82rem}.workflow-state{font-size:.72rem;font-weight:900;padding:6px 8px;border-radius:999px;background:#edf8f4;color:#16835f}.workflow-node.wait .workflow-state{background:#fff5e4;color:#9c6713}.workflow-line{height:28px;display:grid;place-items:center;color:#7fa5d6;font-weight:900}.automation-runs{display:grid;gap:9px}.automation-run{display:flex;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #e0e7ec;border-radius:14px;background:#fbfdfe}.automation-run>div{display:grid;gap:3px}.automation-run span{color:#718291;font-size:.82rem}.run-state{font-size:.72rem;border-radius:999px;padding:4px 8px;width:max-content;background:#eef3f6}.run-state.pending{background:#fff5e4;color:#93610f}.run-state.done{background:#eaf9f2;color:#137657}.run-state.failed{background:#fff0f0;color:#a53636}
@media(max-width:680px){.hero-address-wrap{flex-wrap:wrap}.hero-locate-btn{width:100%;justify-content:center;margin-top:8px}.automation-toolbar{align-items:flex-start;flex-direction:column}.workflow-canvas{padding:22px 12px}.workflow-node{grid-template-columns:40px 1fr}.workflow-state{grid-column:2}.automation-run{flex-direction:column}}

/* v15 – kalender, CRM, recensioner, statistik och konfigurerbara workflows */
.month-switch{display:flex;align-items:center;gap:10px;background:#fff;color:#0b2031;padding:10px;border-radius:16px}.month-switch strong{min-width:150px;text-align:center;text-transform:capitalize}.calendar-shell{background:#fff;border:1px solid #dbe4ea;border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(4,25,43,.05)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f4f8fa;border-bottom:1px solid #dbe4ea}.calendar-weekdays span{padding:12px;text-align:center;font-size:.78rem;font-weight:900;color:#617787;text-transform:uppercase}.calendar-day{min-height:150px;padding:9px;border-right:1px solid #e8eef2;border-bottom:1px solid #e8eef2;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.muted{background:#f8fafb}.calendar-day.today{background:#f2fbf8;box-shadow:inset 0 0 0 2px #53d6a8}.calendar-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.calendar-date>b{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#173047}.calendar-date span{font-size:.72rem;background:#e8f2f7;color:#607787;padding:3px 7px;border-radius:999px}.calendar-jobs{display:grid;gap:5px}.calendar-job{display:grid;grid-template-columns:42px 1fr;gap:1px 7px;padding:7px;border-radius:10px;background:#eef7ff;border-left:3px solid #146ef5;color:#173047}.calendar-job strong{grid-row:1/4;font-size:.75rem}.calendar-job span{font-size:.76rem;font-weight:800}.calendar-job small{font-size:.68rem;color:#607787}.calendar-job i{font-size:.64rem;color:#14815f;font-style:normal}
.crm-toolbar{display:flex;gap:12px;margin-bottom:18px}.crm-toolbar input,.crm-toolbar select,.report-range{background:#fff;border:1px solid #dbe4ea;border-radius:14px;padding:13px 14px;font:inherit;color:#173047}.crm-toolbar input{flex:1}.customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.customer-card{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #dbe4ea;border-radius:20px;padding:18px;color:#173047}.customer-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#146ef5,#53d6a8);color:#fff;display:grid;place-items:center;font-size:1.3rem;font-weight:900}.customer-avatar.big{width:64px;height:64px;font-size:1.55rem}.customer-main{display:grid;gap:3px}.customer-main h3{margin:0}.customer-main span,.customer-main small{color:#6b7f8e}.customer-stats{display:grid;grid-template-columns:auto auto;gap:2px 8px;text-align:right}.customer-stats span{font-size:.68rem;color:#718493}.customer-dialog{width:min(760px,92vw);border:0;border-radius:24px;padding:24px;color:#173047;box-shadow:0 30px 90px rgba(0,0,0,.3)}.customer-dialog::backdrop{background:rgba(5,17,29,.62)}.profile-head{display:flex;gap:16px;align-items:center}.profile-head h2{margin:0}.profile-head p{margin:3px 0;color:#687d8c}.profile-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.profile-metrics>div{padding:15px;border:1px solid #dfe7ec;border-radius:14px;display:grid}.profile-metrics strong{font-size:1.35rem}.profile-metrics span{color:#718493;font-size:.8rem}.history-list{display:grid;gap:8px;margin:10px 0 18px}.history-list a{display:grid;gap:2px;padding:12px;border:1px solid #e0e8ed;border-radius:12px}.history-list span,.history-list small{color:#6d808e}
.automation-rules{display:grid;gap:9px}.automation-rule{display:grid;grid-template-columns:auto 1fr 120px minmax(180px,240px);gap:12px;align-items:center;padding:13px;border:1px solid #e0e7ec;border-radius:14px}.automation-rule>div:nth-child(2){display:grid}.automation-rule small{color:#748796}.automation-rule select,.automation-rule input{border:1px solid #d5e0e7;border-radius:10px;padding:9px;font:inherit}.delay-editor{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center}.delay-editor span{font-size:.76rem;color:#738694}.switch{position:relative;width:44px;height:24px}.switch input{opacity:0;position:absolute}.switch span{position:absolute;inset:0;border-radius:999px;background:#c8d3db;cursor:pointer}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:#27c58e}.switch input:checked+span:after{transform:translateX(20px)}.disabled-node{opacity:.45;filter:grayscale(.4)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.review-card{background:#fff;border:1px solid #dbe4ea;border-radius:20px;padding:20px;color:#173047}.review-card h3{margin:8px 0}.review-card p{color:#617584;line-height:1.55;min-height:48px}.review-card small{color:#7c8e9b}.stars{font-size:1.3rem;color:#f3b52e;letter-spacing:.08em}.review-toggle{display:flex;gap:8px;align-items:center;margin-top:16px;font-size:.78rem}.public-review-page{min-height:100vh;background:linear-gradient(180deg,#07111f,#10263b);display:grid;place-items:center;padding:20px}.review-public-shell{width:min(620px,100%)}.review-public-card{background:#fff;color:#173047;border-radius:28px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.review-public-card h1{font-size:2rem;margin:.2rem 0 1rem}.rating-block{margin:20px 0}.rating-block label{font-weight:800}.star-input{display:flex;gap:3px;margin-top:8px}.star-input button{border:0;background:transparent;font-size:2.2rem;color:#cdd6dc;cursor:pointer;padding:0 2px}.star-input button.on{color:#f3b52e}
.report-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.bar-chart{height:300px;display:flex;align-items:flex-end;gap:12px;padding-top:24px}.bar-col{flex:1;height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:6px;text-align:center;color:#173047}.bar-value{font-size:.7rem;color:#6d808d}.bar-track{height:100%;background:#edf2f5;border-radius:12px;display:flex;align-items:flex-end;overflow:hidden}.bar-track i{display:block;width:100%;background:linear-gradient(180deg,#146ef5,#53d6a8);border-radius:12px 12px 0 0}.bar-col span{font-size:.72rem;color:#748694}.ranking-list{display:grid;gap:11px}.ranking-list>div{display:grid;grid-template-columns:24px 1fr 28px;gap:10px;align-items:center;color:#173047}.ranking-list>div>b{width:24px;height:24px;border-radius:8px;background:#eef4f7;display:grid;place-items:center;font-size:.75rem}.ranking-list>div>span{display:grid;gap:5px;font-size:.83rem}.ranking-list i{display:block;height:6px;background:#53d6a8;border-radius:999px}.ranking-list strong{text-align:right}
@media(max-width:900px){.site-header nav{overflow:auto;max-width:72vw;padding-bottom:4px}.site-header nav a{white-space:nowrap}.customer-grid,.review-grid,.report-grid{grid-template-columns:1fr}.calendar-shell{overflow:auto}.calendar-weekdays,.calendar-grid{min-width:800px}.automation-rule{grid-template-columns:auto 1fr}.automation-rule select,.delay-editor{grid-column:2}.customer-card{grid-template-columns:52px 1fr}.customer-stats{grid-column:2;text-align:left;grid-template-columns:auto auto auto auto}.customer-card .mini-btn{grid-column:2;width:max-content}}
@media(max-width:560px){.crm-toolbar{flex-direction:column}.review-public-card{padding:20px;border-radius:22px}.report-range{width:100%}}

/* v16 – workflow engine status */
.engine-status-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(90px,1fr)) minmax(220px,1.5fr);gap:12px;margin:0 0 22px}.engine-pill,.engine-stat{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:15px 18px;display:flex;flex-direction:column;justify-content:center;min-height:76px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.engine-pill b{font-size:15px}.engine-pill span,.engine-stat span{font-size:12px;color:#64748b;margin-top:4px}.engine-pill.ok b{color:#047857}.engine-pill.warn b{color:#b45309}.engine-stat strong{font-size:23px;line-height:1.1;color:#0f172a}.engine-stat.wide strong{font-size:15px}.automation-error{display:block;margin-top:6px;color:#b42318;max-width:680px;line-height:1.35}.retry-btn{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:7px 10px;font-weight:700;cursor:pointer}.retry-btn:disabled{opacity:.55}.run-state.failed{background:#fee2e2;color:#991b1b}.run-state.processing{background:#dbeafe;color:#1d4ed8}.run-state.pending{background:#fef3c7;color:#92400e}.run-state.done{background:#dcfce7;color:#166534}.run-state.cancelled{background:#e5e7eb;color:#475569}@media(max-width:900px){.engine-status-grid{grid-template-columns:1fr 1fr}.engine-pill,.engine-stat.wide{grid-column:1/-1}}@media(max-width:560px){.engine-status-grid{grid-template-columns:1fr 1fr}.engine-pill,.engine-stat.wide{grid-column:1/-1}.engine-stat{padding:13px}.automation-run{align-items:flex-start}.automation-run>div:last-child{align-items:flex-end}}

.mini-btn.danger{background:#fff3f3;color:#b42318;border-color:#f1b8b5}.mini-btn.danger:hover{background:#ffe7e7;border-color:#e89a96}.mini-btn.danger:disabled{opacity:.55;cursor:not-allowed}

/* v18 – CRM archive/delete controls */
.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 4px}.mini-btn.danger{background:#fff2f2;border-color:#efb5b5;color:#b42318}.mini-btn.danger:hover{background:#ffe4e4}.delete-help{font-size:.78rem;color:#7c8d99;margin:6px 0 18px}.archive-badge{display:inline-flex;align-items:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:#edf1f4;color:#657987;font-size:.64rem;font-weight:800;vertical-align:middle}.customer-archived{opacity:.72;background:#f7f9fa}.crm-toolbar select#customerStatus{min-width:145px}@media(max-width:700px){.crm-toolbar{flex-direction:column}.crm-toolbar input,.crm-toolbar select{width:100%}.profile-actions{display:grid;grid-template-columns:1fr}.profile-actions .mini-btn{width:100%}}

/* v19: header brand contrast fix */
.site-header .brand{color:#f4f8ff!important;}


/* v20 – premium booking map */
.hero-booking-card{background:#fff;border-radius:30px;box-shadow:0 34px 100px rgba(0,0,0,.44);border:1px solid rgba(255,255,255,.22)}
.hero-booking-head{padding:24px 26px 16px}.hero-booking-head h2{font-size:1.55rem}.hero-booking-head p{font-size:.9rem}
.hero-map-stage{position:relative;margin:0 18px;border-radius:22px;overflow:hidden;background:#dfe8ef;box-shadow:inset 0 0 0 1px rgba(15,35,52,.08),0 14px 34px rgba(15,35,52,.12)}
.hero-booking-map{height:345px;border:0!important;background:#dfe8ef}
.hero-map-searchbar{position:absolute;z-index:500;top:14px;left:14px;right:14px;height:54px;border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);display:grid;grid-template-columns:46px 1fr;align-items:center;border:1px solid rgba(20,45,66,.09);box-shadow:0 12px 30px rgba(15,35,52,.18)}
.hero-map-searchbar .hero-address-icon{font-size:1.2rem;color:#587086}
.hero-map-searchbar input{height:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;padding:0 16px 0 0;font:inherit;font-weight:700;color:#11263a}.hero-map-searchbar input::placeholder{font-weight:600;color:#95a4b2}
.hero-locate-btn{position:absolute!important;z-index:510;left:14px;bottom:52px;width:auto!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:0 16px!important;border-radius:14px!important;background:#146ef5!important;color:#fff!important;font-size:.84rem!important;font-weight:900!important;box-shadow:0 12px 28px rgba(20,110,245,.34)!important;border:1px solid rgba(255,255,255,.35)!important}
.hero-locate-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.hero-locate-btn:active{transform:translateY(0)}
.locate-cross{font-size:1.25rem;line-height:1}
.hero-map-status{position:absolute;z-index:500;left:14px;right:14px;bottom:12px;min-height:32px;border-radius:12px;background:rgba(9,24,37,.86);backdrop-filter:blur(12px);color:#fff;display:flex;align-items:center;gap:8px;padding:7px 11px;font-size:.76rem;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.status-dot{width:8px;height:8px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.16);flex:0 0 auto}
.hero-service-title{padding:18px 26px 9px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#6c7f90}
.hero-service-grid{padding:0 26px 12px;gap:11px}.hero-service-card{min-height:88px;border-radius:17px;padding:12px;gap:3px}.hero-service-card.selected{border:2px solid #146ef5;background:#f4f8ff;box-shadow:0 9px 25px rgba(20,110,245,.10)}.hero-service-card.selected .hero-service-icon{filter:none}.hero-service-icon{font-size:1.55rem}.hero-service-card small{font-size:.72rem}
.hero-booking-footer{padding:10px 26px 22px}.hero-selection{font-size:.8rem}.hero-next-btn{background:#146ef5;color:#fff;border-radius:14px;padding:13px 22px;box-shadow:0 10px 24px rgba(20,110,245,.28)}
.leaflet-control-zoom{border:0!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important}.leaflet-control-zoom a{border:0!important;color:#183248!important}.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.8)!important;border-radius:8px 0 0 0}
@media(max-width:640px){.hero-map-stage{margin:0 12px;border-radius:18px}.hero-booking-map{height:315px}.hero-map-searchbar{top:10px;left:10px;right:10px;height:50px}.hero-locate-btn{left:10px!important;bottom:48px!important;height:42px!important}.hero-map-status{left:10px;right:10px;bottom:9px}.hero-service-title{padding:16px 18px 8px}.hero-service-grid{padding:0 18px 10px}.hero-booking-footer{padding:10px 18px 18px}}


/* v21 – modern compact hero booking */
.hero{
  min-height:640px;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.82fr);
  gap:clamp(36px,5vw,72px);
  padding-top:64px;
  padding-bottom:82px;
}
.hero-copy{max-width:680px}
.hero-copy h1{max-width:680px;letter-spacing:-.055em}
.hero-booking-card{
  width:min(100%,520px);
  justify-self:end;
  overflow:visible;
  border-radius:26px;
  background:rgba(255,255,255,.97);
  box-shadow:0 32px 80px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.24);
  position:relative;
}
.hero-booking-card:before{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-36px;top:-34px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(20,110,245,.22),rgba(20,110,245,0) 70%);
  pointer-events:none;
}
.hero-booking-head{padding:20px 22px 12px;position:relative;z-index:2}
.hero-booking-head h2{font-size:1.35rem;margin:2px 0 3px}
.hero-booking-head p{font-size:.84rem}
.hero-step-badge{padding:6px 9px;font-size:.72rem;background:#edf4ff;color:#146ef5}
.hero-map-stage{
  margin:0 12px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(16,40,64,.13);
  background:#dbe6ef;
}
.hero-booking-map{height:248px!important;background:#dbe6ef}
.hero-map-searchbar{top:11px;left:11px;right:11px;height:50px;border-radius:15px}
.hero-map-searchbar .hero-address-icon{font-size:1.05rem}
.hero-map-searchbar input{font-size:.9rem}
.hero-locate-btn{
  left:11px!important;
  bottom:44px!important;
  height:40px!important;
  padding:0 14px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#0b75ff,#2b8cff)!important;
  box-shadow:0 10px 24px rgba(20,110,245,.34)!important;
}
.hero-map-status{left:11px;right:11px;bottom:9px;min-height:28px;font-size:.7rem;padding:6px 10px}
.hero-service-title{padding:14px 20px 7px;font-size:.72rem;letter-spacing:.11em}
.hero-service-grid{display:block;padding:0 20px 8px}
.hero-service-card{
  width:100%;min-height:58px;border-radius:15px;padding:9px 12px;
  display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;
  column-gap:10px;text-align:left;justify-items:start;align-items:center;
}
.hero-service-card .hero-service-icon{grid-row:1/3;font-size:1.45rem;width:38px;height:38px;border-radius:12px;background:#edf4ff;display:grid;place-items:center}
.hero-service-card strong{font-size:.88rem;align-self:end}
.hero-service-card small{font-size:.69rem;align-self:start}
.hero-service-card.selected{border:1px solid #9fc7ff;background:linear-gradient(135deg,#f8fbff,#eef5ff);box-shadow:none}
.hero-service-card.coming-soon{display:none}
.hero-booking-footer{padding:8px 20px 18px}
.hero-selection{font-size:.75rem}
.hero-next-btn{min-width:108px;border-radius:13px;padding:11px 17px;font-size:.84rem}

@media(max-width:1050px){
  .hero{grid-template-columns:1fr;gap:30px;padding-top:48px}
  .hero-copy{max-width:760px}
  .hero-booking-card{justify-self:start;width:min(100%,620px)}
}
@media(max-width:640px){
  .hero{padding:38px 14px 58px;gap:26px}
  .hero-copy h1{font-size:clamp(2.45rem,13.5vw,3.8rem)}
  .hero-copy p{font-size:.96rem}
  .hero-booking-card{width:100%;border-radius:22px}
  .hero-booking-head{padding:17px 16px 10px}
  .hero-booking-head h2{font-size:1.2rem}
  .hero-map-stage{margin:0 8px;border-radius:17px}
  .hero-booking-map{height:230px!important}
  .hero-map-searchbar{top:8px;left:8px;right:8px;height:47px}
  .hero-locate-btn{left:8px!important;bottom:42px!important;height:39px!important}
  .hero-map-status{left:8px;right:8px;bottom:7px}
  .hero-service-title{padding:13px 15px 6px}
  .hero-service-grid{padding:0 15px 7px}
  .hero-booking-footer{padding:7px 15px 15px}
}

/* v23 compact CRM dashboard */
.admin-v23{background:#f3f7fa;color:#102030}.admin-v23 .admin-main{max-width:1380px;padding-top:28px}.admin-v23 .admin-topbar{position:sticky;top:0;z-index:60}.admin-v23 .admin-topbar .brand{color:#fff;font-weight:800}.admin-v23 .admin-topbar nav a.active{color:#4fe0b3;border-bottom:2px solid #4fe0b3}
.dashboard-metrics-v23{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}.dashboard-metrics-v23 article{border-radius:18px;box-shadow:0 6px 24px rgba(15,35,55,.06);border:1px solid #dfe8ef}.dashboard-metrics-v23 .metric-total{background:#0d2133;color:#fff}.dashboard-metrics-v23 .metric-total span,.dashboard-metrics-v23 .metric-total small{color:#d4e0e8}
.next-job-panel-v23,.jobs-panel-v23{border-radius:22px;border:1px solid #dce8ef;box-shadow:0 10px 34px rgba(15,35,55,.05);background:#fff}.next-job-highlight{display:grid;grid-template-columns:96px 1fr auto;gap:24px;align-items:center;padding:14px 4px}.job-date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d9e4eb;border-radius:16px;background:#fff;min-width:74px;min-height:78px}.job-date-tile small{text-transform:capitalize;font-weight:700}.job-date-tile strong{font-size:30px;line-height:1}.job-date-tile span{font-size:12px;color:#64798a}.job-date-tile.big{min-width:86px;min-height:96px}.next-job-main>strong{font-size:26px}.next-job-main h3{margin:2px 0 3px;font-size:20px}.next-job-main p,.next-job-main small{margin:0;color:#587086}.next-job-side{display:grid;grid-template-columns:auto auto;gap:10px;align-items:center;justify-items:end}.next-job-side>strong{font-size:18px}.next-job-side .open-job-btn{grid-column:1/3}
.jobs-tabs{display:flex;gap:4px;border-bottom:1px solid #e3ebf0;padding:0 0 10px;margin-bottom:16px}.job-tab{border:0;background:transparent;padding:11px 16px;font-weight:700;color:#617588;cursor:pointer;border-bottom:3px solid transparent}.job-tab.active{color:#102030;border-bottom-color:#1f78ff}.compact-booking-list{display:block}.compact-job-row{display:grid;grid-template-columns:76px minmax(0,1fr) 150px auto;gap:16px;align-items:center;border:1px solid #dae5ec;border-radius:16px;padding:12px 14px;margin-bottom:10px;background:#fff}.job-main{display:flex;flex-direction:column;gap:3px}.job-main>strong{font-size:16px}.job-main span,.job-main small{color:#60778a}.job-price{display:flex;align-items:center;gap:10px;justify-content:flex-end}.job-row-actions{display:flex;gap:8px;align-items:center}.icon-action{width:38px;height:38px;border:1px solid #d4e0e8;border-radius:11px;display:grid;place-items:center;text-decoration:none;color:#102030;background:#fff}.open-job-btn{white-space:nowrap}.jobs-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;background:#f7fafc;border-radius:16px;color:#667b8d}.jobs-empty strong{color:#25384a;font-size:18px}.empty-icon{font-size:32px;color:#90a3b1}.hidden{display:none!important}
.job-drawer{position:fixed;inset:0;z-index:100;pointer-events:none}.job-drawer.open{pointer-events:auto}.job-drawer-backdrop{position:absolute;inset:0;background:rgba(4,14,24,.22);opacity:0;transition:.22s}.job-drawer.open .job-drawer-backdrop{opacity:1}.job-drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(510px,94vw);background:#fff;box-shadow:-20px 0 55px rgba(8,25,40,.18);padding:24px;overflow:auto;transform:translateX(102%);transition:transform .25s ease}.job-drawer.open .job-drawer-panel{transform:translateX(0)}.drawer-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;color:#718392;cursor:pointer}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 38px 18px 0;border-bottom:1px solid #e6edf2}.drawer-head>div{display:flex;flex-direction:column;gap:5px}.status-select-look{display:inline-flex;align-items:center;background:#eaf3ff;color:#174d91;border-radius:10px;padding:9px 12px;font-weight:800;width:max-content}.drawer-section{padding:18px 0;border-bottom:1px solid #e6edf2}.drawer-section-title{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#73879a;margin-bottom:8px}.drawer-section p{margin:3px 0;color:#607689}.drawer-split{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.drawer-map-placeholder{height:128px;border-radius:15px;background:linear-gradient(145deg,#cfe6ef,#e8f0d5);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:10px 0;overflow:hidden}.drawer-map-placeholder span{font-size:34px}.drawer-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drawer-meta-grid>div{display:flex;flex-direction:column;gap:3px}.drawer-meta-grid span{font-size:12px;color:#718699}.progress-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:12px 0 18px}.progress-step{position:relative;text-align:center;font-size:10px;color:#7c8d9b}.progress-step:before{content:"";position:absolute;top:7px;left:-50%;right:50%;height:3px;background:#d8e0e6}.progress-step:first-child:before{display:none}.progress-step i{display:block;width:16px;height:16px;border-radius:50%;background:#d7dee4;margin:0 auto 6px;position:relative;z-index:1}.progress-step.done:before,.progress-step.done i{background:#4c8ef7}.progress-step.active i{box-shadow:0 0 0 5px rgba(76,142,247,.14)}.drawer-primary-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.drawer-primary-actions .mini-btn{padding:10px 7px}.status-more{display:flex;gap:8px;margin-top:10px}.status-more select,.payment-row select{flex:1;border:1px solid #d4e0e8;border-radius:10px;padding:9px;background:#fff}.drawer-accordion{border:1px solid #e0e8ee;border-radius:14px;margin-top:10px;overflow:hidden}.drawer-accordion summary{list-style:none;cursor:pointer;padding:14px 15px;font-weight:800;display:flex;flex-direction:column;gap:2px}.drawer-accordion summary span{font-size:12px;font-weight:500;color:#728597}.drawer-accordion-body{padding:0 15px 15px;display:flex;gap:8px;flex-wrap:wrap}.drawer-danger{padding:18px 0 40px}.drawer-open{overflow:hidden}
.login-card{max-width:460px;margin:50px auto;background:#fff;border-radius:20px;padding:24px;display:grid;gap:14px}.login-card label{display:grid;gap:5px}.login-card input{padding:11px;border:1px solid #d5e0e7;border-radius:10px}
@media(max-width:900px){.dashboard-metrics-v23{grid-template-columns:repeat(2,1fr)}.next-job-highlight{grid-template-columns:74px 1fr}.next-job-side{grid-column:1/3;grid-template-columns:1fr auto auto}.next-job-side .open-job-btn{grid-column:auto}.compact-job-row{grid-template-columns:64px 1fr}.job-price,.job-row-actions{grid-column:2}.job-price{justify-content:flex-start}.job-row-actions{flex-wrap:wrap}.admin-v23 .admin-topbar nav{overflow-x:auto;white-space:nowrap}}
@media(max-width:600px){.admin-v23 .admin-main{padding:16px 12px}.dashboard-metrics-v23{grid-template-columns:1fr 1fr;gap:10px}.dashboard-metrics-v23 article{padding:14px}.next-job-panel-v23,.jobs-panel-v23{padding:14px}.next-job-highlight{gap:12px}.next-job-main>strong{font-size:21px}.next-job-side{grid-template-columns:1fr}.next-job-side .open-job-btn{grid-column:auto;width:100%}.compact-job-row{padding:10px}.job-row-actions .open-job-btn{flex:1}.drawer-primary-actions{grid-template-columns:1fr 1fr}.progress-steps{overflow-x:auto}.job-drawer-panel{width:100vw;padding:18px}.jobs-tabs{overflow-x:auto;white-space:nowrap}}

/* v24 dashboard/history fixes */
.dashboard-metrics-v23 .metric-total strong,.dashboard-metrics-v24 .metric-total strong{color:#fff!important;opacity:1!important}
.dashboard-metrics-v24{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}.dashboard-metrics-v24 article{border-radius:18px;box-shadow:0 6px 24px rgba(15,35,55,.06);border:1px solid #dfe8ef}.dashboard-metrics-v24 .metric-total{background:#0d2133;color:#fff}.dashboard-metrics-v24 .metric-total span,.dashboard-metrics-v24 .metric-total small{color:#d4e0e8}
@media(max-width:900px){.dashboard-metrics-v24{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.admin-v24 .admin-main{padding:16px 12px}.dashboard-metrics-v24{grid-template-columns:1fr 1fr;gap:10px}.dashboard-metrics-v24 article{padding:14px}.admin-v24 .admin-topbar nav{overflow-x:auto;white-space:nowrap}}

/* v28 – Arbetsorder / reparationsjobb */
.workorder-main{max-width:1480px;margin:0 auto;padding:28px 28px 60px}.workorder-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.workorder-topbar h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3.3rem)}.workorder-top-actions{display:flex;align-items:center;gap:10px}.workorder-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.workorder-primary{display:grid;gap:18px}.work-card{background:#fff;border:1px solid #dfe8ef;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(11,31,51,.05)}.work-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.work-card h2{margin:2px 0 0;font-size:1.25rem}.work-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#24c89a}.small-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef5fa;color:#49657d;font-size:.78rem;font-weight:800}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.info-grid>div,.drawer-meta-grid>div{background:#f6f9fb;border:1px solid #e4edf2;border-radius:14px;padding:12px}.info-grid span,.location-strip span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#7890a3;margin-bottom:4px}.location-strip{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;background:#f6f9fb;border:1px solid #e4edf2}.photo-section{margin-top:14px}.work-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.workorder-sidebar .sticky-card{position:sticky;top:92px}.work-status-rail{margin:18px 0}.work-status-step{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:center;position:relative;min-height:38px;color:#8aa0b1}.work-status-step i{width:14px;height:14px;border-radius:50%;background:#d7e0e7;border:3px solid #fff;box-shadow:0 0 0 1px #d7e0e7;z-index:1}.work-status-step:not(:last-child):after{content:"";position:absolute;left:6px;top:25px;height:22px;width:2px;background:#dfe7ec}.work-status-step.done{color:#0c2132;font-weight:700}.work-status-step.done i{background:#24c89a;box-shadow:0 0 0 1px #24c89a}.work-status-step.active i{background:#1677ff;box-shadow:0 0 0 2px #b9d7ff}.work-status-actions{display:grid;gap:8px}.full-width{width:100%;justify-content:center}.work-completion-box{display:grid;gap:8px}.work-card hr{border:0;border-top:1px solid #e7edf2;margin:18px 0}
@media (max-width:1050px){.workorder-grid{grid-template-columns:1fr}.workorder-sidebar .sticky-card{position:static}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.workorder-main{padding:18px 14px 40px}.workorder-topbar{align-items:flex-start;flex-direction:column}.workorder-top-actions{width:100%;justify-content:space-between}.work-card{padding:16px;border-radius:18px}.info-grid{grid-template-columns:1fr}.location-strip{align-items:flex-start;flex-direction:column}.work-card-head{align-items:flex-start}.check-grid{grid-template-columns:1fr 1fr}}
/* v29 Offerter & fakturor */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-head h1,.doc-editor h1{margin:.1rem 0 .4rem;font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.045em}.page-head p,.doc-editor-head p{color:#6f8090}.doc-list{display:grid;gap:10px}.doc-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid #dce5ec;border-radius:16px;background:#fff}.doc-row>div:first-child{display:grid;gap:3px}.doc-row span,.doc-row small{color:#718291}.doc-actions,.doc-head-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-editor{max-width:1000px;margin:auto}.doc-editor-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.doc-card{background:#fff;border:1px solid #dce5ec;border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(16,40,58,.06)}.doc-items-head{display:flex;justify-content:space-between;align-items:center;margin:16px 0 10px}.doc-item{display:grid;grid-template-columns:130px 1fr 90px 130px auto;gap:8px;margin-bottom:8px}.doc-item.invoice{grid-template-columns:1fr 90px 130px auto}.doc-item input,.doc-item select,.doc-totals input{padding:11px;border:1px solid #d0dbe4;border-radius:10px;font:inherit}.mini-btn.danger{color:#b12d2d;border-color:#efc6c6;background:#fff8f8}.doc-totals{margin-left:auto;max-width:360px;margin-top:18px;display:grid;gap:10px}.doc-totals>div,.doc-totals>label{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 0;border-bottom:1px solid #edf1f4}.doc-totals input{max-width:130px}.doc-totals .grand{font-size:1.15rem;border-top:2px solid #14283b;border-bottom:0;padding-top:14px}.public-doc-wrap{min-height:100vh;background:#f2f6f9;padding:40px 16px;display:grid;place-items:start center;color:#102030}.public-doc-card{width:min(760px,100%);background:#fff;border:1px solid #dce5ec;border-radius:28px;padding:32px;box-shadow:0 20px 55px rgba(20,44,62,.09)}.public-doc-card h1{font-size:2.5rem;margin:.2rem 0 1.2rem}.public-doc-meta{display:flex;gap:14px;flex-wrap:wrap;color:#6d7f8e;margin-bottom:18px}.public-doc-meta strong{color:#102030}.public-doc-items{display:grid;margin:18px 0}.public-doc-items>div,.public-doc-line,.public-doc-total{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e8eef2}.public-doc-total{font-size:1.2rem;border-top:2px solid #102030;border-bottom:0;margin-top:8px}.public-doc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.quote-status{padding:12px 14px;background:#f4f8fb;border-radius:12px;margin:18px 0}
@media(max-width:760px){.doc-row{grid-template-columns:1fr}.doc-actions{justify-content:flex-start}.doc-editor-head{align-items:flex-start;flex-direction:column}.doc-item,.doc-item.invoice{grid-template-columns:1fr 80px}.doc-item select,.doc-item input[data-k="description"]{grid-column:1/3}.public-doc-card{padding:22px 18px}}

/* v31 – Kommunikationscentral */
.communication-main{max-width:1450px;margin:0 auto;padding:28px 28px 60px}.communication-layout{display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:20px;align-items:start}.communication-compose-card,.communication-history-card{background:#fff;border:1px solid #dce6ed;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(11,31,51,.05)}.communication-compose-card{position:sticky;top:88px}.communication-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.communication-card-head h2{margin:.2rem 0 0}.communication-label{display:grid;gap:7px;font-weight:800;font-size:.86rem;margin:14px 0}.communication-label select,.communication-label textarea,.communication-filters input,.communication-filters select{width:100%;padding:11px 12px;border:1px solid #d1dde6;border-radius:12px;background:#fff;font:inherit}.communication-label textarea{resize:vertical;min-height:132px}.communication-customer{display:flex;flex-direction:column;gap:3px;background:#f5f8fa;border:1px solid #e1e9ef;border-radius:14px;padding:12px}.communication-customer span,.communication-customer.muted{color:#718596}.quick-message-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.communication-send-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.communication-send-row>span{font-size:.78rem;color:#7b8c9a}.communication-filters{display:grid;grid-template-columns:1fr 150px;gap:10px;margin-bottom:14px}.message-history{display:grid;gap:10px}.message-item{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:14px;border:1px solid #e0e8ee;border-radius:16px;background:#fbfdfe}.message-icon{width:42px;height:42px;border-radius:13px;background:#10283d;color:#fff;display:grid;place-items:center;font-size:.68rem;font-weight:900;letter-spacing:.04em}.message-body{min-width:0}.message-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.message-kind{display:block;font-size:.76rem;color:#7b8c99;margin-top:2px}.message-body p{margin:8px 0;white-space:pre-wrap;line-height:1.45}.message-body small{color:#7c8d99}.message-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:900;background:#edf2f6;color:#506678}.state-delivered{background:#e7f8f0;color:#14744d}.state-sent{background:#eaf2ff;color:#245da8}.state-failed{background:#fff0f0;color:#a62d2d}.message-error{margin-top:7px;padding:7px 9px;background:#fff1f1;color:#9a3030;border-radius:8px;font-size:.78rem}.booking-meta[data-kind="ok"]{color:#16744d}.booking-meta[data-kind="error"]{color:#a62d2d}
@media(max-width:980px){.communication-layout{grid-template-columns:1fr}.communication-compose-card{position:static}}@media(max-width:620px){.communication-main{padding:18px 12px 40px}.communication-compose-card,.communication-history-card{padding:16px;border-radius:18px}.communication-filters{grid-template-columns:1fr}.quick-message-grid{grid-template-columns:1fr 1fr}.message-item{grid-template-columns:38px 1fr}.message-icon{width:36px;height:36px}}

/* v32 – Företagsinställningar */
.settings-main-v32{max-width:1320px;margin:0 auto;padding-bottom:52px}.settings-main-v32 .page-head{align-items:center}.settings-grid-v32{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-card-v32{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:22px;box-shadow:0 12px 32px rgba(15,23,42,.05)}.settings-wide-v32{grid-column:1/-1}.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.settings-card-head h2{margin:4px 0 0;font-size:1.25rem}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form-grid label,.hours-grid-v32 label,.sms-template-grid-v32 label,.settings-textarea-label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:700;color:#334155}.settings-form-grid input,.hours-grid-v32 input,.sms-template-grid-v32 textarea,.settings-textarea-label textarea{width:100%;border:1px solid #dbe1ea;border-radius:12px;background:#fff;padding:11px 12px;font:inherit;color:#0f172a;outline:none}.settings-form-grid input:focus,.hours-grid-v32 input:focus,.sms-template-grid-v32 textarea:focus,.settings-textarea-label textarea:focus{border-color:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.1)}.settings-form-grid .span-2{grid-column:1/-1}.hours-grid-v32{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sms-template-grid-v32{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-help-v32{margin:14px 0 0;color:#64748b;font-size:.9rem}.settings-help-v32 code{background:#f1f5f9;padding:2px 5px;border-radius:5px}.logo-setting-row{display:flex;gap:18px;align-items:center}.logo-preview-v32{width:150px;height:94px;border:1px dashed #cbd5e1;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#f8fafc;overflow:hidden;color:#94a3b8;font-size:.85rem;flex:0 0 auto}.logo-preview-v32 img{max-width:100%;max-height:100%;object-fit:contain;padding:10px}.logo-setting-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.logo-setting-actions input{max-width:100%}.logo-setting-actions small{color:#64748b}.settings-save-message{min-height:24px;margin:0 0 12px;font-weight:700;font-size:.9rem}.settings-save-message[data-kind="ok"]{color:#15803d}.settings-save-message[data-kind="error"]{color:#b91c1c}.settings-bottom-save{display:flex;justify-content:flex-end;margin-top:18px}.settings-bottom-save .mini-btn,.settings-main-v32 .page-head .mini-btn{padding:11px 18px}.settings-main-v32 textarea{resize:vertical}.settings-main-v32 input[type="file"]{font-size:.88rem}
@media(max-width:850px){.settings-grid-v32{grid-template-columns:1fr}.settings-wide-v32{grid-column:auto}.settings-form-grid,.hours-grid-v32,.sms-template-grid-v32{grid-template-columns:1fr}.settings-form-grid .span-2{grid-column:auto}.logo-setting-row{align-items:flex-start;flex-direction:column}.settings-main-v32 .page-head{align-items:flex-start;gap:12px;flex-direction:column}.settings-main-v32 .page-head .mini-btn{width:100%}}
.company-logo-inline{width:34px;height:34px;object-fit:contain;vertical-align:middle;margin-right:8px}.brand:has(.company-logo-inline){display:flex;align-items:center}.site-header .brand .hidden{display:none}

/* v33 – Teknikerläge */
.technician-page{margin:0;background:#f4f6fa;color:#111827;min-height:100vh;padding-bottom:92px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tech-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#0d1424;color:#fff;box-shadow:0 8px 28px rgba(15,23,42,.16)}
.tech-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}.tech-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff;color:#111827;font-weight:900}.tech-admin-link{color:#cbd5e1;text-decoration:none;font-weight:700;font-size:14px}
.tech-main{width:min(760px,100%);margin:0 auto;padding:18px 14px 30px}.tech-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 4px 8px}.tech-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:#64748b}.tech-hero h1{margin:5px 0 2px;font-size:32px;line-height:1}.tech-hero p{margin:7px 0 0;color:#64748b;text-transform:capitalize}.tech-day-count{min-width:94px;background:#0d1424;color:white;border-radius:18px;padding:12px 15px;text-align:center}.tech-day-count strong{display:block;font-size:27px}.tech-day-count span{font-size:11px;color:#cbd5e1}
.tech-section-head{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 10px}.tech-section-head>span{font-size:12px;font-weight:900;letter-spacing:.13em;color:#64748b}.tech-section-head button{border:0;background:transparent;color:#2563eb;font-weight:800;cursor:pointer}
.tech-job-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;margin-bottom:12px;box-shadow:0 8px 28px rgba(15,23,42,.055)}.tech-job-card.featured{border-color:#cbd5e1;box-shadow:0 18px 42px rgba(15,23,42,.11)}.tech-job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tech-time strong{display:block;font-size:28px;line-height:1}.tech-time span{display:block;margin-top:7px;color:#64748b;font-size:13px;text-transform:capitalize}.tech-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:850;background:#eef2f7;color:#334155}.tech-status.travel{background:#dbeafe;color:#1d4ed8}.tech-status.arrived{background:#ede9fe;color:#6d28d9}.tech-status.repair{background:#fef3c7;color:#92400e}.tech-status.done{background:#dcfce7;color:#166534}.tech-status.paid{background:#d1fae5;color:#065f46}
.tech-customer{padding:18px 0 15px;border-bottom:1px solid #eef2f7}.tech-customer h2{margin:0 0 4px;font-size:22px}.tech-customer p{margin:0;color:#475569;font-weight:600}.tech-job-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 0}.tech-job-meta span{display:block;color:#94a3b8;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.tech-job-meta strong{display:block;margin-top:3px;font-size:14px;overflow-wrap:anywhere}.tech-job-meta>div:last-child{text-align:right}
.tech-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tech-action{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px;border:1px solid #dbe2ea;border-radius:14px;background:#fff;color:#0f172a;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.tech-action.primary{background:#111827;border-color:#111827;color:#fff}.tech-action.success{background:#0f766e;border-color:#0f766e}.tech-action:disabled{opacity:.55}.tech-live-note{margin-top:10px;padding:9px 11px;border-radius:11px;background:#eff6ff;color:#1e40af;font-size:12px;font-weight:650}
.tech-tabs{display:flex;gap:8px;margin:28px 0 12px}.tech-tabs button{flex:1;border:1px solid #dbe2ea;border-radius:14px;background:#fff;padding:12px;color:#475569;font:inherit;font-weight:800}.tech-tabs button.active{background:#111827;color:#fff;border-color:#111827}.tech-tabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;border-radius:999px;background:rgba(148,163,184,.18);font-size:11px}.tech-empty{padding:30px 20px;text-align:center;border:1px dashed #cbd5e1;border-radius:20px;background:#fff}.tech-empty strong,.tech-empty span{display:block}.tech-empty span{margin-top:5px;color:#64748b}.tech-message{position:sticky;top:72px;z-index:35;margin:10px 0;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:750}.tech-message.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.tech-message.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.tech-message.hidden{display:none}
.tech-bottom-nav{position:fixed;left:50%;bottom:0;z-index:50;width:min(760px,100%);transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid #e5e7eb;box-shadow:0 -10px 30px rgba(15,23,42,.08)}.tech-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#64748b;text-decoration:none;font-weight:750}.tech-bottom-nav a.active{color:#111827}.tech-bottom-nav span{font-size:20px}.tech-bottom-nav small{font-size:10px}
@media(min-width:700px){.tech-main{padding-top:28px}.tech-actions{grid-template-columns:repeat(4,1fr)}.tech-bottom-nav{border:1px solid #e5e7eb;border-bottom:0;border-radius:20px 20px 0 0}.tech-job-card{padding:22px}.tech-customer h2{font-size:24px}}
/* v34 Kundportal */
.portal-body{background:#f3f7fb}.portal-main{max-width:1080px;margin:0 auto;padding:48px 20px 80px}.portal-hero{margin-bottom:24px}.portal-hero h1{font-size:clamp(2rem,5vw,3.3rem);margin:.25rem 0}.portal-shell{display:grid;gap:18px}.portal-status-card,.portal-card{background:#fff;border:1px solid #dce5ef;border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(15,35,55,.06)}.portal-status-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.portal-status-card h2{font-size:2rem;margin:.25rem 0}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-card h3{margin-top:0}.portal-card dl{display:grid;gap:10px;margin:0}.portal-card dl div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf2f7}.portal-card dt{color:#64748b}.portal-card dd{margin:0;text-align:right;font-weight:700}.portal-list{display:grid;gap:10px}.portal-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f7}.portal-row>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.portal-row span,.portal-empty{color:#64748b}.portal-empty{padding:12px 0}@media(max-width:700px){.portal-main{padding:28px 14px 60px}.portal-grid{grid-template-columns:1fr}.portal-status-card,.portal-row{align-items:flex-start;flex-direction:column}.portal-card,.portal-status-card{border-radius:18px;padding:18px}.portal-card dl div{flex-direction:column;gap:4px}.portal-card dd{text-align:left}}

/* v35 – kompakt adminmeny */
.site-header{position:relative;z-index:120}
.site-header .compact-admin-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:visible}
.site-header .compact-admin-nav>a,.admin-more-menu>summary{display:inline-flex;align-items:center;gap:5px;padding:9px 11px;border-radius:9px;text-decoration:none;white-space:nowrap;cursor:pointer;list-style:none;color:inherit}
.admin-more-menu{position:relative}
.admin-more-menu>summary::-webkit-details-marker{display:none}
.admin-more-dropdown{position:absolute;right:0;top:calc(100% + 9px);min-width:220px;padding:8px;background:#fff;border:1px solid #dbe4ec;border-radius:14px;box-shadow:0 18px 45px rgba(8,25,43,.18);display:grid;gap:3px;z-index:999;color:#102033}
.admin-more-dropdown a{display:block;padding:10px 12px;border-radius:9px;color:#102033!important;text-decoration:none;font-weight:600}
.admin-more-dropdown a:hover,.admin-more-dropdown a.active,.admin-more-dropdown a.active-nav{background:#eef6ff;color:#0969da!important}
@media(max-width:760px){
  .site-header{padding-left:14px;padding-right:14px}
  .site-header .compact-admin-nav>a:nth-of-type(3),.site-header .compact-admin-nav>a:nth-of-type(4){display:none}
  .site-header .compact-admin-nav{gap:2px}
  .site-header .compact-admin-nav>a,.admin-more-menu>summary{padding:8px 8px;font-size:13px}
  .admin-more-dropdown{right:0;min-width:210px}
}

/* v36: ensure compact admin "Mer" trigger is readable on dark header */
.site-header .compact-admin-nav .admin-more-menu > summary,
.site-header .compact-admin-nav .admin-more-menu > summary span {
  color: #ffffff !important;
}
.site-header .compact-admin-nav .admin-more-menu > summary:hover,
.site-header .compact-admin-nav .admin-more-menu[open] > summary,
.site-header .compact-admin-nav .admin-more-menu > summary.active,
.site-header .compact-admin-nav .admin-more-menu > summary.active-nav {
  color: #ffffff !important;
}

/* v37 – Pris- och tjänstekatalog */
.catalog-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center;margin-top:18px}.catalog-form input,.catalog-form select,.catalog-toolbar input,.catalog-toolbar select,.catalog-edit-grid input{width:100%;min-height:46px;border:1px solid #d7e0ea;border-radius:12px;padding:10px 12px;background:#fff;color:#0d1b2a;font:inherit}.catalog-visible{display:flex;gap:8px;align-items:center;font-weight:700}.catalog-visible input{width:auto;min-height:auto}.catalog-toolbar{display:flex;gap:12px;margin:18px 0}.catalog-toolbar input{flex:1}.catalog-toolbar select{max-width:220px}.catalog-list{display:grid;gap:12px}.catalog-row{background:#fff;border:1px solid #dfe7ef;border-radius:20px;padding:18px;display:grid;gap:14px}.catalog-row-main{display:flex;gap:14px;align-items:flex-start}.catalog-row-main h3{margin:0 0 4px}.catalog-edit-grid{display:grid;grid-template-columns:150px 150px minmax(180px,1fr) minmax(240px,2fr);gap:10px}.catalog-edit-grid label{font-size:12px;font-weight:800;color:#5e7084}.catalog-edit-grid input{margin-top:5px}.catalog-actions{display:flex;gap:8px;flex-wrap:wrap}.catalog-disabled{opacity:.72;background:#f7f9fb}@media(max-width:900px){.catalog-form{grid-template-columns:1fr 1fr}.catalog-edit-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.catalog-form,.catalog-edit-grid{grid-template-columns:1fr}.catalog-toolbar{flex-direction:column}.catalog-toolbar select{max-width:none}}


/* v38 – improved service catalog form actions */
.catalog-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:4px;padding-top:16px;border-top:1px solid #e6edf3;flex-wrap:wrap}
.catalog-visible{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 4px;font-weight:800;color:#102033;white-space:nowrap}
.catalog-visible input{width:18px!important;height:18px;min-height:18px!important;margin:0;accent-color:#0b6cff}
.catalog-save-btn{min-width:170px;min-height:50px;padding:12px 24px;font-size:15px}
.catalog-msg{flex-basis:100%;text-align:right;min-height:18px}
@media(max-width:900px){.catalog-form-actions{justify-content:space-between}}
@media(max-width:620px){.catalog-form-actions{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch}.catalog-visible{justify-content:flex-start;white-space:normal}.catalog-save-btn{width:100%;min-width:0}.catalog-msg{text-align:left}}
/* v39 – booking rules */
.booking-rules-main{max-width:1200px}
.booking-week-grid{display:grid;gap:10px}
.booking-day-row{display:grid;grid-template-columns:minmax(160px,1fr) 150px 24px 150px;gap:10px;align-items:center;padding:12px 14px;border:1px solid #dce5ee;border-radius:14px;background:#f9fbfd}
.booking-day-toggle{display:flex;align-items:center;gap:10px}.booking-day-toggle input{width:18px;height:18px}
.booking-day-row input[type=time]{width:100%;padding:10px 12px;border:1px solid #ced9e4;border-radius:10px;background:white}
@media(max-width:700px){.booking-day-row{grid-template-columns:1fr 1fr}.booking-day-toggle{grid-column:1/-1}.booking-day-row span{display:none}.booking-day-row input[type=time]{min-width:0}}
.booking-availability-note{margin-top:10px;padding:12px 14px;border-radius:12px;background:#eef7ff;color:#24445f;font-size:.92rem}.booking-availability-note.error{background:#fff1f0;color:#8a2b22}.booking-availability-note.ok{background:#effaf4;color:#276241}
/* v40 – faktura & betalning */
.invoice-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.invoice-summary>div{background:#fff;border:1px solid #dce5ec;border-radius:18px;padding:16px 18px;display:grid;gap:4px}.invoice-summary span{color:#718291;font-size:.86rem}.invoice-summary strong{font-size:1.35rem}.invoice-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.invoice-filterbar .active{background:#14283b;color:#fff;border-color:#14283b}.invoice-status{font-weight:800}.invoice-status.forfallen{color:#b42318}.invoice-status.betald{color:#19703e}.invoice-state{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:13px 16px;border-radius:14px;background:#f3f7fa;border:1px solid #dce5ec}.invoice-state strong{font-size:1rem}.invoice-state span{color:#667988}.mini-btn.warning{background:#fff7e6;border-color:#e9c56d;color:#7a5510}.mini-btn.success{background:#eef9f2;border-color:#a9d8b7;color:#196b39}.payment-reference{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid #e8eef2}.customer-invoice-status{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef3f6;font-weight:800;margin-bottom:8px}.customer-invoice-status.forfallen{background:#fff0ed;color:#b42318}.customer-invoice-status.betald{background:#ecf8f0;color:#19703e}
@media(max-width:760px){.invoice-summary{grid-template-columns:1fr}.invoice-filterbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.invoice-filterbar .mini-btn{white-space:nowrap}}

/* v41 – Ekonomi & lönsamhet */
.finance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.finance-strip>div{background:#fff;border:1px solid #dce6ec;border-radius:16px;padding:15px 17px;display:grid;gap:4px}.finance-strip span{font-size:.75rem;color:#6f8290}.finance-strip strong{font-size:1.15rem;color:#173047}.metric-profit strong{color:#087f5b}.finance-top-grid{grid-template-columns:1.15fr .85fr}.finance-bottom-grid{margin-top:18px}.profit-ranking{display:grid;gap:12px}.profit-rank-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center}.profit-rank-row>b{width:28px;height:28px;border-radius:9px;background:#eef4f7;display:grid;place-items:center;font-size:.75rem}.profit-rank-row>div{display:grid;gap:4px;min-width:0}.profit-rank-row>div>strong{color:#173047;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profit-rank-row>div>span{font-size:.72rem;color:#718493}.profit-rank-row i{height:6px;background:#53d6a8;border-radius:999px;display:block}.profit-rank-row em{font-style:normal;font-weight:800;color:#087f5b;white-space:nowrap}.invoice-health{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-health-card{background:#f7fafc;border:1px solid #e0e8ed;border-radius:16px;padding:18px;display:grid;gap:5px}.invoice-health-card span,.invoice-health-card small{color:#708391}.invoice-health-card strong{font-size:1.45rem;color:#173047}.invoice-health-card.danger-soft{background:#fff7f7;border-color:#f3d0d0}.invoice-health>.mini-btn{grid-column:1/-1;justify-content:center}.finance-jobs-panel{margin-top:18px}.finance-table-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.muted-note{font-size:.76rem;color:#718493}.finance-table-wrap{overflow:auto}.finance-table{width:100%;border-collapse:collapse;min-width:820px}.finance-table th,.finance-table td{text-align:left;padding:13px 12px;border-top:1px solid #e5ecef;color:#173047}.finance-table th{font-size:.72rem;color:#718493;text-transform:uppercase;letter-spacing:.04em}.finance-table td:nth-child(n+3){white-space:nowrap}.finance-table td strong{display:block}.finance-table td small{display:block;margin-top:3px;color:#718493}.margin-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e7f8f1;color:#087f5b;font-size:.75rem;font-weight:800}.margin-pill.low{background:#fff3df;color:#9a5b00}@media(max-width:900px){.finance-strip{grid-template-columns:1fr 1fr}.finance-top-grid{grid-template-columns:1fr}}@media(max-width:560px){.finance-strip{grid-template-columns:1fr}.invoice-health{grid-template-columns:1fr}.finance-table-head{align-items:flex-start;flex-direction:column}.bar-chart{height:240px;gap:7px}.bar-value{font-size:.62rem}}
/* v42 SaaS */
.saas-main-v42{max-width:1180px}.saas-grid-v42{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:20px}.company-list-v42{display:grid;gap:10px}.company-row-v42{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 16px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.company-row-v42>div:first-child{display:grid;gap:3px}.company-row-v42 small{color:#64748b}.company-row-v42>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.company-row-v42 .pill{font-size:12px;padding:6px 9px;background:#f1f5f9;border-radius:999px}.tenant-chip-v42{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);color:white;font-size:12px;margin-left:8px}@media(max-width:850px){.saas-grid-v42{grid-template-columns:1fr}.company-row-v42{align-items:flex-start;flex-direction:column}}
/* v43 – branschplattform */
.industry-preview-v43{margin:14px 0;padding:14px 16px;border:1px solid #dce7ef;border-radius:14px;background:#f7fbff;display:grid;gap:4px}.industry-preview-v43 strong{color:#14283b}.industry-preview-v43 span{color:#65788a;font-size:.9rem}.industry-pill-v43{display:inline-flex;width:max-content;margin-top:4px;padding:5px 9px;border-radius:999px;background:#eaf4ff;color:#185a9d;font-size:12px;font-weight:800}.settings-form-grid select{width:100%;min-height:46px;border:1px solid #d7e0ea;border-radius:12px;padding:10px 12px;background:#fff;color:#0d1b2a;font:inherit}
/* v44 – Superadmin & abonnemang */
.platform-metrics-v44{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.platform-metrics-v44 article{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;display:grid;gap:4px}.platform-metrics-v44 span,.platform-metrics-v44 small{color:#64748b}.platform-metrics-v44 strong{font-size:28px;color:#0f172a}.v44-filter-row{display:flex;gap:10px;margin-bottom:12px}.v44-filter-row input,.v44-filter-row select{min-height:42px;border:1px solid #dbe2ea;border-radius:10px;padding:0 12px;background:#fff}.v44-filter-row input{flex:1}.company-row-v44{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) auto;align-items:center}.company-main-v44{display:grid;gap:6px}.subscription-summary-v44{display:grid;gap:3px}.subscription-summary-v44 strong{font-size:14px}.subscription-summary-v44>span:not(.status-v44),.subscription-summary-v44 small{color:#64748b;font-size:12px}.status-v44{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.status-trial{background:#fff7ed;color:#9a3412}.status-active{background:#ecfdf5;color:#047857}.status-paused{background:#fef2f2;color:#b91c1c}.status-cancelled{background:#f1f5f9;color:#475569}.company-actions-v44{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.pending-v44{color:#b45309!important}.subscription-dialog-v44{width:min(720px,calc(100% - 28px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(15,23,42,.28)}.subscription-dialog-v44::backdrop{background:rgba(15,23,42,.55)}.subscription-dialog-v44 form{padding:22px}.dialog-head-v44{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.dialog-head-v44 h2{margin:3px 0 0}.icon-btn-v44{border:0;background:#f1f5f9;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.dialog-actions-v44{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:900px){.platform-metrics-v44{grid-template-columns:repeat(2,minmax(0,1fr))}.company-row-v44{grid-template-columns:1fr}.company-actions-v44{justify-content:flex-start}}@media(max-width:560px){.platform-metrics-v44{grid-template-columns:1fr 1fr}.platform-metrics-v44 strong{font-size:22px}.v44-filter-row{flex-direction:column}.company-row-v44{padding:14px}.subscription-dialog-v44 form{padding:16px}}
/* v45 – konto, team och roller */
.auth-shell-v45{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f7fb}.auth-card-v45{width:min(460px,100%);background:#fff;border:1px solid #e3e8ef;border-radius:22px;padding:28px;box-shadow:0 18px 60px rgba(15,23,42,.08)}.auth-card-v45 h1{margin:10px 0 6px}.auth-card-v45 label{display:grid;gap:6px;margin:14px 0}.auth-card-v45 input{width:100%;box-sizing:border-box}.auth-card-v45 .mini-btn{width:100%;justify-content:center}.auth-card-v45 details{margin-top:18px;border-top:1px solid #e5e7eb;padding-top:14px}.auth-brand-v45{font-weight:800;color:#0f172a}.users-grid-v45{align-items:start}.user-list-v45{display:grid;gap:10px}.user-row-v45{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px}.user-row-v45>div{display:grid}.user-row-v45 small{color:#64748b}.user-row-v45.pending{grid-template-columns:1fr auto;background:#fffbeb}.switch-label-v45{display:flex!important;align-items:center;gap:7px!important;margin:0!important}.field-hint-v45{font-size:.86rem;color:#64748b}.assignment-v45{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.assignment-v45 select{min-width:0}@media(max-width:760px){.user-row-v45{grid-template-columns:1fr}.users-grid-v45{display:block}.users-grid-v45>.settings-card-v32{margin-bottom:14px}}
/* v46 – självregistrering & onboarding */
.register-v46{min-height:100vh;background:#eef4f8}.register-shell-v46{max-width:1120px;margin:0 auto;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:48px 24px}.register-intro-v46 h1{font-size:clamp(38px,5vw,64px);line-height:1.02;margin:10px 0 18px}.register-intro-v46>p{font-size:18px;max-width:560px;color:#52616b}.register-benefits-v46{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.register-benefits-v46 span{background:#fff;border:1px solid #dce6ed;border-radius:14px;padding:14px}.register-card-v46{background:#fff;border:1px solid #dce6ed;border-radius:24px;padding:28px;box-shadow:0 20px 60px rgba(20,40,55,.1)}.register-step-v46{display:grid;gap:16px}.register-step-v46 label{display:grid;gap:7px;font-weight:700}.register-step-v46 input,.register-step-v46 select{width:100%;padding:13px 14px;border:1px solid #cdd9e1;border-radius:12px;background:#fff;font:inherit}.step-badge-v46{width:max-content;background:#e9f2ff;color:#1359a7;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.slug-field-v46{display:flex;align-items:center;border:1px solid #cdd9e1;border-radius:12px;padding-left:12px}.slug-field-v46 input{border:0!important;outline:0}.industry-help-v46{display:grid;gap:4px;background:#f6f9fb;border-radius:14px;padding:14px}.industry-help-v46 span{color:#64727b;font-size:13px}.plan-grid-v46{display:grid;gap:10px}.plan-card-v46{text-align:left;border:1px solid #d7e1e8;border-radius:14px;background:#fff;padding:14px;display:grid;gap:5px;cursor:pointer}.plan-card-v46.selected{border-color:#0b69d1;box-shadow:0 0 0 2px rgba(11,105,209,.12);background:#f5f9ff}.plan-card-v46 span,.plan-card-v46 small{color:#65727b}.wide-v46{width:100%;justify-content:center}.onboarding-v46{background:#f3f6f8}.onboarding-shell-v46{max-width:1040px;margin:0 auto;padding:28px 24px 60px}.onboarding-hero-v46{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#10202e;color:#fff;border-radius:22px;padding:28px;margin-bottom:18px}.onboarding-hero-v46 h2{font-size:32px;margin:7px 0}.onboarding-hero-v46 p{color:#bed0dc}.onboarding-progress-v46{min-width:110px;aspect-ratio:1;border-radius:50%;background:#fff;color:#10202e;display:grid;place-content:center;text-align:center}.onboarding-progress-v46 strong{font-size:26px}.onboarding-progress-v46 span{font-size:12px}.onboarding-grid-v46{display:grid;gap:12px;margin:18px 0}.onboarding-step-card-v46{display:flex;gap:16px;background:#fff;border:1px solid #dfe7ec;border-radius:16px;padding:18px}.onboarding-step-card-v46.done{border-color:#bfe5cf}.ob-number-v46{flex:0 0 38px;height:38px;border-radius:50%;display:grid;place-content:center;background:#e9eef2;font-weight:900}.onboarding-step-card-v46.done .ob-number-v46{background:#dff5e8;color:#177342}.onboarding-step-card-v46 h3{margin:0 0 5px}.onboarding-step-card-v46 p{margin:0 0 10px;color:#66747d}.booking-link-card-v46{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid #dfe7ec;border-radius:16px;padding:18px;margin-top:18px}.booking-link-card-v46 div:first-child{min-width:0;display:grid;gap:5px}.booking-link-card-v46 strong{overflow-wrap:anywhere}.booking-link-card-v46 div:last-child{display:flex;gap:8px;flex-wrap:wrap}.finish-v46{margin-top:18px}.hidden{display:none!important}@media(max-width:800px){.register-shell-v46{grid-template-columns:1fr;gap:24px;padding-top:28px}.register-benefits-v46{grid-template-columns:1fr}.register-intro-v46 h1{font-size:42px}.onboarding-hero-v46,.booking-link-card-v46{align-items:flex-start;flex-direction:column}.onboarding-progress-v46{min-width:90px}.booking-link-card-v46 div:last-child{width:100%}.booking-link-card-v46 .mini-btn{flex:1;justify-content:center}}

/* v47 – paket & betalning */
.platform-plan-grid-v47,.billing-plan-grid-v47{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.platform-plan-card-v47,.billing-plan-card-v47,.billing-current-card-v47{background:#fff;border:1px solid #dfe7ed;border-radius:18px;padding:20px;display:grid;gap:14px}.platform-plan-card-v47 label{display:grid;gap:7px;font-weight:700}.platform-plan-card-v47 input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d3dde5;border-radius:11px}.platform-plan-foot-v47{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.billing-current-v47{margin-bottom:22px}.billing-current-card-v47{grid-template-columns:minmax(220px,1fr) minmax(360px,1.5fr) auto;align-items:center}.billing-facts-v47{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.billing-facts-v47 span{display:grid;gap:4px;padding:11px;border-radius:12px;background:#f5f8fa}.billing-facts-v47 small{color:#687987}.billing-plan-card-v47.current{border-color:#2f7dd3;box-shadow:0 0 0 2px rgba(47,125,211,.1)}.billing-price-v47{font-size:24px}.billing-plan-card-v47 ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;color:#536573}.billing-plan-card-v47 button{margin-top:auto}.billing-help-v47{margin-top:18px}.billing-help-v47 code{font-weight:800}@media(max-width:950px){.platform-plan-grid-v47,.billing-plan-grid-v47{grid-template-columns:1fr}.billing-current-card-v47{grid-template-columns:1fr}.billing-facts-v47{grid-template-columns:1fr 1fr}}@media(max-width:560px){.billing-facts-v47{grid-template-columns:1fr}.platform-plan-card-v47,.billing-plan-card-v47,.billing-current-card-v47{padding:16px}}

/* v48 paketbegränsningar */
.nav-locked-v48{opacity:.82;display:flex!important;align-items:center;gap:7px;justify-content:space-between}
.nav-lock-badge-v48{font-size:10px;line-height:1;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-weight:800;letter-spacing:.02em}
.admin-more-dropdown .nav-locked-v48{color:#4b596a!important}
.admin-more-dropdown .nav-lock-badge-v48{background:#e9eef5;color:#233244}
.plan-entitlements-v48{padding:14px;border:1px solid #dce5ee;border-radius:14px;background:#f7fafc}
.plan-entitlements-v48>strong{display:block;margin-bottom:8px}
.plan-entitlements-v48>div{display:flex;flex-wrap:wrap;gap:7px}
.plan-entitlements-v48 span{font-size:12px;background:#fff;border:1px solid #dfe7ef;border-radius:999px;padding:6px 9px}
.plan-entitlements-v48 small{display:block;margin-top:10px;color:#607086}
#billingMsg[data-kind="info"]{display:block;color:#705500;background:#fff7cf;border:1px solid #ead67d;padding:12px 14px;border-radius:12px;margin:12px 0}

/* v49 – Superadmin Pro */
.super-alerts-v49{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.super-alert-card-v49{background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:15px 16px;display:grid;gap:3px;cursor:pointer}.super-alert-card-v49 span{font-size:12px;color:#667789;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.super-alert-card-v49 strong{font-size:26px}.super-alert-card-v49 small{color:#6f7e8c}.super-alert-card-v49.needs-attention{border-color:#f4c9a8;background:#fffaf5}.super-filters-v49{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,auto));}.company-row-v49{grid-template-columns:minmax(220px,1.15fr) minmax(430px,1.7fr) minmax(150px,.65fr) auto}.company-badges-v49{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.health-badge-v49{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.health-badge-v49.warn{background:#fff7ed;color:#9a3412}.health-badge-v49.danger{background:#fef2f2;color:#b91c1c}.health-badge-v49.muted{background:#f1f5f9;color:#64748b}.usage-summary-v49{display:grid;grid-template-columns:100px 100px minmax(190px,1fr);gap:8px}.usage-summary-v49>div{background:#f6f9fb;border:1px solid #e6edf2;border-radius:12px;padding:10px;display:grid;gap:2px}.usage-summary-v49 span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#748494;font-weight:800}.usage-summary-v49 strong{font-size:16px}.usage-summary-v49 small{font-size:11px;color:#718090}.usage-date-v49{font-size:12px!important;line-height:1.3}@media(max-width:1150px){.company-row-v49{grid-template-columns:1fr 1fr}.usage-summary-v49{grid-column:1/3}.company-actions-v44{justify-content:flex-start}.super-filters-v49{grid-template-columns:1fr 1fr}}@media(max-width:720px){.super-alerts-v49{grid-template-columns:1fr 1fr}.super-filters-v49{display:flex;flex-direction:column}.company-row-v49{grid-template-columns:1fr}.usage-summary-v49{grid-column:auto;grid-template-columns:1fr}.super-alert-card-v49{padding:12px}}
/* v50 – Personal & tekniker */
.tech-team-main-v50{max-width:1240px;margin:0 auto;padding:44px 28px 70px}.tech-team-hero-v50{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.team-hero-actions-v50{display:flex;gap:10px;align-items:center}.team-hero-actions-v50 select{min-width:210px}.team-metrics-v50{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.team-metrics-v50 article{background:#fff;border:1px solid #dfe7ef;border-radius:20px;padding:19px}.team-metrics-v50 span,.team-metrics-v50 small{display:block;color:#65768b}.team-metrics-v50 strong{display:block;font-size:27px;color:#0b1b2b;margin:5px 0}.team-layout-v50{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:22px;align-items:start}.technician-list-v50{display:grid;gap:10px}.technician-card-v50{width:100%;border:1px solid #dfe7ef;background:#fff;border-radius:18px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer}.technician-card-v50:hover,.technician-card-v50.selected{border-color:#1f7aff;box-shadow:0 8px 25px rgba(15,36,60,.08)}.tech-avatar-v50{width:46px;height:46px;border-radius:14px;background:#0c2032;color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;flex:0 0 auto}.tech-card-main-v50{flex:1;min-width:0}.tech-card-main-v50>div:first-child{display:flex;flex-direction:column;gap:2px}.tech-card-main-v50 span{color:#6b7b90;font-size:13px}.tech-card-stats-v50{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.tech-card-stats-v50 span{font-size:12px}.tech-card-stats-v50 b{color:#0b1b2b}.tech-chevron-v50{font-size:28px;color:#8090a4}.technician-panel-v50{background:#fff;border:1px solid #dfe7ef;border-radius:22px;padding:22px;position:sticky;top:20px}.tech-panel-head-v50{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #edf1f5;padding-bottom:16px}.tech-panel-head-v50 h2{margin:4px 0}.tech-panel-head-v50 p{margin:0;color:#6b7b90}.status-pill-v50{background:#f0f3f6;color:#667789;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.status-pill-v50.active{background:#e6f9f0;color:#087b4f}.tech-form-grid-v50{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.tech-form-grid-v50 label{display:grid;gap:6px;font-size:13px;font-weight:700}.tech-form-grid-v50 input,.tech-form-grid-v50 textarea{width:100%;border:1px solid #d5e0ea;border-radius:12px;padding:11px;font:inherit}.tech-form-grid-v50 .wide{grid-column:1/-1}.tech-hours-head-v50,.tech-jobs-head-v50{display:flex;justify-content:space-between;align-items:end;margin:22px 0 10px}.tech-hours-head-v50 h3,.tech-jobs-head-v50 h3{margin:0}.tech-hours-head-v50 span,.tech-jobs-head-v50 span{color:#7a899a;font-size:12px}.tech-hours-v50{display:grid;gap:8px}.tech-hour-row-v50{display:grid;grid-template-columns:minmax(135px,1fr) 105px 16px 105px;gap:8px;align-items:center;border:1px solid #edf1f5;border-radius:12px;padding:9px}.tech-hour-row-v50 input[type=time]{border:1px solid #d9e3ec;border-radius:9px;padding:8px}.tech-save-v50{width:100%;margin-top:16px;padding:12px}.tech-jobs-v50{display:grid;gap:8px}.tech-jobs-v50 a{text-decoration:none;color:inherit;border:1px solid #edf1f5;border-radius:12px;padding:11px;display:flex;justify-content:space-between;gap:14px}.tech-jobs-v50 a>div{display:flex;flex-direction:column;gap:3px}.tech-jobs-v50 span,.tech-jobs-v50 small{font-size:12px;color:#738398}.tech-jobs-v50 a>div:last-child{text-align:right}
@media(max-width:900px){.team-layout-v50{grid-template-columns:1fr}.technician-panel-v50{position:static}.team-metrics-v50{grid-template-columns:1fr 1fr}.tech-team-hero-v50{align-items:stretch;flex-direction:column}.team-hero-actions-v50{flex-wrap:wrap}}
@media(max-width:600px){.tech-team-main-v50{padding:25px 14px 60px}.team-metrics-v50{grid-template-columns:1fr 1fr;gap:9px}.team-metrics-v50 article{padding:14px}.team-metrics-v50 strong{font-size:22px}.tech-card-stats-v50{gap:9px}.technician-panel-v50{padding:16px}.tech-form-grid-v50{grid-template-columns:1fr}.tech-hour-row-v50{grid-template-columns:1fr 1fr 12px 1fr}.team-hero-actions-v50 select,.team-hero-actions-v50 a{width:100%}}

/* v52 Formulärbyggare */
.form-builder-main{max-width:1180px}.form-builder-list{display:grid;gap:10px}.form-builder-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.form-builder-order{display:flex;gap:5px}.form-builder-order button{width:34px;height:34px;border:1px solid #d1d5db;background:#fff;border-radius:9px;cursor:pointer}.form-builder-main{display:flex;flex-direction:column;gap:3px}.form-builder-main span,.form-builder-main small{color:#6b7280}.form-builder-actions{display:flex;gap:8px}.mini-btn.danger{color:#b42318;border-color:#f2c7c2}.custom-booking-fields{display:grid;gap:12px;margin-top:12px}.custom-check{padding:12px;border:1px solid #e5e7eb;border-radius:12px}.custom-field-summary{display:grid;gap:8px}.custom-field-summary>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #eee;padding:7px 0}.custom-field-summary span{text-transform:capitalize;color:#6b7280}@media(max-width:700px){.form-builder-row{grid-template-columns:1fr}.form-builder-order{order:2}.form-builder-actions{order:3}.catalog-form-grid{grid-template-columns:1fr!important}}
/* v53 – generella företagsdokument */
.doc-brand-v53{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #e5e7eb}.doc-brand-v53 img{width:58px;height:58px;object-fit:contain;border-radius:12px}.doc-brand-v53 div{display:flex;flex-direction:column;gap:4px}.doc-brand-v53 strong{font-size:1.15rem}.doc-brand-v53 small{color:#64748b;line-height:1.45}.doc-section-v53{margin-top:22px;padding-top:18px;border-top:1px solid #e5e7eb}.doc-section-v53 h3{margin:0 0 8px;font-size:.95rem}.doc-section-v53 p{white-space:pre-line;color:#475569}.doc-footer-v53{margin-top:26px;padding-top:16px;border-top:1px solid #e5e7eb;color:#64748b;font-size:.88rem;white-space:pre-line}
/* v54 – Kommunikation */
.communication-stats-v54{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.communication-stats-v54>div{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px 16px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.communication-stats-v54 span{display:block;font-size:.78rem;color:#64748b;font-weight:700}.communication-stats-v54 strong{display:block;font-size:1.65rem;margin-top:4px;color:#0f172a}.template-help-v54{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px 14px;margin-bottom:14px}.template-help-v54 span{color:#334155}.template-list-v54{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.template-card-v54{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(15,23,42,.05)}.template-card-v54 label{display:grid;gap:7px;font-weight:700;color:#334155;margin-top:12px}.template-card-v54 input,.template-card-v54 textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font:inherit}.template-card-head-v54,.template-actions-v54{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-card-head-v54 h2{margin:3px 0 0;font-size:1.05rem}.template-active-v54{display:flex!important;grid-template-columns:auto auto!important;align-items:center;gap:7px!important;margin:0!important;font-size:.85rem!important}.template-active-v54 input{width:auto}.template-actions-v54{margin-top:14px}.communication-filters{flex-wrap:wrap}.communication-filters select{min-width:145px}
@media(max-width:800px){.communication-stats-v54{grid-template-columns:repeat(2,minmax(0,1fr))}.template-list-v54{grid-template-columns:1fr}}

/* v55 – generell kundportal */
.portal-progress-card{overflow:hidden}.portal-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:18px}.portal-step{position:relative;display:grid;justify-items:center;gap:8px;text-align:center;color:#91a2b2;font-size:.78rem;font-weight:700}.portal-step i{width:14px;height:14px;border-radius:50%;background:#dce5ec;box-shadow:0 0 0 4px #fff;z-index:2}.portal-step:not(:last-child):after{content:"";position:absolute;top:6px;left:50%;width:100%;height:2px;background:#e2e8ee;z-index:1}.portal-step.done,.portal-step.active{color:#15324a}.portal-step.done i{background:#25c99a}.portal-step.active i{background:#1677ff;box-shadow:0 0 0 4px #e9f2ff}.portal-timeline{display:grid;gap:0}.portal-timeline>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf2f7}.portal-timeline span{color:#64748b}.portal-contact{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.portal-contact h3{width:100%;margin-bottom:0}.portal-contact p{margin:0;font-weight:800}@media(max-width:700px){.portal-progress{grid-template-columns:1fr;gap:8px}.portal-step{grid-template-columns:20px 1fr;justify-items:start;text-align:left;align-items:center}.portal-step:not(:last-child):after{left:6px;top:14px;width:2px;height:28px}.portal-timeline>div{flex-direction:column;gap:4px}}
/* v57 kundbetalning */
.customer-pay-v57{margin:20px 0;padding:18px;border:1px solid #dfe7ef;border-radius:18px;background:#f8fafc;display:grid;gap:12px}.customer-pay-v57 h3{margin:0}.pay-option-v57{display:grid;gap:4px;padding:14px;border-radius:14px;background:#fff;border:1px solid #e5e7eb}.paid-confirm-v57{margin:16px 0;padding:14px 16px;border-radius:14px;background:#ecfdf5;border:1px solid #a7f3d0;font-weight:700;color:#065f46}

/* v58 – White-label & egen domän */
:root{--brand-primary:#1677ff;--brand-secondary:#0b1b2b;--brand-background:#f7f9fc;--brand-button-text:#fff}
body:not(.admin-page){background:var(--brand-background)}
body:not(.admin-page) .btn:not(.btn-ghost),body:not(.admin-page) .hero-next-btn{background:var(--brand-primary)!important;color:var(--brand-button-text)!important;border-color:var(--brand-primary)!important}
body:not(.admin-page) .eyebrow,body:not(.admin-page) a:not(.btn){color:var(--brand-primary)}
body:not(.admin-page) .site-header .brand,body:not(.admin-page) h1,body:not(.admin-page) h2{color:var(--brand-secondary)}
.brand-grid-v58{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.brand-grid-v58 label{display:grid;gap:7px;font-size:13px;font-weight:700}.brand-grid-v58 input[type=color]{width:100%;height:46px;padding:4px;border:1px solid #d5e0ea;border-radius:12px;background:#fff}.brand-domain-grid-v58{margin-top:12px}.toggle-line-v58{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.toggle-line-v58 input{width:auto!important}.brand-preview-v58{--preview-primary:#1677ff;--preview-secondary:#0b1b2b;--preview-bg:#f7f9fc;--preview-button-text:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:18px;padding:18px;border-radius:18px;background:var(--preview-bg);border:1px solid #dfe7ef;color:var(--preview-secondary)}.brand-preview-logo-v58{width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid #dfe7ef;display:grid;place-items:center;font-size:10px;font-weight:800;overflow:hidden}.brand-preview-logo-v58 img{width:100%;height:100%;object-fit:contain}.brand-preview-v58>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.brand-preview-v58>div:nth-child(2) span{font-size:13px;opacity:.7}.brand-preview-v58 button{border:0;border-radius:12px;padding:11px 15px;background:var(--preview-primary);color:var(--preview-button-text);font-weight:800}.domain-note-v58{margin-top:12px;padding:11px 13px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;color:#526071;font-size:13px}@media(max-width:700px){.brand-grid-v58{grid-template-columns:1fr 1fr}.brand-preview-v58{grid-template-columns:auto 1fr}.brand-preview-v58 button{grid-column:1/-1;width:100%}}

/* v59 Säkerhet & GDPR */
.gdpr-actions-v59{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.btn-danger{background:#b42318;color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.security-summary-v59{display:grid;gap:8px}.security-summary-v59 strong{font-size:1.05rem}.audit-row-v59{display:grid;grid-template-columns:120px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.1)}.audit-row-v59 time{white-space:nowrap;color:#64748b;font-size:.9rem}@media(max-width:700px){.audit-row-v59{grid-template-columns:1fr}.audit-row-v59 time{white-space:normal}}

/* v60 – Lanseringskontroll */
.launch-summary-v60{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:14px;margin:18px 0}.launch-score-v60,.launch-stat-v60{background:#fff;border:1px solid #e7ebf0;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.launch-score-v60{background:#0b1b2b;color:#fff}.launch-score-v60 span,.launch-stat-v60 span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.launch-score-v60 strong,.launch-stat-v60 strong{display:block;font-size:34px;margin-top:6px}.launch-score-v60 small{display:block;margin-top:5px;opacity:.75}.launch-grid-v60{display:grid;grid-template-columns:1fr 1fr;gap:16px}.launch-check-list-v60{display:grid;gap:10px;margin:14px 0}.launch-check-v60,.launch-manual-v60{display:flex;gap:11px;align-items:flex-start;border:1px solid #e5e9ef;border-radius:14px;padding:12px 13px;background:#fff}.launch-check-v60.ok{border-color:#bee5cf;background:#f6fcf8}.launch-check-v60.todo{border-color:#f3d6a4;background:#fffaf1}.launch-check-icon-v60{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;font-weight:900;background:#e8eef5}.launch-check-v60.ok .launch-check-icon-v60{background:#d9f3e3;color:#14783d}.launch-check-v60.todo .launch-check-icon-v60{background:#fff0d1;color:#9b5c00}.launch-check-v60 small,.launch-manual-v60 small{display:block;color:#6b7280;margin-top:3px}.launch-manual-v60{cursor:pointer}.launch-manual-v60 input{margin-top:3px;width:18px;height:18px}.launch-note-grid-v60{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.launch-note-grid-v60>div{border:1px solid #e5e9ef;border-radius:14px;padding:14px}.launch-note-grid-v60 p{margin:.45rem 0 0;color:#667085;line-height:1.5}.launch-message-v60{margin:14px 0;color:#b42318;font-weight:700}@media(max-width:900px){.launch-summary-v60{grid-template-columns:1fr 1fr}.launch-grid-v60{grid-template-columns:1fr}.launch-note-grid-v60{grid-template-columns:1fr}}@media(max-width:560px){.launch-summary-v60{grid-template-columns:1fr}.launch-score-v60 strong,.launch-stat-v60 strong{font-size:29px}}


/* v61 QA */
.qa-v61{max-width:1180px;margin:0 auto;padding:28px 20px 60px}.qa-summary-v61{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.qa-summary-v61 article{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.qa-summary-v61 span{display:block;color:#64748b;font-size:13px;margin-bottom:8px}.qa-summary-v61 strong{font-size:30px;color:#0f172a}.qa-list-v61{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qa-item-v61{display:flex;gap:12px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:14px;padding:13px 14px;background:#fff}.qa-item-v61>span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;font-weight:800}.qa-item-v61.ok>span{background:#dcfce7;color:#166534}.qa-item-v61.warn>span{background:#fee2e2;color:#991b1b}.qa-item-v61 small{display:block;color:#64748b;margin-top:3px;word-break:break-word}.qa-manual-v61{display:grid;gap:9px}.qa-check-v61{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;cursor:pointer}.qa-check-v61 input{width:19px;height:19px;margin-top:1px}.qa-note-v61{border-left:4px solid #2563eb}@media(max-width:760px){.qa-v61{padding:18px 12px 40px}.qa-summary-v61{grid-template-columns:1fr}.qa-list-v61{grid-template-columns:1fr}.page-head{gap:12px}.page-head .btn{width:100%}}

/* v62 – separat plattformsadmin */
.platform-admin-tools-v62{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.platform-admin-tools-v62 a{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#111827;text-decoration:none;box-shadow:0 6px 20px rgba(15,23,42,.05)}
.platform-admin-tools-v62 a:hover{border-color:#cbd5e1;transform:translateY(-1px)}
.platform-admin-tools-v62 a>span{font-size:20px}.platform-admin-tools-v62 strong{font-size:15px}.platform-admin-tools-v62 small{color:#64748b;line-height:1.35}
@media(max-width:900px){.platform-admin-tools-v62{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.platform-admin-tools-v62{grid-template-columns:1fr}}


/* v63 - readable contrast on platform admin subpages */
body.admin-body,
body.admin-page,
body.qa-admin-v63 {
  background:#eef3f7;
  color:#0b1724;
}
body.admin-body .admin-shell,
body.admin-page .admin-main,
body.qa-admin-v63 .page-shell {
  color:#0b1724;
}
body.admin-body .settings-card-v32,
body.admin-body .launch-stat-v60,
body.admin-page .platform-plan-card-v47,
body.admin-page .dashboard-panel,
body.qa-admin-v63 .panel,
body.qa-admin-v63 .qa-item-v61,
body.qa-admin-v63 .qa-check-v61 {
  color:#0b1724;
}
body.admin-body .settings-card-v32 h1,
body.admin-body .settings-card-v32 h2,
body.admin-body .settings-card-v32 h3,
body.admin-body .launch-stat-v60 strong,
body.admin-page .platform-plan-card-v47 h1,
body.admin-page .platform-plan-card-v47 h2,
body.admin-page .platform-plan-card-v47 h3,
body.admin-page .dashboard-panel,
body.qa-admin-v63 h1,
body.qa-admin-v63 h2,
body.qa-admin-v63 h3,
body.qa-admin-v63 .qa-item-v61 strong,
body.qa-admin-v63 .qa-check-v61 strong {
  color:#0b1724;
}
body.admin-body .muted,
body.admin-page .muted,
body.qa-admin-v63 .muted {
  color:#64748b;
}
/* Keep the deliberately dark launch score card readable. */
body.admin-body .launch-score-v60,
body.admin-body .launch-score-v60 span,
body.admin-body .launch-score-v60 strong,
body.admin-body .launch-score-v60 small {
  color:#fff;
}
/* Header always remains light on the dark navigation bar. */
body.admin-body .site-header,
body.admin-page .site-header,
body.qa-admin-v63 .site-header,
body.admin-body .site-header .brand,
body.admin-page .site-header .brand,
body.qa-admin-v63 .site-header .brand {
  color:#eef6ff;
}

/* v65 Superadmin layout */
.platform-admin-tools-v65{grid-template-columns:repeat(4,minmax(0,1fr))}
.super-company-section-v65{margin-top:18px}
.super-create-company-v65{margin-top:18px}
.super-company-section-v65 .settings-card-head,.super-create-company-v65 .settings-card-head{margin-bottom:14px}
.super-company-section-v65 .company-list-v42{margin-top:14px}
.super-login-note-v65{margin-bottom:24px}
@media(max-width:900px){.platform-admin-tools-v65{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.platform-admin-tools-v65{grid-template-columns:1fr}}

/* v67 – modern steg-för-steg bokningsupplevelse */
.booking-flow-v67{background:#f7f9fb;padding-top:38px}
.booking-flow-head-v67{max-width:980px;margin:0 auto 14px;display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center}
.booking-flow-head-v67 h2{margin:2px 0 0;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em}
.booking-back-v67{width:46px;height:46px;border-radius:50%;border:1px solid #dce5ec;background:#fff;color:#12bfc0;font-size:34px;line-height:1;cursor:pointer}
.booking-step-v67{font-weight:800;color:#6e7f8e;background:#fff;border:1px solid #dce5ec;border-radius:999px;padding:8px 12px}
.booking-progress-v67{height:5px;background:#d9f4f4;max-width:980px;margin:0 auto 18px;border-radius:999px;overflow:hidden}
.booking-progress-v67 span{display:block;height:100%;width:14%;background:#11c8c8;border-radius:999px;transition:.25s}
.booking-crumbs-v67{max-width:980px;margin:0 auto 24px;display:flex;gap:8px;overflow:auto;white-space:nowrap;color:#64748b;font-size:.9rem}
.booking-crumbs-v67 span{display:inline-flex;align-items:center;gap:8px}
.booking-crumbs-v67 span:not(:last-child):after{content:'›';color:#11c8c8;font-size:20px}
.booking-shell-v67{max-width:980px;margin:0 auto;display:block}
.progress-v67{display:none!important}
.booking-card-v67{border-radius:28px;padding:30px;box-shadow:0 16px 50px rgba(17,42,64,.08);border:1px solid #e0e8ee}
.booking-card-v67 .form-step h3{font-size:1.75rem;margin-bottom:8px}
.step-intro-v67{margin:0 0 22px;color:#758596}
.booking-card-v67 .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.booking-card-v67 .choice-card{min-height:150px;border-radius:22px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfcfd);box-shadow:0 8px 24px rgba(18,39,58,.04)}
.booking-card-v67 .choice-card:before{content:'✦';position:absolute;right:18px;top:16px;width:46px;height:46px;border-radius:15px;background:#eafafa;color:#11bcbc;display:grid;place-items:center;font-size:20px;font-weight:900}
.booking-card-v67 .choice-card strong{font-size:1.12rem;line-height:1.25;max-width:78%}
.booking-card-v67 .choice-card small{font-size:.92rem;color:#8a9bad;margin-top:8px}
.booking-card-v67 .choice-card .price{font-size:1.08rem;color:#0e1d2a;margin-top:12px}
.booking-card-v67 .choice-card.selected{border:2px solid #10c7c7;background:#f2ffff;box-shadow:0 0 0 4px rgba(16,199,199,.08)}
.model-grid-v67 .choice-card:before{content:'◫'}
.repairs .choice-card:before{content:'✓'}
.extras .choice-card:before{content:'+'}
.sr-select-v67{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.date-card-v67{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;padding:18px;border:1px solid #e1e7ed;border-radius:22px;background:#fbfcfd;margin:16px 0 20px}
.date-card-v67 .field{margin:0}
.selected-service-mini-v67{border-radius:16px;background:#fff;border:1px solid #e4ebf0;padding:14px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.selected-service-mini-v67 strong{font-size:1rem}.selected-service-mini-v67 span{color:#8090a0;font-size:.88rem}
.time-title-v67{font-weight:900;margin:4px 0 12px}
.time-slots-v67{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.time-slot-v67{padding:15px 10px;border:1px solid #dce4ea;border-radius:16px;background:#fff;color:#152333;font:inherit;font-weight:800;cursor:pointer}
.time-slot-v67.selected{border-color:#0fc7c7;background:#efffff;color:#057e7e;box-shadow:0 0 0 3px rgba(15,199,199,.09)}
.booking-card-v67 .form-actions{position:sticky;bottom:12px;z-index:12;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border:1px solid #e2e9ee;border-radius:20px;padding:12px;margin-top:28px;box-shadow:0 14px 36px rgba(17,37,52,.12)}
.booking-card-v67 .form-actions .btn{min-height:54px;border-radius:16px}
.booking-card-v67 .booking-next-v67{margin-left:auto;min-width:180px;background:#12caca;color:white;box-shadow:none}
.booking-card-v67 .form-actions .btn-ghost{color:#203040;border-color:#d7e1e8;background:#fff}
.booking-card-v67 .summary-row{padding:15px 0}.booking-card-v67 .summary-total{font-size:1.35rem;border-bottom:0}
@media(max-width:700px){
  .booking-flow-v67{padding:22px 0 46px}
  .booking-flow-head-v67,.booking-progress-v67,.booking-crumbs-v67{margin-left:16px;margin-right:16px}
  .booking-flow-head-v67{grid-template-columns:44px 1fr auto;gap:10px}.booking-back-v67{width:40px;height:40px;font-size:30px}
  .booking-step-v67{font-size:.78rem;padding:7px 9px}.booking-crumbs-v67{margin-bottom:14px}
  .booking-shell-v67{padding:0 12px}.booking-card-v67{padding:18px 14px;border-radius:22px}
  .booking-card-v67 .choice-grid{grid-template-columns:1fr 1fr;gap:12px}
  .booking-card-v67 .choice-card{min-height:170px;padding:16px;border-radius:20px;text-align:center;align-items:center;justify-content:flex-end}
  .booking-card-v67 .choice-card:before{position:static;width:64px;height:64px;border-radius:20px;margin-bottom:22px;font-size:26px}
  .booking-card-v67 .choice-card strong{max-width:100%;font-size:1rem}.booking-card-v67 .choice-card small{font-size:.84rem}
  .date-card-v67{grid-template-columns:1fr;padding:14px}.time-slots-v67{grid-template-columns:1fr 1fr}
  .booking-card-v67 .form-actions{bottom:8px}.booking-card-v67 .booking-next-v67{min-width:0;flex:1}.booking-card-v67 #prevBtn{flex:0 0 110px}
}

/* v70 – Superadmin session/logout fixes */
.super-logout-v70{appearance:none;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}
.super-logout-v70:hover{background:rgba(255,255,255,.16)}
.super-logout-v70:disabled{opacity:.55;cursor:wait}
