/* Customer and admin sign-in pages. Colours come from p.css and theme.css, so both themes work. */
.pt{padding-block:clamp(24px,5vh,48px) 72px}
.pt h1{font-size:clamp(26px,4vw,36px)}
.pt h2{font-size:18px;margin:0 0 12px}
.pt .card{padding:22px;min-width:0}
.narrow{max-width:460px;margin:0 auto}
.narrow .lead{color:var(--muted);margin:8px 0 18px}
.pf{display:grid;gap:14px}
.pf label,.pl-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--muted)}
.pt input:not([type=checkbox]),.pt select,.pt textarea{width:100%;font:500 15px var(--f);color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:12px 13px}
.pt .btn{justify-self:start}
.pf .btn{justify-self:stretch}
.btn-s{padding:9px 14px;font-size:13px}
.btn-r{background:transparent;border:1px solid var(--line);color:var(--bad)}
.msg{min-height:1.5em;margin:0;font-weight:600;font-size:14px}
.msg.err{color:var(--bad)}.msg.ok{color:var(--ok)}
.switch{margin-top:16px;font-size:14px;color:var(--muted)}
.switch a{color:var(--acc);font-weight:700}
.wait{display:grid;gap:12px;justify-items:start}
.wait p{color:var(--muted)}
.wait a{color:var(--acc);font-weight:700}
.dtop{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;margin-bottom:18px}
.dtop .sp{margin-left:auto}
.dmeta{font-size:14px;color:var(--muted)}
.pill{font:700 11px/1 var(--mono);letter-spacing:.06em;padding:7px 10px;border-radius:999px;background:rgba(198,244,50,.14);color:var(--acc);text-transform:uppercase}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.kpi{display:grid;gap:6px;align-content:start}
.kpi span{font-size:13px;color:var(--muted)}
.kpi b{font-size:26px;line-height:1.15;overflow-wrap:anywhere}
.kpi small{font-size:13px;color:var(--muted)}
.pbar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.pbar i{display:block;height:100%;background:var(--acc)}
.ms{list-style:none;margin:0;padding:0;display:grid}
.ms li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.ms li:last-child{border-bottom:0}
.ms .dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--muted)}
.ms .done .dot{background:var(--acc);border-color:var(--acc)}
.ms .now .dot{border-color:var(--acc);box-shadow:0 0 0 3px rgba(198,244,50,.25)}
.ms small{color:var(--muted);font-size:13px;white-space:nowrap}
.pnote{margin-top:14px;padding:12px 14px;border-left:3px solid var(--acc);background:var(--bg-2);border-radius:8px;font-size:15px}
.plink{margin-top:14px}
.tabs{display:flex;gap:6px;margin-bottom:18px;overflow-x:auto}
.tabs button{font:700 14px/1 var(--f);padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}
.tabs button[aria-selected=true]{background:#C6F432;border-color:#C6F432;color:#0B0F14}
.tabs .n{display:inline-block;min-width:20px;margin-left:6px;padding:2px 6px;border-radius:999px;background:#0B0F14;color:#C6F432;font-size:12px}
.list{display:grid;gap:12px}
.item{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px;min-width:0}
.item .h{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.item .h b{font-size:16px;overflow-wrap:anywhere}
.item .h .sp{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.pmuted{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.tag{font:700 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:rgba(52,211,153,.16);color:var(--ok)}
.tag.p{background:rgba(251,191,36,.16);color:var(--warn)}
.urow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.urow select{flex:1 1 200px;width:auto}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form2 .full{grid-column:1/-1}
.mrow{display:grid;grid-template-columns:auto 1fr 130px auto;gap:8px;align-items:center;margin-top:8px}
.mrow input[type=checkbox]{width:18px;height:18px;accent-color:var(--acc)}
.mrow .x{background:none;border:0;color:var(--bad);font-size:20px;cursor:pointer;padding:4px 8px}
.barh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.barh h2{margin:0}
@media (max-width:820px){.kpis{grid-template-columns:1fr 1fr}.kpis .kpi:first-child{grid-column:1/-1}}
@media (max-width:600px){.form2{grid-template-columns:1fr}.mrow{grid-template-columns:auto 1fr auto}.mrow .d{grid-column:2/3}}
@media (max-width:420px){.kpis{grid-template-columns:1fr}}
