/* Crew Support portal – admin och inloggning. Samma värld som hemsidan: grafit, tunna linjer, cyan som ljus. */
:root{
  --black:#07080A;--graphite:#101217;--surface:#171A20;--surface-2:#1D2129;
  --cyan:#00E5FF;--magenta:#FF00A8;--ok:#3DDC97;--warn:#FFB020;--err:#FF5C8A;
  --text:#EEF1F5;--soft:#B9C0CB;--muted:#7D8693;
  --line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);
  --sans:Manrope,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none !important}
body{font-family:var(--sans);background:var(--black);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;
  background-image:radial-gradient(ellipse 60% 50% at 0% 0%,rgba(0,229,255,.07),transparent 60%),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(255,0,168,.05),transparent 60%);background-attachment:fixed}
a{color:inherit}
:focus-visible{outline:1px solid var(--cyan);outline-offset:3px}
h1{font-weight:800;font-size:clamp(28px,3.4vw,40px);line-height:1.08;letter-spacing:-.02em}
h2{font-weight:700;font-size:18px;margin-bottom:14px}
h3{font-weight:700;font-size:14px;margin:22px 0 10px;color:var(--soft)}
code,.mono{font-family:var(--mono);font-size:.86em;letter-spacing:.02em}
.muted{color:var(--muted)}
.hl{color:var(--cyan)}
.p-wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,3vw,40px)}
.p-main{padding-block:34px 80px}

/* Logo */
.ncs-logo{display:inline-flex;flex-direction:column;line-height:.84;font-size:17px}
.ncs-logo span:first-child{font-weight:400;font-size:.6em;color:var(--soft);margin-bottom:.1em}
.ncs-logo span+span{font-weight:800;text-transform:uppercase;letter-spacing:-.01em}

/* Topp */
.p-top{position:sticky;top:0;z-index:20;background:rgba(7,8,10,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.p-top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px}
.p-brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:none}
.p-tag{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(0,229,255,.4);padding:3px 7px}
.p-nav{display:flex;align-items:center;gap:4px}
.p-nav a{text-decoration:none;color:var(--soft);font-weight:600;font-size:14px}
.p-nav a:hover{color:var(--text)}
.p-who{color:var(--muted);font-size:13px}
.p-link{background:none;border:0;color:var(--soft);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.p-link:hover{color:var(--text);text-decoration-color:currentColor}
.p-link.danger{color:var(--err)}

/* Rubrikrad */
.p-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.p-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.p-label a{text-decoration:none}
.p-label a:hover{text-decoration:underline}
.with-swatch{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* Kort och rutnät */
.card{background:linear-gradient(180deg,rgba(23,26,32,.85),rgba(16,18,23,.85));border:1px solid var(--line);padding:clamp(18px,2.4vw,28px);min-width:0}
.grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}
.grid-2.tight{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.stack{display:grid;gap:14px}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-2.wide-first{grid-template-columns:1fr 120px}
.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.empty{color:var(--muted);padding:18px 0}

/* Formulär */
label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--soft);min-width:0}
label small{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;font-size:14px;color:var(--text);background:rgba(7,8,10,.6);border:1px solid var(--line-2);border-radius:0;padding:10px 12px;width:100%;min-width:0;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.12)}
input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.8)}
input[type=file]{padding:8px}
textarea{resize:vertical;line-height:1.5}
select option{background:var(--graphite)}
label.check{display:flex;align-items:center;gap:8px;font-weight:500}
label.check input{width:auto}
.color{display:flex;gap:8px}
.color input[type=color]{width:46px;height:42px;padding:3px;flex:none;cursor:pointer}
.prefix{display:flex;align-items:stretch}
.prefix .mono{display:flex;align-items:center;padding:0 10px;border:1px solid var(--line-2);border-right:0;color:var(--muted);background:rgba(255,255,255,.03)}
input.xs{max-width:76px}

/* Knappar */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:14px 22px;border:1px solid var(--cyan);background:var(--cyan);color:var(--black);cursor:pointer;text-decoration:none;transition:box-shadow .3s,background .3s,color .3s;white-space:nowrap}
.btn:hover{box-shadow:0 0 30px -6px rgba(0,229,255,.75)}
.btn.sm{padding:10px 16px;font-size:11px}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
.btn.ghost:hover{border-color:rgba(255,255,255,.4);box-shadow:none}
.btn.danger{background:transparent;color:var(--err);border-color:rgba(255,92,138,.5)}
.btn.danger:hover{background:rgba(255,92,138,.12);box-shadow:none}
.btn-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* Meddelanderuta */
.p-flash{border:1px solid rgba(61,220,151,.4);background:rgba(61,220,151,.08);color:var(--text);padding:12px 16px;margin-bottom:20px;font-size:14px}
.p-flash.err{border-color:rgba(255,92,138,.5);background:rgba(255,92,138,.08)}
.p-flash.warn{border-color:rgba(255,176,32,.5);background:rgba(255,176,32,.08)}

