.asptt-bu-wrap{font-family:system-ui,sans-serif;max-width:900px;margin:0 auto;font-size:15px;color:#1f2937}

/* Login */
.bu-login-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 24px;text-align:center;box-shadow:0 1px 6px rgba(0,0,0,.08);max-width:400px;margin:0 auto}
.bu-login-box h2{color:#1e3a5f;margin:0 0 8px;font-size:20px}
.bu-login-input{width:100%;padding:11px 14px;border:2px solid #d1d5db;border-radius:8px;font-size:16px;text-align:center;letter-spacing:.12em;margin-bottom:12px;box-sizing:border-box}
.bu-login-input:focus{outline:none;border-color:#1e3a5f}
.bu-btn-primary{background:#1e3a5f;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:700;cursor:pointer;width:100%}

.bu-denied{background:#fff;border:1px solid #fca5a5;border-radius:12px;padding:24px;text-align:center;color:#b91c1c;max-width:420px;margin:0 auto}

/* Topbar */

/* Aide de la barre du coin : un panneau par onglet, celui de l'onglet ouvert est affiche */
.bu-aide{margin:0 0 12px}
#asptt-bu-wrap .bu-aide[hidden],#asptt-bu-wrap .bu-help-panel[hidden],#asptt-bu-wrap .bu-plus-menu[hidden],#asptt-bu-wrap .bu-bulk-bar[hidden],#asptt-bu-wrap .bu-anniv-list[hidden],#asptt-bu-wrap .bu-vide[hidden]{display:none !important}
.bu-aide .bu-help-panel{margin:0 0 8px}

/* Veille : etat du club en un coup d'oeil */
.bu-veille{background:#1e3a5f;border-radius:14px;padding:12px;margin-bottom:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#asptt-bu-wrap .bu-chip{all:unset;box-sizing:border-box;cursor:pointer;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
    border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:1px;min-width:0;color:#fff;text-transform:none;letter-spacing:normal}
#asptt-bu-wrap .bu-chip:hover{background:rgba(255,255,255,.14)}
.bu-chip .k{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.bu-chip .v{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.bu-chip .s{font-size:12px;opacity:.8}
.bu-dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}
.bu-dot-ok{background:#4ade80}.bu-dot-warn{background:#fbbf24}.bu-dot-bad{background:#f87171}

/* A traiter */
.bu-todo{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.bu-todo-title{font-weight:700;color:#1e3a5f;font-size:15px}
#asptt-bu-wrap .bu-todo-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;background:#f6f8fb;text-transform:none;letter-spacing:normal;color:#1f2937}
#asptt-bu-wrap .bu-todo-item:hover{background:#eef2f7}
.bu-todo-sev{width:4px;align-self:stretch;border-radius:4px;flex:none}
.bu-todo-bad{background:#dc2626}.bu-todo-warn{background:#d97706}
.bu-todo-txt{flex:1;min-width:0;font-size:14px;line-height:1.35}
.bu-todo-txt b{display:block}
.bu-todo-txt small{display:block;color:#6b7280;font-size:12.5px;margin-top:2px}
.bu-todo-go{font-size:22px;line-height:1;color:#9ca3af}

/* Onglets avec icones (barre fixee en bas sur telephone, a portee du pouce) */
.bu-tabs{display:flex;gap:4px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:4px;margin-bottom:14px;position:sticky;top:0;z-index:50}
#asptt-bu-wrap .bu-tab{all:unset;box-sizing:border-box;cursor:pointer;flex:1;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;
    padding:9px 6px;border-radius:9px;font-weight:600;font-size:13.5px;color:#4b5563;text-transform:none;letter-spacing:normal;text-align:center;white-space:nowrap}
#asptt-bu-wrap .bu-tab[aria-selected="true"]{background:#1e3a5f;color:#fff}
#asptt-bu-wrap .bu-tab svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
#asptt-bu-wrap .bu-tab-plus{display:none}
.bu-tab-badge{background:#dc2626;color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:0 6px;line-height:17px}
#asptt-bu-wrap .bu-tab:focus-visible,#asptt-bu-wrap .bu-chip:focus-visible,#asptt-bu-wrap .bu-todo-item:focus-visible{outline:2px solid #0e7490;outline-offset:2px}
.bu-plus-menu{display:none}

@media (max-width:720px){
    .asptt-bu-wrap{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
    .bu-veille{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}
    .bu-chip .s{display:none}
    .bu-tabs{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;border-radius:0;border-width:1px 0 0;
        padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(0,0,0,.08);z-index:9990}
    #asptt-bu-wrap .bu-tab{flex-direction:column;gap:2px;font-size:11px;padding:6px 2px}
    #asptt-bu-wrap .bu-tab svg{width:22px;height:22px}
    #asptt-bu-wrap .bu-tab-desk{display:none}
    #asptt-bu-wrap .bu-tab-plus{display:flex}
    .bu-tab-badge{position:absolute;top:1px;right:calc(50% - 24px);font-size:10px;padding:0 5px;line-height:15px}
    .bu-plus-menu{display:flex;flex-direction:column;gap:2px;position:fixed;right:8px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:9991;
        background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:6px;box-shadow:0 6px 20px rgba(0,0,0,.15);width:200px}
    #asptt-bu-wrap .bu-plus-menu button{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 12px;border-radius:8px;font-weight:600;font-size:15px;color:#1f2937;text-transform:none;letter-spacing:normal}
    #asptt-bu-wrap .bu-plus-menu button:hover{background:#eef2f7}
    body.bu-avec-onglets #asptt-chat-toggle{bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important}
    /* Les fenetres modales passent au-dessus de la barre d'onglets */
    .bu-adh-modal-overlay,.bu-cal-modal-overlay{z-index:10000}
}
.bu-tab-content{display:none}
.bu-tab-content.active{display:block}

/* Carte */
.bu-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 18px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.bu-card h3{margin:0 0 14px;font-size:15px;color:#1e3a5f}

/* Tableau de bord */
.bu-kpi{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;flex:1;min-width:120px}
.bu-kpi-val{font-size:24px;font-weight:800;color:#1e3a5f}
.bu-kpi-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-top:2px}
.bu-dash-titre{margin:18px 0 8px;font-size:13px;color:#1e3a5f;text-transform:uppercase;letter-spacing:.03em}
.bu-dash-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#6b7280;margin-bottom:10px}
.bu-dash-legend span{display:flex;align-items:center;gap:4px}
.bu-dash-dot{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}
.bu-dash-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.bu-dash-bar-label{width:78px;font-size:12px;color:#374151;flex-shrink:0}
.bu-dash-bar-track{flex-grow:1;background:#eef2f7;border-radius:5px;height:18px;overflow:hidden}
.bu-dash-bar-fill{height:100%;border-radius:5px;display:flex;overflow:hidden}
.bu-dash-seg-f{height:100%;background:#db2777;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;overflow:hidden}
.bu-dash-seg-h{height:100%;background:#1e3a5f;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;overflow:hidden}
.bu-dash-bar-count{width:28px;text-align:right;font-size:12px;font-weight:700;color:#1e3a5f;flex-shrink:0}
.bu-dash-pyr-row{display:flex;align-items:center;margin-bottom:3px}
.bu-dash-pyr-h-track{flex:1;display:flex;justify-content:flex-end}
.bu-dash-pyr-h-bar{display:flex;flex-direction:row-reverse;height:15px;border-radius:3px 0 0 3px;overflow:hidden}
.bu-dash-pyr-f-track{flex:1;display:flex;justify-content:flex-start}
.bu-dash-pyr-f-bar{display:flex;flex-direction:row;height:15px;border-radius:0 3px 3px 0;overflow:hidden}
.bu-dash-pyr-seg{height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:700;overflow:hidden}
.bu-dash-pyr-label{width:56px;text-align:center;font-size:11px;color:#374151;flex-shrink:0}
.bu-dash-pyr-total{width:26px;font-size:11px;font-weight:700;color:#1e3a5f;flex-shrink:0}

/* Table adhérents - en-tete calque sur l'Inventaire du Coin du materiel */
.bu-search{width:100%;padding:9px 12px;border:2px solid #d1d5db;border-radius:7px;font-size:14px;margin-bottom:12px;box-sizing:border-box}
.bu-table{width:100%;border-collapse:collapse;font-size:13px}
.bu-table th{background:#1e3a5f;color:#fff;text-align:left;padding:9px 10px;font-size:12px;font-weight:600;text-transform:uppercase;white-space:nowrap}
.bu-table td{padding:7px 10px;border-bottom:1px solid #f0f0f0;white-space:nowrap}
.bu-table tr:hover td{background:#dbe6f2}
.bu-col-check,.bu-col-licence,.bu-col-niveau,.bu-col-statut,.bu-col-arrhes,.bu-col-caci,.bu-col-bureau,.bu-col-actions{width:1%}
#bu-table{min-width:860px}
/* Colonne Actions figee a droite : rend les icones toujours accessibles
   sans devoir faire defiler tout le tableau horizontalement jusqu'au bout
   (repere sur un tableau long ou la barre de defilement n'est atteignable
   qu'en bas de la liste). */
.bu-table th.bu-col-actions,.bu-table td.bu-col-actions{
    position:sticky;right:0;background:#fff;box-shadow:-4px 0 6px -4px rgba(0,0,0,.15)}
.bu-table th.bu-col-actions{background:#1e3a5f}
.bu-table tr:hover td.bu-col-actions{background:#dbe6f2}

/* Tri d'en-tete */
.bu-sortable{cursor:pointer;user-select:none}
.bu-sort-btn{cursor:pointer;user-select:none}
.bu-sort-btn:hover{text-decoration:underline}
.bu-sort-ind{display:inline-block;margin-left:3px;font-size:10px;opacity:.5}
.bu-sort-ind.active{opacity:1}

/* Filtres d'en-tete */
.bu-filter-btn{background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:11px;padding:0 0 0 3px;vertical-align:middle}
.bu-filter-btn:hover,.bu-filter-btn.active{color:#fff}
.bu-filter-btn svg{width:13px;height:13px;display:inline-block;stroke:currentColor;fill:none;vertical-align:-2px}
.bu-filter-popover{position:absolute;background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-radius:8px;
    box-shadow:0 6px 20px rgba(0,0,0,.15);padding:10px 12px;z-index:1100;min-width:180px;
    font-size:13px;font-weight:400;display:none;max-height:260px;overflow-y:auto}
.bu-filter-popover label{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-weight:400}
.bu-filter-popover .bu-filter-reset{background:none;border:none;color:#6b7280;font-size:12px;cursor:pointer;padding:4px 0 0;text-decoration:underline}

/* Responsive : masque les colonnes les moins essentielles plutot que de
   ne compter que sur le defilement horizontal (voir aussi la colonne
   Actions figee ci-dessus). */
@media (max-width:1100px){
    .bu-col-assurance,.bu-col-bureau{display:none}
}
@media (max-width:800px){
    .bu-col-licence,.bu-col-caci{display:none}
}
#bu-doc-table{min-width:540px}
.bu-btn-bulk{border:1px solid #d1d5db;background:#fff;border-radius:5px;padding:3px 9px;font-size:12px;cursor:pointer;color:#374151}
.bu-btn-bulk:hover{background:#f3f4f6}
.bu-sortable{cursor:pointer;user-select:none}
.bu-sortable:hover{color:#1e3a5f}
.bu-sort-ind{display:inline-block;margin-left:3px;font-size:10px;color:#1e3a5f}
.bu-badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700}
.bu-badge-actif{background:#dcfce7;color:#15803d}
.bu-badge-inactif{background:#fee2e2;color:#b91c1c}
.bu-badge-bureau{background:#e0e9f5;color:#1e3a5f}
.bu-caci-verifie{color:#0369a1;font-weight:700;cursor:help}
#asptt-bu-wrap .bu-icon-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 26px !important; height: 26px !important; margin-right: 4px; padding: 0 !important;
    border: none !important; background: none !important; border-radius: 6px;
    cursor: pointer !important; color: #6b7280; vertical-align: middle; }
#asptt-bu-wrap .bu-icon-btn:hover { background: #e5e7eb !important; }
#asptt-bu-wrap .bu-icon-edit { color: #1e40af; }
#asptt-bu-wrap .bu-icon-del  { color: #b91c1c; }
#asptt-bu-wrap .bu-icon-btn svg {
    width: 15px !important; height: 15px !important; display: inline-block !important;
    stroke: currentColor !important; fill: none !important; }

/* Formulaire */
.bu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.bu-field{display:flex;flex-direction:column;gap:4px}
.bu-field label{font-size:12px;font-weight:700;color:#374151}
.bu-field input:not([type=radio]):not([type=checkbox]),.bu-field select{width:100%;padding:9px 12px;border:2px solid #d1d5db;border-radius:7px;font-size:14px;box-sizing:border-box;background:#fff}
.bu-field input[type=radio],.bu-field input[type=checkbox]{width:16px;height:16px;flex:none}
.bu-full{grid-column:1/-1}
.bu-sep{grid-column:1/-1;border:none;border-top:1px solid #f0f0f0;margin:6px 0}
.bu-section{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700;margin-bottom:-2px;padding-top:2px}
.bu-check-group{display:flex;gap:20px;flex-wrap:wrap}
.bu-check-group label{font-weight:normal;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}
.bu-hint{font-size:11px;color:#9ca3af;margin:2px 0 0}
.bu-statut-wrap{display:flex;gap:20px}
.bu-statut-wrap label{font-weight:normal;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}

.bu-action-bar{display:flex;gap:8px;margin:16px 0 4px}
.bu-btn-save{background:#1e3a5f;color:#fff;border:none;border-radius:7px;padding:10px 22px;font-size:13px;font-weight:700;cursor:pointer}
.bu-btn-cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:7px;padding:10px 16px;font-size:13px;cursor:pointer}
.bu-btn-new{background:#f0f4f8;border:1px solid #c3cdd8;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:600;color:#1e3a5f}
.bu-btn-add-orga{background:#e0e9f5;border:1.5px solid #1e3a5f;color:#1e3a5f;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer}
.bu-btn-rm-orga{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;border-radius:6px;padding:3px 9px;font-size:13px;line-height:1;cursor:pointer;flex:0 0 auto}

/* Accordéon formulaires (ajout/modification) */
.bu-accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;
    padding:0;border:none;background:none;cursor:pointer;font-size:15px;font-weight:700;color:#1e3a5f;text-align:left;margin:0}
.bu-accordion-chevron{transition:transform .2s;font-size:11px;color:#6b7280}
.bu-accordion-header.open .bu-accordion-chevron{transform:rotate(180deg)}
.bu-accordion-body{display:none;margin-top:14px}
.bu-accordion-body.open{display:block}

/* Fenêtre modale Nouvel adhérent / Modifier */
.bu-adh-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}
.bu-adh-modal{background:#fff;border-radius:12px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.bu-adh-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #e5e7eb;font-size:16px;font-weight:700;color:#1e3a5f}
#asptt-bu-wrap .bu-adh-modal-close{background:none !important;border:none !important;color:#6b7280 !important;font-size:18px !important;line-height:1 !important;padding:4px 8px !important;cursor:pointer;text-transform:none !important}
#asptt-bu-wrap .bu-adh-modal-close:hover{color:#1e3a5f !important}
.bu-adh-modal-body{padding:16px 18px;overflow-y:auto}
.bu-adh-modal-foot{margin:0;padding:12px 18px;border-top:1px solid #e5e7eb}
body.bu-modal-open{overflow:hidden}
@media (max-width:600px){
    .bu-adh-modal-overlay{padding:0}
    .bu-adh-modal{max-height:100vh;height:100%;border-radius:0}
    .bu-adh-modal .bu-grid{grid-template-columns:1fr}
}

.bu-notice-ok{background:#dcfce7;color:#15803d;border:1px solid #86efac;border-radius:7px;padding:10px 16px;margin-bottom:12px;font-weight:600;font-size:13px}
.bu-notice-err{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:7px;padding:10px 16px;margin-bottom:12px;font-weight:600;font-size:13px}
/* Message fermable : la croix se place en haut à droite, le texte lui laisse la place */
.bu-notice-wrap{position:relative}
.bu-notice-wrap .bu-notice-ok,.bu-notice-wrap .bu-notice-err{padding-right:40px}
#asptt-bu-wrap .bu-notice-fermer{position:absolute !important;top:6px;right:8px;width:26px !important;height:26px !important;padding:0 !important;background:none !important;border:none !important;box-shadow:none !important;color:inherit !important;font-size:15px !important;line-height:1 !important;cursor:pointer;text-transform:none !important;opacity:.7}
#asptt-bu-wrap .bu-notice-fermer:hover{opacity:1}

/* Panneaux d'aide */
.bu-help-panel{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:14px 16px;margin:0 0 14px;font-size:12px;line-height:1.6}
.bu-help-panel h4{color:#1e40af;font-size:13px;margin:0 0 8px}
.bu-help-panel h5{color:#1e3a5f;font-size:12px;font-weight:700;margin:10px 0 3px}
.bu-help-panel ul{margin:0 0 4px;padding-left:18px}
.bu-help-panel li{margin-bottom:2px}
.bu-help-note{font-size:11px;color:#6b7280;margin-top:10px;font-style:italic}

/* Anniversaires */
.bu-anniv-widget{background:#fff;border:1px solid #f3d9a4;border-left:4px solid #f59e0b;border-radius:10px;
    padding:8px 12px;margin-bottom:12px}
/* Ligne de resume : "Aujourd'hui : ... · 3 autres d'ici 30 jours" + Voir */
.bu-anniv-ligne{display:flex;align-items:center;gap:10px;font-size:14px;color:#1f2937}
.bu-anniv-ico{width:20px;height:20px;flex:none;stroke:#b45309;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bu-anniv-resume{flex:1;min-width:0}
#asptt-bu-wrap .bu-anniv-voir{all:unset;cursor:pointer;font-weight:700;color:#b45309;white-space:nowrap;text-transform:none;letter-spacing:normal;font-size:14px}
.bu-anniv-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bu-anniv-chip{display:flex;align-items:center;gap:8px;background:#fffbeb;border:1px solid #fde68a;
    border-radius:20px;padding:5px 8px 5px 14px;font-size:12.5px}
.bu-anniv-chip.bu-anniv-today{background:#fef3c7;border-color:#f59e0b;font-weight:700}
.bu-anniv-nom{font-weight:600;color:#1f2937}
.bu-anniv-date{color:#6b7280}
.bu-anniv-when{color:#b45309;font-weight:600;white-space:nowrap}
.bu-anniv-test{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:6px;line-height:1}
.bu-anniv-test:hover{background:#fde68a}

.bu-contact-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;overflow:hidden}
.bu-contact-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;background:#f9fafb}
.bu-contact-header:hover{background:#f3f4f6}
.bu-contact-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#dc2626;margin-right:6px}
.bu-contact-body{display:none;padding:14px}
.bu-contact-body.open{display:block}
.bu-contact-reply-ok{margin-top:8px;padding:12px 14px;border:2px solid #16a34a;border-radius:8px;background:#dcfce7;color:#166534;font-size:14px}
.bu-contact-reply-ok strong{display:block;font-size:15px;margin-bottom:2px}
.bu-contact-reply-ok span{display:block;margin-bottom:8px}
#bu-wrap .bu-contact-reply-ok button{margin:0 !important}
#asptt-bu-wrap .bu-contact-check{width:18px;height:18px;margin:0 10px 0 0;vertical-align:middle;accent-color:#1e3a5f;cursor:pointer}
#asptt-bu-wrap .bu-contact-all{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:400;cursor:pointer}
#asptt-bu-wrap .bu-contact-all input{width:18px;height:18px;margin:0;accent-color:#1e3a5f}
.bu-contact-attach-list{display:flex;flex-wrap:wrap;gap:6px 16px;margin:2px 0 8px;font-size:13px}
.bu-contact-attach-item{display:flex;align-items:center;gap:5px;font-weight:400;cursor:pointer}

/* Grille et légende du calendrier : assets/css/calendrier.css (commun au Coin des sorties) */
.bu-cal-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1200}
.bu-cal-modal{background:#fff;border-radius:10px;padding:20px;max-width:380px;width:90%;max-height:85vh;overflow-y:auto}
.bu-cal-modal-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;background:#f9fafb;border-radius:6px;margin-bottom:6px;font-size:13px}
.bu-cal-modal-item button{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:700;min-width:26px;height:26px;line-height:1;padding:0}
.bu-cal-modal-item button:hover{background:#fecaca}
.bu-cal-modal-item-texte{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.bu-cal-modal-item-texte small{color:#6b7280;font-size:12px;white-space:pre-wrap}
.bu-cal-modal-item-actions{flex:none;display:flex;gap:6px}
#asptt-bu-wrap .bu-cal-modal-item button.bu-cal-edit{background:#e0f2fe !important;border:1px solid #bae6fd !important;color:#0369a1 !important;display:inline-flex !important;align-items:center;justify-content:center}
#asptt-bu-wrap .bu-cal-modal-item button.bu-cal-edit svg{display:block !important;width:14px !important;height:14px !important}
#bu-cal-modal-description{width:100%;box-sizing:border-box;resize:vertical}
/* Date + heure côte à côte : la règle générale des champs (width:100%) s'applique aux deux, d'où une grille à deux colonnes bornées */
.bu-field .bu-cal-date-heure{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:8px}
.bu-field .bu-cal-date-heure input{width:100% !important;min-width:0 !important;box-sizing:border-box !important}
@media (max-width:767px){#asptt-bu-wrap .bu-tab{text-align:center;line-height:1.15}}
.bu-cal-prevenir-titre{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.bu-cal-dest-liste{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px}
.bu-cal-dest{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:400}
.bu-cal-dest-note{margin:6px 0 0;font-size:12px;color:#6b7280}
.bu-cal-modal-sortie{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:6px;font-size:13px;background:#fff}
.bu-cal-modal-sortie .bu-cal-dot{flex:none;margin:0}
.bu-cal-modal-sortie-nom{flex:1;min-width:0;font-weight:600;color:#1f2937;overflow-wrap:anywhere}
.bu-cal-modal a.bu-cal-modal-lien{flex:none;color:#1e40af !important;font-weight:700;font-size:12.5px;text-decoration:none !important;white-space:nowrap}
.bu-cal-modal a.bu-cal-modal-lien:hover{text-decoration:underline !important}

.asptt-doc-icon-grid  { display:grid; grid-template-columns:repeat(6, 40px); gap:6px; margin:4px 0 8px; }
.asptt-doc-icon-btn   { width:40px; height:40px; font-size:20px; line-height:1; border:1px solid #d1d5db;
                         border-radius:6px; background:#fff; cursor:pointer; display:flex;
                         align-items:center; justify-content:center; padding:0; }
.asptt-doc-icon-btn:hover     { background:#f3f4f6; }
.asptt-doc-icon-btn.selected  { border-color:#1e3a5f; background:#e0e9f5; box-shadow:0 0 0 1px #1e3a5f; }

/* ── Adherents : pastilles de filtre, etats en couleur, cartes sur telephone ── */
.bu-pastilles{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:10px;scrollbar-width:none}
#asptt-bu-wrap .bu-pastille{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:4px 12px;
    font-size:13.5px;font-weight:600;color:#4b5563;white-space:nowrap;text-transform:none;letter-spacing:normal}
#asptt-bu-wrap .bu-pastille b{color:#1f2937;font-variant-numeric:tabular-nums}
#asptt-bu-wrap .bu-pastille[aria-pressed="true"]{background:#1e3a5f;border-color:#1e3a5f;color:#fff}
#asptt-bu-wrap .bu-pastille[aria-pressed="true"] b{color:#fff}
#asptt-bu-wrap .bu-pastille:focus-visible{outline:2px solid #0e7490;outline-offset:2px}
.bu-pill{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:1px 9px;white-space:nowrap}
.bu-pill-ok{background:#dcfce7;color:#15803d}.bu-pill-warn{background:#fef3c7;color:#b45309}.bu-pill-bad{background:#fee2e2;color:#b91c1c}
.bu-pill.bu-caci-verifie{box-shadow:inset 0 0 0 1.5px #0369a1}
.bu-niv{display:inline-block;border-radius:6px;padding:0 7px;font-weight:700;font-size:12px;color:#fff}
.bu-table td.bu-col-nom b{display:block}
.bu-email{display:block;font-size:12px;color:#6b7280;max-width:240px;overflow:hidden;text-overflow:ellipsis}
.bu-vide{color:#6b7280;font-size:14px;margin:8px 0}
.bu-cartes{display:none;flex-direction:column;gap:8px}
.bu-carte{display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:10px 8px 10px 12px}
.bu-carte-id{min-width:0;font-size:14.5px}
.bu-carte-acts{display:flex;gap:2px}
.bu-carte-etats{grid-column:2/4;display:flex;gap:6px;flex-wrap:wrap}
.bu-bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:7px 10px;background:#1e3a5f;color:#fff;border-radius:10px;font-size:13.5px}
.bu-bulk-n{font-weight:700;margin-right:auto}
#asptt-bu-wrap .bu-bulk-bar .bu-btn-bulk{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid rgba(255,255,255,.45);border-radius:7px;padding:3px 10px;
    font-weight:600;font-size:13px;color:#fff;text-transform:none;letter-spacing:normal;white-space:nowrap}
#asptt-bu-wrap .bu-bulk-bar .bu-btn-bulk:hover{background:rgba(255,255,255,.12)}
@media (max-width:720px){
    .bu-table-wrap{display:none}
    .bu-cartes{display:flex}
    .bu-bulk-bar{position:fixed;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));margin:0;z-index:9989;box-shadow:0 6px 20px rgba(0,0,0,.25)}
    .bu-anniv-ligne{font-size:13.5px}
}

/* ── Etape 3 : boutons en casse normale (Astra impose majuscules et largeur), autres onglets ── */
#asptt-bu-wrap .bu-btn-save,#asptt-bu-wrap .bu-btn-cancel,#asptt-bu-wrap .bu-btn-new,#asptt-bu-wrap .bu-btn-bulk,
#asptt-bu-wrap .bu-btn-add-orga,#asptt-bu-wrap .bu-btn-rm-orga,#asptt-bu-wrap .bu-filter-reset{
    text-transform:none !important;letter-spacing:normal !important;width:auto;display:inline-flex !important;align-items:center;justify-content:center;
    gap:6px;line-height:1.3 !important;box-shadow:none !important;font-family:inherit !important}
#asptt-bu-wrap .bu-btn-save{background:#1e3a5f !important;color:#fff !important;border:none !important;border-radius:8px !important;padding:9px 18px !important;font-size:14px !important;font-weight:700 !important}
#asptt-bu-wrap .bu-btn-save:hover{background:#16304f !important}
#asptt-bu-wrap .bu-btn-cancel{background:#fff !important;color:#1e3a5f !important;border:1px solid #d1d5db !important;border-radius:8px !important;padding:9px 16px !important;font-size:14px !important;font-weight:600 !important}
#asptt-bu-wrap .bu-btn-cancel:hover{background:#f3f4f6 !important}
#asptt-bu-wrap .bu-btn-new{background:#fff !important;color:#1e3a5f !important;border:1px solid #c3cdd8 !important;border-radius:8px !important;padding:6px 12px !important;font-size:13.5px !important;font-weight:600 !important}
#asptt-bu-wrap .bu-btn-new:hover{background:#eef2f7 !important}
#asptt-bu-wrap .bu-btn-new{display:inline-flex !important;align-items:center;gap:6px}
#asptt-bu-wrap .bu-btn-new svg{width:16px !important;height:16px !important;flex:none;fill:none !important;stroke:currentColor !important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Fenêtre « Créer une sortie » : le formulaire occupe toute la fenêtre, au-dessus de la barre d'onglets du téléphone */
#bu-sortie-modal{z-index:10000}
.bu-sortie-form{display:flex;flex-direction:column;min-height:0;flex:1}
@media (max-width:720px){#bu-sortie-modal .bu-action-bar .bu-btn-save{width:100%}}
#asptt-bu-wrap #bu-tab-calendrier .bu-btn-bulk{background:#fff !important;color:#1e3a5f !important;border:1px solid #d1d5db !important;border-radius:8px !important;padding:5px 12px !important;font-size:13.5px !important;font-weight:600 !important}
#asptt-bu-wrap .bu-btn-add-orga{background:#e0e9f5 !important;color:#1e3a5f !important;border:1.5px solid #1e3a5f !important;border-radius:8px !important;padding:6px 12px !important;font-size:13px !important;font-weight:700 !important}
#asptt-bu-wrap .bu-btn-rm-orga{background:#fee2e2 !important;color:#b91c1c !important;border:1px solid #fca5a5 !important;border-radius:6px !important;padding:3px 9px !important}
/* Emoji convertis en <img> par WordPress : Astra les passe en bloc, on les garde dans la ligne */
#asptt-bu-wrap img.emoji{display:inline !important;vertical-align:-0.1em !important;width:1em !important;height:1em !important;margin:0 .07em 0 0 !important}
.bu-field textarea{width:100%;padding:9px 12px;border:2px solid #d1d5db;border-radius:7px;font-size:14px;box-sizing:border-box;background:#fff;font-family:inherit}
.bu-card{border-radius:12px}

/* Messages : pastille Repondu / Sans reponse */
.bu-contact-etat{display:flex;align-items:center;gap:10px;flex:none}
.bu-contact-header{gap:10px}
#asptt-bu-wrap .bu-btn-repondre{margin-bottom:4px}

/* Tableau de bord : chiffres cles en grille */
.bu-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.bu-kpis .bu-kpi{min-width:0}

/* Documents : une ligne par document sur telephone */
.bu-doc-cartes{display:none;flex-direction:column;gap:8px}
.bu-doc-carte{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:10px 8px 10px 12px}
.bu-doc-ico{font-size:22px;line-height:1;flex:none}
.bu-doc-txt{flex:1;min-width:0;font-size:14.5px}
.bu-doc-txt small{display:block;color:#6b7280;font-size:12.5px}
.bu-doc-acts{display:flex;align-items:center;gap:2px;flex:none}
#asptt-bu-wrap .bu-doc-voir{font-weight:700;font-size:13px;color:#1e40af !important;text-decoration:none !important;padding:4px 6px;border-radius:6px}

/* Documents : recherche (2.123.0) */
#asptt-bu-wrap .bu-doc-search{position:relative;margin:0 0 10px;max-width:420px}
#asptt-bu-wrap svg.bu-doc-svg{width:16px;height:16px;fill:none !important;stroke:currentColor !important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
#asptt-bu-wrap .bu-doc-search > svg.bu-doc-svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280 !important;pointer-events:none}
#asptt-bu-wrap #bu-doc-q{width:100% !important;box-sizing:border-box !important;height:44px !important;margin:0 !important;
    padding:0 44px 0 38px !important;border:1.5px solid #d1d5db !important;border-radius:10px !important;background:#fff !important;
    font-size:16px !important;color:#1f2937 !important;box-shadow:none !important;-webkit-appearance:none;appearance:none}
#asptt-bu-wrap #bu-doc-q:focus{outline:none !important;border-color:#1e3a5f !important;box-shadow:0 0 0 3px rgba(30,58,95,.12) !important}
#asptt-bu-wrap #bu-doc-q::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
#asptt-bu-wrap .bu-doc-q-clear{all:unset;box-sizing:border-box;position:absolute;right:2px;top:2px;width:40px;height:40px;cursor:pointer;
    display:flex !important;align-items:center;justify-content:center;border-radius:8px;color:#6b7280 !important;background:transparent !important}
#asptt-bu-wrap .bu-doc-q-clear[hidden]{display:none !important}
#asptt-bu-wrap .bu-doc-q-clear:hover{color:#1e3a5f !important;background:#f3f4f6 !important}
.bu-doc-count{font-size:13px;color:#6b7280;margin:0 0 10px}
#asptt-bu-wrap tr[hidden],#asptt-bu-wrap .bu-doc-carte[hidden],#asptt-bu-wrap .bu-doc-aucun[hidden]{display:none !important}
.bu-doc-aucun{background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:18px 16px;text-align:center;color:#6b7280;font-size:14px}
#asptt-bu-wrap #bu-doc-q-reset{all:unset;cursor:pointer;color:#1e3a5f !important;font-weight:700 !important;text-decoration:underline !important;background:transparent !important}

/* Documents : visibilite Coin lecture (vert) ou Bureau seul (ambre, filet a gauche + fond teinte) */
#asptt-bu-wrap .bu-doc-pastille{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px 2px 7px;font-size:12px;font-weight:700;white-space:nowrap;line-height:1.5}
#asptt-bu-wrap .bu-doc-pastille svg.bu-doc-svg{width:13px;height:13px}
#asptt-bu-wrap .bu-doc-pastille-lecture{background:#dcfce7;color:#15803d}
#asptt-bu-wrap .bu-doc-pastille-bureau{background:#fef3c7;color:#92400e}
#asptt-bu-wrap .bu-doc-txt .bu-doc-pastille{margin-top:4px}
#asptt-bu-wrap .bu-doc-carte.bu-doc-bureau{background:#fffbeb;border-color:#fde68a;border-left:4px solid #d97706}
#asptt-bu-wrap tr.bu-doc-bureau td{background:#fffbeb}
#asptt-bu-wrap tr.bu-doc-bureau td:first-child{box-shadow:inset 4px 0 0 #d97706}
.bu-doc-lecture-opt{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}

@media (max-width:720px){
    .bu-card{padding:12px}
    .bu-grid{grid-template-columns:1fr}
    .bu-field input:not([type=radio]):not([type=checkbox]),.bu-field select,.bu-field textarea,.bu-search{font-size:16px}
    .bu-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .bu-doc-table-wrap{display:none}
    .bu-doc-cartes{display:flex}
    .bu-contact-header{padding:10px 12px}
}
/* Boutons dans un champ : largeur du texte sur ordinateur, pleine largeur sur telephone */
@media (min-width:721px){
    #asptt-bu-wrap .bu-field > button,#asptt-bu-wrap .bu-field > div > button{align-self:flex-start}
}

.bu-cal-modal-info{padding:5px 8px;margin-bottom:6px;border-radius:6px;background:#fff7ed;color:#9a3412;font-size:12.5px}
/* Bandeau de panne des mises a jour automatiques du calendrier */
.bu-cal-panne{background:#fff7ed;border:1px solid #fdba74;border-left:4px solid #ea580c;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:13px;color:#9a3412}
.bu-cal-panne p{margin:0 0 2px}

/* Calendrier participatif : case d'ouverture, en tête de l'onglet Sorties */
#asptt-bu-wrap .bu-part-flag{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:13px;color:#075985;cursor:pointer}
#asptt-bu-wrap .bu-part-flag input[type=checkbox]{width:18px;height:18px;margin:0;flex:none}
#asptt-bu-wrap .bu-part-etat{margin-left:auto;font-weight:600;white-space:nowrap}

/* Propositions des adhérents (rubrique de l'onglet Sorties) */
#asptt-bu-wrap .bu-props{margin:0 0 12px;min-width:0}
#asptt-bu-wrap .bu-props-titre{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:8px}
#asptt-bu-wrap .bu-props-nb{background:#e0f2fe;color:#075985;border-radius:10px;padding:1px 8px;font-size:12px}
#asptt-bu-wrap .bu-props-vide{margin:0;font-size:13px;color:#6b7280}
#asptt-bu-wrap .bu-prop{border:1px solid #e5e7eb;border-left:4px solid #f59e0b;border-radius:8px;padding:10px 12px;margin:0 0 8px;background:#fff;font-size:13px}
#asptt-bu-wrap .bu-prop-haut{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px}
#asptt-bu-wrap .bu-prop-haut span{color:#6b7280;font-size:12px}
#asptt-bu-wrap .bu-prop-cible{margin:4px 0;font-weight:600;overflow-wrap:anywhere}
#asptt-bu-wrap .bu-prop-detail{margin:2px 0;overflow-wrap:anywhere}
#asptt-bu-wrap .bu-prop-aide{color:#6b7280;font-size:12px}
#asptt-bu-wrap .bu-prop-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
#asptt-bu-wrap .bu-prop-etat{font-weight:600}

/* Accordéons des propositions (rubrique de l'onglet Sorties et fenêtre d'un jour) et boutons de la fenêtre du jour */
#asptt-bu-wrap details.bu-props>summary.bu-props-titre,#asptt-bu-wrap details.bu-cal-props>summary{cursor:pointer;list-style:none;margin:0 0 8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;
    font-size:14px;font-weight:700;color:#1e3a5f;display:flex;align-items:center;gap:8px}
#asptt-bu-wrap details.bu-props>summary::-webkit-details-marker,#asptt-bu-wrap details.bu-cal-props>summary::-webkit-details-marker{display:none}
#asptt-bu-wrap details.bu-props>summary::after,#asptt-bu-wrap details.bu-cal-props>summary::after{content:"▾";margin-left:auto;color:#6b7280}
#asptt-bu-wrap details[open].bu-props>summary::after,#asptt-bu-wrap details[open].bu-cal-props>summary::after{content:"▴"}
#asptt-bu-wrap details.bu-cal-props{margin:0 0 8px}
#asptt-bu-wrap .bu-prop-retenue{border-left-color:#16a34a}
#asptt-bu-wrap .bu-prop-refusee{border-left-color:#9ca3af;opacity:.8}
#asptt-bu-wrap .bu-cal-modal-sortie{flex-wrap:wrap}
#asptt-bu-wrap .bu-cal-modal button.bu-cal-modal-lien{all:unset;box-sizing:border-box;cursor:pointer;flex:none;color:#1e40af !important;font-weight:700;font-size:12.5px;white-space:nowrap}
#asptt-bu-wrap .bu-cal-modal button.bu-cal-modal-lien:hover{text-decoration:underline !important}
#asptt-bu-wrap .part-barre{display:flex;justify-content:flex-end;gap:6px}
#asptt-bu-wrap .bu-prop-motif{margin-top:8px}
#asptt-bu-wrap .bu-prop-motif label{display:block;font-size:12px;font-weight:600;color:#4b5563;margin-bottom:4px}
#asptt-bu-wrap .bu-prop-motif textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:14px;font-family:inherit}
#asptt-bu-wrap .bu-prop-motif-texte{color:#4b5563}
