﻿/* ==================================================================
   Sous-panneau de CRÉATION RAPIDE (offcanvas BS5, niveau 2) : règles GÉNÉRIQUES valables pour
   N'IMPORTE quel formulaire de création legacy injecté dans ce sous-panneau (géométrie, masquage
   du pied legacy, mise en cartes des volets BeginPanelGroup, lignes de champ, neutralisation des
   largeurs inline). Le contenu SPÉCIFIQUE ventilation/section (reste à affecter, tableau de
   répartition, bouton d'ajout) reste dans assets/css/SaisieEcriture/SaisieEcriture.css : ce fichier
   ne doit accueillir QUE ce qui vaut pour une autre vue de création rendue dans ce sous-panneau.
   Squelette : Views/Shared/Tiroir/_TiroirCreation.cshtml
   Comportement : assets/js/core/teogest.tiroir-creation.js (window.TgTiroirCreation)
   Couleurs : uniquement des tokens --bs-* (charte Septeo), aucun hex.
   ================================================================== */

/* Plus étroit que le tiroir appelant (subsidiaire = 50vw), qui reste ainsi visible sur sa gauche. */
#popCreationTiroir.offcanvas {
    --tg-tiroir-w: 40vw;
    min-width: 520px;
}

/* Le pied legacy du formulaire est remplacé par le pied épinglé du tiroir. */
#popCreationTiroir .offcanvas-body #foot {
    display: none !important;
}

/* Volets en CARTES : ces vues utilisent BeginPanelGroup (sans enveloppe .t-card), donc le couple
   .t-panel-header + .t-content est dessiné comme UNE carte (haut arrondi / bas arrondi).
   Double id (#popCreationTiroir #pnlEdit) pour passer devant les règles socle de rubriques.css
   (dont `body:not(...) #pnlEdit .t-content { border: none }`). */
#popCreationTiroir #pnlEdit .t-panel-header {
    background-color: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-bottom: 0;
    border-radius: .5rem .5rem 0 0;
    height: auto;
    line-height: 1.3;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--bs-secondary-color);
    padding: .75rem 1rem .25rem;
    margin: 0;
}
#popCreationTiroir #pnlEdit .t-content {
    background-color: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-top: 0;
    border-radius: 0 0 .5rem .5rem;
    padding: .25rem 1rem 1rem;
    margin: 0 0 1rem;
}
#popCreationTiroir #pnlEdit .t-content fieldset {
    width: 100%;
    margin: 0;
}

/* Une ligne de champ = libellé à gauche, contrôle à droite. Sans ça, les .col-sm-* legacy (qui
   n'ont pas de parent .row en BS5) empilent le libellé au-dessus du champ, chacun à ~40 % de large. */
#popCreationTiroir .form-group {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0 0 .5rem;
}
#popCreationTiroir .form-group > .control-label {
    flex: 0 0 40%;
    width: auto;
    max-width: 40%;
    margin: 0;
    text-align: left;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--bs-secondary-color);
}
#popCreationTiroir .form-group > .control-label + div {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

/* Champs : les largeurs figées en inline (60/120/170/300 px) deviennent fluides (!important =
   seul moyen de battre une déclaration inline). Les champs numériques courts restent courts. */
#popCreationTiroir .t-content input.form-control,
#popCreationTiroir .t-content select.form-control,
#popCreationTiroir .t-content textarea.form-control {
    width: 100% !important;
    max-width: 100%;
}
#popCreationTiroir .t-content input.numerique {
    max-width: 6rem;
}