/* Märken */
.badge{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line-2);color:var(--soft);vertical-align:middle;white-space:nowrap}
.badge.ok{color:var(--ok);border-color:rgba(61,220,151,.4)}
.badge.warn{color:var(--warn);border-color:rgba(255,176,32,.4)}
.badge.info{color:var(--cyan);border-color:rgba(0,229,255,.4)}
.badge.hot{color:var(--black);background:var(--magenta);border-color:var(--magenta)}
.swatch{display:inline-block;width:26px;height:26px;flex:none;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);border:1px solid var(--line-2)}
.swatch.lg{width:34px;height:34px}

/* Kundlista */
.clist{list-style:none;border-top:1px solid var(--line)}
.clist li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.clist li.off{opacity:.55}
.clist-main{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
.clist-main strong{display:block;font-size:15px}
.clist-main small{color:var(--muted)}
.clist-main:hover strong{color:var(--cyan)}
.clist-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}

/* Flikar */
.tabs{display:flex;flex-wrap:wrap;gap:0 4px;border-bottom:1px solid var(--line-2);margin-bottom:20px}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;text-decoration:none;padding:12px 14px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:8px}
.tabs a:hover{color:var(--text)}
.tabs a.on{color:var(--text);border-bottom-color:var(--cyan)}
.count{font-family:var(--mono);font-size:10px;padding:1px 6px;border:1px solid var(--line-2);color:var(--muted)}
.count.hot{background:var(--magenta);border-color:var(--magenta);color:var(--black)}
.js .tab{display:none}
.js .tab.on{display:block}

/* Fällbara block */
details.block{border:1px solid var(--line);margin-bottom:12px;background:rgba(7,8,10,.35)}
details.block>summary{cursor:pointer;padding:14px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;list-style:none}
details.block>summary::-webkit-details-marker{display:none}
details.block>summary::before{content:"+";font-family:var(--mono);color:var(--cyan);width:12px}
details.block[open]>summary::before{content:"–"}
details.block[open]>summary{border-bottom:1px solid var(--line)}
details.block>form,details.block>h3,details.block>.sched{margin:16px}
details.block.new>summary strong{color:var(--cyan)}

/* Körschema och kontaktrader */
.sched{display:grid;gap:8px}
.sched-row{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1.2fr) auto auto;gap:8px;align-items:center}
.sched-row.add{grid-template-columns:200px minmax(0,1fr) minmax(0,1.2fr) auto;padding-top:8px;border-top:1px dashed var(--line-2)}
.contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px minmax(0,1.2fr) 76px auto auto;gap:8px;align-items:center}
.contact-row.add{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px minmax(0,1.2fr) 76px auto;padding-top:8px;border-top:1px dashed var(--line-2)}
.inline-add.four{grid-template-columns:1fr 1.3fr auto auto}
.inline-add.four label.check{padding-bottom:10px;white-space:nowrap}
.inline-add{display:grid;grid-template-columns:1fr 1.3fr auto;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}

/* Tabell */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;text-align:left;padding:8px 10px 10px 0;border-bottom:1px solid var(--line-2)}
.tbl td{padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr.off td{opacity:.5}
.tbl td.actions form{display:inline-flex;gap:14px;flex-wrap:wrap}
.tbl td.actions{text-align:right}
.card:has(.tbl){overflow-x:auto}

/* Meddelanden */
.thread{display:grid;gap:12px;margin-bottom:18px;max-height:520px;overflow-y:auto;padding-right:4px}
.msg{max-width:78%;padding:12px 14px;border:1px solid var(--line);background:rgba(7,8,10,.4)}
.msg.staff{justify-self:end;border-color:rgba(0,229,255,.25);background:rgba(0,229,255,.05)}
.msg.new{border-color:var(--magenta);box-shadow:0 0 0 1px rgba(255,0,168,.2)}
.msg-meta{font-size:12px;color:var(--muted);margin-bottom:4px}
.msg-meta strong{color:var(--text)}
.msg-meta span{margin-left:6px}

/* Förhandsvisning av branding */
.brand-prev{--bg:#0B0C10;--fg:#EEF1F5;--mut:#8A929E;border:1px solid var(--line-2);background:var(--bg);color:var(--fg);overflow:hidden;position:relative}
.brand-prev.light{--bg:#F6F6F4;--fg:#121418;--mut:#5E646E}
.brand-prev::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,color-mix(in srgb,var(--cp) 30%,transparent),transparent 55%),radial-gradient(circle at 0% 100%,color-mix(in srgb,var(--ca) 22%,transparent),transparent 55%);pointer-events:none}
.bp-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid color-mix(in srgb,var(--fg) 12%,transparent)}
.bp-logo img{max-height:34px;max-width:150px;display:block}
.bp-logo b{font-size:15px}
.bp-x{font-size:11px;color:var(--mut)}
.bp-hero{position:relative;padding:26px 16px 22px;display:grid;gap:8px}
.bp-hero small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cp)}
.bp-hero strong{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.bp-btn{justify-self:start;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;background:var(--cp);color:var(--on,#07080A)}
.bp-bar{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:0 16px 18px}
.bp-bar i{height:4px;background:color-mix(in srgb,var(--fg) 14%,transparent)}
.bp-bar i:nth-child(-n+3){background:var(--cp)}
.bp-bar i:nth-child(3){background:var(--ca)}

/* Inställningar */
.danger-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px;border:1px solid var(--line);flex-wrap:wrap}
.danger-row>div{flex:1;min-width:240px;display:grid;gap:6px}
.danger-row input{max-width:280px}

/* Inloggning */
.p-auth .p-main{min-height:100vh;display:grid;place-items:center;padding:40px 16px}
.auth-box{width:100%;max-width:420px;background:linear-gradient(180deg,rgba(23,26,32,.9),rgba(16,18,23,.9));border:1px solid var(--line-2);padding:clamp(24px,5vw,40px);position:relative;display:grid;gap:16px}
.auth-box::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent 50%,var(--magenta))}
.auth-logo{text-decoration:none;margin-bottom:10px}
.auth-logo .ncs-logo{font-size:22px}
.auth-box h1{font-size:30px}
.auth-box .btn{width:100%;margin-top:4px}
.auth-alt{font-size:14px;text-align:center}
.auth-alt a{color:var(--soft)}
.auth-back{font-size:13px;text-align:center;margin-top:6px}
.auth-back a{color:var(--muted);text-decoration:none}
.auth-back a:hover{color:var(--text)}

