/* Base commune POLYMED : présentation seule, indépendante des traitements métier. */
.pf-page{width:100%;max-width:1120px!important;margin-inline:auto;min-width:0}
.pf-form{min-width:0;max-width:100%;container-type:inline-size}
.pf-form :is(input,select,textarea){font-size:16px;line-height:1.4}
.pf-form :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=search],input[type=url],select,textarea){min-height:44px;max-width:100%;border-radius:10px;border-color:#cbd5e1;background-color:#fff;color:#172033;padding:10px 12px}
.pf-form textarea{height:auto;resize:vertical}
.pf-form :is(input,select,textarea):focus-visible{outline:3px solid #52629a33;outline-offset:2px;border-color:#52629a}
.pf-form :is(input,select,textarea)[aria-invalid=true]{border-color:#b91c1c;background-color:#fffafa}
.pf-form :is(input[readonly],textarea[readonly]){background-color:#f8fafc}
.pf-form :is(input[type=checkbox],input[type=radio]){accent-color:#52629a;flex-shrink:0;width:20px;height:20px}
.pf-form input[type=file]{width:100%;min-width:0;max-width:100%;padding:8px 0;font-size:16px}
.pf-form input[type=file]::file-selector-button{min-height:44px;border:1px solid #cbd5e1;background:#f2f4f9;color:#353f66;border-radius:8px;padding:8px 12px;margin-right:10px}
.pf-form :is(button,.btn-primary,.btn-secondary,.btn-outline,.btn-dark,.btn-whatsapp){min-height:44px;line-height:1.35;white-space:normal}
.pf-form :is(.btn-primary,.btn-dark){background-color:#52629a;color:#fff;border-radius:10px}
.pf-form :is(.btn-primary,.btn-dark):hover{background-color:#434f80}
.pf-form button:focus-visible{outline:3px solid #52629a66;outline-offset:3px}
.pf-form :is(.label,.pf-label){display:block;font-size:14px;font-weight:600;line-height:1.45;color:#334155;margin-bottom:6px}
.pf-form .pf-help{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:#64748b}
.pf-panel{border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 2px 8px #17203306;padding:20px!important;min-width:0;container-type:inline-size}
.pf-panel :is(h2,h3,legend){color:#172033;line-height:1.35;font-weight:650}
.pf-panel h2{font-size:18px;margin-bottom:14px}
.pf-panel h3,.pf-panel legend{font-size:15px;margin-bottom:10px}
.pf-fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px 18px!important;align-items:start}
.pf-fields>*{min-width:0;grid-column:auto!important}
.pf-form :is(.gap-6,.gap-8,.gap-10){gap:20px}
.pf-form :is(.space-y-3,.space-y-4)>:not([hidden])~:not([hidden]){margin-top:14px}
.pf-feedback{overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.pf-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;align-items:start}
.pf-layout>*{min-width:0;grid-column:auto!important}
.pf-form fieldset{min-width:0}
.pf-form .pf-inline-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#475569}
@container (min-width:420px){.pf-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:960px){.pf-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:639px){
 .pf-page{padding-inline:16px!important;padding-top:24px!important;padding-bottom:24px!important}
 .pf-panel{padding:16px!important;border-radius:14px}
 .pf-fields{grid-template-columns:minmax(0,1fr)!important}
 .pf-form :is(.btn-primary,.btn-dark){max-width:100%}
 .pf-form label{overflow-wrap:anywhere}
 .pf-form :is(input,select,textarea){font-size:16px!important}
 .pf-form .pf-mobile-wrap{flex-wrap:wrap}
}
/* Les tableaux, lignes d’articles et groupes indicatif/téléphone gardent leur structure. */
.pf-form table :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-width:64px}

/* Documents : articles sur toute la largeur, blocs client/envoi regroupés dessous. */
.pf-document-layout{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
.pf-document-layout>*{grid-column:auto!important;min-width:0}
.pf-document-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.pf-panel>table{display:block;max-width:100%;overflow-x:auto}
.pf-form .import-client-choices{align-items:start}
.pf-fields>button{align-self:end;justify-self:start}
.pf-form #d-search{padding-left:36px}
@media(max-width:639px){.pf-document-layout>aside,.pf-form .import-client-choices{grid-template-columns:minmax(0,1fr)!important}}

.pf-form label{font-size:14px;line-height:1.5;color:#334155}

.pf-form input[autocomplete=one-time-code]{font-size:24px!important}

/* Les états de visibilité métier priment toujours sur la grille de présentation. */
.pf-form[hidden],.pf-fields[hidden],.pf-layout[hidden],.pf-panel[hidden],.pf-form [hidden]:not([hidden=until-found i]),.pf-fields.hidden,.pf-layout.hidden,.pf-panel.hidden{display:none!important}

/* Mobile : champs et intitulés de devis réductibles dans leur largeur disponible. */
@media (max-width:1023px), (max-width:1366px) and (hover:none) and (pointer:coarse){
 .pc-compact.adm main form[action="/admin/livraison-priorite.php"] .com-grid>label,
 .pc-compact.adm main #fd .grid>*,
 .pc-compact.adm main #fd>.flex>div{min-width:0;max-width:100%}
 .pc-compact.adm main form[action="/admin/livraison-priorite.php"] input[type=date],
 .pc-compact.adm main #fd .input{min-width:0;max-width:100%;box-sizing:border-box}
 .pc-compact.adm main form[action="/admin/livraison-priorite.php"] input[type=date]{width:100%}
 .pc-compact.adm main #fd>.flex :is(h1,p){overflow-wrap:anywhere}
}
