/* charger-test.css — laddboxtest (v753, TILL_DESIGN_laddboxtest 29/9). Kundens block i Inställningar och Driftcentralens panel Kund.
   Grönt = godkänd, rött = ej godkänd eller fel, orange = kunde inte testas eller fynd som kräver uppmärksamhet, blått = pågår. */
.ct{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px;background:rgba(255,255,255,.02);font-size:13.5px;line-height:1.45;color:var(--ink-1)}
.ct-cust{margin:14px 0 16px}
.ct-hd{display:flex;align-items:baseline;gap:8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.ct-hd .tk-mono{letter-spacing:0;text-transform:none;color:var(--ink-2)}
.ct-k1{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start}
.ct-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--ink-3)}.ct-k1.ok .ct-dot{background:#2ED47A}.ct-k1.bad .ct-dot{background:#FF4D6D}
.ct-k1 b{display:block;font-size:15.5px;font-weight:600;color:var(--ink)}.ct-k1.ok b{color:#A7F3D0}.ct-k1.bad b{color:#FECDD3}
.ct-k1 small{display:block;margin-top:1px;font-size:12.5px;color:var(--ink-2)}
.ct-k1 .ct-p{grid-column:2}
.ct-p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-1);text-wrap:pretty;overflow-wrap:anywhere}.ct-p.bad{color:#FECDD3}.ct-p.warn{color:#FED7AA}
.ct-btns{display:flex;flex-wrap:wrap;gap:8px}
.ct-ask{display:grid;gap:6px;padding:12px;border:1px solid rgba(91,168,255,.35);border-radius:10px;background:rgba(91,168,255,.06)}
.ct-ask p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink)}.ct-ask p.muted{color:var(--ink-2)}.ct-ask p.bad{color:#FECDD3}.ct-ask .ct-btns{margin-top:4px}
.ct-sup{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;border:1px solid rgba(91,168,255,.45);background:rgba(91,168,255,.1);color:#BAE0FF;font-weight:600}
.ct-run{display:grid;gap:8px}
.ct-run-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ct-run-h b{font-size:14px;color:var(--ink)}
.ct-el{margin-left:auto;font-family:"Geist Mono",ui-monospace,monospace;font-size:12px;color:var(--ink-2)}
.ct-live{flex:none;width:8px;height:8px;border-radius:50%;background:#5BA8FF;animation:ctPulse 1.6s infinite}
@keyframes ctPulse{0%{box-shadow:0 0 0 0 rgba(91,168,255,.55)}70%{box-shadow:0 0 0 8px rgba(91,168,255,0)}100%{box-shadow:0 0 0 0 rgba(91,168,255,0)}}
.ct-steps{list-style:none;margin:0;padding:0;display:grid}
.ct-steps li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:6px 0;border-top:1px solid var(--line)}.ct-steps li:first-child{border-top:0}
.ct-steps .n{color:var(--ink-2)}.ct-steps .s{font-size:12px;font-weight:600;color:var(--ink-3)}
.ct-steps .m{grid-column:1/-1;font-family:"Geist Mono",ui-monospace,monospace;font-size:12px;color:#BAE0FF}
.ct-steps li.on .n{color:var(--ink);font-weight:600}.ct-steps li.on .s{color:#BAE0FF}
.ct-steps li.ok .n,.ct-steps li.bad .n,.ct-steps li.nt .n{color:var(--ink-1)}.ct-steps li.ok .s{color:#A7F3D0}.ct-steps li.bad .s{color:#FECDD3}.ct-steps li.nt .s{color:#FED7AA}
.ct-meta{font-size:12.5px;color:var(--ink-2)}
.ct-foldw{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:4px}
.ct-fold{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:4px 0;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-1);cursor:pointer;text-align:left}.ct-fold .c{color:var(--ink-3)}
.ct-res{display:grid;gap:6px}
.ct-rs{list-style:none;margin:0;padding:0;display:grid}
.ct-rs li{display:grid;gap:2px;padding:7px 0;border-top:1px solid var(--line)}
.ct-rs .h{display:flex;justify-content:space-between;gap:10px}.ct-rs .n{color:var(--ink);font-weight:500}.ct-rs .s{font-size:12px;font-weight:600}
.ct-rs li.ok .s{color:#A7F3D0}.ct-rs li.bad .s{color:#FECDD3}.ct-rs li.nt .s{color:#FED7AA}
.ct-rs .l{font-size:12.5px;line-height:1.45;color:var(--ink-2);overflow-wrap:anywhere}.ct-rs .l.bad{color:#FECDD3}.ct-rs .l.note{color:#FED7AA}.ct-rs .l.find{color:#BAE0FF}
.ct-tbl-w{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.ct-tbl{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-1)}
.ct-tbl th,.ct-tbl td{padding:5px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}
.ct-tbl th{font-weight:600;color:var(--ink-3);background:rgba(255,255,255,.03)}
.ct-tbl th:nth-child(-n+2),.ct-tbl td:nth-child(-n+2),.ct-tbl th:nth-last-child(-n+2),.ct-tbl td:nth-last-child(-n+2){text-align:left}
.ct-hist{display:grid;gap:4px}.ct-hist .h{font-size:12px;font-weight:600;color:var(--ink-3)}
.ct-hist .r{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;font-size:12.5px;color:var(--ink-2)}
.ct-adm{display:grid;gap:8px}.ct-adm .ct{padding:10px 12px}
/* v758 (André 29/9: "Gör denna snyggare"): kundens block. Status som rubrik, fasläget som etikett, knappen i hela bredden. Blått = testet, grönt/rött = utfallet, bärnsten = övergångstid och fast ström (som inställningarnas varningar). */
.ct-cust{gap:12px;padding:14px}
.ct-cust.ok{border-color:rgba(46,212,122,.35);background:rgba(46,212,122,.04)}
.ct-cust.bad{border-color:rgba(255,77,109,.35);background:rgba(255,77,109,.04)}
.ct-hero{display:grid;gap:6px}
.ct-hero-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ct-hero-h b{min-width:0;font-size:15.5px;font-weight:600;line-height:1.3;color:var(--ink)}
.ct-cust.ok .ct-hero-h b{color:#A7F3D0}.ct-cust.bad .ct-hero-h b{color:#FECDD3}
.ct-pill{flex:none;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap}
.ct-pill.ok{border-color:rgba(46,212,122,.5);color:#A7F3D0;background:rgba(46,212,122,.1)}
.ct-pill.bad{border-color:rgba(255,77,109,.5);color:#FECDD3;background:rgba(255,77,109,.1)}
.ct-sub{font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.ct-txt{font-size:13px;line-height:1.5;color:var(--ink-1);text-wrap:pretty;overflow-wrap:anywhere}.ct-txt.bad{color:#FECDD3}
.ct-note{font-size:13px;line-height:1.45;color:#E8C66B;text-wrap:pretty}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--ink-1);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ct-btn:hover:not(:disabled){background:rgba(255,255,255,.05)}
.ct-btn.pri{border-color:rgba(91,168,255,.55);background:rgba(91,168,255,.16);color:#E0F2FE}.ct-btn.pri:hover:not(:disabled){background:rgba(91,168,255,.24)}
.ct-btn.wide{width:100%;min-height:44px}
.ct-btn:disabled{opacity:.45;cursor:not-allowed}
.ct-cust .ct-foldw{margin-top:-2px}
/* v759 (André 29/9: "tydligare att detta är något som behöver göras"): otestad box som uppgift i bärnsten, med ikon, dagar kvar och fylld knapp. */
.ct-cust.todo{border-color:rgba(244,200,75,.55);background:rgba(244,200,75,.06)}
.ct-todo-h{display:flex;align-items:center;gap:10px}
.ct-todo-i{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(244,200,75,.18);color:#F4C84B;font-weight:700;font-size:15px}
.ct-todo-h .t{flex:1;min-width:0;display:grid;gap:1px}.ct-todo-h b{font-size:16px;font-weight:600;line-height:1.25;color:var(--ink)}.ct-todo-h small{font-size:12.5px;color:var(--ink-2)}
.ct-chip{flex:none;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.ct-chip.warn{background:rgba(244,200,75,.16);color:#F4C84B;border:1px solid rgba(244,200,75,.45)}
.ct-chip.bad{background:rgba(255,77,109,.12);color:#FECDD3;border:1px solid rgba(255,77,109,.5)}
.ct-btn.pri{border-color:#5BA8FF;background:#5BA8FF;color:#0A0F18}.ct-btn.pri:hover:not(:disabled){background:#7DBBFF;border-color:#7DBBFF}
/* v760 (granskningen): etiketten "30 dagar kvar" under undertiteln, så rubriken får hela bredden på en rad; ikonen i överkant. */
.ct-todo-h{align-items:flex-start}.ct-todo-h .t{gap:2px}.ct-todo-h .ct-chip{justify-self:start;margin-top:5px}
/* v761 (TILL_DESIGN_laddboxtest_nedrakning 29/9): fasen i steget som pågår. Serverns text, tid kvar och en stapel mot fasens längsta tid. Bärnsten när batterikommandot väntar på växelriktarens spärr. */
.ct-ph{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:baseline;margin-top:4px;padding:8px 10px;border-radius:8px;border:1px solid rgba(91,168,255,.3);background:rgba(91,168,255,.07)}
.ct-ph .pl{font-size:13px;line-height:1.4;color:var(--ink);text-wrap:pretty;overflow-wrap:anywhere}
.ct-ph .pt{font-family:"Geist Mono",ui-monospace,monospace;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:#BAE0FF}
.ct-ph .pb{grid-column:1/-1;height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.ct-ph .pb i{display:block;height:100%;border-radius:2px;background:#5BA8FF;transition:width 1s linear}
.ct-ph.send{border-color:rgba(244,200,75,.45);background:rgba(244,200,75,.08)}.ct-ph.send .pt{color:#F4C84B}.ct-ph.send .pb i{background:#F4C84B}