@media (max-width:1000px){
  .grid-2,.grid-2.tight{grid-template-columns:1fr}
  .row-4{grid-template-columns:1fr 1fr}
  .sched-row,.sched-row.add{grid-template-columns:1fr 1fr;}
  .sched-row input[name=details]{grid-column:1/-1}
  .contact-row,.contact-row.add{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .row-2,.row-3,.row-4,.row-2.wide-first,.inline-add,.inline-add.four{grid-template-columns:1fr}
  .sched-row,.sched-row.add,.contact-row,.contact-row.add{grid-template-columns:1fr}
  .msg{max-width:100%}
}

/* ===================== Bokningar i admin ===================== */
.tabs.static a{cursor:pointer}
.r{text-align:right}
.tbl th.r,.tbl td.r{text-align:right;padding-right:0}
.tbl tfoot td{padding-top:14px;color:var(--soft)}
.link-row{cursor:pointer}
.link-row:hover td{background:rgba(255,255,255,.02)}
.filters select{min-width:200px}
.badge.big{font-size:12px;padding:8px 12px}
.badge.st-received{color:var(--black);background:var(--magenta);border-color:var(--magenta)}
.badge.st-confirmed{color:var(--black);background:var(--cyan);border-color:var(--cyan)}
.badge.st-delivered{color:var(--cyan);border-color:rgba(0,229,255,.5)}
.badge.st-invoiced{color:var(--ok);border-color:rgba(61,220,151,.4)}
.badge.st-cancelled{color:var(--muted);text-decoration:line-through}
.h-num{font-size:.45em;font-weight:500;vertical-align:middle;margin-left:8px}
.totals{display:grid;gap:6px;margin-top:18px;max-width:420px;margin-left:auto;font-variant-numeric:tabular-nums}
.totals div{display:flex;justify-content:space-between;gap:16px;color:var(--soft)}
.totals .sum{color:var(--text);border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.note-box{background:rgba(7,8,10,.5);border:1px solid var(--line);padding:12px 14px;color:var(--soft)}
input.sm-in{max-width:120px}
.tbl.lines input{padding:7px 9px}
.tbl.lines tr.add-line td{border-bottom:0;padding-top:16px}
.small{font-size:13px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.kpis>div{border:1px solid var(--line);padding:16px;display:grid;gap:4px;background:rgba(7,8,10,.35)}
.kpis span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kpis strong{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.kpis small{color:var(--muted)}
.tt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
fieldset.tt{border:1px solid var(--line-2);padding:16px;display:grid;gap:10px;min-width:0;background:rgba(7,8,10,.35)}
fieldset.tt legend{padding:0 6px;color:var(--cyan);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.js fieldset.tt[data-m="km"] .mode-fixed,.js fieldset.tt[data-m="fixed"] .mode-km,.js fieldset.tt[data-m="std"] .mode-km,.js fieldset.tt[data-m="std"] .mode-fixed{display:none}
.loc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 100px 76px auto auto;gap:8px;align-items:center}
.loc-row.add{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 100px 76px auto;padding-top:8px;border-top:1px dashed var(--line-2)}
.row-4 .span-2,.span-2{grid-column:span 2}
.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.btn-row.end{justify-content:flex-end;align-self:end}
h3.group{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);font-weight:500;margin:26px 0 10px}
details.block.off{opacity:.55}
.js .product-form[data-kind="item"] .only-labor,.js .product-form[data-kind="labor"] .only-item{display:none}
.note{margin-top:16px;font-size:13px}
.note a{color:var(--soft)}
@media (max-width:1100px){.tt-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tt-grid,.kpis{grid-template-columns:1fr}.loc-row,.loc-row.add{grid-template-columns:1fr}.row-4 .span-2,.span-2{grid-column:auto}}

/* Merförsäljning i produktformuläret */
.upsell-box{border:1px solid rgba(0,229,255,.25);background:rgba(0,229,255,.03);padding:14px}
.ub-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.ub-head>div{display:grid;gap:2px;max-width:560px}
.ub-head input{max-width:200px}
.ub-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:320px;overflow-y:auto}
.ub-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);padding:8px 10px;background:rgba(7,8,10,.4);transition:border-color .2s,background .2s}
.ub-item.on{border-color:var(--cyan);background:rgba(0,229,255,.08)}
.ub-pick{display:flex !important;align-items:center;gap:10px;font-weight:600;color:var(--text) !important;cursor:pointer;min-width:0}
.ub-pick input{width:18px;height:18px;flex:none;accent-color:var(--cyan)}
.ub-pick small{display:block;font-weight:400;color:var(--muted)}
.ub-item select{width:auto;padding:6px 8px;font-size:12px}
.ub-item select:disabled{opacity:.3}

