/* Normigo - Pages
   Auth, onboarding, monitoring, rapport, legal, print */

/* === AUTH PAGES (login/register) === */
.auth-container { max-width:400px; margin:3rem auto; padding:0 1rem; }
.auth-container.auth-wide { max-width:480px; }
.auth-header { text-align:center; margin-bottom:2rem; }
.auth-logo {
    width:56px; height:56px; background:var(--blue); color:#fff;
    border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
    font-size:1.8rem; font-weight:800; margin-bottom:.5rem;
}
.auth-header h1 { font-size:1.4rem; margin-top:.25rem; }
.auth-header p { color:var(--text-muted); font-size:.9rem; margin-top:.25rem; }
.auth-footer { text-align:center; margin-top:1.5rem; font-size:.9rem; }
.auth-footer-muted { text-align:center; margin-top:.5rem; font-size:.8rem; color:var(--text-muted); }
.auth-fieldset { border:none; padding:0; margin:0 0 .75rem; }
.auth-fieldset legend { font-weight:600; font-size:.95rem; margin-bottom:.5rem; color:var(--blue); }
.auth-row { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
/* Sur mobile etroit, rabattre les rangees 2 colonnes en pile verticale (feedback#4). */
@media (max-width:600px) { .auth-row { grid-template-columns:1fr; } }
.auth-error { color:var(--danger); font-size:.85rem; min-height:1.25rem; margin-top:.5rem; }
.auth-cgu { font-size:.8rem; color:var(--text-muted); margin-top:.75rem; }
.auth-btn { width:100%; justify-content:center; min-height:44px; margin-top:1rem; }
.auth-banner { padding:12px 16px; border-radius:6px; font-size:.9rem; margin-bottom:1rem; }
.auth-banner-ok { background:var(--green-light); color:var(--ok); border:1px solid var(--ok); }
.auth-banner-warning { background:var(--orange-light); color:var(--warning); border:1px solid var(--warning); }
.auth-banner-error { background:var(--red-light); color:var(--danger); border:1px solid var(--danger); }
.auth-resend { margin-top:.75rem; }
.auth-confirmation { text-align:center; padding:2rem 1rem; }
.auth-confirmation-icon { font-size:3rem; margin-bottom:1rem; }
.auth-confirmation h2 { margin-bottom:.75rem; color:var(--blue); }
.auth-confirmation p { margin-bottom:.5rem; }
.auth-confirmation-note { font-size:.85rem; color:var(--text-muted); margin-top:1rem; }
.auth-confirmation .btn { margin-top:1.5rem; display:inline-block; text-decoration:none; }
@media print { .auth-confirmation .btn { display:none !important; } }

/* === ONBOARDING WIZARD === */
.onboarding-wrap { max-width:600px; margin:2rem auto; padding:0 1rem; }
.onboarding-header { text-align:center; margin-bottom:2rem; }
.onboarding-header .auth-logo { margin-bottom:.5rem; }
.onboarding-header h1 { font-size:1.5rem; margin:.25rem 0 0; }
.onboarding-sub { color:var(--text-muted); font-size:.9rem; margin-top:.25rem; }
.onboarding-steps { display:flex; justify-content:center; gap:0; margin-bottom:1.5rem; }
.onboarding-step {
    display:flex; align-items:center; gap:.4rem;
    font-size:.82rem; color:var(--text-muted);
    padding:.4rem .75rem; border-bottom:2px solid var(--border);
    flex:1; justify-content:center;
}
.onboarding-step.step-current { color:var(--blue); border-bottom-color:var(--blue); font-weight:600; }
.onboarding-step.step-done { color:var(--ok); border-bottom-color:var(--ok); }
.step-num {
    width:22px; height:22px; border-radius:50%;
    background:var(--bg); border:1px solid currentColor;
    display:flex; align-items:center; justify-content:center;
    font-size:.75rem; font-weight:700; flex-shrink:0;
}
.step-done .step-num { background:var(--ok); color:#fff; border-color:var(--ok); }
.step-current .step-num { background:var(--blue); color:#fff; border-color:var(--blue); }
.onboarding-card { padding:1.75rem; }
.onboarding-card-title { font-size:1.15rem; font-weight:700; margin:0 0 .4rem; color:var(--text); }
.onboarding-card-desc { color:var(--text-muted); font-size:.9rem; margin:0 0 1.25rem; }
.onboarding-field { margin-bottom:1rem; }
.onboarding-actions {
    display:flex; justify-content:flex-end; gap:.75rem;
    margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--border);
}
.onboarding-modeles { display:flex; flex-direction:column; gap:.6rem; margin-bottom:.5rem; }
.onboarding-modele-card {
    display:flex; align-items:center; gap:.75rem;
    padding:.6rem .75rem; background:var(--bg); border-radius:var(--radius);
    border:1px solid var(--border);
}
.onboarding-modele-icon { font-size:1.1rem; line-height:1.4; flex-shrink:0; }
.onboarding-modele-label { font-weight:600; font-size:.9rem; }
.onboarding-modele-desc { font-size:.8rem; color:var(--text-muted); }
.onboarding-finish { text-align:center; padding:1rem 0 .5rem; }
.onboarding-check {
    width:56px; height:56px; border-radius:50%;
    background:var(--ok); color:#fff; font-size:1.8rem;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto .75rem;
}
.onboarding-ctas { display:flex; flex-direction:column; gap:.75rem; margin:1.25rem 0 .5rem; }
.onboarding-ctas .btn { width:100%; justify-content:center; min-height:48px; font-size:1rem; }
/* Feedback #16 (2026-05-05) : explication 2 univers en fin d'onboarding */
.onboarding-domains {
    margin:1.5rem 0 .5rem; padding:1rem; text-align:left;
    background:var(--blue-light); border-left:3px solid var(--blue);
    border-radius:var(--radius);
}
.onboarding-domains h3 { font-size:.95rem; margin:0 0 .75rem; color:var(--blue); }
.onboarding-domains-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:.5rem;
}
@media (max-width:600px) { .onboarding-domains-grid { grid-template-columns:1fr; } }
.onboarding-domain {
    background:var(--bg-card); padding:.6rem .75rem;
    border:1px solid var(--border); border-radius:4px;
}
.onboarding-domain strong { display:block; margin-bottom:.3rem; color:var(--text); font-size:.9rem; }
.onboarding-domain p { margin:0; font-size:.8rem; color:var(--text-muted); }
.onboarding-domains-link {
    margin:.5rem 0 0; font-size:.82rem; color:var(--text);
}
.onboarding-domains-link strong { color:var(--blue); }

/* === MONITORING SUPER-ADMIN === */
.mon-global {
    display:flex; align-items:center; gap:.75rem;
    padding:.75rem 1rem; border-radius:8px; margin-bottom:1.25rem;
    font-weight:600; font-size:.9rem;
}
.mon-global-ok { background:var(--green-light); color:var(--ok); border:1px solid var(--ok); }
.mon-global-danger { background:var(--red-light); color:var(--danger); border:1px solid var(--danger); }
.mon-global-icon { font-size:1.25rem; }
.mon-global-time { margin-left:auto; font-weight:400; font-size:.78rem; opacity:.7; }

.mon-section-title {
    font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
    color:var(--text-muted); margin:1.5rem 0 .75rem; padding-bottom:.4rem;
    border-bottom:2px solid var(--border);
}
.mon-section-title:first-of-type { margin-top:.5rem; }

/* Jauges */
.mon-gauges {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr));
    gap:.75rem; margin-bottom:.5rem;
}
.mon-gauge-card {
    padding:1rem 1.125rem; border-radius:8px; background:var(--bg);
    border:1px solid var(--border);
}
.mon-gauge-header { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.5rem; }
.mon-gauge-label { font-weight:600; font-size:.9rem; }
.mon-gauge-pct { font-weight:700; font-size:1.1rem; }
.mon-text-ok { color:var(--ok); }
.mon-text-warning { color:var(--warning); }
.mon-text-danger { color:var(--danger); }
.mon-gauge-track { height:8px; border-radius:4px; background:var(--border); overflow:hidden; margin-bottom:.4rem; }
.mon-gauge-fill { height:100%; border-radius:4px; transition:width .4s ease; }
.mon-gauge-ok { background:var(--ok); }
.mon-gauge-warning { background:var(--warning); }
.mon-gauge-danger { background:var(--danger); }
.mon-gauge-detail { font-size:.78rem; color:var(--text-muted); }

