/* Better World — CSS principal */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    /* ── Palette Better World (extraite de l'icône officielle) ── */
    --bw-navy:      #012a6f;   /* fond bleu marine foncé (bg app) */
    --bw-blue:      #00a0fd;   /* bleu vif (CTA, liens, nav active) */
    --bw-blue-d:    #003988;   /* bleu foncé (hover, ombres) */
    --bw-blue-l:    #e8f4ff;   /* bleu très clair (backgrounds cartes) */
    --bw-cyan:      #00c9ff;   /* cyan clair (accents, texte World W) */
    --bw-green:     #8cea08;   /* vert lime (succès, perso vert) */
    --bw-green-d:   #5ab000;   /* vert foncé (hover succès) */
    --bw-yellow:    #ffcb00;   /* jaune (warning, arc jaune) */
    --bw-orange:    #ffa300;   /* orange (perso jaune/orange) */
    --bw-red:       #ff0148;   /* rouge vif (erreur, perso rouge) */
    --bw-red-d:     #cc0038;   /* rouge foncé (hover erreur) */

    /* Alias sémantiques */
    --blue:         var(--bw-blue);
    --blue-d:       var(--bw-blue-d);
    --blue-l:       var(--bw-blue-l);
    --green:        var(--bw-green-d);
    --red:          var(--bw-red);
    --orange:       var(--bw-orange);

    /* Gris neutres (UI shell) */
    --gray-50:  #f8fafc;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-400: #94a3b8;
    --gray-600: #475569;
    --gray-800: #1e293b;

    --radius:   12px;
    --shadow:   0 2px 12px rgba(0,0,0,.08);
    --nav-h:    60px;
}

body {
    font-family: system-ui, -apple-system, sans-serif;
    background: var(--bw-navy);
    color: #e8f4ff;
    font-size: 16px;
    line-height: 1.5;
    min-height: 100dvh;
}

/* ── Loading ─────────────────────────────────────────────── */
.loading-screen {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; min-height: 100dvh; gap: 1rem;
    background: linear-gradient(160deg, var(--bw-navy) 0%, var(--bw-blue-d) 100%);
    color: #fff;
}
.loading-logo { animation: pulse 1.5s infinite; }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }

/* ── Layout principal ────────────────────────────────────── */
#app { min-height: 100dvh; display: flex; flex-direction: column; }
.page { flex: 1; padding: 1rem; padding-bottom: calc(var(--nav-h) + 1rem); max-width: 640px; margin: 0 auto; width: 100%; }

/* ── Navigation bas ──────────────────────────────────────── */
.bottom-nav {
    position: fixed; bottom: 0; left: 0; right: 0;
    height: var(--nav-h);
    background: rgba(1,20,55,.92);
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex; align-items: center;
    box-shadow: 0 -2px 16px rgba(0,0,0,.3);
    backdrop-filter: blur(12px);
    z-index: 100;
}
.nav-item {
    flex: 1; display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 2px; padding: .5rem;
    color: rgba(232,244,255,.5); text-decoration: none; font-size: .7rem;
    border: none; background: none; cursor: pointer;
    transition: color .15s;
}
.nav-item.active, .nav-item:hover { color: var(--bw-blue); }
.nav-item .icon { font-size: 1.4rem; }

/* ── Header de page ──────────────────────────────────────── */
.page-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.page-header h1 { font-size: 1.4rem; font-weight: 700; }
.back-btn {
    background: none; border: none; font-size: 1.4rem; cursor: pointer;
    color: rgba(232,244,255,.6); padding: .25rem;
}