/* Produktbild */
.img-desc{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}
.img-field{display:grid;gap:8px}
.img-prev{aspect-ratio:1;border:1px dashed var(--line-2);display:grid;place-items:center;background:rgba(7,8,10,.5);overflow:hidden;color:var(--muted);font-size:12px}
.img-prev img{width:100%;height:100%;object-fit:cover;object-position:center}
.img-btn{position:relative;display:block !important;text-align:center;border:1px solid var(--line-2);padding:8px;cursor:pointer;font-weight:600;color:var(--text) !important}
.img-btn:hover{border-color:var(--cyan)}
.img-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.thumb{width:34px;height:34px;flex:none;border:1px solid var(--line);background:rgba(7,8,10,.5);overflow:hidden;display:inline-block}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:640px){.img-desc{grid-template-columns:1fr}.img-field{max-width:220px}}

/* Navigering: aktiv sida */

.mt{margin-top:20px}
.p-wrap.narrow{max-width:900px}
.jump{display:flex;gap:6px;flex-wrap:wrap}
.jump a{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--soft);border:1px solid var(--line-2);padding:7px 10px}
.jump a:hover{border-color:var(--cyan);color:var(--text)}
section[id]{scroll-margin-top:90px}
.warn-text{color:var(--warn)}
.count.warn{color:var(--black);background:var(--warn);border-color:var(--warn)}

/* Hyrfaktor */
.factor-tbl input{padding:7px 9px}
.factor-prev{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:6px}
.factor-prev span{border:1px solid var(--line);padding:6px 8px;color:var(--muted);display:flex;justify-content:space-between;gap:6px}
.factor-prev b{color:var(--text);font-weight:500}

/* Kategorier */
.cat-add{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:22px}
.cat-table{border-top:1px solid var(--line)}
.cat-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.cat-order{display:flex;gap:4px}
.arrow{width:30px;height:30px;background:transparent;border:1px solid var(--line-2);color:var(--soft);cursor:pointer;font-size:14px}
.arrow:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}
.arrow:disabled{opacity:.25;cursor:default}
.cat-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.cat-name input{padding:8px 10px}
.cat-n{display:flex;gap:10px;align-items:center;font-size:13px;white-space:nowrap}
.cat-n a{color:var(--soft)}
.cat-del>summary{list-style:none;cursor:pointer}
.cat-del>summary::-webkit-details-marker{display:none}
.cat-del[open]{grid-column:1/-1}
.cat-del-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:10px;padding:12px;border:1px solid rgba(255,92,138,.3)}
.cat-del-form label{min-width:220px}
.cat-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.cat-filter a{text-decoration:none;font-size:13px;font-weight:600;color:var(--soft);border:1px solid var(--line-2);padding:6px 10px;display:inline-flex;gap:6px;align-items:center}
.cat-filter a:hover{color:var(--text);border-color:rgba(255,255,255,.3)}
.cat-filter a.on{border-color:var(--cyan);color:var(--text);background:rgba(0,229,255,.08)}
.cat-filter a.manage{border-style:dashed;margin-left:auto}

