/* Écrans de connexion, liste, administration */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0}
body[data-view="login"] header .steps{display:none}
.sv{font-size:11px;color:var(--band-muted)}
.sv[data-st="error"],.sv[data-st="conflict"]{color:#ffb3a8;font-weight:600}
.auth{max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:8px}
.auth .card{width:100%;margin-top:14px}
.auth h2{font-size:26px}
.auth-emblem{width:96px;height:96px;border-radius:50%;background:#fff;padding:4px;box-shadow:0 0 0 2px var(--stone)}
.auth-wm{font-family:var(--f-display);font-weight:600;font-size:34px;color:var(--brand);letter-spacing:.04em;line-height:1}
.auth-sub{margin:0;color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.linkbtn{all:unset;cursor:pointer;color:var(--stone-ink);font-size:14px;font-weight:600;text-align:center;padding:4px}
.linkbtn:focus-visible{outline:2px solid var(--stone)}
.codein{font-family:var(--f-mono);font-size:26px;letter-spacing:.3em;text-align:center}
.qr{background:#fff;border-radius:12px;padding:10px;width:220px;max-width:100%;align-self:center;border:1px solid var(--line)}
.qr svg{display:block;width:100%;height:auto}
.secret{font-family:var(--f-mono);user-select:all;word-break:break-all;background:var(--bg);padding:2px 6px;border-radius:6px}
.steps-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.codes code{font-family:var(--f-mono);font-size:17px;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px;user-select:all}
.newrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.filters{gap:10px}
.filters .row select{flex:1;min-width:140px}
.rlist{display:flex;flex-direction:column;gap:10px}
.ritem{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:flex;align-items:stretch}
.ropen{all:unset;cursor:pointer;flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.ropen:focus-visible{outline:2px solid var(--stone);outline-offset:-2px;border-radius:var(--r)}
.rtop{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rdate{margin-left:auto;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.raddr{font-family:var(--f-display);font-weight:600;font-size:21px;line-height:1.15;color:var(--brand);overflow-wrap:anywhere}
.rmeta{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.rdel{align-self:flex-start;margin:8px 8px 0 0}
.rdel.sure{color:var(--bad);font-size:12px;font-weight:700;border:1px solid var(--bad)}
.pill.st-brouillon{background:var(--warn-bg);color:var(--warn)}
.pill.st-signe{background:var(--new-bg);color:var(--new)}
.pill.st-envoye{background:var(--ok-bg);color:var(--ok)}
.menu-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:14px}
.kv span{color:var(--muted)}
.kv b{overflow-wrap:anywhere}
.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px}
.tabs button{all:unset;cursor:pointer;flex:1;text-align:center;padding:10px 6px;border-radius:9px;font-weight:600;font-size:14px;color:var(--muted)}
.tabs button[aria-selected="true"]{background:var(--primary);color:var(--on-primary)}
.tabs button:focus-visible{outline:2px solid var(--stone)}
#admBox{display:flex;flex-direction:column;gap:16px}
.ulist{display:flex;flex-direction:column}
.uitem{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}
.uitem:last-child{border-bottom:0}
.uitem.off{opacity:.65}
.uhead{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.uhead b{font-size:15px;margin-right:4px}
.umeta{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.nuSend{align-self:end;padding-bottom:10px}
label.cb{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:600;cursor:pointer}
label.cb input{width:20px;height:20px;padding:0;accent-color:var(--primary)}
.tempcard{border-color:var(--stone);background:var(--stone-soft)}
.sendbox{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.logt{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}
.logt th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}
.logt td{padding:7px 8px 7px 0;border-bottom:1px solid var(--line);vertical-align:top}
.logt td:first-child{white-space:nowrap;font-family:var(--f-mono);font-size:12px}
.logt small{display:block;color:var(--muted);font-family:var(--f-mono);font-size:11px}
.warnrow td{color:var(--bad)}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:var(--surface);padding:12px 16px;border-radius:12px;font-size:14px;max-width:min(92vw,520px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20;box-shadow:0 8px 24px -8px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.bad{background:var(--bad);color:#fff}
@media (max-width:520px){.newrow{grid-template-columns:minmax(0,1fr)}}