/* ── Cards ───────────────────────────────────────────────── */
.card {
    background: rgba(255,255,255,.07); border-radius: var(--radius);
    box-shadow: 0 2px 16px rgba(0,0,0,.25); padding: 1rem; margin-bottom: .75rem;
    border: 1px solid rgba(255,255,255,.1);
    color: #e8f4ff;
}
.card-header { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.card-title { font-weight: 600; font-size: 1rem; }
.card-sub { font-size: .85rem; color: rgba(232,244,255,.6); }

/* ── Boutons ─────────────────────────────────────────────── */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    padding: .75rem 1.25rem; border-radius: 8px; font-size: 1rem; font-weight: 600;
    border: none; cursor: pointer; transition: opacity .15s, transform .1s;
    text-decoration: none;
}
.btn:active { transform: scale(.97); }
.btn-primary  { background: var(--blue); color: #fff; }
.btn-primary:hover  { background: var(--blue-d); }
.btn-success  { background: var(--green); color: #fff; }
.btn-danger   { background: var(--red); color: #fff; }
.btn-outline  { background: transparent; border: 2px solid rgba(255,255,255,.25); color: #e8f4ff; }
.btn-outline:hover { border-color: var(--bw-blue); color: var(--bw-blue); }
.btn-ghost    { background: transparent; color: var(--bw-blue); }
.btn-full     { width: 100%; }
.btn:disabled { opacity: .5; cursor: not-allowed; }

/* ── Formulaires ─────────────────────────────────────────── */
.form-group { margin-bottom: 1rem; }
.form-label { display: block; font-size: .9rem; font-weight: 600; margin-bottom: .4rem; color: #a8cfee; }
.form-input, .form-select, .form-textarea {
    width: 100%; padding: .75rem 1rem; border: 1.5px solid rgba(255,255,255,.18);
    border-radius: 8px; font-size: 1rem; color: #e8f4ff;
    background: rgba(255,255,255,.08); transition: border-color .15s;
    appearance: none;
}
.form-input::placeholder { color: rgba(232,244,255,.4); }
.form-input:focus, .form-select:focus, .form-textarea:focus {
    outline: none; border-color: var(--blue); background: rgba(255,255,255,.12);
}
.form-textarea { resize: vertical; min-height: 100px; }
.form-hint { font-size: .8rem; color: rgba(232,244,255,.55); margin-top: .3rem; }
.form-error { font-size: .85rem; color: var(--bw-red); margin-top: .3rem; }

/* ── Alertes ─────────────────────────────────────────────── */
.alert {
    padding: .85rem 1rem; border-radius: 8px; font-size: .9rem;
    margin-bottom: 1rem; display: flex; align-items: flex-start; gap: .5rem;
}
.alert-error   { background: rgba(255,1,72,.18); color: #ffa0b4; border: 1px solid rgba(255,1,72,.4); }
.alert-success { background: rgba(140,234,8,.15); color: #c6f040; border: 1px solid rgba(140,234,8,.35); }
.alert-info    { background: rgba(0,160,253,.15); color: #90d8ff; border: 1px solid rgba(0,160,253,.3); }
.alert-warning { background: rgba(255,203,0,.15); color: #ffe07a; border: 1px solid rgba(255,203,0,.35); }

/* ── Badge catégorie ─────────────────────────────────────── */
.badge {
    display: inline-flex; align-items: center; gap: .3rem;
    padding: .2rem .6rem; border-radius: 20px; font-size: .78rem; font-weight: 600;
    background: var(--blue-l); color: var(--blue);
}

/* ── Avatar ──────────────────────────────────────────────── */
.avatar {
    width: 40px; height: 40px; border-radius: 50%; object-fit: cover;
    background: var(--blue-l); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; font-weight: 700; flex-shrink: 0;
}
.avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

/* ── Demande card ────────────────────────────────────────── */
.request-card { cursor: pointer; transition: box-shadow .15s; }
.request-card:hover { box-shadow: 0 4px 20px rgba(37,99,235,.12); }
.request-meta { display: flex; gap: .5rem; flex-wrap: wrap; font-size: .8rem; color: var(--gray-400); margin-top: .5rem; }
.request-desc { font-size: .95rem; color: rgba(255,255,255,.85); margin-top: .4rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.status-badge { display: inline-block; padding: .2rem .6rem; border-radius: 20px; font-size: .75rem; font-weight: 600; }
.status-active    { background: #dcfce7; color: #16a34a; }
.status-in_progress { background: #fef9c3; color: #a16207; }
.status-resolved  { background: #dbeafe; color: #1d4ed8; }
.status-cancelled { background: var(--gray-100); color: var(--gray-600); }
.status-archived  { background: var(--gray-100); color: var(--gray-400); }

/* ── Carte (map placeholder) ─────────────────────────────── */
.map-container {
    height: 240px; background: var(--gray-100); border-radius: var(--radius);
    display: flex; align-items: center; justify-content: center;
    color: var(--gray-400); font-size: .9rem; margin-bottom: 1rem;
    overflow: hidden; position: relative;
}

/* ── Chat ────────────────────────────────────────────────── */
/* En mode chat, la page occupe toute la hauteur disponible */
.page-chat {
    display: flex; flex-direction: column;
    height: calc(100dvh - var(--nav-h));
    overflow: hidden;
    padding-bottom: 0;
}
/* Le bloc chat prend tout l'espace restant */
.chat-wrap {
    flex: 1; display: flex; flex-direction: column;
    min-height: 0; /* crucial pour que flex-child puisse rétrécir */
    margin-top: .75rem;
}
.chat-messages {
    flex: 1; overflow-y: auto; min-height: 0;
    padding: .5rem 0;
    display: flex; flex-direction: column; gap: .5rem;
}
.msg { max-width: 80%; padding: .6rem .9rem; border-radius: 16px; font-size: .92rem; line-height: 1.4; word-break: break-word; }
.msg-mine { align-self: flex-end; background: var(--blue); color: #fff; border-bottom-right-radius: 4px; }
.msg-other { align-self: flex-start; background: rgba(255,255,255,.1); box-shadow: var(--shadow); border-bottom-left-radius: 4px; color: #e8f4ff; }
.msg-name { font-size: .78rem; font-weight: 600; margin-bottom: .2rem; opacity: .8; }
.msg-time { font-size: .72rem; opacity: .6; margin-top: .2rem; }
.chat-input-row { display: flex; gap: .5rem; padding: .75rem 0 .5rem; border-top: 1px solid rgba(255,255,255,.1); flex-shrink: 0; }
.chat-input-row .form-input { flex: 1; }

/* ── Stars ───────────────────────────────────────────────── */
.stars { display: flex; gap: .2rem; }
.star { font-size: 1.4rem; cursor: pointer; color: rgba(255,255,255,.25); }
.star.on { color: #f59e0b; }
/* Formulaire de notation */
.stars-row { display: flex; gap: .4rem; margin: .25rem 0; }
.star-btn {
    background: none; border: none; cursor: pointer;
    font-size: 2rem; color: rgba(255,255,255,.2);
    transition: color .15s, transform .1s;
    padding: 0 .1rem;
}
.star-btn.active,
.star-btn:hover { color: #f59e0b; transform: scale(1.15); }

/* ── Donation ────────────────────────────────────────────── */
.amount-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.amount-chip {
    padding: .5rem 1rem; border: 2px solid var(--gray-200); border-radius: 8px;
    font-weight: 600; cursor: pointer; background: rgba(255,255,255,.07); color: #e8f4ff; transition: all .15s;
}
.amount-chip.selected { border-color: var(--bw-blue); background: rgba(0,160,253,.2); color: var(--bw-blue); }
#paypal-button-container { min-height: 45px; }

/* ── Admin ───────────────────────────────────────────────── */
.admin-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-bottom: 1.5rem; }
.stat-card { background: rgba(255,255,255,.07); border-radius: var(--radius); padding: 1rem; text-align: center; border: 1px solid rgba(255,255,255,.1); }
.stat-val { font-size: 1.8rem; font-weight: 800; color: var(--bw-blue); }
.stat-lbl { font-size: .8rem; color: rgba(232,244,255,.55); }

/* ── Utilitaires ─────────────────────────────────────────── */
.text-center { text-align: center; }
.text-sm { font-size: .85rem; }
.text-muted { color: rgba(232,244,255,.55); }
.text-blue { color: var(--blue); }
.mt-1 { margin-top: .5rem; } .mt-2 { margin-top: 1rem; } .mt-3 { margin-top: 1.5rem; }
.mb-1 { margin-bottom: .5rem; } .mb-2 { margin-bottom: 1rem; }
.flex { display: flex; } .flex-center { display: flex; align-items: center; justify-content: center; }
.gap-1 { gap: .5rem; } .gap-2 { gap: 1rem; }
.divider { border: none; border-top: 1px solid var(--gray-200); margin: 1rem 0; }
.hidden { display: none !important; }
.spinner {
    width: 32px; height: 32px; border: 3px solid var(--gray-200);
    border-top-color: var(--blue); border-radius: 50%;
    animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Amount grid (donate) ────────────────────────────────── */
.amount-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: 1rem; }
.input-group { display: flex; align-items: center; gap: 0; }
.input-group .form-input { border-right: none; border-radius: var(--radius) 0 0 var(--radius); }
.input-suffix { padding: .65rem .75rem; background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.18); border-left: none; border-radius: 0 var(--radius) var(--radius) 0; font-weight: 600; color: rgba(232,244,255,.6); }

/* ── Stats admin grid ────────────────────────────────────── */
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
@media (max-width: 380px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }
.stat-card { background: #fff; border-radius: var(--radius); padding: .9rem .5rem; text-align: center; box-shadow: var(--shadow); }
.stat-icon { font-size: 1.4rem; }
.stat-value { font-size: 1.5rem; font-weight: 800; color: var(--bw-blue); }
.stat-label { font-size: .72rem; color: var(--gray-400); margin-top: .15rem; }

/* ── Tabs ────────────────────────────────────────────────── */
.tab-bar { display: flex; gap: .25rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tab-btn { padding: .45rem .85rem; border: 1.5px solid rgba(255,255,255,.25); border-radius: 20px; background: transparent; color: #fff; font-size: .85rem; cursor: pointer; white-space: nowrap; }
.tab-btn.active { background: var(--bw-blue); color: #fff; border-color: var(--bw-blue); }

/* ── Danger button ───────────────────────────────────────── */
.btn-danger { background: var(--bw-red); color: #fff; border-color: var(--bw-red); }
.btn-danger:hover { background: var(--bw-red-d); }

/* ── Search bar ──────────────────────────────────────────── */
.search-bar { position: relative; }
.search-bar .form-input { padding-left: 2.2rem; }

/* ── Blue-light background ───────────────────────────────── */
:root { --blue-l: rgba(0,160,253,.22); color-scheme: dark; }

/* ── Installation PWA ────────────────────────────────────── */
.install-banner {
    position: fixed; left: .75rem; right: .75rem; bottom: calc(var(--nav-h) + .75rem);
    z-index: 900; max-width: 616px; margin: 0 auto;
    display: flex; align-items: center; gap: .6rem;
    padding: .6rem .75rem; border-radius: 14px;
    background: #0b2a5e; color: #fff; border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 6px 24px rgba(0,0,0,.35);
}
.install-banner img { border-radius: 8px; flex-shrink: 0; }
.install-text { flex: 1; display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.install-text strong { font-size: .9rem; }
.install-text span { font-size: .75rem; opacity: .75; }
.install-banner .btn { padding: .45rem .8rem; font-size: .85rem; }
.install-close { background: none; border: none; color: #fff; opacity: .7; font-size: 1.4rem; line-height: 1; cursor: pointer; padding: 0 .25rem; }
.ios-help {
    position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.6);
    display: flex; align-items: flex-end; justify-content: center; padding: 1rem;
}
.ios-help-card {
    width: 100%; max-width: 420px; background: #0b2a5e; color: #fff;
    border-radius: 16px; padding: 1.25rem; margin-bottom: .5rem;
}
.ios-help-card h3 { margin-bottom: .75rem; }
.ios-help-card ol { padding-left: 1.2rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: .5rem; font-size: .92rem; }

/* ── Repère de version ───────────────────────────────────── */
.bw-version { position: fixed; top: 4px; right: 8px; z-index: 5; font-size: 10px; color: rgba(255,255,255,.45); pointer-events: none; }
.bw-version.stale { color: #fbbf24; font-weight: 700; font-size: 11px; }

/* ── Photo, carte, suivi live ────────────────────────────── */
.req-photo { width: 100%; max-height: 220px; object-fit: cover; border-radius: 12px; margin: .6rem 0; cursor: zoom-in; display: block; }
.page-chat .req-photo { max-height: 90px; }
.photo-overlay { position: fixed; inset: 0; z-index: 1100; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.photo-overlay img { max-width: 100%; max-height: 100%; border-radius: 8px; }
.map-box { width: 100%; height: 260px; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); z-index: 0; }
.rtabs { display: flex; gap: .4rem; margin: .6rem 0 .4rem; flex-shrink: 0; }
.rtab-btn { flex: 1; padding: .5rem; border-radius: 10px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #fff; font-weight: 600; cursor: pointer; }
.rtab-btn.active { background: var(--blue); border-color: var(--blue); }
.rtab-panel { flex: 1; min-height: 0; display: none; flex-direction: column; }
.rtab-panel.active { display: flex; }
.rtab-panel .map-box { flex: 1; height: auto; min-height: 180px; }
.track-info { flex-shrink: 0; padding: .4rem .25rem .6rem; display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; }
.track-row { display: flex; align-items: center; gap: .6rem; background: rgba(255,255,255,.08); border-radius: 10px; padding: .45rem .7rem; }
.track-row strong { flex: 1; }
.track-dist { font-weight: 800; font-size: 1.05rem; color: var(--bw-green, #8cea08); }
.compass-arrow { display: inline-block; font-size: 1.5rem; line-height: 1; transition: transform .25s linear; color: var(--bw-cyan, #00c9ff); }
.track-hint { font-size: .75rem; opacity: .7; }
.bw-pin span { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.4); font-size: 1.2rem; border: 3px solid #00a0fd; }
.bw-pin.requester span { border-color: #ff0148; }
.bw-pin.me span { border-color: #8cea08; }
.req-thumb { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.photo-input-row { display: flex; align-items: center; gap: .75rem; }
.photo-preview { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; display: none; }
.cat-badge { margin-left: auto; font-size: .75rem; padding: .15rem .5rem; border-radius: 999px; background: rgba(255,255,255,.12); white-space: nowrap; }

/* Fiche compacte (écran carte + chat) : laisse la place à la carte */
.req-card.compact { padding: .6rem .75rem; cursor: pointer; }
.req-card.compact .card-header { margin-bottom: .25rem; }
.req-card.compact .req-photo { float: right; width: 56px; height: 56px; max-height: none; margin: 0 0 0 .6rem; border-radius: 10px; }
.req-card.compact p { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .9rem; }
.req-card.compact .request-meta, .req-card.compact .req-helpers { display: none; }
.req-card.compact .req-extra { display: none; }
.req-card.compact::after { content: '▾ détails'; display: block; text-align: center; font-size: .7rem; opacity: .5; margin-top: .25rem; clear: both; }
.req-card.compact.expanded p { display: block; -webkit-line-clamp: unset; }
.req-card.compact.expanded .request-meta, .req-card.compact.expanded .req-helpers, .req-card.compact.expanded .req-extra { display: block; }
.req-card.compact.expanded .req-photo { float: none; width: 100%; height: auto; max-height: 200px; margin: .5rem 0; }
.req-card.compact.expanded::after { content: '▴ réduire'; }
.page-chat .page-header { margin-bottom: .4rem; }

/* Lisibilité : listes déroulantes et autofill */
.form-select option{background:#1e293b;color:#fff}
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-text-fill-color:#fff;caret-color:#fff;
  box-shadow:0 0 0 1000px #1e293b inset;transition:background-color 9999s}

.btn-primary{background:#0079c2}.btn-primary:hover{background:#005f9a}
.btn-success{background:#3f7d00}
.tab-btn.active{background:#0079c2;border-color:#0079c2}

/* ═══ Refonte visuelle v1.6 ═══ */
:root{--top-h:52px}
body{
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(0,160,253,.28), transparent 60%),
    radial-gradient(700px 500px at -10% 40%, rgba(140,234,8,.10), transparent 60%),
    radial-gradient(800px 600px at 60% 110%, rgba(0,201,255,.16), transparent 60%),
    linear-gradient(180deg,#02194a 0%,#012a6f 55%,#021d52 100%);
  background-attachment:fixed;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  padding-top:calc(var(--top-h) + env(safe-area-inset-top,0px));
  -webkit-font-smoothing:antialiased;
}
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:120;
  height:calc(var(--top-h) + env(safe-area-inset-top,0px));
  padding-top:env(safe-area-inset-top,0px);
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:rgba(2,22,64,.72);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar-logo{width:30px;height:30px;border-radius:8px;box-shadow:0 2px 10px rgba(0,160,253,.35)}
.topbar-name{font-size:1.05rem;font-weight:500;letter-spacing:.04em;color:#e8f4ff}
.topbar-name b{font-weight:800;background:linear-gradient(90deg,#00c9ff,#8cea08);-webkit-background-clip:text;background-clip:text;color:transparent}
body:has(#loading) .topbar{display:none}
#app{min-height:calc(100dvh - var(--top-h))}
.loading-screen{background:none}

/* Titres plus fins */
h1{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
h2{font-size:1.05rem;font-weight:650}
h3{font-size:.98rem;font-weight:650}
.page-header h1{font-size:1.1rem}
.page{padding-top:.9rem}
.page-chat{height:calc(100dvh - var(--nav-h) - var(--top-h) - env(safe-area-inset-top,0px))}

/* Cartes en verre */
.card{
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  box-shadow:0 8px 28px rgba(0,8,30,.35), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.btn{border-radius:12px;font-weight:600;letter-spacing:.01em}
.btn-primary{background:linear-gradient(135deg,#0090e6,#0066b8);box-shadow:0 4px 14px rgba(0,120,220,.35)}
.btn-success{background:linear-gradient(135deg,#4a9400,#2f6b00);box-shadow:0 4px 14px rgba(60,140,0,.3)}
.form-input,.form-select,.form-textarea{border-radius:12px;background:rgba(255,255,255,.06)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#00a0fd;box-shadow:0 0 0 3px rgba(0,160,253,.25)}
.bottom-nav{background:rgba(2,22,64,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-item.active{color:#00c9ff}
.avatar{background:linear-gradient(135deg,#0090e6,#00c9ff);color:#fff}
.bw-version{top:auto;bottom:calc(var(--nav-h) + 4px);right:8px;font-size:9px;opacity:.6}
.photo-input-row{flex-wrap:wrap;gap:.5rem}
.photo-input-row .btn{padding:.55rem .85rem;font-size:.9rem;white-space:nowrap}

.cam-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:300}
.cam-overlay video{max-width:94vw;max-height:70vh;border-radius:14px;background:#000}
.cam-bar{display:flex;gap:.75rem}

/* ═══ Administration ═══ */
.adm{max-width:760px}
.adm-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.75rem;scrollbar-width:none}
.adm-tabs::-webkit-scrollbar{display:none}
.adm-dot:not(:empty){display:inline-block;min-width:18px;height:18px;line-height:18px;margin-left:.3rem;border-radius:9px;background:#ff0148;color:#fff;font-size:.7rem;text-align:center}
.adm-h{margin:1.1rem 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#8fb8dd;font-weight:600}
.adm .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.adm .stat-card{padding:.8rem;text-align:left}
.adm .stat-icon{font-size:1.1rem}
.adm .stat-value{font-size:1.25rem;font-weight:700;color:#fff}
.adm .stat-label{font-size:.78rem;color:#a8cfee}
.adm .stat-sub{font-size:.7rem;color:#7fa6c9;margin-top:.15rem}
.adm-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.adm-chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#e8f4ff;font-size:.8rem;cursor:pointer}
.chip.active{background:#0079c2;border-color:#0079c2}
.adm-tools{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}
.adm-item{cursor:default}
.adm-item[data-user]{cursor:pointer}
.adm-badge{display:inline-block;margin-left:.3rem;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;background:rgba(255,255,255,.12)}
.adm-badge.b-green{background:rgba(90,176,0,.3);color:#c6f58a}
.adm-badge.b-red{background:rgba(255,1,72,.25);color:#ffb3c4}
.adm-badge.b-blue{background:rgba(0,160,253,.3);color:#bfe6ff}
.adm-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.adm-actions .btn{padding:.4rem .7rem;font-size:.8rem}
.adm-line{display:flex;justify-content:space-between;gap:.5rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.88rem;cursor:pointer}
.adm-line:last-child{border:0}
.adm-note{margin:.35rem 0;padding:.5rem .65rem;border-radius:10px;background:rgba(255,255,255,.06);font-size:.85rem;word-break:break-word}
.adm-kv{display:grid;grid-template-columns:auto 1fr;gap:.25rem .8rem;font-size:.85rem;margin:.5rem 0}
.adm-kv span{color:#8fb8dd}
.adm-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:rgba(255,255,255,.08)}
.adm-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-top:.6rem;font-size:.75rem;color:#a8cfee}
.adm-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.3rem}
.adm-hbar{display:grid;grid-template-columns:110px 1fr 36px;align-items:center;gap:.5rem;margin:.3rem 0;font-size:.82rem}
.adm-hbar div{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.adm-hbar div i{display:block;height:100%;background:linear-gradient(90deg,#00a0fd,#00c9ff)}
.adm-hbar b{text-align:right}
.adm-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;font-size:.85rem}
.adm-sheet{position:fixed;inset:0;z-index:400;background:rgba(0,10,30,.75);display:flex;align-items:flex-end;justify-content:center}
.adm-sheet-box{position:relative;width:100%;max-width:680px;max-height:88dvh;overflow-y:auto;padding:1.2rem 1rem 2rem;border-radius:20px 20px 0 0;background:#06245e;border:1px solid rgba(255,255,255,.12);box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.adm-x{position:absolute;top:.6rem;right:.8rem;background:none;border:0;color:#fff;font-size:1.2rem;cursor:pointer}
.adm-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:500;padding:.6rem 1rem;border-radius:12px;background:#0b3b86;color:#fff;font-size:.9rem;box-shadow:0 6px 24px rgba(0,0,0,.4)}
@media(min-width:560px){.adm .stats-grid{grid-template-columns:repeat(3,1fr)}.adm-sheet{align-items:center}.adm-sheet-box{border-radius:20px}}
.stat-card,.adm .stat-card{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#e8f4ff;box-shadow:0 6px 20px rgba(0,8,30,.3)}
.stat-card .stat-value{color:#fff}
.stat-card .stat-label{color:#a8cfee}

/* ═══════════════ v1.8 — Palette du logo + accessibilité + structure ═══════════════ */
:root{
  --lime:#9bf20f; --lime-d:#6fd100; --coral:#ff4d6d; --coral-d:#e0123f; --royal:#0b56c4;
  --top-h:80px; --nav-h:72px;
}
body{
  background:
    radial-gradient(700px 420px at 100% -5%, rgba(10,170,190,.38), transparent 62%),
    radial-gradient(520px 380px at -10% 35%, rgba(155,242,15,.09), transparent 62%),
    radial-gradient(700px 520px at 70% 115%, rgba(255,77,109,.10), transparent 60%),
    linear-gradient(180deg,#031a5c 0%,#052f8c 52%,#031f66 100%);
  background-attachment:fixed;
}
/* Barre du haut : logo plus grand, titre dessous */
.topbar{flex-direction:column;gap:.1rem;justify-content:center;padding-bottom:2px}
.topbar-logo{width:46px;height:46px;border-radius:12px;box-shadow:0 3px 14px rgba(0,0,0,.35)}
.topbar-name{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1}
body:has(.page-chat){--top-h:52px}
body:has(.page-chat) .topbar{flex-direction:row;gap:.5rem}
body:has(.page-chat) .topbar-logo{width:34px;height:34px;border-radius:9px}
body:has(.page-chat) .topbar-name{font-size:.8rem}

/* Boutons accessibles : grandes zones de toucher, fort contraste */
.btn{min-height:50px;padding:.8rem 1.3rem;font-size:1.05rem;border-radius:14px}
.btn-lg{min-height:62px;font-size:1.2rem;font-weight:700}
.btn-primary{background:linear-gradient(135deg,#1a7df2,#0b56c4);color:#fff;box-shadow:0 6px 18px rgba(11,86,196,.45)}
.btn-primary:hover{background:linear-gradient(135deg,#2a8bff,#0f60d6)}
.btn-success{background:linear-gradient(135deg,var(--lime),var(--lime-d));color:#06310a;font-weight:700;box-shadow:0 6px 18px rgba(111,209,0,.35)}
.btn-danger,.btn-sos{background:linear-gradient(135deg,var(--coral),var(--coral-d));color:#fff;box-shadow:0 8px 22px rgba(224,18,63,.45)}
.btn-sos{gap:.6rem;font-weight:800;letter-spacing:.01em;margin-bottom:.5rem}
.btn-sos img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}
.btn-ghost-sos{opacity:.9}
.btn-outline{border:2px solid rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.04)}
.btn-outline:hover{border-color:var(--lime);color:var(--lime)}
.btn:focus-visible,.nav-item:focus-visible,.chip:focus-visible,.tab-btn:focus-visible,.cat-tile:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.form-input,.form-select,.form-textarea{min-height:50px;font-size:16px;border-radius:14px}
.form-textarea{min-height:110px}
.form-label{font-size:.95rem;color:#cfe6ff}
.chip,.tab-btn{min-height:40px;padding:.45rem .9rem}
.back-btn{min-width:44px;min-height:44px;font-size:1.6rem;color:#fff}
.star-btn{min-width:48px;min-height:48px;font-size:1.8rem}
a{color:#8fdcff}

/* Navigation du bas : icônes PNG + bouton SOS central */
.bottom-nav{height:var(--nav-h);padding-bottom:env(safe-area-inset-bottom,0px);background:rgba(3,22,78,.9);border-top:1px solid rgba(255,255,255,.12)}
.nav-item{gap:3px;font-size:.72rem;font-weight:600;color:rgba(232,244,255,.7);min-height:var(--nav-h);position:relative}
.nav-ic{width:28px;height:28px;opacity:.75;transition:transform .15s,opacity .15s;filter:saturate(.85)}
.nav-item.active{color:#fff}
.nav-item.active .nav-ic{opacity:1;transform:translateY(-2px) scale(1.12);filter:none}
.nav-item.active::after{content:'';position:absolute;top:4px;width:26px;height:3px;border-radius:2px;background:var(--lime)}
.nav-center{overflow:visible}
.nav-fab{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-top:-26px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--coral-d));border:4px solid #031a5c;box-shadow:0 8px 22px rgba(224,18,63,.55)}
.nav-fab img{width:32px;height:32px}
.nav-center.active::after{display:none}
.nav-center span:last-child{color:#fff}

/* Accueil */
.home-hello{margin:.2rem 0 .8rem;font-size:1rem;color:#cfe6ff}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:1.4rem 0 .6rem}
.section-head h2{font-size:1.05rem}
.link-more{font-size:.9rem;font-weight:600;text-decoration:none;color:var(--lime);padding:.4rem 0}
.mine-card{display:flex;align-items:center;gap:.75rem;cursor:pointer;border-color:rgba(155,242,15,.45);background:linear-gradient(145deg,rgba(155,242,15,.14),rgba(255,255,255,.04))}
.rc-go{margin-left:auto;font-size:1.6rem;opacity:.7}
.rc-top{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.rc-ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.1);flex-shrink:0}
.rc-main{min-width:0;flex:1}
.rc-title{font-weight:700;font-size:1rem}
.rc-by{font-weight:400;opacity:.75}
.rc-sub{font-size:.82rem;color:#a8cfee}
.request-card{padding:.9rem}
.request-card:active{transform:scale(.99)}
.donate-mini{text-align:center}

/* Tuiles de catégories */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.cat-tile{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.65rem .2rem;min-height:84px;border-radius:14px;border:2px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;font-size:.72rem;font-weight:600;cursor:pointer;text-align:center;line-height:1.15}
.cat-tile.active{border-color:var(--lime);background:rgba(155,242,15,.16);box-shadow:0 0 0 3px rgba(155,242,15,.18)}
.cat-ic{vertical-align:middle}
.photo-input-row .btn img{vertical-align:middle}

.people-chip{display:flex;align-items:center;gap:.75rem;margin:1rem 0 0;padding:.8rem 1rem;border-radius:16px;background:linear-gradient(145deg,rgba(155,242,15,.14),rgba(255,255,255,.05));border:1px solid rgba(155,242,15,.35);font-size:.95rem}
.people-chip[hidden]{display:none}
.people-chip small{display:block;margin-top:.1rem;font-size:.78rem;color:#bcd9f2}
.people-ic{font-size:1.6rem}

/* ═══ Page d'accueil publique ═══ */
body.no-nav .bottom-nav{display:none}
body.no-nav .page{padding-bottom:2rem}
.landing{max-width:560px}
.hero{text-align:center;padding:.4rem 0 1.2rem}
.hero-logo{width:132px;height:132px;border-radius:30px;box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 0 6px rgba(255,255,255,.06),0 0 60px rgba(10,170,190,.35);margin:.4rem auto 1.2rem;display:block}
.hero h1{font-size:1.65rem;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin-bottom:.8rem}
.grad{background:linear-gradient(90deg,#00c9ff,#9bf20f);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:1rem;color:#cfe6ff;line-height:1.55;margin:0 auto 1.3rem;max-width:30em}
.hero-cta{display:flex;flex-direction:column;gap:.6rem}
.hero-stats{display:flex;justify-content:center;gap:1.6rem;margin-top:1.3rem;padding:.8rem 1rem;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.hero-stats[hidden]{display:none}
.hero-stats div{display:flex;flex-direction:column;align-items:center}
.hero-stats b{font-size:1.3rem;color:#fff}
.hero-stats span{font-size:.75rem;color:#a8cfee}
.lsec{margin-top:1.8rem}
.lsec h2{font-size:1.15rem;margin-bottom:.8rem}
.steps,.feats{display:flex;flex-direction:column;gap:.6rem}
.step,.feat{position:relative;display:flex;gap:.9rem;align-items:flex-start;padding:.9rem;border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12)}
.step img,.feat img{flex-shrink:0;margin-top:.1rem}
.step b,.feat b{display:block;font-size:1rem;margin-bottom:.15rem}
.step p,.feat p{font-size:.88rem;color:#bcd9f2;line-height:1.45}
.step-n{position:absolute;top:-8px;left:-6px;width:24px;height:24px;border-radius:50%;background:var(--lime);color:#06310a;font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.35)}
.cat-static .cat-tile{cursor:default}
.install-sec{display:flex;align-items:center;gap:.9rem;padding:1rem;border-radius:16px;background:rgba(0,160,253,.14);border:1px solid rgba(0,160,253,.4)}
.install-sec[hidden]{display:none}
.install-sec p{font-size:.85rem;color:#bcd9f2}
.install-sec .btn{margin-left:auto}
.final-cta{margin-top:2rem;padding:1.4rem 1.1rem;text-align:center;border-radius:20px;background:linear-gradient(145deg,rgba(155,242,15,.16),rgba(10,170,190,.14));border:1px solid rgba(155,242,15,.35)}
.final-cta h2{font-size:1.25rem;margin-bottom:.3rem}
.final-cta p{color:#cfe6ff;margin-bottom:1rem}
.final-cta .btn{margin-bottom:.4rem}
.landing-foot{margin-top:1.4rem;text-align:center;font-size:.78rem;color:#8fb8dd}

/* Œil mot de passe */
.pw-wrap{position:relative;display:block}
.pw-wrap .form-input{padding-right:3rem;width:100%}
.pw-eye{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:none;border:0;color:#9fb3c8;cursor:pointer;border-radius:50%}
.pw-eye:hover,.pw-eye.on{color:#fff}

/* QR code d'invitation */
.qr-box{background:#fff;border-radius:14px;padding:10px;max-width:300px;margin:0 auto}
.qr-box svg{display:block;width:100%;height:auto}

/* Listes déroulantes : options lisibles (texte clair sur fond foncé) */
select option{background:#1e293b;color:#fff}

/* Annonce de l'équipe (bandeau en haut, sous la barre du haut) */
.ann-banner{position:fixed;left:.75rem;right:.75rem;top:calc(var(--top-h) + env(safe-area-inset-top,0px) + .5rem);z-index:950;max-width:616px;margin:0 auto;display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:14px;background:#0b2a5e;color:#fff;border:1px solid rgba(0,201,255,.45);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.ann-banner .install-text span{font-size:.8rem;opacity:.9;white-space:normal}

/* ── Multilingue : sélecteur de langue + sens de lecture (arabe) ── */
.lang-bar{display:flex;justify-content:flex-end;margin:.25rem 0 .5rem}
.lang-sel{width:auto;max-width:100%;min-height:40px;padding:.4rem .8rem;font-size:.9rem;border-radius:12px}
.card .lang-sel{width:100%}
[dir="rtl"] .page-header .back-btn{transform:scaleX(-1)}
[dir="rtl"] .step-n{left:auto;right:-6px}
[dir="rtl"] .install-sec .btn,[dir="rtl"] .cat-badge,[dir="rtl"] .rc-go{margin-left:0;margin-right:auto}
[dir="rtl"] .adm-x{right:auto;left:.8rem}
[dir="rtl"] .pw-wrap .form-input{padding-right:.75rem;padding-left:3rem}
[dir="rtl"] .pw-eye{right:auto;left:.35rem}

/* ═══ Style sobre, bleu grisé (toute l'appli) ═══ */
:root{--lime:#BBD3F7;--lime-d:#A9C4EE;--coral:#E4586F;--coral-d:#C9405A}
body{background-attachment:scroll}
body{background:#34445E;color:#F2F5F9}
body .topbar{background:transparent;border-bottom:0;box-shadow:none}
body .topbar-logo{box-shadow:none}
body.no-nav .topbar-name{display:none}
body .topbar-name b,body .grad{background:none;-webkit-text-fill-color:currentColor;color:inherit}
body a{color:#BBD3F7}
body .hero-logo{box-shadow:none;width:120px;height:120px;border-radius:27px}
body .hero h1{font-weight:700;letter-spacing:-.025em}
body .hero-sub{color:#C9D3E2}
body .hero-note{margin:.1rem 0 .2rem;font-size:.82rem;color:#C9D3E2}
body .btn-primary,body .btn-success{background:#A9C4EE;color:#14203A;box-shadow:none;font-weight:600}
body .btn-primary:hover,body .btn-success:hover{background:#BBD3F7}
body .btn-outline{border:1px solid #7F92B3;color:#F2F5F9;background:transparent}
body .btn-outline:hover{border-color:#BBD3F7;color:#fff}
body .btn-ghost{color:#BBD3F7}
body .btn:focus-visible,body input:focus-visible{outline:3px solid #BBD3F7;outline-offset:2px}
body .lsec h2{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#C9D3E2}
body .step,body .feat{background:#3E5070;border:1px solid #4B5D7D}
body .step p,body .feat p,body .landing-foot{color:#C9D3E2}
body .step{padding-left:3.1rem}
body .step-n{top:50%;left:.9rem;transform:translateY(-50%);background:transparent;border:1px solid #7F92B3;color:#F2F5F9;box-shadow:none;font-weight:600}
[dir="rtl"] body .step-n{left:auto;right:.9rem}
body .step{align-items:center}
body .final-cta{background:transparent;border:0;border-top:1px solid #4B5D7D;border-radius:0}
body .final-cta p{color:#C9D3E2}
body .card{background:#3E5070;border:1px solid #4B5D7D;box-shadow:none}
body .form-label{color:#C9D3E2}
body .form-input,body .form-select{background:#2B3A52;border:1px solid #7F92B3;color:#F2F5F9}
body .form-input::placeholder{color:#A9B6CB}
body .form-hint{color:#C9D3E2}
body .divider{border-top-color:#4B5D7D}
body .pw-eye{color:#C9D3E2}
body .text-blue{color:#BBD3F7}
body:has(.landing) .topbar{display:none}
body a[href*="oauth-google"].btn{background:#fff;border:1px solid #D0D7DE;color:#1A2230}
body a[href*="oauth-google"].btn:hover{background:#F2F5F9;color:#1A2230}

body .topbar{background:#2B3A52;border-bottom:1px solid #4B5D7D}
body.no-nav .topbar{background:transparent;border-bottom:0}
body .topbar-name{color:#F2F5F9}
body .bottom-nav{background:#2B3A52;border-top:1px solid #4B5D7D}
body .nav-fab{box-shadow:none}
body .btn-danger,body .btn-sos{box-shadow:none}
body .cat-tile{background:#3E5070;border:1px solid #4B5D7D;color:#F2F5F9}
body .cat-tile.active{border-color:#BBD3F7;background:#4B5D7D;box-shadow:none}
body .chip,body .tab-btn{background:#3E5070;border:1px solid #4B5D7D;color:#F2F5F9}
body .chip.active,body .tab-btn.active{background:#A9C4EE;border-color:#A9C4EE;color:#14203A}
body .alert{background:#3E5070;border:1px solid #4B5D7D;color:#F2F5F9}
body .install-banner,body .ann-banner{background:#2B3A52;border:1px solid #4B5D7D;box-shadow:0 6px 24px rgba(0,0,0,.3)}
body .modal,body .sheet{background:#2B3A52}
body .text-muted{color:#C9D3E2}
body .nav-fab{border-color:#2B3A52}

/* ── Cohérence : icônes en trait, encadré « personnes », version, thème ── */
body .nav-ic{display:flex;align-items:center;justify-content:center;width:28px;height:28px;opacity:.8;filter:none;color:#C9D3E2}
body .nav-ic .ic{display:block}
body .nav-item.active .nav-ic{opacity:1;color:#fff;filter:none}
body .nav-fab{color:#fff}
body .btn-sos .ic{flex-shrink:0}
body .people-chip{background:#3E5070;border:1px solid #4B5D7D}
body .people-ic,body .empty-ic{display:flex;color:#BBD3F7}
body .empty-ic{justify-content:center;margin-bottom:.2rem}
body .people-chip small{color:#C9D3E2}
body .bw-version{top:4px;bottom:auto;right:8px;font-size:9px;opacity:.55}
body .cat-ic{display:inline-block;vertical-align:middle;color:#BBD3F7}
body .cat-tile .cat-ic{color:#C9D3E2}
body .cat-tile.active .cat-ic{color:#fff}
body .rc-ic{background:#4B5D7D}

/* Sans emojis : bandeaux et icônes de stats */
.banner-ic{display:flex;align-items:center;color:#BBD3F7}
.adm .stat-icon:empty{display:none}
h3 .ic,.btn .ic{vertical-align:-3px;margin-right:2px}

/* Bandeau du bas plus discret */
body .bottom-nav{background:#2B3A52;border-top:1px solid #3E5070;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .nav-item{color:#9FB0CC}
body .nav-item.active,body .nav-item.active .nav-ic{color:#DCE6F5}
body .nav-fab{background:#B5485E;border-color:#2B3A52;color:#F6E9EC;box-shadow:none}
body .adm-toast{background:#2B3A52;border:1px solid #4B5D7D;color:#F2F5F9;box-shadow:0 4px 16px rgba(0,0,0,.25)}

/* Zone système Android : même fond que la navigation */
html{background:#2B3A52}