/* Fakturor */
.kpis.kpis-4{grid-template-columns:repeat(4,1fr)}
.kpis .kpi-alert{border-color:rgba(255,92,138,.5);background:rgba(255,92,138,.06)}
.kpis .kpi-alert strong{color:var(--err)}
.badge.inv-open{color:var(--cyan);border-color:rgba(0,229,255,.5)}
.badge.inv-due{color:var(--black);background:var(--warn);border-color:var(--warn)}
.badge.inv-overdue{color:var(--black);background:var(--err);border-color:var(--err)}
.badge.inv-paid{color:var(--ok);border-color:rgba(61,220,151,.4)}
.badge.inv-void{color:var(--muted);text-decoration:line-through}
.st-row-overdue td.due{color:var(--err);font-weight:600}
.st-row-due td.due{color:var(--warn);font-weight:600}
.st-row-void td{opacity:.5}
.ready-card{margin-bottom:20px;border-color:rgba(0,229,255,.25)}
.inv-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.inv-meta>div{display:grid;gap:3px}
.inv-meta span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.inv-meta strong{font-weight:600}
.inv-meta strong a{text-decoration:none}
.inv-meta small{color:var(--muted);font-size:12px}
.invoice-box{border-color:rgba(0,229,255,.25)}
.invoice-go{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.invoice-go p{margin-bottom:4px}
.blockers{list-style:none;display:grid;gap:8px}
.blockers li{padding:10px 14px;border:1px solid rgba(255,176,32,.4);background:rgba(255,176,32,.06);font-size:14px}
.blockers a{color:var(--text)}
@media (max-width:1000px){.kpis.kpis-4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.kpis.kpis-4{grid-template-columns:1fr}.cat-line{grid-template-columns:auto minmax(0,1fr)}.cat-n,.cat-del{grid-column:2}.cat-filter a.manage{margin-left:0}}
.bp-name img{display:block;max-height:58px;max-width:240px;object-fit:contain}

/* Kategorirabatter */
.disc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
label.disc{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:10px 12px;background:rgba(7,8,10,.35);font-weight:600;color:var(--text);transition:border-color .2s,background .2s}
label.disc.on{border-color:var(--cyan);background:rgba(0,229,255,.06)}
label.disc>span:first-child{display:grid;min-width:0}
label.disc small{font-weight:400;color:var(--muted);font-size:12px}
.pct{display:flex;align-items:center;flex:none}
.pct input{width:72px;text-align:right;padding:8px 9px}
.pct b{font-family:var(--mono);font-size:12px;color:var(--muted);padding-left:6px}

/* Leverantör på produkt */
.lev-filter{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:-6px 0 16px}
.lev-filter label{min-width:240px}
.supplier-row{border-top:1px dashed var(--line-2);padding-top:14px;align-items:end}
.supplier-hint{align-self:center}
.supplier-hint a{color:var(--soft)}
.mono-in{font-family:var(--mono) !important;letter-spacing:.02em}
.badge.sup{color:var(--warn);border-color:rgba(255,176,32,.35);text-transform:none;letter-spacing:.02em}

/* Beställning hos leverantörer */
.sup-box{border-color:rgba(255,176,32,.25)}
.sup-opts{align-items:end}
.sup-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.sup-card{border:1px solid var(--line-2);background:rgba(7,8,10,.35);padding:14px;display:grid;gap:10px;align-content:start}
.sup-card.own{border-style:dashed}
.sup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.sup-head>div{display:grid;gap:2px}
.sup-lines td{padding:7px 8px 7px 0;font-size:13px}
.sup-lines td.mono{white-space:nowrap;width:1%}
@media (max-width:640px){.sup-list{grid-template-columns:1fr}}
.min-in{display:flex !important;align-items:center;gap:6px;margin-top:6px;font-size:11px;font-family:var(--mono);color:var(--muted);font-weight:500}
.min-in input{max-width:94px;padding:5px 8px;font-size:13px}

/* Minimipris och synlighet per kund */
.price-rules{align-items:end}
.rule-hint{align-self:center}
.vis-box{border:1px solid var(--line-2);padding:14px;background:rgba(7,8,10,.35);display:grid;gap:12px}
.vis-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.vis-head input[type=search]{max-width:200px;margin-left:auto}
.js .vis-box[data-mode="all"] .vis-list,.js .vis-box[data-mode="all"] .vis-note,.js .vis-box[data-mode="all"] [data-vis-search]{display:none}
.vis-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;max-height:240px;overflow-y:auto}
label.vis-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:8px 10px;font-weight:600;color:var(--text);cursor:pointer}
label.vis-item input{width:16px;height:16px;accent-color:var(--cyan)}
label.vis-item.on{border-color:var(--cyan);background:rgba(0,229,255,.07)}
label.vis-item.arch{opacity:.6}
label.vis-item small{color:var(--muted);font-weight:400}
.badge.vis{color:var(--cyan);border-color:rgba(0,229,255,.4)}

