/* ── Champs de formulaire partagés (login, admin) ───────────────────── */
.ig{margin-bottom:16px}
.ig label{display:block;font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;letter-spacing:.4px}
.ig input, .ig select, .ig textarea{width:100%;padding:11px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;resize:vertical}
.ig input:focus, .ig select:focus, .ig textarea:focus{border-color:var(--primary);outline:none}
.ig input:disabled{font-family:var(--font-mono);color:var(--muted);background:var(--card2)}

/* ── Menu de navigation (☰) ──────────────────────────────────────────── */
.menu-slot{position:absolute;right:0}
.menu-btn{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);
          width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:17px;
          display:flex;align-items:center;justify-content:center;padding:0}
.menu-btn:active{background:var(--border)}

/* Le menu occupe la même colonne que les pages (520px), sur le fond de page,
   centré sur un voile sombre et arrondi comme leur carte. */
.nav-menu{display:none;position:fixed;inset:0;z-index:1500;
          justify-content:center;background:rgba(0,0,0,.55);padding:10px}
.nav-menu.open{display:flex}
.nav-menu-panel{display:flex;flex-direction:column;width:100%;max-width:520px;
                background:var(--bg);border-radius:14px;
                box-shadow:0 4px 24px rgba(0,0,0,.5);
                padding:18px 20px 24px;overflow-y:auto}

.nav-menu-hdr{display:flex;align-items:center;justify-content:space-between;
              margin-bottom:6px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.nav-menu-title{font-family:var(--font-display);font-weight:700;font-size:15px;
                text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.nav-menu-close{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);
                width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:15px;
                display:flex;align-items:center;justify-content:center;padding:0}
.nav-menu-close:active{background:var(--border)}

.nav-menu-links{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.nav-menu-bottom{display:flex;flex-direction:column;gap:6px;
                  padding-top:14px;border-top:1px solid var(--border)}

.nav-menu a{display:flex;align-items:center;gap:14px;padding:16px 14px;
            color:var(--text);text-decoration:none;font-size:16px;
            border-radius:10px}
.nav-menu a:active{background:var(--card2)}
.nav-menu a.current{color:var(--primary);background:var(--primary-dim)}
.nav-menu .nav-logout{color:var(--red)}

/* ── Page de connexion ───────────────────────────────────────────────── */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-card{width:100%;max-width:360px;background:var(--card);padding:28px 22px;
            border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.5)}
.login-card h2{color:var(--text);font-size:26px;text-align:center;margin-bottom:2px}
.login-eyebrow{text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;
               text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.login-subtitle{text-align:center;color:var(--muted);font-size:13px;margin-bottom:20px}
.btn-login{width:100%;padding:13px;background:var(--primary);color:#fff;border:none;
           border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;margin-top:6px}
.btn-login:active{transform:scale(.98)}
.btn-login:disabled{opacity:.6;cursor:not-allowed}
.login-error{background:var(--red-dim);border:1px solid var(--red);color:#f0b3ae;
             border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:10px}
.login-success{background:var(--green-dim);border:1px solid var(--green);color:var(--green);
                border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:10px}
.login-links{display:flex;justify-content:space-between;gap:8px;margin-top:16px}
.login-links a{color:var(--primary);font-size:12px;font-weight:600;text-decoration:underline}
.login-links a:active{color:var(--text)}

.app-credit{text-align:center;margin-top:18px;padding-top:12px;border-top:1px dashed var(--border);
            font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--muted);line-height:1.6}
.app-credit strong{color:var(--text);font-weight:600}

/* ── Sélecteur technicien (index, logs) pour admin/responsable ───────── */
.tech-filter-wrap{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.tech-filter-wrap label{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.4px}
.tech-filter-wrap select{width:auto;margin:0;padding:8px 10px;font-size:13px;font-weight:600}
.readonly-banner{
  background:repeating-linear-gradient(135deg,var(--orange-dim),var(--orange-dim) 8px,var(--card2) 8px,var(--card2) 16px);
  border:1px solid var(--orange);color:var(--orange);font-weight:600;
  border-radius:8px;padding:8px 10px;font-size:12px;margin-bottom:14px;text-align:center}

/* ── Page d'administration des utilisateurs ──────────────────────────── */
.admin-card{background:var(--card2);border-radius:10px;padding:16px;margin-bottom:18px}
.admin-card h3{font-family:var(--font-mono);font-size:12px;font-weight:600;
               letter-spacing:.06em;color:var(--primary);
               border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:12px}
.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:400px){.fields-2{grid-template-columns:1fr}}
.table-scroll{overflow-x:auto;margin:0 -18px;padding:0 18px}
.admin-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px;font-family:var(--font-mono)}
.admin-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;
                 letter-spacing:.4px;padding:8px 10px 8px 6px;border-bottom:1px solid var(--border);
                 white-space:nowrap}
.admin-table td{padding:8px 10px 8px 6px;border-bottom:1px solid var(--border);
                 vertical-align:middle;white-space:nowrap}
.admin-table select{width:auto;margin:0;padding:6px 8px;font-size:13px;font-weight:400}
.btn-toggle-active{border:none;border-radius:999px;padding:5px 12px;font-size:11px;
                    font-family:var(--font-mono);font-weight:600;cursor:pointer;white-space:nowrap}
.btn-toggle-active.active{background:var(--green-dim);color:var(--green)}
.btn-toggle-active.inactive{background:var(--red-dim);color:var(--red)}
.btn-reset-pw{background:var(--btn-bg);border:1px solid var(--border);border-radius:6px;
              padding:6px 10px;font-size:14px;cursor:pointer}
.btn-reset-pw:active{background:#444}
.btn-delete-user{background:var(--red-dim);border:1px solid var(--red);color:var(--red);border-radius:6px;
                  padding:6px 10px;font-size:14px;cursor:pointer}
.btn-delete-user:active{background:var(--red);color:#fff}
.muted-note{color:var(--muted);font-size:12px;margin-bottom:14px}

/* ── Demandes de réinitialisation de mot de passe ────────────────────── */
.reset-request-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
                    padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.reset-request-row:last-child{border-bottom:none}
.reset-request-date{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.reset-request-actions{display:flex;gap:8px;flex-shrink:0}
.btn-approve{background:var(--green-dim);color:var(--green);border:none;border-radius:999px;
             padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}
.btn-reject{background:var(--red-dim);color:var(--red);border:none;border-radius:999px;
            padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}

/* ── Suggestions ──────────────────────────────────────────────────────── */
.suggestion-row{padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}
.suggestion-row:last-child{border-bottom:none}
.suggestion-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.suggestion-date{color:var(--muted);font-size:11px;white-space:nowrap}
.suggestion-message{color:var(--text);white-space:pre-wrap;line-height:1.5}