/* Grille d'infos */
.mon-info-grid { display:flex; flex-direction:column; gap:2px; margin-bottom:.5rem; }
.mon-info-row {
    display:flex; align-items:center; gap:.5rem;
    padding:.5rem .75rem; background:var(--bg); border-radius:4px; font-size:.85rem;
}
.mon-info-row:nth-child(even) { background:var(--bg-card); }
.mon-info-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.mon-dot-ok { background:var(--ok); }
.mon-dot-danger { background:var(--danger); }
.mon-info-label { font-weight:600; min-width:10rem; color:var(--text); }
.mon-info-value { color:var(--text-muted); }

/* Services */
.mon-svc-grid {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr));
    gap:.5rem; margin-bottom:.5rem;
}
.mon-svc-card {
    display:flex; align-items:center; gap:.75rem;
    padding:.75rem 1rem; border-radius:8px; border:1px solid var(--border);
    background:var(--bg-card);
}
.mon-svc-card-ok .mon-svc-dot { background:var(--ok); box-shadow:0 0 6px var(--ok); }
.mon-svc-card-danger .mon-svc-dot { background:var(--danger); box-shadow:0 0 6px var(--danger); }
.mon-svc-card-danger { border-color:var(--danger); background:var(--red-light); }
.mon-svc-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.mon-svc-name { font-weight:600; font-size:.85rem; text-transform:capitalize; }
.mon-svc-status { font-size:.75rem; color:var(--text-muted); }

