/* En-tête : New site, prénom et Sign out alignés et espacés pareil */
.shell .signout{display:flex;align-items:center;gap:12px;margin:0 0 0 -16px}
.shell .signout .muted{font-size:14px;line-height:1;color:var(--muted)}
.shell .signout .btn,.shell > .btn{margin:0}
.ry-alert{display:none;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#7f1d1d;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;z-index:9999}
.plain{max-width:520px;margin:12vh auto;padding:0 16px;font-family:Geist,system-ui,sans-serif;color:#0f172a}
.plain h1{font-size:22px;margin:0 0 12px}
.plain p{line-height:1.5;color:#475569}
.plain a,.plain button{color:#1e3a8a}
.plain ul{padding-left:18px;line-height:1.9}
.login{max-width:360px;margin:0 auto}
.login-logo{height:28px;margin-bottom:28px}
.login label{display:block;font-size:13px;color:#475569;margin:18px 0 6px}
.login input{width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px}
.login input:focus{outline:2px solid #1e3a8a;outline-offset:1px;border-color:#1e3a8a}
.login-btn{width:100%;margin-top:16px;padding:11px;border:0;border-radius:8px;background:#1e3a8a;color:#fff !important;font:inherit;font-weight:500;cursor:pointer}
.login-err{color:#b91c1c !important;font-size:13px;margin:8px 0 0}
.login-alt{font-size:13px;margin-top:18px}
/* Accueil Ryhla : demandes « New site » ouvertes */
.plain:has(table.req){max-width:960px}
.plain h2{font-size:16px;margin:28px 0 10px}
.plain table.req{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:16px}
.plain table.req th{text-align:left;font-weight:500;color:#64748b;border-bottom:1px solid #e2e8f0;padding:6px 8px}
.plain table.req td{border-bottom:1px solid #f1f5f9;padding:7px 8px;vertical-align:top}
.plain .muted{color:#64748b}
/* Fenêtre New site : message d'erreur */
.dialog .err{color:#b91c1c;font-size:13px;margin:4px 0 0;min-height:1em}
.kv td{padding:4px 18px 4px 0;font-size:14px}
/* Statut d'un site envoyé et pastille de commentaires non lus */
.st{display:inline-block;font-size:12.5px;font-weight:500;padding:3px 9px;border-radius:999px;background:#eef2fb;color:#1e3a8a}
.st.st-done{background:#dcfce7;color:#166534}
.badge{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:#dc2626;color:#fff;font-size:11px;font-weight:600;text-align:center;vertical-align:1px}
/* Mots ou adresses très longs : ils passent à la ligne au lieu d'élargir la page */
.cg-bub,.cg-them > div{overflow-wrap:anywhere;min-width:0}
.tbl td.el,.crumb,h1{overflow-wrap:anywhere}

/* Petits écrans (téléphone) */
@media (max-width:760px){
  .shell{height:auto;min-height:56px;flex-wrap:wrap;gap:8px 12px;padding:8px 16px}
  .shell nav,.shell .org{display:none}
  .shell .grow{flex:1}
  .shell .signout{margin:0}
  .shell .signout .muted{display:none}
  .page{padding:20px 16px 60px}
  .tabs{overflow-x:auto;white-space:nowrap;gap:18px;scrollbar-width:none}
  .tabs a{flex:none}
  .mapwrap,.twin{grid-template-columns:1fr}
  #map,.bigmap{height:320px !important}
  .tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dialog{width:calc(100vw - 32px)}
  .scrim{padding-top:6vh}
  .cg-me,.cg-them{max-width:92%}
  .plain table.req{display:block;overflow-x:auto}
  tr[id^="x_"] td > div{grid-template-columns:1fr !important}
}
/* Fenêtre New site : import d'un tableur */
.dialog .imp{font-size:13px;margin:2px 0 10px;color:var(--muted)}
.dialog .imp .lnk{color:#1e3a8a;text-decoration:underline;cursor:pointer;font-weight:500}
.dialog .imp a{color:#1e3a8a}
.dialog .prev{max-height:240px;overflow:auto;border:1px solid var(--rule);border-radius:8px;margin:4px 0 12px;font-size:12.5px}
.dialog .prev table{width:100%;border-collapse:collapse}
.dialog .prev td,.dialog .prev th{padding:5px 8px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}
.dialog .prev th{position:sticky;top:0;background:#f8fafc;font-weight:500;color:#64748b}
.dialog .prev tr.bad td{color:#b91c1c}
.dialog .prevsum{font-size:13.5px;margin:6px 0 4px}
.dialog .prevsum .x{margin-left:8px;color:#1e3a8a;cursor:pointer;text-decoration:underline;font-size:12.5px}
/* Bandeau du staging */
.stg{background:#b45309;color:#fff;text-align:center;font-size:12.5px;font-weight:500;padding:4px 10px}
