/* Ajustements UI globaux partagés entre les formulaires et cartes. */

/* Les bandeaux d'information placés dans une carte doivent respirer visuellement
   par rapport au titre et au contenu qui les entourent. Les flashes système
   rendus hors des cartes conservent leur espacement historique. */
.content .card .flash {
    margin-top: 16px;
    margin-bottom: 16px;
}

/* Accueil : remplace les styles inline afin de rester compatible avec une CSP stricte. */
.home-first-use {
    margin-top: 12px;
}

.list-item-summary {
    text-align: right;
}

/* UI MFA injectée globalement : aucun style inline, afin que style-src 'self' puisse être appliqué. */
.mfa-policy-banner {
    margin: 14px auto;
    max-width: 1120px;
}

.mfa-policy-banner-row,
.mfa-account-row {
    display: flex;
    gap: 14px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.mfa-policy-banner-row {
    align-items: center;
}

.mfa-policy-banner-text {
    margin-top: 4px;
}

.mfa-account-block {
    margin-bottom: 22px;
}

.mfa-account-panel {
    margin-top: 10px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--panel-2);
}

.mfa-account-row {
    align-items: flex-start;
}

.mfa-account-copy {
    min-width: 220px;
    flex: 1;
}

.mfa-account-title {
    display: block;
    margin-bottom: 5px;
}

.mfa-account-divider {
    height: 1px;
    margin: 22px 0;
    background: var(--border);
}

/* Regroupement administratif Fiches tireurs / Comptes système. */
.admin-people-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 2px 0 16px;
}

.admin-people-tab {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 11px 14px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: rgba(9, 13, 18, .24);
    color: var(--muted);
    text-decoration: none;
    transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}

.admin-people-tab:hover {
    border-color: rgba(91, 142, 230, .34);
    background: rgba(91, 142, 230, .06);
    color: var(--text);
}

.admin-people-tab:active {
    transform: scale(.995);
}

.admin-people-tab.is-active {
    border-color: var(--accent-2);
    background: linear-gradient(135deg, rgba(91, 142, 230, .14), rgba(91, 142, 230, .04));
    color: var(--text);
}

.admin-people-tab-icon,
.admin-people-entry-icon {
    display: grid;
    place-items: center;
    color: var(--accent-2);
}

.admin-people-tab-icon {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel-2);
}

.admin-people-tab.is-active .admin-people-tab-icon {
    border-color: rgba(91, 142, 230, .42);
    background: rgba(91, 142, 230, .10);
}

.admin-people-tab-icon svg,
.admin-people-entry-icon svg {
    width: 22px;
    height: 22px;
}

.admin-people-tab-icon-account {
    color: #a6b9da;
}

.admin-people-tab-copy {
    min-width: 0;
}

.admin-people-tab-title {
    display: block;
    color: inherit;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
}