/* Table des tables PG */
.mon-table {
    width:100%; border-collapse:collapse; font-size:.85rem; margin-bottom:.5rem;
}
.mon-table th {
    text-align:left; padding:.4rem .75rem; font-weight:600;
    border-bottom:2px solid var(--border); color:var(--text-muted);
    font-size:.78rem; text-transform:uppercase; letter-spacing:.04em;
}
.mon-table td { padding:.4rem .75rem; border-bottom:1px solid var(--border); }

/* Details / logs */
.mon-details { margin-top:.5rem; margin-bottom:.5rem; }
.mon-details summary { cursor:pointer; font-weight:600; font-size:.85rem; padding:.5rem 0; color:var(--blue); }
.mon-details summary:hover { text-decoration:underline; }
.mon-pre {
    background:#1a1a1a; color:#e0e0e0; padding:.75rem 1rem; border-radius:6px;
    font-size:.72rem; line-height:1.6; max-height:300px; overflow:auto;
    white-space:pre-wrap; word-break:break-all;
}
.mon-empty { font-size:.85rem; margin-bottom:.75rem; }

/* Email log */
.mon-email-list { display:flex; flex-direction:column; gap:4px; padding:.5rem 0; }
.mon-email-row {
    display:flex; flex-wrap:wrap; gap:.5rem; align-items:center;
    padding:.5rem .75rem; border-radius:6px; font-size:.82rem; background:var(--bg);
    border-left:3px solid var(--border);
}
.mon-email-ok { border-left-color:var(--ok); }
.mon-email-warning { border-left-color:var(--warning); }
.mon-email-danger { border-left-color:var(--danger); }
.mon-email-status { font-weight:700; min-width:70px; }
.mon-email-to { color:var(--text); font-weight:500; }
.mon-email-subject { color:var(--text-muted); flex:1; }
.mon-email-date { color:var(--text-muted); font-size:.75rem; }
.mon-email-error { width:100%; font-size:.78rem; color:var(--danger); font-style:italic; padding-top:2px; }