/* ===================== Toppmeny med undermenyer ===================== */
.p-nav-link,.p-dd-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;text-decoration:none;color:var(--soft);font:inherit;font-weight:600;font-size:14px;background:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;position:relative;transition:color .2s,border-color .2s,background .2s}
.p-nav-link:hover,.p-dd-btn:hover{color:var(--text)}
.p-nav-link.on,.p-dd-btn.on{color:var(--text)}
.p-nav-link.on::after,.p-dd-btn.on::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--cyan)}
.p-nav-link .count{margin-left:2px}
.p-dd{position:relative}
.p-dd-btn i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;transition:transform .2s}
.p-dd.open .p-dd-btn{color:var(--text);border-color:var(--line-2);background:var(--surface)}
.p-dd.open .p-dd-btn i{transform:rotate(-135deg) translate(-2px,-1px)}
.p-dd-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:var(--surface);border:1px solid var(--line-2);box-shadow:0 22px 50px -18px rgba(0,0,0,.75);padding:6px;display:none;z-index:40}
.p-dd-menu.right{left:auto;right:0}
.p-dd.open .p-dd-menu{display:grid;animation:ddIn .16s ease}
@keyframes ddIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.p-dd-item{display:block;width:100%;text-align:left;padding:10px 12px;text-decoration:none;color:var(--soft);font:inherit;font-size:14px;font-weight:600;background:none;border:0;cursor:pointer}
.p-dd-item:hover,.p-dd-item:focus-visible{background:rgba(0,229,255,.08);color:var(--text)}
.p-dd-item.on{color:var(--cyan)}
.p-dd-head{display:block;padding:8px 12px 10px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:6px;overflow-wrap:anywhere}
.p-dd-menu form{margin:0}
.p-user{margin-left:10px;padding-left:10px;border-left:1px solid var(--line)}
.p-avatar{width:26px;height:26px;display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--black);background:linear-gradient(135deg,var(--cyan),var(--magenta))}
.p-who{color:var(--soft);font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis}
.p-burger{display:none;align-items:center;gap:10px;height:40px;padding:0 12px;background:none;border:1px solid var(--line-2);color:var(--text);font:inherit;font-weight:600;font-size:13px;cursor:pointer}
.p-burger .bars{display:grid;gap:4px;width:16px}
.p-burger .bars span{display:block;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-open .p-burger .bars span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.menu-open .p-burger .bars span:nth-child(2){opacity:0}
.menu-open .p-burger .bars span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.p-burger b{font-weight:600}
@media (max-width:1060px){
  .p-who{display:none}
}
@media (max-width:900px){
  .p-burger{display:inline-flex}
  .p-nav>*{flex:none}
  .p-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#0A0B0E;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border-bottom:1px solid var(--line-2);padding:8px clamp(16px,3vw,40px) 16px;max-height:calc(100vh - 66px);overflow-y:auto}
  .p-top.menu-open .p-nav{display:flex}
  .p-nav-link,.p-dd-btn{height:46px;width:100%;justify-content:space-between;border:0;border-bottom:1px solid var(--line)}
  .p-nav-link.on::after,.p-dd-btn.on::after{left:0;right:auto;width:3px;top:12px;bottom:12px;height:auto}
  .p-nav-link.on,.p-dd-btn.on{padding-left:14px}
  .p-dd-menu{position:static;display:grid;box-shadow:none;border:0;background:none;padding:0 0 8px 12px;min-width:0}
  .p-dd-btn{pointer-events:none;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;height:38px;border-bottom:0;margin-top:6px}
  .p-dd-btn i{display:none}
  .p-dd.open .p-dd-btn{background:none;border-color:transparent}
  .p-user{margin:8px 0 0;padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}
  .p-user .p-dd-btn{pointer-events:none;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:14px;color:var(--soft)}
  .p-user .p-who{display:inline;max-width:none}
  .p-dd-head{display:none}
}

/* Snabbfält för fakturamejl */
.quick-billing{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.quick-billing span{flex:1 1 260px}
.quick-billing input{width:260px;max-width:100%;padding:8px 10px}
@media (max-width:640px){.tabs a{padding:10px 10px;font-size:13px}}

/* Tilläggsförfrågningar i admin */
.addon-admin{margin-bottom:20px;display:grid;gap:16px}
.addon-admin.has-pending{border-color:rgba(255,0,168,.45);box-shadow:0 0 0 1px rgba(255,0,168,.15)}
.addon-row{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:10px}
.addon-row.st-rejected{opacity:.6}
.addon-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Bekräftelse innan borttagning */
.confirm-card{border-color:rgba(255,92,138,.45);box-shadow:0 0 0 1px rgba(255,92,138,.12);display:grid;gap:14px;margin-top:20px}
.confirm-card h1{font-size:clamp(24px,3vw,32px)}
.confirm-what{font-size:16px;color:var(--soft)}
.confirm-facts{list-style:none;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.confirm-facts li{position:relative;padding-left:20px;color:var(--text)}
.confirm-facts li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:2px;background:var(--err)}
.confirm-actions{justify-content:flex-end;margin-top:6px}

/* Historik */
.hist-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-bottom:18px}
.hist-filters input,.hist-filters select{padding:8px 10px}
.tbl.hist td{padding-top:9px;padding-bottom:9px}
.hist-day td{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);padding-top:18px !important;border-bottom-color:var(--line-2)}
.nowrap{white-space:nowrap}
.hist-tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 8px;border:1px solid var(--line-2);white-space:nowrap}
.hist-tag.g-konto{color:var(--soft)}
.hist-tag.g-forfragan{color:var(--cyan);border-color:rgba(0,229,255,.4)}
.hist-tag.g-faktura{color:var(--ok);border-color:rgba(61,220,151,.4)}
.hist-tag.g-kund{color:var(--warn);border-color:rgba(255,176,32,.4)}
.hist-tag.g-sortiment,.hist-tag.g-installningar,.hist-tag.g-ovrigt{color:var(--muted)}
.ev-login_failed .hist-tag{color:var(--err);border-color:rgba(255,92,138,.45)}
.ev-booking_deleted .hist-tag,.ev-customer_deleted .hist-tag,.ev-product_deleted .hist-tag,.ev-invoice_void .hist-tag{color:var(--err);border-color:rgba(255,92,138,.45)}
.online{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,151,.2);margin-right:8px;vertical-align:middle}
.pager{margin-top:16px}
.tabs a.tab-link{color:var(--muted);margin-left:auto}
@media (max-width:1100px){.hist-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.hist-filters{grid-template-columns:1fr 1fr}}
.via-admin{margin-top:6px;font-size:14px;color:var(--soft)}
.via-admin a{color:var(--text)}
.ref-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) 160px auto auto;gap:8px;align-items:center}
.ref-row.add{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) 160px auto;padding-top:8px;border-top:1px dashed var(--line-2);margin-top:8px}
.ref-row.person-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) 140px auto auto auto}
.ref-row.person-row.add{grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) 140px auto}
.ref-list{display:grid;gap:8px;margin-top:12px}
.ref-row .move{display:flex;gap:2px}
.ref-row .move .p-link{padding:2px 6px}
.ref-row .move .p-link:disabled{opacity:.25;cursor:default}
.btn-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.mini-log{list-style:none;display:grid;gap:8px;margin-bottom:14px;font-size:14px}
.mini-log li{line-height:1.4}
@media (max-width:800px){.ref-row,.ref-row.add{grid-template-columns:1fr}
  .ref-row.person-row{grid-template-columns:auto auto auto 1fr;gap:8px 16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .ref-row.person-row>input,.ref-row.person-row.add>button{grid-column:1/-1}
  .ref-row.person-row.add{border-bottom:0}}

/* Kundpriser per kategori */
.pg-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:6px 0 4px}
.pg-tools input[type=search]{max-width:260px}
.tbl-scroll{overflow-x:auto}
.tbl.prices .pg-head td{padding:0;border-bottom:1px solid var(--line)}
.tbl.prices .pg-head button{all:unset;box-sizing:border-box;display:flex;align-items:baseline;gap:12px;width:100%;padding:14px 4px;cursor:pointer}
.tbl.prices .pg-head button:focus-visible{outline:1px solid var(--cyan);outline-offset:-1px}
.tbl.prices .pg-head button:hover strong{color:var(--cyan)}
.tbl.prices .pg-head strong{font-size:15px}
.tbl.prices .chev{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .2s;flex:none;align-self:center}
.pgroup.open .chev{transform:rotate(45deg)}
.pgroup:not(.open) .pg-row,.pg-row.pg-miss{display:none}
.pgroup.open .pg-head td{border-bottom-color:var(--line-2)}
.pgroup.open .pg-row:last-child td{padding-bottom:16px}
.tbl.prices .neg{color:var(--err)}

