/* intMobile V3.1 — système visuel unique (inspiré du mode Intervention).
   Chargé par topbar() après les anciennes feuilles : il uniformise toutes les pages, en clair comme en sombre. */

/* ---------- Jetons ---------- */
:root{
 --bg:#f3f5f7;--card:#ffffff;--soft:#eef2f5;--line:#dfe5ea;--line2:#cbd4db;--ink:#15212b;--muted:#55636e;
 --accent:#c62828;--accent-ink:#b42025;--accent-soft:rgba(198,40,40,.10);--ok:#1f8a54;--warn:#a96200;--info:#1f6fb2;
 --nav:#ffffff;--badge:#e7edf1;--shadow:0 1px 2px rgba(16,24,32,.06);--r:16px;--r-sm:12px;
 --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
:root[data-theme="dark"]{
 --bg:#05090c;--card:#0f171e;--soft:#16212b;--line:#1f2b35;--line2:#2a3946;--ink:#eef3f6;--muted:#a3b3bf;
 --accent:#c62828;--accent-ink:#ff7b6e;--accent-soft:rgba(255,77,61,.12);--ok:#4cc38a;--warn:#f5b04a;--info:#6cb4ff;
 --nav:#0b1218;--badge:#1d2a35;--shadow:none;color-scheme:dark;
}

/* ---------- Base ---------- */
html,body{background:var(--bg)!important;color:var(--ink);font-family:var(--font)}
body{margin:0;-webkit-text-size-adjust:100%;line-height:1.45}
main{max-width:760px;margin:0 auto!important;padding:14px 16px calc(110px + env(safe-area-inset-bottom))!important;box-sizing:border-box;background:transparent!important}
a{color:var(--accent-ink)}
h1,h2,h3{color:var(--ink);letter-spacing:-.01em;line-height:1.2}
main h1{font-size:24px;margin:6px 0 12px}
main h2{font-size:18px;margin:4px 0 10px}
main h3{font-size:16px;margin:4px 0 8px}
.muted,small.muted,.small{color:var(--muted)!important}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}
*,*::before,*::after{box-sizing:border-box}

/* ---------- Barre du haut ---------- */
header.im-appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;margin:0;
 padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:color-mix(in srgb,var(--bg) 88%,transparent);
 -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);color:var(--ink);box-shadow:none;min-height:0;flex-wrap:nowrap}
.im-appbar-title{flex:1;min-width:0}
.im-appbar-title h1{margin:0;font-size:19px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.im-appbar-title small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.im-appbar-btn{width:42px;height:42px;flex:0 0 auto;display:flex!important;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--line)!important;background:var(--card)!important;color:var(--ink)!important;padding:0!important;margin:0!important;min-height:0!important;text-decoration:none;cursor:pointer}
.im-back svg{transform:rotate(180deg)}
.im-appbar-btn.notify-enable[hidden],.im-appbar-btn.notify-enable.hidden{display:none!important}
.im-appbar-logo{flex:0 0 auto;display:flex;width:42px;height:42px;border-radius:12px;background:#fff;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line)}
.im-appbar-logo img{width:36px;height:36px;object-fit:contain}
.im-avatar{flex:0 0 auto;width:42px;height:42px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;font-size:15px;text-decoration:none;border:2px solid var(--line)}
.im-avatar img{width:100%;height:100%;object-fit:cover}
.app-version{display:none}

/* ---------- Cartes et listes ---------- */
.card,main section.card,main form.card,.ts-card{background:var(--card)!important;color:var(--ink);border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow)!important;padding:16px!important;margin:0 0 12px!important}
.card .card{background:var(--soft)!important}
.row,.list>a,.list>div{border-color:var(--line)!important}
.tile,.action-tile,.secondary-tile,.quick-schedule{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow)!important;color:var(--ink)!important}
.alert{background:color-mix(in srgb,var(--warn) 14%,var(--card))!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)!important;border-radius:var(--r-sm)!important;padding:12px 14px!important;margin:0 0 12px!important}
.badge,.pill,.tag,.chip{border-radius:999px!important;background:var(--soft)!important;color:var(--ink)!important;border:1px solid var(--line)!important;padding:3px 10px!important;font-size:12.5px!important;font-weight:650}
.section-kicker{color:var(--muted)!important;letter-spacing:.09em;font-size:12px;font-weight:700}