/* Erreurs monitoring */
.mon-err-summary { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.75rem; }
.mon-err-badge {
    display:flex; align-items:center; gap:.5rem;
    padding:.5rem 1rem; border-radius:8px; border:1px solid var(--border);
    background:var(--bg-card);
}
.mon-err-badge-ok { border-color:var(--ok); }
.mon-err-badge-ok .mon-err-count { color:var(--ok); }
.mon-err-badge-warning { border-color:var(--warning); background:var(--orange-light); }
.mon-err-badge-warning .mon-err-count { color:var(--warning); }
.mon-err-badge-danger { border-color:var(--danger); background:var(--red-light); }
.mon-err-badge-danger .mon-err-count { color:var(--danger); }
.mon-err-count { font-size:1.25rem; font-weight:700; }
.mon-err-label { font-size:.78rem; color:var(--text-muted); }

.mon-err-list { display:flex; flex-direction:column; gap:2px; padding:.5rem 0; }
.mon-err-row {
    display:flex; gap:.5rem; align-items:center; flex-wrap:wrap;
    padding:.35rem .75rem; border-radius:4px; font-size:.8rem;
    background:var(--bg); border-left:3px solid var(--border);
}
.mon-err-warning { border-left-color:var(--warning); }
.mon-err-danger { border-left-color:var(--danger); }
.mon-err-ts { color:var(--text-muted); font-size:.75rem; min-width:5.5rem; }
.mon-err-status { font-weight:700; min-width:2.5rem; }
.mon-err-method { font-weight:600; min-width:3rem; color:var(--text-muted); }
.mon-err-url { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mon-err-msg { width:100%; font-size:.75rem; color:var(--danger); font-style:italic; padding-top:2px; }

/* Sparklines historique */
.mon-history { margin-top:.5rem; }
.mon-sparklines {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr));
    gap:.75rem; margin-bottom:.5rem;
}
.mon-spark-card {
    padding:.75rem 1rem; border-radius:8px; background:var(--bg-card);
    border:1px solid var(--border);
}
.mon-spark-header { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.35rem; }
.mon-spark-label { font-weight:600; font-size:.82rem; }
.mon-spark-current { font-weight:700; font-size:1rem; }
.mon-spark-card svg { display:block; margin:.25rem 0; }
.mon-spark-footer { display:flex; justify-content:space-between; font-size:.7rem; color:var(--text-muted); }

@media (max-width: 767px) {
    .mon-gauges { grid-template-columns:1fr 1fr; }
    .mon-svc-grid { grid-template-columns:1fr 1fr; }
    .mon-sparklines { grid-template-columns:1fr 1fr; }
    .mon-info-label { min-width:7rem; }
    .mon-global { font-size:.82rem; }
}