.admin-people-tab-desc {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-people-entry-icon svg {
    width: 23px;
    height: 23px;
}

/* Sépare légèrement la navigation locale Fiche tireur / Compte système
   du premier bloc de formulaire, sans alourdir la hauteur de page. */
.record-context-switch {
    margin-bottom: 8px;
}

@media (max-width: 760px) {
    /* Léger sas visuel entre la barre sticky et la première carte. */
    .app-shell > .content {
        padding-top: 7px;
    }

    .content .card .flash {
        margin-top: 14px;
        margin-bottom: 14px;
    }

    .admin-people-switch {
        gap: 7px;
        margin: 0 0 12px;
    }

    .admin-people-tab {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 7px;
        min-height: 50px;
        padding: 7px 8px;
        border-radius: 13px;
    }

    .admin-people-tab-icon {
        width: 30px;
        height: 30px;
        border-radius: 9px;
    }

    .admin-people-tab-icon svg {
        width: 17px;
        height: 17px;
    }

    .admin-people-tab-title {
        font-size: 12.5px;
        line-height: 1.15;
    }

    .admin-people-tab-desc {
        display: none;
    }

    .record-context-switch {
        margin-bottom: 7px;
    }
}

@media (max-width: 390px) {
    .admin-people-switch {
        gap: 6px;
    }

    .admin-people-tab {
        grid-template-columns: 27px minmax(0, 1fr);
        gap: 6px;
        padding: 6px 7px;
    }

    .admin-people-tab-icon {
        width: 27px;
        height: 27px;
    }

    .admin-people-tab-title {
        font-size: 12px;
    }
}

/* CSP generated utilities */
[data-csp-style="csp-012d898bfe9f"] { max-width:520px !important; width:calc(100% - 32px) !important; border:1px solid var(--border) !important; border-radius:18px !important; background:var(--panel) !important; color:inherit !important; padding:0 !important; }
[data-csp-style="csp-0ee7f66ad9c0"] { margin-top:12px !important; }
[data-csp-style="csp-139935f14078"] { align-items:flex-start !important; }
[data-csp-style="csp-13cc20c1ad92"] { display:block !important; width:min(300px,78vw) !important; height:auto !important; }
[data-csp-style="csp-1b48e428665d"] { display:flex !important; gap:12px !important; align-items:flex-start !important; cursor:pointer !important; width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
[data-csp-style="csp-2bdf8e45fdfc"] { margin-top:18px !important; }
[data-csp-style="csp-2ff3d111b9a4"] { background:#fff !important; border-radius:12px !important; padding:14px !important; width:max-content !important; max-width:100% !important; margin-top:10px !important; }
[data-csp-style="csp-42a6ced8b67e"] { margin-bottom:14px !important; }
[data-csp-style="csp-43a97fe4943c"] { margin-top:8px !important; }
[data-csp-style="csp-5c2df38eed07"] { margin:6px 0 !important; }
[data-csp-style="csp-5f326564a568"] { text-align:right !important; }
[data-csp-style="csp-66d8b59122ac"] { margin-top:24px !important; }
[data-csp-style="csp-75e0c7a9eb01"] { width:20px !important; height:20px !important; min-width:20px !important; max-width:20px !important; flex:0 0 20px !important; margin:2px 0 0 0 !important; padding:0 !important; }
[data-csp-style="csp-905008530ca9"] { text-align:center !important; }
[data-csp-style="csp-92c18f6bdac1"] { margin-top:16px !important; }
[data-csp-style="csp-9463ff4798ce"] { cursor:pointer !important; }
[data-csp-style="csp-99b9ba53aa94"] { justify-content:center !important; }
[data-csp-style="csp-a83ce3a24cc6"] { word-break:break-all !important; }
[data-csp-style="csp-b4e7d324c7e6"] { display:flex !important; align-items:center !important; gap:10px !important; }
[data-csp-style="csp-b56987dbcbbe"] { margin-bottom:12px !important; }
[data-csp-style="csp-b922c89f16f9"] { margin-bottom:10px !important; }
[data-csp-style="csp-bf4a218e05ab"] { margin-bottom:16px !important; }
[data-csp-style="csp-c53ea1da2385"] { margin-top:14px !important; }
[data-csp-style="csp-d2b79a161ecd"] { cursor:pointer !important; width:max-content !important; max-width:100% !important; }
[data-csp-style="csp-dd618209ddb2"] { gap:7px !important; margin-top:8px !important; }
[data-csp-style="csp-df928149c547"] { margin-top:10px !important; }
[data-csp-style="csp-e9576c9934f6"] { display:block !important; min-width:0 !important; flex:1 !important; overflow-wrap:anywhere !important; }
[data-csp-style="csp-f03540fd464b"] { min-width:34px !important; }
[data-csp-style="csp-fe3c94c16fd7"] { margin-top:9px !important; }
[data-csp-style="csp-fef9b1897552"] { padding:22px !important; }
.csp-copy-buffer {
    position: fixed !important;
    left: -9999px !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.stats-distribution-progress {
    display: block;
    width: 100%;
    height: 10px;
    border: 0;
    border-radius: 999px;
    overflow: hidden;
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255,255,255,.07);
}
.stats-distribution-progress::-webkit-progress-bar {
    background: rgba(255,255,255,.07);
    border-radius: 999px;
}
.stats-distribution-progress::-webkit-progress-value {
    background: linear-gradient(90deg,var(--accent),var(--accent-2));
    border-radius: 999px;
}
.stats-distribution-progress::-moz-progress-bar {
    background: linear-gradient(90deg,var(--accent),var(--accent-2));
    border-radius: 999px;
}