/* ---------- Formulaires ---------- */
label{display:block;font-size:13.5px;font-weight:650;color:var(--ink);margin:10px 0 6px}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([type=hidden]),
select,textarea{display:block;width:100%!important;max-width:100%!important;min-height:48px;padding:11px 14px!important;margin:4px 0 0!important;
 font:inherit;font-size:16px!important;color:var(--ink)!important;background:var(--soft)!important;border:1px solid var(--line2)!important;border-radius:var(--r-sm)!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
textarea{min-height:110px;line-height:1.45}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%)!important;background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%!important;background-size:6px 6px!important;background-repeat:no-repeat!important;padding-right:36px!important}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}
input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);vertical-align:middle}
input[type=file]{width:100%;max-width:100%;padding:10px;border:1px dashed var(--line2);border-radius:var(--r-sm);background:var(--soft);color:var(--muted)}
input[type=date],input[type=time],input[type=datetime-local]{min-width:0}
fieldset{border:0;padding:0;margin:0;min-width:0}

/* ---------- Boutons ---------- */
button,.btn,input[type=submit],input[type=button]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;
 font:inherit;font-weight:700;font-size:15px;border-radius:var(--r-sm)!important;border:1px solid transparent;background:var(--accent);color:#fff!important;text-decoration:none;cursor:pointer;box-shadow:none!important}
button:active,.btn:active{transform:translateY(1px)}
button.secondary,.btn.secondary,.btn-secondary,button.ghost,.btn.ghost,a.btn.light,button.light{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line2)!important}
button.danger,.btn.danger,.btn-danger{background:transparent!important;color:var(--accent-ink)!important;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)!important}
button.compact,.btn.compact,.btn.small,button.small{min-height:38px;padding:7px 12px;font-size:14px}
form>button[type=submit]:only-of-type{width:100%}

/* ---------- Tableaux ---------- */
table{border-collapse:collapse;width:100%;font-size:14px;color:var(--ink)}
th{background:var(--soft);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}

/* ---------- Barre du bas ---------- */
.nav.im-nav{background:color-mix(in srgb,var(--nav) 92%,transparent)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)!important}
.im-nav a{background:transparent!important;border:0!important;min-height:44px!important;color:var(--muted)!important;font-weight:650!important}
.im-nav a.on{color:var(--ink)!important}
.im-nav .im-nav-radio span{border-color:var(--nav)!important}

/* ---------- Divers ---------- */
.install-app-card{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;color:var(--ink)!important}
.chat,.chat-box,.messages{background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important}
dialog{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);max-width:min(560px,94vw)}
dialog::backdrop{background:rgba(0,0,0,.55)}
img{max-width:100%;height:auto}

/* ---------- Choix segmenté (thème) ---------- */
.im-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}
.im-seg button{min-height:42px;background:transparent!important;color:var(--muted)!important;border:0!important;font-weight:700}
.im-seg button[aria-pressed="true"]{background:var(--card)!important;color:var(--ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important}
.hm-logout{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-ink)!important;font-weight:700;text-decoration:none}

/* ---------- Icônes émoji retirées : on masque les pastilles devenues vides ---------- */
.admin-icon>span:empty,.action-icon:empty,.form-icon:empty,.tile>span:empty,.secondary-tile>span:empty,.quick-schedule>span:empty{display:none!important}
.admin-icon{text-align:left!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important;padding:16px!important;min-height:0!important}
.admin-icon b,.admin-icon strong{font-size:16px!important}
.event-date{min-width:64px;padding:8px 4px;text-align:center}
.event-date span{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;font-size:12px!important}
.badge,.pill,.tag,.chip{white-space:nowrap}

/* V3.1.1 : bouton thème + cloche */
.im-theme-btn [data-ti]{display:none}
:root[data-theme-choice="auto"] .im-theme-btn [data-ti="auto"],:root[data-theme-choice="light"] .im-theme-btn [data-ti="light"],:root[data-theme-choice="dark"] .im-theme-btn [data-ti="dark"],:root:not([data-theme-choice]) .im-theme-btn [data-ti="auto"]{display:flex}
.im-bell{position:relative}
.im-bell-dot{position:absolute;top:8px;right:9px;width:9px;height:9px;border-radius:50%;background:var(--accent,#c62828);box-shadow:0 0 0 2px var(--card)}
.im-bell-dot[hidden]{display:none}
.im-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%,12px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:.2s;z-index:9999;max-width:90vw;text-align:center}
.im-toast.on{opacity:1;transform:translate(-50%,0)}
#notifications{scroll-margin-top:84px}