/* === RAPPORT DE CONFORMITE === */
.rapport-filters {
    display:flex; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; padding:.75rem;
    background:var(--bg-card); border-radius:var(--radius); border:1px solid var(--gray-200);
}
.rapport-filters .form-group { margin:0; min-width:150px; }
.rapport-period-bar { display:flex; gap:.5rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.rapport-period-active { background:var(--blue) !important; color:#fff !important; border-color:var(--blue) !important; }
.rapport-score-card { margin-bottom:1.25rem; }
.rapport-score-inner { display:flex; align-items:center; gap:1.5rem; }
.rapport-score-circle {
    flex-shrink:0; width:90px; height:90px; border-radius:50%; border:5px solid;
    display:flex; align-items:center; justify-content:center;
    font-size:1.5rem; font-weight:700;
}
.rapport-score-title { font-weight:600; font-size:1rem; margin-bottom:.25rem; }
.rapport-score-sub { font-size:.85rem; color:var(--text-muted); margin-bottom:.5rem; }
.rapport-score-axes { display:flex; gap:.75rem; flex-wrap:wrap; margin-bottom:.5rem; }
.rapport-axis { font-size:.75rem; background:var(--bg); border:1px solid var(--border); border-radius:4px; padding:2px 8px; color:var(--text-muted); }
.rapport-disclaimer { font-size:.78rem; color:var(--text-muted); font-style:italic; margin:0; }
.rapport-stats { margin-top:.75rem; margin-bottom:0; }
.rapport-alert {
    margin:.75rem 0 0; padding:.5rem .75rem;
    background:var(--red-light); border-left:3px solid var(--red);
    border-radius:4px; font-size:.85rem; color:var(--red); font-weight:500;
}
.rapport-print-header { display:none; }
.rapport-print-footer { display:none; }
.loading-msg { color:var(--text-muted); text-align:center; padding:2rem; }

/* Feedback #12 (2026-05-05) : intro pedagogique au-dessus du score */
.rapport-intro { background:var(--blue-light); border-left:3px solid var(--blue); }
.rapport-intro-title { font-size:1rem; margin:0 0 .5rem; color:var(--blue); }
.rapport-intro p { margin:.25rem 0; font-size:.9rem; }
.rapport-intro-list { margin:.5rem 0 .75rem 1.25rem; font-size:.88rem; }
.rapport-intro-list li { margin-bottom:.2rem; }
/* Sous-titre court par section pour expliquer ce que l'on mesure */
.rapport-section-desc {
    margin:.25rem 0 .5rem; font-size:.85rem;
    color:var(--text-muted); font-style:italic;
}

/* Feedback #13 (2026-05-05) : refonte print bilan de conformite */
@media print {
    /* Masquer tout ce qui est interactif / contextuel */
    .breadcrumb, .rapport-filters, .rapport-period-bar,
    .page-header .btn, .help-banner, .help-fab, .feedback-fab,
    #nav, header, footer { display:none !important; }

    /* En-tete page imprimable */
    .rapport-print-header {
        display:flex; flex-direction:column; gap:.25rem;
        margin-bottom:1.25rem; padding-bottom:.5rem;
        border-bottom:2px solid #000; font-size:.9rem;
    }
    .rapport-print-header strong { font-size:1.15rem; }
    .rapport-print-date { color:#666; font-size:.78rem; }
    .rapport-print-footer {
        display:block; margin-top:1.5rem; padding-top:.4rem;
        border-top:1px solid #999; font-size:.72rem; color:#666;
        font-style:italic; text-align:center;
    }

    /* Mise en page : eviter les coupures cards a cheval */
    .card { page-break-inside:avoid; break-inside:avoid;
            border:1px solid #999 !important; box-shadow:none !important;
            margin-bottom:.5rem !important; padding:.6rem .75rem !important; }
    .rapport-intro { page-break-after:auto; background:#f6f6f6 !important;
                     border-left:2px solid #000 !important; }
    .rapport-intro-title { font-size:.95rem; }
    .rapport-intro-list { font-size:.78rem; margin-left:1rem; }

    /* Compactage : titres + stats plus petits, pas de couleur de fond */
    .page-title { font-size:1.3rem !important; margin-bottom:.5rem !important; }
    .card-header { margin-bottom:.25rem; padding-bottom:.25rem;
                   border-bottom:1px solid #ccc; }
    .card-title { font-weight:600; font-size:.95rem; }
    .stats-row.rapport-stats { gap:.5rem !important; }
    .stat-card { padding:.4rem .5rem !important; min-width:auto !important; }
    .stat-value { font-size:1.1rem !important; }
    .stat-label { font-size:.7rem !important; }
    .rapport-section-desc { font-size:.78rem; margin:.15rem 0 .35rem; }

    /* Score : plus petit + reste a gauche */
    .rapport-score-card { page-break-after:avoid; }
    .rapport-score-circle { width:60px !important; height:60px !important;
                            font-size:1.05rem !important; border-width:3px !important; }
    .rapport-score-title { font-size:.9rem !important; }
    .rapport-score-sub, .rapport-axis { font-size:.72rem !important; }

    /* Badges noirs en print (encre couleur economisee) */
    .badge { color:#000 !important; background:#fff !important;
             border:1px solid #000 !important; font-weight:500; }
    .rapport-alert { background:#f6f6f6 !important; color:#000 !important;
                     border-left:2px solid #000 !important; font-weight:500; }

    /* Marges page A4 confortables */
    @page { margin:14mm 12mm; size:A4; }
    body { font-size:11pt; }
}

/* === PDP PRINT (V2 phase B 2026-05-06) === */
.print-header { margin-bottom:1rem; padding-bottom:.5rem; border-bottom:2px solid #000; }
.print-header h1 { margin:0 0 .25rem; font-size:1.6rem; }
.print-subtitle { font-size:1.1rem; color:#333; margin:0 0 .25rem; }
.print-meta-line { font-size:.78rem; color:#666; margin:0; font-style:italic; }
.print-warning {
    margin:.5rem 0 0; padding:.4rem .6rem;
    background:#fff5e6; border-left:3px solid #cc2936;
    color:#cc2936; font-weight:600; font-size:.9rem;
}
.pdp-parties td { vertical-align:top; padding:.5rem .75rem !important; width:50%; }
.pdp-op-grid {
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:.5rem; margin:.5rem 0 1rem;
    background:var(--bg); padding:.75rem; border:1px solid var(--border);
}
.pdp-op-item { font-size:.9rem; }
.pdp-desc { white-space:pre-wrap; padding:.5rem; background:var(--bg); border:1px solid var(--border); }
.pdp-sig-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:1rem;
    margin-top:.75rem; page-break-inside:avoid;
}
.pdp-sig-cell { border:1px solid #999; padding:.6rem; }
.pdp-sig-cell h3 { margin:0 0 .4rem; font-size:1rem; color:#000; }
.pdp-sig-img-wrap { min-height:90px; display:flex; align-items:center; justify-content:center;
                    border-bottom:1px solid #ccc; margin-bottom:.4rem; background:#fff; }
.pdp-sig-img { max-width:100%; max-height:120px; }
.pdp-sig-empty { color:#999; font-style:italic; }
.pdp-sig-line { font-size:.85rem; margin:.15rem 0; }
.print-footer { margin-top:1rem; padding-top:.4rem; border-top:1px solid #ccc;
                font-size:.72rem; color:#666; text-align:center; font-style:italic; }
.print-table { width:100%; border-collapse:collapse; margin:.5rem 0 1rem; }
.print-table th, .print-table td { border:1px solid #999; padding:.4rem .5rem;
                                    font-size:.88rem; text-align:left; vertical-align:top; }
.print-table th { background:#eee; font-weight:600; }
.print-nc { background:#ffe9eb; }

@media print {
    @page { margin:14mm 12mm; size:A4; }
    body { font-size:11pt; }
    .pdp-op-grid { grid-template-columns:repeat(3, 1fr); }
    .breadcrumb { display:none !important; }
}
@media (max-width:600px) {
    .pdp-op-grid { grid-template-columns:1fr 1fr; }
    .pdp-sig-grid { grid-template-columns:1fr; }
}

/* === LEGAL PAGES === */
.legal-content { max-width:720px; margin:0 auto; line-height:1.7; }
.legal-content h2 { font-size:1.3rem; margin:1.5rem 0 .75rem; color:var(--blue); border-bottom:2px solid var(--blue-light); padding-bottom:.25rem; }
.legal-content h3 { font-size:1.1rem; margin:1.25rem 0 .5rem; }
.legal-content h4 { font-size:1rem; margin:1rem 0 .5rem; color:var(--text-muted); }
.legal-content p { margin-bottom:.75rem; }
.legal-content ul { margin:0 0 .75rem 1.5rem; }
.legal-content li { margin-bottom:.25rem; }
.legal-content table { width:100%; border-collapse:collapse; margin:.75rem 0 1rem; font-size:.9rem; }
.legal-content th, .legal-content td { padding:.5rem .75rem; border:1px solid var(--border); text-align:left; }
.legal-content th { background:var(--blue-light); font-weight:600; }
.legal-content a { color:var(--blue); }
.legal-content em { color:var(--text-muted); }

/* === PREFERENCES NOTIFICATIONS === */
.pref-group { border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 1.25rem; }
.pref-group legend { font-weight: 600; color: var(--text); padding: 0 .4rem; font-size: .95rem; }
.form-check { display: flex; align-items: center; gap: .6rem; padding: .35rem 0; }
.form-check-input { width: 1.1rem; height: 1.1rem; flex-shrink: 0; accent-color: var(--blue); cursor: pointer; }
.form-check-label { cursor: pointer; }
