/* Wonabee Portal – one stylesheet for ledning, personal and customer pages.
   Large text, large click targets, clear contrast. */
:root{
  --pink:#b8004b;--pink-d:#93003c;--pink-l:#fbe8f0;
  --ink:#25232b;--muted:#6b6570;--line:#ece6e9;--bg:#f7f5f6;--card:#fff;
  --green:#1d5a32;--green-l:#e6f4ea;--yellow:#5c3d00;--yellow-l:#fff1cc;--blue:#1f4a7a;--blue-l:#e7f0fb;--purple:#4b2a8a;--purple-l:#efe8fb;--red:#a1122a;--red-l:#fde8eb;
  --r:14px;--r-s:10px;--sh:0 1px 2px rgba(37,35,43,.06),0 4px 16px rgba(37,35,43,.04);
  --side:248px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.wbp{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wbp a{color:var(--pink)}
.wbp a:hover{color:var(--pink-d)}
.wbp h1{font-size:30px;line-height:1.2;margin:0 0 8px;letter-spacing:-.01em}
.wbp h2{font-size:21px;line-height:1.3;margin:0 0 12px}
.wbp h3{font-size:18px;margin:18px 0 8px}
.wbp h4{font-size:16px;margin:14px 0 4px}
.wbp p{margin:0 0 12px}
.wbp img{max-width:100%;height:auto}
.wbp :focus-visible{outline:3px solid #1f6feb;outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:10px;top:10px}
.muted{color:var(--muted)}
.small,small{font-size:14px}
.strong{font-weight:700}
.ok-text{color:var(--green);font-weight:600}
.warn-text{color:#8a4b00;font-weight:600}
.danger{color:var(--red)!important}
.empty{color:var(--muted);padding:10px 0;margin:0}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--pink);text-transform:uppercase;margin:0 0 4px}
.wbp .logo,.logo{display:inline-block;height:22px;width:auto;vertical-align:middle}
.side .logo{height:22px}
.wbp .logo.big,.logo.big{display:block;height:34px;width:auto;margin:0 auto 18px}
.brand-sub{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-left:6px}
.ic{flex:none}

/* ---------- Test banner ---------- */
.testbar{background:var(--yellow-l);color:var(--yellow);font-size:15px;font-weight:600;padding:8px 16px;text-align:center;border-bottom:1px solid #f1dc9b;position:relative;z-index:30}

/* ---------- Shell ---------- */
.shell{display:flex;min-height:100vh}
.side{width:var(--side);flex:none;background:#fff;border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:2px}
.side .brand{padding:4px 10px 18px}
.side a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-s);color:var(--ink);text-decoration:none;font-weight:600;font-size:16px}
.side a:hover{background:var(--bg);color:var(--ink)}
.side a.on{background:var(--pink-l);color:var(--pink)}
.side a span:not(.count){flex:1}
.side-foot{margin-top:auto;padding:14px 12px 4px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
.side-foot strong{color:var(--ink)}
.side-foot a{display:inline;padding:0;color:var(--pink);font-weight:600}
.main{flex:1;min-width:0;padding:24px 32px 64px;max-width:1240px}
.mtop,.mbar{display:none}
.count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--pink);color:#fff;font-size:13px;font-weight:700}

/* ---------- Mobile ---------- */
@media (max-width:899px){
  .side{display:none}
  .main{padding:16px 16px 110px}
  .mtop{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);padding:10px 16px;min-height:58px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .mbar a,.mbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;color:var(--muted);text-decoration:none;font-family:inherit;font-weight:600;font-size:13px;line-height:1.2;background:none;border:0;position:relative;min-height:54px;justify-content:center;cursor:pointer}
  .mbar a.on{color:var(--pink)}
  .mbar .dot{position:absolute;top:6px;right:calc(50% - 18px);width:10px;height:10px;border-radius:50%;background:var(--pink);border:2px solid #fff}
  .shell{display:block}
  .wbp h1{font-size:26px}
}
.sheet{border:0;padding:0;width:100%;max-width:520px;margin:auto auto 0;border-radius:18px 18px 0 0;max-height:90vh}
.sheet::backdrop{background:rgba(37,35,43,.45)}
.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.sheet-head h2{margin:0}
.sheet .mi{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:18px}
.sheet .mi.on{color:var(--pink)}
.sheet-foot{display:flex;justify-content:space-between;padding:16px 20px 28px;color:var(--muted)}

/* ---------- Top line, flash ---------- */
.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;flex-wrap:wrap}
.topleft{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.back{display:inline-flex;align-items:center;gap:4px;font-weight:700;text-decoration:none;padding:8px 14px 8px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink)!important;min-height:44px}
.back:hover{border-color:#d9cfd4}
.crumbs{color:var(--muted);font-size:15px}
.crumbs a{color:var(--muted)}
.saved{color:var(--green);font-size:14px;font-weight:600}
.flash{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:var(--r-s);margin:0 0 18px;font-weight:600;background:var(--green-l);color:var(--green);border:1px solid #c6e5cf}
.flash-error{background:var(--red-l);color:var(--red);border-color:#f6c6ce}
.flash .undo{color:inherit;font-weight:800;text-decoration:underline;white-space:nowrap}

/* ---------- Layout helpers ---------- */
.headrow{display:flex;justify-content:space-between;align-items:flex-start;gap:14px 18px;margin:0 0 18px;flex-wrap:wrap}
.headrow h1{margin:0}
.headrow .meta{margin-top:4px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.end{align-items:flex-end}
.stack{display:flex;flex-direction:column;gap:14px}
.stack>*{margin:0}
.g2,.g3{display:grid;gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2.end{align-items:end}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.col-side .sticky{position:sticky;top:20px}
@media (max-width:1099px){.cols{grid-template-columns:1fr}.col-side .sticky{position:static}}
@media (max-width:640px){.g2,.g3{grid-template-columns:1fr}}
.divider{height:1px;background:var(--line);margin:8px 0}
.wide{width:100%;justify-content:center}

/* ---------- Panels ---------- */
.panel,.sec{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh);margin:0 0 18px}
.stack>.panel,.stack>.sec{margin:0}
.panel.tight{padding:0;overflow:hidden}
.pad{padding:16px 20px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.panel-head h2,.panel-head h3{margin:0}
.panel.attention{border-color:#f1dc9b;background:#fffcf2}
details.panel>summary,details.boxed>summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;align-items:center;gap:8px;min-height:32px}
details.panel>summary::before,details.boxed>summary::before{content:"›";display:inline-block;transition:transform .15s;font-size:22px;color:var(--pink);width:16px}
details[open].panel>summary::before,details[open].boxed>summary::before{transform:rotate(90deg)}
details.panel>summary::-webkit-details-marker,details.boxed>summary::-webkit-details-marker{display:none}
details[open].panel>summary{margin-bottom:14px}
.boxed{border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px;background:#fcfafb;margin:0 0 12px}
details[open].boxed>summary{margin-bottom:12px}
.sec h2{display:flex;align-items:center;gap:10px}
.num{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;align-items:center;justify-content:center;font-size:15px;flex:none}
.strong-border{border:2px solid var(--pink)}
.next{background:#fff;border:2px solid var(--pink);border-radius:var(--r);padding:20px 22px;margin:0 0 18px;box-shadow:var(--sh)}
.note-box{display:flex;flex-direction:column;gap:6px;background:var(--blue-l);border:1px solid #cfe0f5;color:var(--blue);border-radius:var(--r-s);padding:14px 18px;margin:0 0 18px;text-decoration:none}
.note-box strong{color:var(--ink)}
.note-box.warn{background:var(--yellow-l);border-color:#f1dc9b;color:var(--yellow)}
.note-box .btn,.note-box .btn2,.note-box form{align-self:flex-start;margin-top:4px}
.note{background:var(--yellow-l);color:var(--yellow);padding:8px 12px;border-radius:8px;font-size:15px}
.label-line{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 0 8px}

/* ---------- Lines ---------- */
.line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.line:last-child{border-bottom:0}
.line>span:first-child{min-width:0;flex:1}
.link-line{color:var(--ink)!important;text-decoration:none}
a.line.link-line:hover{background:#fcfafb}
.req{padding:10px 0;border-bottom:1px solid var(--line)}
.req:last-child{border-bottom:0}
.req .line{border:0;padding:4px 0}
.req>.row{margin-top:6px}
.task{border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px;margin:0 0 12px}

/* ---------- Buttons ---------- */
.btn,.btn2,.linkbtn{font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:var(--r-s);min-height:48px;padding:10px 20px;line-height:1.2;text-align:center}
.btn{background:var(--pink);color:#fff!important;border:2px solid var(--pink)}
.btn:hover{background:var(--pink-d);border-color:var(--pink-d)}
.btn2{background:#fff;color:var(--ink)!important;border:2px solid #ddd3d8}
.btn2:hover{border-color:var(--pink);color:var(--pink)!important}
.btn2.danger{color:var(--red)!important}
.btn2.danger:hover{border-color:var(--red)}
.btn-sm{min-height:40px;padding:6px 14px;font-size:15px}
.btn-wide{width:100%}
.linkbtn{background:none;border:0;color:var(--pink);padding:6px 0;min-height:36px;justify-content:flex-start}
button:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}
.inline-d{display:inline-block;position:relative}
.inline-d>summary{list-style:none}
.inline-d>summary::-webkit-details-marker{display:none}
.inline-d[open]{display:block;width:100%;border:1px solid var(--line);border-radius:var(--r-s);padding:12px;background:#fcfafb}
.inline-d[open]>summary{margin-bottom:10px}
form{margin:0}

/* ---------- Fields ---------- */
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld>span{font-weight:600;font-size:15px}
.fld small{color:var(--muted);font-size:14px}
.fld.inline{flex-direction:row;align-items:center;gap:10px}
.fld.inline input{width:120px}
.wbp input[type=text],.wbp input[type=email],.wbp input[type=tel],.wbp input[type=number],.wbp input[type=date],.wbp input[type=time],.wbp input[type=search],.wbp input[type=password],.wbp input:not([type]),.wbp select,.wbp textarea{font:inherit;font-size:17px;color:var(--ink);background:#fff;border:2px solid #ddd3d8;border-radius:var(--r-s);padding:10px 12px;min-height:48px;width:100%;min-width:0}
.wbp textarea{min-height:90px;resize:vertical}
.wbp input:focus,.wbp select:focus,.wbp textarea:focus{border-color:var(--pink);outline:0;box-shadow:0 0 0 3px var(--pink-l)}
.wbp input[readonly]{background:var(--bg);color:var(--muted)}
.wbp input:invalid:not(:placeholder-shown):not(:focus){border-color:#e3a3b0}
.row>input,.row>select{width:auto;flex:1;min-width:120px}
.ck{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:16px;padding:4px 0}
.ck input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--pink);flex:none}
.ck.big{font-size:17px;padding:8px 0}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;margin-top:10px}
fieldset{border:0;padding:0;margin:0;min-width:0}
fieldset.boxed{border:1px solid var(--line);padding:14px 16px}
legend{font-weight:700;margin-bottom:8px;padding:0}
.seg{display:inline-flex;background:#fff;border:2px solid #ddd3d8;border-radius:999px;padding:3px;gap:2px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0}
.seg span{display:block;padding:8px 16px;border-radius:999px;font-weight:700;font-size:15px;color:var(--muted)}
.seg input:checked+span{background:var(--pink);color:#fff}
.seg input:focus-visible+span{outline:3px solid #1f6feb}
.cards2,.cards3{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.cards3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.cards2,.cards3{grid-template-columns:1fr}}
.opt{position:relative;cursor:pointer;display:block}
.opt input{position:absolute;opacity:0;inset:0}
.opt>span{display:flex;flex-direction:column;gap:2px;height:100%;border:2px solid #ddd3d8;border-radius:var(--r-s);padding:14px 16px;background:#fff}
.opt>span small{color:var(--muted)}
.opt input:checked+span{border-color:var(--pink);background:var(--pink-l);box-shadow:inset 0 0 0 1px var(--pink)}
.opt input:focus-visible+span{outline:3px solid #1f6feb}
.opt.small>span{padding:10px 14px}
.feel{display:flex;gap:10px;flex-wrap:wrap}
.feel legend{width:100%}
.feel .opt{flex:1;min-width:90px}
.feel .opt>span{align-items:center}
.searchrow{display:flex;gap:10px;align-items:flex-end;margin:0 0 16px}
.searchrow .fld{flex:1}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.calc{background:var(--bg);border-radius:var(--r-s);padding:10px 14px;display:flex;flex-direction:column}
.calc small{color:var(--muted)}

/* ---------- Badges, chips, tabs ---------- */
.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700;background:#efecee;color:#4a4450;white-space:nowrap;line-height:1.3}
.b-pink{background:var(--pink-l);color:var(--pink)}
.b-yellow{background:var(--yellow-l);color:var(--yellow)}
.b-blue{background:var(--blue-l);color:var(--blue)}
.b-green{background:var(--green-l);color:var(--green)}
.b-purple{background:var(--purple-l);color:var(--purple)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#fff;border:2px solid #ddd3d8;color:var(--ink)!important;text-decoration:none;font-weight:600;font-size:15px;min-height:40px}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff!important}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin:0 0 18px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{padding:12px 14px;color:var(--muted)!important;text-decoration:none;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;display:flex;align-items:center;gap:6px}
.tabs a.on{color:var(--pink)!important;border-color:var(--pink)}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#efecee;font-size:13px;font-weight:700}
.pill.yellow{background:var(--yellow-l);color:var(--yellow)}
.pill.green{background:var(--green-l);color:var(--green)}
.flowline{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0;margin:16px 0 8px;font-size:14px}

/* ---------- Tables ---------- */
.scroll{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th{text-align:left;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);background:#fcfafb;white-space:nowrap}
.tbl td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr:hover td{background:#fdfbfc}
@media (max-width:700px){
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{padding:12px 16px;border-bottom:1px solid var(--line)}
  .tbl td{padding:3px 0;border:0}
  .tbl td:last-child{padding-top:8px}
}
.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.pager:empty{display:none}
.kv{width:100%;border-collapse:collapse}
.kv th{text-align:left;font-weight:600;color:var(--muted);padding:9px 12px 9px 0;vertical-align:top;width:38%;font-size:15px}
.kv td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.kv tr:last-child td{border:0}
@media (max-width:560px){.kv th,.kv td{display:block;width:100%;padding:2px 0}.kv th{padding-top:10px}}
.dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
.dl dt{color:var(--muted);font-size:15px}
.dl dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.dl.two{grid-template-columns:repeat(2,auto 1fr)}
@media (max-width:640px){.dl.two{grid-template-columns:auto 1fr}}
.kvgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kvgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.kvgrid>div{background:var(--bg);border-radius:var(--r-s);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kvgrid small{color:var(--muted)}
@media (max-width:700px){.kvgrid,.kvgrid.three{grid-template-columns:1fr}}
.reveal.inline{display:inline}
.reveal summary{display:inline;cursor:pointer;list-style:none}
.reveal summary::-webkit-details-marker{display:none}
.reveal .link{color:var(--pink);font-size:14px;text-decoration:underline}

/* ---------- Dashboard ---------- */
.who{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.who li{display:flex;align-items:center;gap:12px}
.who li span{display:flex;flex-direction:column}
.who small{color:var(--muted)}
.who-now small{color:var(--green);font-weight:700}
.who-now .av{box-shadow:0 0 0 3px #fff,0 0 0 5px #2e9e57}
.av{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
@media (max-width:800px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--ink)!important;display:flex;flex-direction:column;gap:2px;box-shadow:var(--sh);border-top:5px solid #ddd}
.tile strong{font-size:34px;line-height:1.1}
.tile span{font-weight:600;color:var(--muted)}
.t-pink{border-top-color:var(--pink)}.t-yellow{border-top-color:#e8b100}.t-green{border-top-color:#2e9e57}.t-purple{border-top-color:#6b44b8}
.tile:hover{box-shadow:0 6px 18px rgba(37,35,43,.08)}
.big-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.big-action{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;text-decoration:none;color:var(--ink)!important;font-weight:700;font-size:18px;position:relative;min-height:120px;justify-content:center}
.big-action .ic{width:34px;height:34px;color:var(--pink)}
.big-action:hover{border-color:var(--pink)}
.big-action .count{position:absolute;top:10px;right:10px}
.big-line{font-size:20px;font-weight:700}

/* ---------- Case flow ---------- */
.stepper{list-style:none;display:flex;padding:0;margin:0 0 18px;gap:6px;overflow-x:auto}
.stepper li{flex:1;min-width:110px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);font-weight:600;font-size:15px;color:var(--muted)}
.stepper li span{width:26px;height:26px;border-radius:50%;background:#efecee;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.stepper li.done{color:var(--green)}
.stepper li.done span{background:var(--green-l);color:var(--green)}
.stepper li.cur{border:2px solid var(--pink);color:var(--ink)}
.stepper li.cur span{background:var(--pink);color:#fff}
.visit{border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;margin:0 0 10px}
.visit-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.plan-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.plan-row input[type=time]{width:130px}
.pay-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pay-row:last-child{border:0}
.pay-form{min-width:280px}
.month-pick{display:flex;align-items:center;gap:10px}
.month-pick strong{font-size:18px;min-width:140px;text-align:center}
.addr-wrap{position:relative}
.suggest{position:absolute;left:0;right:0;top:100%;z-index:15;background:#fff;border:2px solid var(--pink);border-radius:var(--r-s);margin-top:4px;box-shadow:0 10px 30px rgba(37,35,43,.15);overflow:hidden}
.suggest button{display:block;width:100%;text-align:left;font:inherit;background:#fff;border:0;border-bottom:1px solid var(--line);padding:12px 14px;cursor:pointer}
.suggest button:hover,.suggest button:focus{background:var(--pink-l)}
.suggest small{display:block;color:var(--muted)}
.addr-ok{background:var(--green-l);color:var(--green);font-weight:600;border-radius:8px;padding:8px 12px}
.map{border:1px solid var(--line);border-radius:var(--r-s);padding:10px}
.map-canvas{height:340px;border-radius:8px;background:#e9e4e7}
.match,.dups{background:var(--yellow-l);border:1px solid #f1dc9b;border-radius:var(--r-s);padding:12px 14px;color:var(--yellow)}
.match strong,.dups strong{color:var(--ink)}
.results{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.results button,.match button,.dups button{font:inherit;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;display:block;width:100%}
.results button:hover,.match button:hover,.dups button:hover{border-color:var(--pink)}
.chosen{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--green-l);border-radius:var(--r-s);padding:12px 14px;flex-wrap:wrap}
.pricebox{background:var(--pink-l);border-radius:var(--r-s);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.pricebox strong{font-size:19px}
.confirmtext{border:1px dashed #d9cfd4;border-radius:var(--r-s);padding:12px 14px;background:#fff}
.confirmtext small{color:var(--muted)}
.calc-out{background:var(--pink-l);border-radius:var(--r-s);padding:14px 16px;margin-top:14px}
.date-row{align-items:end}

/* ---------- Wizard ---------- */
.steps{list-style:none;display:flex;gap:6px;padding:0;margin:0 0 18px;counter-reset:s;overflow-x:auto}
.steps li{counter-increment:s;flex:1;min-width:120px;padding:10px 12px;border-radius:var(--r-s);background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:15px;cursor:pointer}
.steps li::before{content:counter(s) ". "}
.steps li.on{border:2px solid var(--pink);color:var(--ink)}
.steps li.done{color:var(--green)}
.wizard[data-js] .sec[data-step]:not(.on){display:none}
.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.review dl{margin:0}
.review .dl{grid-template-columns:auto 1fr}

/* ---------- Messages ---------- */
.chat-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.threads{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;position:sticky;top:16px;max-height:calc(100vh - 120px);overflow:auto}
.thread{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-s);color:var(--ink)!important;text-decoration:none}
.thread span:first-child{display:flex;flex-direction:column;min-width:0}
.thread small{color:var(--muted)}
.thread.on{background:var(--pink-l)}
.thread:hover{background:var(--bg)}
@media (max-width:899px){.chat-wrap{grid-template-columns:1fr}.threads{position:static;max-height:none}.chat-wrap.has-thread .threads{display:none}}
.chat-panel{min-height:360px}
.chat-log{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:4px 2px 10px}
.msg{max-width:78%;align-self:flex-start}
.msg.mine{align-self:flex-end}
.msg-meta{font-size:13px;color:var(--muted);margin:0 4px 3px}
.msg.mine .msg-meta{text-align:right}
.msg-body{background:#f1edf0;border-radius:16px 16px 16px 4px;padding:10px 14px;overflow-wrap:anywhere}
.msg.mine .msg-body{background:var(--pink);color:#fff;border-radius:16px 16px 4px 16px}
.msg.mine .msg-body a{color:#fff}
.msg-img{display:block;max-width:260px;max-height:260px;border-radius:10px;margin-top:6px}
.receipt{font-size:13px;color:var(--muted);text-align:right;margin:2px 0 10px}
.chat-form{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}

/* ---------- Agreements / documents ---------- */
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;box-shadow:var(--sh)}
.doc h2{font-size:26px}
.doc h3{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}
details.p{border-bottom:1px solid var(--line);padding:10px 0}
details.p summary{cursor:pointer;font-weight:700}
.ptext{white-space:normal;margin-top:8px;color:#3b3740}
.sigs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.sigs>div{background:var(--bg);border-radius:var(--r-s);padding:14px 16px}
.sigs h4{margin:0 0 6px}
@media (max-width:600px){.sigs{grid-template-columns:1fr}.doc{padding:18px}}
.checklist{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px}
.site{background:#fcfafb}
.history{list-style:none;margin:0;padding:0}
.history li{padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.report{border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;margin:0 0 10px}
.report.open{border-color:#f3b4cc;background:#fffafc}
.reply{background:var(--green-l);border-radius:8px;padding:8px 12px}

/* ---------- Login & public pages ---------- */
.wbp-login{display:block}
.login-box{max-width:440px;margin:6vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 28px;box-shadow:var(--sh)}
.login-box h1{font-size:28px}
.login-box form{margin:18px 0}
.wbp-public{background:var(--bg)}
.pub-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border-bottom:1px solid var(--line);padding:14px 20px}
.pub-main{max-width:820px;margin:0 auto;padding:24px 16px 60px}
.pub-foot{text-align:center;color:var(--muted);font-size:14px;margin-top:30px}

@media print{
  .side,.mtop,.mbar,.topline,.testbar,.flash,.btn,.btn2{display:none!important}
  .main{padding:0}
  .panel,.doc{box-shadow:none;border:0}
}
.boxed>.btn,.boxed>.btn2{margin-top:12px}
.boxed .linkbtn{display:flex}
.pricebox [data-price-sub]{display:flex;flex-direction:column;gap:4px}
.days{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;margin:6px 0;font-size:16px}
.days th{text-align:left;font-size:13px;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--line)}
.days td{padding:8px 10px;border-bottom:1px solid var(--line)}
.days tr:last-child td{border:0}
.days tr.on td{background:var(--pink-l);font-weight:700}
.daypick legend{font-weight:600;font-size:15px}
.chipck{position:relative;cursor:pointer}
.chipck input{position:absolute;opacity:0;inset:0}
.chipck span{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;border:2px solid #ddd3d8;background:#fff;font-weight:700;min-height:44px}
.chipck input:checked+span{border-color:var(--pink);background:var(--pink-l);color:var(--pink)}
.chipck input:checked+span::before{content:"✓"}
.chipck input:focus-visible+span{outline:3px solid #1f6feb}
.daypick{margin:4px 0 6px}
/* Detail lists built from <div><dt><dd></div> pairs (case page) */
.dl.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.dl.two>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.dl.two .span2{grid-column:1/-1}
.pre{white-space:pre-wrap;font:14px/1.5 inherit;background:var(--bg);border-radius:8px;padding:12px;margin:8px 0 0}
@media (max-width:640px){.dl.two{grid-template-columns:1fr}}
/* Tabs wrap to a new row instead of hiding behind the edge */
.tabs{flex-wrap:wrap;overflow:visible;row-gap:0}
.tabs a{padding:10px 12px}
/* ---------- Chat v2 ---------- */
.chat-wrap{grid-template-columns:320px minmax(0,1fr);gap:20px}
.threads{padding:12px 10px;border-radius:18px;box-shadow:var(--sh)}
.threads .label-line{margin:14px 10px 6px}
.threads .label-line:first-child{margin-top:4px}
.thread{gap:12px;padding:10px 10px;border-radius:14px;margin:2px 0;transition:background .12s}
.thread .av,.av-wrap .av{width:46px;height:46px;font-size:16px}
.av-emoji{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#fbe8f0,#f3e8fb);flex:none}
.av-wrap{position:relative;flex:none;display:inline-flex}
.online{position:absolute;right:1px;bottom:1px;width:13px;height:13px;border-radius:50%;background:#2e9e57;border:2px solid #fff}
.thread-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.thread-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.thread-top strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-top small{color:var(--muted);font-size:12px;white-space:nowrap}
.thread-prev{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread.unread strong,.thread.unread .thread-prev{color:var(--ink);font-weight:700}
.thread.on{background:var(--pink-l)}
.chat-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;min-height:560px}
.chat{display:flex;flex-direction:column;flex:1;min-height:0;height:calc(100vh - 210px);min-height:520px}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fdf8fa)}
.chat-head h2{margin:0;font-size:19px}
.chat-head .av,.chat-head .av-emoji{width:44px;height:44px}
.chat-log{flex:1;max-height:none;overflow-y:auto;padding:16px 20px 8px;gap:2px;background:radial-gradient(circle at 20% 0%,#fdf3f7 0,transparent 40%),#fbf9fa}
.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:40px 20px}
.chat-empty span{font-size:46px;margin-bottom:8px}
.day-sep{display:flex;justify-content:center;margin:14px 0 8px}
.day-sep span{background:#fff;border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;padding:3px 12px;border-radius:999px}
.msg{display:flex;align-items:flex-end;gap:8px;max-width:80%;margin-top:10px}
.msg.grouped{margin-top:3px}
.msg.mine{flex-direction:row-reverse;align-self:flex-end}
.msg-av{width:34px;flex:none}
.msg-av .av{width:34px;height:34px;font-size:13px}
.msg-col{display:flex;flex-direction:column;min-width:0}
.msg-meta{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 3px 12px}
.msg-body{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:9px 14px 7px;box-shadow:0 1px 1px rgba(37,35,43,.04);line-height:1.45;overflow-wrap:anywhere}
.msg:not(.mine) .msg-body{border-bottom-left-radius:6px}
.msg.mine .msg-body{background:linear-gradient(135deg,#c4005a,#a3003f);color:#fff;border:0;border-bottom-right-radius:6px}
.msg.grouped:not(.mine) .msg-body{border-top-left-radius:6px}
.msg.mine.grouped .msg-body{border-top-right-radius:6px}
.msg-time{display:block;text-align:right;font-size:11px;opacity:.6;margin-top:2px}
.msg-body.big-emoji{background:none!important;border:0;box-shadow:none;font-size:40px;line-height:1.1;padding:2px 4px}
.msg-body.big-emoji .msg-time{color:var(--muted);opacity:1}
.msg-img{max-width:280px;max-height:280px;border-radius:14px;margin-top:4px}
.receipt{margin:0;padding:4px 20px 6px;font-size:12px;background:#fbf9fa}
.receipt:empty{display:none}
.chat-form{border-top:1px solid var(--line);padding:10px 14px 14px;background:#fff;gap:8px;position:relative}
.composer{display:flex;align-items:flex-end;gap:6px;background:#f6f2f4;border-radius:26px;padding:5px 5px 5px 8px}
.composer textarea{border:0!important;background:transparent!important;box-shadow:none!important;min-height:44px!important;max-height:160px;resize:none;padding:10px 6px!important;font-size:17px;line-height:1.4}
.cbtn{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:transparent;font-size:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.cbtn:hover{background:#fff}
.send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--pink);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(184,0,75,.3)}
.send:hover{background:var(--pink-d)}
.send:disabled{opacity:.5}
.emoji-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:2px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 8px 24px rgba(37,35,43,.12);max-height:200px;overflow:auto}
.emoji-panel button{font-size:24px;background:none;border:0;border-radius:10px;height:44px;cursor:pointer}
.emoji-panel button:hover{background:var(--pink-l)}
.file-chip{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--pink-l);color:var(--pink);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:600}
.file-chip button{border:0;background:none;color:inherit;font-size:14px;cursor:pointer}
.row-threads{display:flex;gap:8px;overflow-x:auto;position:static;max-height:none;padding:8px}
.row-threads .thread{flex:1;min-width:220px;margin:0}
.staff-chat{grid-template-columns:1fr}
@media (max-width:899px){
  .chat-wrap{grid-template-columns:1fr}
  .chat{height:calc(100vh - 250px);min-height:420px}
  .msg{max-width:90%}
  .chat-log{padding:12px}
  .staff-chat .chat{height:calc(100vh - 330px)}
}
.thread .thread-top{flex-direction:row}
.thread .thread-txt{flex-direction:column}
.threads-title{font-size:24px!important;margin:4px 10px 10px!important}
.thread-search{margin:0 4px 6px}
.thread-search input{border-radius:999px!important;background:#f3eff1!important;border-color:transparent!important;min-height:42px!important;font-size:16px!important}
.wbp-lead .main h1:first-of-type:empty{display:none}
.thread span.thread-top{flex-direction:row;display:flex}
.thread span.thread-txt{display:flex;flex-direction:column}
.av-img{object-fit:cover;background:#eee;padding:0}
.av-xl{width:120px!important;height:120px!important;font-size:40px!important}
.profile{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.profile .file-btn{align-self:flex-start}
.file-btn.busy{opacity:.6}
.side-foot .me{display:flex;align-items:center;gap:10px;padding:6px 0;color:var(--ink)!important;text-decoration:none;margin-bottom:6px}
.side-foot .me span{display:flex;flex-direction:column;line-height:1.3}
.side-foot .me small{color:var(--pink)}
.sheet-foot .me{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600}
.av-emo{font-size:1.35em;line-height:1}
.av-xl.av-emo{font-size:64px!important}
.emoji-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px}
.emoji-pick label,.bg-pick label{position:relative;cursor:pointer}
.emoji-pick input,.bg-pick input{position:absolute;opacity:0;inset:0}
.emoji-pick span{display:flex;align-items:center;justify-content:center;height:54px;font-size:30px;border-radius:14px;border:2px solid transparent;background:#f6f2f4}
.emoji-pick input:checked+span{border-color:var(--pink);background:var(--pink-l)}
.bg-pick{display:flex;gap:10px;flex-wrap:wrap}
.bg-pick span{display:block;width:40px;height:40px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.bg-pick input:checked+span{box-shadow:0 0 0 3px var(--pink)}
.emoji-pick input:focus-visible+span,.bg-pick input:focus-visible+span{outline:3px solid #1f6feb}
.thread .av-emo,.chat-head .av-emo,.who .av-emo{font-size:24px}.msg-av .av-emo{font-size:18px}
.flash-fill{background:#e6f4ea!important;transition:background .4s}
.lang-link{font-weight:700;text-decoration:none}
.side-foot .lang-link{display:inline-block;margin:2px 0 6px}
.lang-link{font-weight:700;text-decoration:none}
.side-foot .lang-link{display:inline-block;margin:2px 0 6px}

/* Områden */
.b-area{background:#e8f1ee;color:#24584a}
.row.tags{gap:6px;margin-top:6px}
.b-skill{background:#eef0fb;color:#33407a}
.chips-label{align-self:center;font-weight:700;color:var(--muted,#6b6470);margin-right:2px}
.area-chips .chip{min-height:36px;padding:6px 12px;font-size:14px}
.area-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end;padding-bottom:10px;border-bottom:1px solid #eee6ea}
.area-row>span{padding-bottom:12px}
@media (max-width:640px){.area-row{grid-template-columns:1fr}.area-row>span{padding-bottom:0}}
.side .brand-sub{display:block;margin:8px 0 0 2px}
.login-box .logo.big{margin-left:0}

/* ---------- Schema: kundhistorik, rapporter, personalens besök ---------- */
.chips-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.sum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0 0 14px}
.sum-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;background:#fff}
.sum-card strong{font-size:18px}
.tablewrap{overflow-x:auto}
.md-act{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--line)}
.md-act form{margin:0}
.md-act summary{cursor:pointer;color:var(--pink);font-weight:600}
.md-done{color:var(--green);font-weight:700}
.md-run{color:#8a4b00;font-weight:700}
.sch-unplanned{margin-bottom:12px;display:block}
.sch-unplanned summary{cursor:pointer}
.rep-period{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.rep-period .fld{flex:0 1 180px}
.rep-cust{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto;padding:4px 0}
.rep-group td{background:#faf6f8;font-weight:700}
.rep-sub td{font-weight:700;border-top:2px solid var(--line)}
.tbl td.ra,.tbl th.ra{text-align:right;white-space:nowrap}
.done-row td{color:var(--muted)}

/* ===== Schema på mobil (tidigare tillägget "Wonabee Schema – mobilfix" 1.0.4) ===== */
@media (pointer:coarse),(max-width:899px){
  .sch-root input,.sch-root select,.sch-root textarea,
  .sch-pop input,.sch-pop select,.sch-pop textarea,
  .sch-modal input,.sch-modal select,.sch-modal textarea{font-size:16px!important}
  .sch-pop input[type=time],.sch-modal input[type=time],.pop-time input{
    -webkit-appearance:none;appearance:none;
    width:104px!important;min-width:104px;max-width:104px;height:44px;
    box-sizing:border-box;padding:0 6px;margin:0;
    text-align:center;background:#fff;color:var(--ink,#302731);
    border:1px solid var(--line,#E5DCE1);border-radius:10px;display:block;line-height:42px
  }
  .sch-pop input[type=time]::-webkit-date-and-time-value,
  .sch-modal input[type=time]::-webkit-date-and-time-value{text-align:center;margin:0;line-height:42px}
  .pop-time{align-items:flex-end;gap:8px;row-gap:10px}
  .pop-time>*{flex:0 0 auto;min-width:0}
  .pop-time label{flex:0 0 auto}
  .pop-time .btn,.pop-time button{height:44px;flex:0 0 auto}
  html,body{overscroll-behavior-x:none}
  .main:has(.sch-root){overflow-x:clip}
}
@media (max-width:600px){
  .sch-pop:not(.hover){
    left:10px!important;right:10px!important;
    width:auto!important;max-width:none!important;
    max-height:calc(100dvh - 120px)!important;
    -webkit-overflow-scrolling:touch;overscroll-behavior:contain
  }
  .sch-head{gap:8px}
  .sch-head h1{flex:1 0 100%;margin:0 0 2px}
  .sch-head .sch-nav{width:40px;height:44px;flex:0 0 40px}
  .sch-head .sch-date{flex:1 1 0;min-width:0;justify-content:center;padding:0 6px;font-size:13.5px;white-space:nowrap;overflow:hidden}
  .sch-head .sch-date svg{display:none}
  .sch-head .sch-flex{flex:1 0 100%;height:0;margin:-4px 0;padding:0}
  .sch-head .sch-flex~*{
    flex:1 1 calc(50% - 4px);min-width:0;margin:0;box-sizing:border-box;
    justify-content:center;text-align:center;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;padding-left:8px;padding-right:8px
  }
}
.sch-pop .wbsm-x{position:sticky;top:0;float:right;width:40px;height:40px;margin:-2px -2px 0 6px;border:none;border-radius:10px;background:#F3EDF0;color:var(--ink,#302731);font-size:24px;line-height:1;cursor:pointer;z-index:2}
.sch-pop .wbsm-sms{color:#1F4E9E;font-weight:600}
.sch-pop .wbsm-sms:hover{background:#E8EEF9}
.wbsm-zoom{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;color:var(--muted,#6B5F6D)}
.wbsm-zoom button{width:44px;height:38px;border-radius:10px;border:1px solid var(--line,#E5DCE1);background:#fff;font:inherit;font-size:22px;line-height:1;color:var(--ink,#302731);cursor:pointer}
.wbsm-zoom button[disabled]{opacity:.35;cursor:default}
.wbsm-zoom strong{min-width:88px;text-align:center;color:var(--ink,#302731)}
.wbsm-z0 .sch-grid{min-width:0!important;width:100%}
.wbsm-z0 .sch-name{width:92px!important;flex:0 0 92px!important;padding:4px 6px!important}
.wbsm-z0 .sch-name strong{font-size:12px;line-height:1.2}
.wbsm-z0 .sch-name .small,.wbsm-z0 .sch-who .tags{display:none}
.wbsm-z0 .sch-row{min-height:46px}
.wbsm-z0 .sch-hr{font-size:11px}
.wbsm-z0 .sch-hr:nth-child(even){display:none}
.wbsm-z0 .sch-blk{padding:0 3px;border-radius:5px}
.wbsm-z0 .sch-job .jn{font-size:10px}
.wbsm-z0 .sch-job .j2,.wbsm-z0 .sch-job svg,.wbsm-z0 .sch-travel span,.wbsm-z0 .sch-rast .r2{display:none}
.wbsm-z2 .sch-grid{min-width:1500px!important}

/* Tillträde (kundkort + personalens schema) */
.access-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}
.access-list li{line-height:1.4}
.access-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}
.md-access{display:flex;flex-direction:column;gap:2px;margin:4px 0;padding:8px 10px;border-radius:10px;background:#FFF7E6;border:1px solid #F3DFB4;font-size:14px}
.md-access strong{font-size:13px}

/* Olästa överst i chattlistan */
.unread-label{color:var(--brand,#B5004E);font-weight:700}
.abs-line form{margin:0}

/* Att fakturera */
.bill-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;margin:0 0 14px;background:var(--card,#fff);border:1px solid var(--line,#E5DCE1);border-radius:12px;box-shadow:0 2px 8px rgba(48,39,49,.06)}
.bill-bar span{margin-right:auto}
.bill-card .panel-head{gap:10px;flex-wrap:wrap}
.bill-pick{font-size:16px}
.bill-wait{opacity:.85;border-style:dashed}
.bill-note{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:1px 6px;margin-top:2px}
.bill-note.t-red{background:#FDECEA;color:#B42318}
.bill-note.t-yellow{background:#FFF4D6;color:#8A5A00}
.bill-note.t-blue{background:#E8EEF9;color:#1F4E9E}
.bill-edit form{min-width:220px;padding:8px 0}
.bill-tbl td{vertical-align:top}
.nc-box{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--line,#E5DCE1);border-radius:12px;background:#FCFAFB}
.bill-note{white-space:nowrap}
.bill-tbl .nowrap{white-space:nowrap}
.bill-tbl th,.bill-tbl td{padding-left:8px;padding-right:8px}

/* Startsidan /portal */
.wbp-start{min-height:100vh;display:flex;flex-direction:column}
.st-wrap{flex:1;width:100%;max-width:1000px;margin:0 auto;padding-block:7vh 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));text-align:center}
.wbp-start .st-logo{height:40px;width:auto;display:block;margin:0 auto 22px}
.wbp-start h1{font-size:34px}
.wbp-start .st-lead{margin:0 auto 34px}
.st-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.st-card{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 22px 22px;box-shadow:var(--sh);text-decoration:none;color:inherit!important;transition:transform .15s,box-shadow .15s,border-color .15s}
a.st-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(37,35,43,.10);border-color:#e0cbd5}
.st-card h2{font-size:22px;margin:0}
.wbp-start .st-card p{margin:0;font-size:15.5px}
.st-card ul{margin:2px 0 0;padding:0;list-style:none;font-size:14.5px}
.st-card li{padding:3px 0 3px 22px;position:relative}
.st-card li:before{content:"✓";position:absolute;left:2px;color:var(--pink);font-weight:700}
.st-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:4px}
.st-ic svg{width:28px;height:28px}
.st-kund .st-ic{background:var(--blue-l);color:var(--blue)}
.st-pers .st-ic{background:var(--green-l);color:var(--green)}
.st-adm .st-ic{background:var(--pink-l);color:var(--pink)}
.st-go{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--pink)}
.st-arrow{width:38px;height:38px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-size:20px}
.st-soon .st-go{color:var(--muted)}
.st-badge{position:absolute;top:18px;right:18px;background:var(--yellow-l);color:var(--yellow);font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px}
.wbp-start .st-help{margin:32px 0 0;font-size:15px}
.st-foot{text-align:center;font-size:13px;padding:18px}
.st-foot a{color:inherit}
@media (max-width:820px){.st-cards{grid-template-columns:1fr}.wbp-start h1{font-size:28px}.st-wrap{padding-top:5vh}}

/* ---------- Kundportalen ---------- */
.note-box.ok{background:var(--green-l);border-color:transparent;color:var(--green)}
.cp-next{background:#b8004b;color:#fff;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh);margin-bottom:16px}
.cp-next .eyebrow{color:rgba(255,255,255,.85)}
.wbp .cp-next h2{color:#fff;font-size:26px;margin:0}
.wbp .cp-next p{margin:0}
.cp-meta{display:flex;gap:18px;flex-wrap:wrap;font-weight:600}
.cp-next .btn2{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#fff!important}
.cp-next .btn2:hover{background:rgba(255,255,255,.26)}
.cp-qa{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.cp-qa a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink)!important;text-decoration:none;box-shadow:var(--sh);min-height:118px}
.cp-qa a:hover{border-color:var(--pink)}
.cp-qa small{color:var(--muted);font-size:13.5px;line-height:1.35}
.cp-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--pink-l);color:var(--pink)}
.cp-list{display:flex;flex-direction:column}
.cp-row{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);color:var(--ink)!important;text-decoration:none}
.cp-row:first-child{border-top:0}
.cp-row:hover strong{color:var(--pink)}
.cp-row-t{display:flex;flex-direction:column;min-width:0;flex:1}
.cp-chev{color:var(--muted);font-size:22px}
.cp-date{width:56px;flex:none;border-radius:12px;background:var(--bg);border:1px solid var(--line);text-align:center;padding:6px 0;line-height:1.15}
.cp-date b{display:block;font-size:21px}
.cp-date span{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cp-date.past{opacity:.7}
.cp-svc{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
.cp-svc a{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:16px;color:var(--ink)!important;text-decoration:none}
.cp-svc a:hover{border-color:var(--pink)}
.cp-svc strong{display:block;font-size:16.5px}
.cp-svc small{color:var(--muted);font-size:14px;line-height:1.4;display:block}
.cp-svc-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--bg);font-size:24px;flex:none}
.cp-stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.cp-stars input{position:absolute;opacity:0;width:1px;height:1px}
.cp-stars label{font-size:36px;line-height:1;color:var(--line);cursor:pointer;padding:0 2px}
.cp-stars input:checked~label,.cp-stars label:hover,.cp-stars label:hover~label{color:#e3a008}
.cp-stars input:focus-visible+label{outline:3px solid #1f6feb;border-radius:6px}
.or-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;margin:6px 0 12px}
.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--line)}
.md-cust{background:var(--blue-l);color:var(--blue)}
.cp-chat .chat{max-height:70vh}
@media (max-width:820px){.cp-qa{grid-template-columns:repeat(2,1fr)}.cp-svc{grid-template-columns:1fr}}
.access-fields{display:flex;flex-direction:column;gap:12px}
.access-fields>[hidden]{display:none}
/* Chattar: flikar */
.thread-tabs{display:flex;gap:4px;margin:4px 6px 8px;background:#F6F1F4;border-radius:999px;padding:3px}
.thread-tab{flex:1;font:inherit;font-weight:700;font-size:14px;border:0;background:none;border-radius:999px;padding:8px 6px;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px}
.thread-tab.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(48,39,49,.12)}
.thread-tab .count{min-width:20px;height:20px;padding:0 6px;font-size:12px;line-height:20px;border-radius:999px;background:var(--pink);color:#fff;display:inline-block;text-align:center}
.thread-pane[hidden]{display:none}
.threads .label-line[hidden]{display:none}

.cards3.cards4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.cards3.cards4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cards3.cards4{grid-template-columns:1fr}}

/* ---------- Ute hos kunden (1.7.0): notiser, in-/utcheckning, extra tid ---------- */
.nt-list{display:flex;flex-direction:column;gap:2px}
.nt{display:flex;gap:12px;align-items:flex-start;padding:12px 10px;border-radius:var(--r-s);color:var(--ink)!important;text-decoration:none}
a.nt:hover{background:var(--bg)}
.nt.unread{background:var(--pink-l)}
.nt-ic{font-size:22px;line-height:1.2;flex:none;width:28px;text-align:center}
.nt-t{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.nt-t span{font-size:15px}
.nt-new{width:10px;height:10px;border-radius:5px;background:var(--pink);flex:none;margin-top:8px}
.lv .btn,.lv .btn2{width:100%;min-height:48px}
.lv .row .btn2{width:auto}
.lv form{margin:0}
.lv-extra{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--r-s);background:var(--blue-l)}
.lv-extra.wait{background:var(--yellow-l)}
.lv-extra.yes{background:var(--green-l)}
.lv-extra.no{background:var(--red-l)}
.lv-extra .row{gap:8px}
.lv-busy{opacity:.7;pointer-events:none}
.lv-links{margin:0 0 14px}
.lv-today .lv-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.lv-steps li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);color:var(--muted)}
.lv-steps li:first-child{border-top:0}
.lv-steps li.on{color:var(--ink);font-weight:700}
.lv-ask{margin-top:12px;padding:14px;border-radius:var(--r);background:var(--yellow-l)}
.lv-ask h2{margin-bottom:6px}
.lv-ask .row{gap:10px;margin:10px 0}
.lv-line .badge{margin-top:4px}
@media print{.no-print,.side,.mtop,.mbar,.topline{display:none!important}.main{padding:0}}