/* Utseende: fler val och förhandsvisning */
.theme-box{border:1px solid var(--line);padding:12px 14px 14px;display:grid;gap:12px}
.theme-box legend{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);padding:0 6px}
.theme-box legend small{text-transform:none;letter-spacing:0;color:var(--muted);font-family:var(--sans)}
.color-opt{display:flex;align-items:center;gap:6px;width:100%}
.color-opt input[type=color]{width:40px}
.color-opt input[type=text]{min-width:0;flex:1 1 auto;width:0}
.color-opt.empty input[type=color]{opacity:.35}
.color-opt [data-opt-clear]{font-size:16px;padding:0 4px;text-decoration:none}
.color-opt.empty [data-opt-clear]{visibility:hidden}
.bp-col{position:sticky;top:90px;align-self:start;display:grid;gap:10px;min-width:0}
.bp-bar-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.bp-bar-top .p-label{margin:0}
.bp-bar-top .p-label small{display:block;text-transform:none;letter-spacing:0;font-family:var(--sans);margin-top:2px}
.seg{display:inline-flex;border:1px solid var(--line-2)}
.seg button{background:none;border:0;color:var(--soft);font:inherit;font-size:12.5px;font-weight:600;padding:6px 12px;cursor:pointer}
.seg button.on{background:var(--surface-2);color:var(--text)}
.bp-frame{position:relative;overflow:hidden;border:1px solid var(--line-2);background:var(--black)}
.bp-frame iframe{border:0;display:block;transform-origin:0 0;background:transparent}
.bp-frame.mob{display:flex;justify-content:center}
.bp-frame.mob iframe{transform-origin:50% 0}
@media (max-width:980px){.bp-col{position:static}}
.tbl.prices th,.tbl.prices td{padding-right:16px}
.tbl.prices [data-eff-cell] small{display:block;white-space:nowrap}
.tbl.prices [data-margin-cell]{white-space:nowrap}
.opt-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.opt-colors label{min-width:0}
@media (max-width:640px){.opt-colors{grid-template-columns:1fr}}
/* Kategorier med underkategorier */
.cat-add{grid-template-columns:minmax(0,1fr) minmax(0,220px) auto}
.cat-name{display:flex;gap:10px;align-items:center}
.cat-name input{flex:1 1 auto;min-width:0;width:0}
.cat-name .cat-parent{flex:0 1 190px;width:auto;padding:8px 10px;font-size:13px}
.cat-line.sub{padding-left:26px;background:linear-gradient(90deg,rgba(255,255,255,.02),transparent)}
.cat-line.sub .cat-name input{font-size:13.5px}
.sub-mark{color:var(--muted);font-size:14px}
@media (max-width:640px){.cat-add{grid-template-columns:1fr}.cat-name{flex-wrap:wrap}.cat-name .cat-parent{flex-basis:100%}.cat-line.sub{padding-left:12px}}
.disc.sub{border-style:dashed}
.disc.sub em{font-style:normal;font-size:12px}
.row-4 .span-4{grid-column:1/-1}
/* Leverantörer: produkter, inköpspriser och marginaler */
.sup-h{margin-top:26px}
.tbl.sup-costs th,.tbl.sup-costs td{padding-right:14px;white-space:nowrap}
.tbl.sup-costs td:first-child{white-space:normal;min-width:180px}
.tbl.sup-costs .neg,.neg{color:var(--err)}
.tbl.sup-costs input.sm-in{max-width:110px}
.sup-add-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;margin-top:22px}
.sup-add,.sup-link{border:1px dashed var(--line-2);padding:14px 16px;display:grid;gap:12px;align-content:start}
.sup-add h4,.sup-link h4{font-size:14px}
.link-list{max-height:220px;overflow:auto;display:grid;gap:6px;padding-right:6px}
.link-list label{font-size:13.5px}
@media (max-width:900px){.sup-add-grid{grid-template-columns:1fr}}
.warn-txt{color:var(--warn)}
/* Fritextrader på bokning */
.free-add summary{list-style:none;cursor:pointer;display:inline-block;padding:4px 0}
.free-add summary::-webkit-details-marker{display:none}
.free-grid{display:grid;grid-template-columns:minmax(0,2.4fr) 80px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end;margin-top:10px}
.free-grid label small{font-weight:400}
.free-add[open]{border:1px dashed var(--line-2);padding:10px 12px;margin:4px 0}
.tbl.lines input.free-name{max-width:280px;padding:6px 8px;font-weight:600}
@media (max-width:900px){.free-grid{grid-template-columns:1fr 1fr}.free-grid .fg-name{grid-column:1/-1}}
/* Min profil: rund profilbild */
.crop{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center}
.crop-stage{position:relative;width:240px;height:240px;border-radius:50%;overflow:hidden;background:var(--surface-2);outline:3px solid var(--cyan);outline-offset:5px;touch-action:none;user-select:none}
.crop.has-img .crop-stage{cursor:grab}
.crop-stage.dragging{cursor:grabbing}
.crop-stage img{position:absolute;left:0;top:0;max-width:none;display:block}
.crop-stage img[data-crop-current]{width:100%;height:100%;object-fit:cover}
.crop-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:84px;font-weight:800;color:var(--muted)}
.crop-tools{display:grid;gap:12px;justify-items:start}
.crop-pick{position:relative;overflow:hidden;cursor:pointer}
.crop-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.crop-zoom{display:grid;gap:4px;width:100%;max-width:240px}
.crop-zoom input{padding:0;accent-color:var(--cyan)}
.prof-prev{border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.prof-card{display:flex;gap:16px;align-items:center}
.prof-card>div{display:grid;gap:2px;font-size:14px}
.prof-card strong{font-size:16px}
.ring{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;padding:3px;background:conic-gradient(from 210deg,var(--cyan),var(--magenta),var(--cyan))}
.ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:2px solid var(--surface)}
.ring.initial b{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:16px}
.ring.lg{width:76px;height:76px}
.ring.lg.initial b{font-size:26px}
.ring.sm{width:30px;height:30px;padding:2px}
.ring.sm img{border-width:1px}
.ring.sm.initial b{font-size:12px}
@media (max-width:640px){.crop{grid-template-columns:1fr;justify-items:center}.crop-stage{width:200px;height:200px}}
.p-avatar.has-img{padding:0;overflow:hidden;background:none;border-radius:50%}
.p-avatar.has-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.contact-now{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:20px;align-items:start;border:1px solid var(--line);padding:16px 18px;margin:8px 0 6px;background:rgba(7,8,10,.35)}
.cn-list{display:grid;gap:14px}
@media (max-width:800px){.contact-now{grid-template-columns:1fr}}
.adm-who{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
/* Ekonomi på bokning: egna kostnader och resultat */
.econ .kpis .kpi-ok strong{color:var(--ok)}
.econ-tbl td{vertical-align:middle}
.econ-tbl tr.auto td{color:var(--soft)}
.econ-tbl td[colspan="5"]{padding-left:0;padding-right:0}
.econ-row{display:grid;grid-template-columns:minmax(0,170px) minmax(0,200px) minmax(0,1fr) 120px auto;gap:8px;align-items:center}
.econ-row input,.econ-row select{padding:8px 10px;font-size:13.5px}
.econ-row input.r{text-align:right}
.econ-btns{display:flex;gap:12px;justify-content:flex-end;white-space:nowrap}
.econ-tbl tr.add .econ-row{border-top:1px dashed var(--line-2);padding-top:10px}
@media (max-width:900px){.econ-row{grid-template-columns:1fr 1fr}.econ-row input[name=description]{grid-column:1/-1}}
/* Avtalat pris: markerat och lätt att ta bort */
.own-cell{white-space:nowrap}
.own-cell.has-own input{border-color:var(--warn);color:var(--warn)}
.own-clear{background:none;border:0;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;vertical-align:middle}
.own-clear:hover{color:var(--err)}
.pg-head .own-n{color:var(--warn);font-weight:600}
.min-in small{font-family:var(--sans);font-size:11px;color:var(--soft)}
.lp-mg{display:block;font-size:11px;color:var(--ok);margin-top:4px;white-space:nowrap}
.lp-mg.neg{color:var(--err)}
