/* =====================================================================
   Thème "programme Access" (B-H PRODUCT) : mêmes couleurs que le logiciel
   ===================================================================== */
:root{
  --acc-teal:#76bfd2; --acc-teal-d:#4ea6bd; --acc-blue:#0070c0; --acc-ink:#1f2f86;
  --acc-red:#c00000; --acc-purple:#6a1b9a; --acc-green1:#f7ffe9; --acc-green2:#c6ee9c;
  --bg:#fbf1ee; --line:#9fd3e0; --pri:#2a8a3e; --side:#fff6f2;
  --font: Cambria, Georgia, "Times New Roman", serif;
}
html,body{background:linear-gradient(135deg,#fffaf8 0%,#fbe9e4 60%,#f4f0ee 100%) fixed;color:#14204a}

/* --- menu de gauche : boutons verts comme l'accueil --- */
.side{background:linear-gradient(#fffaf7,#f6e7e2);color:var(--acc-ink);border-right:2px solid #e6cfc8}
.brand b{color:var(--acc-red)!important;font:700 17px Cambria,Georgia,serif;letter-spacing:.5px}
.brand small{color:#2c2d86;font-style:italic}
.logo{background:#e53935;border-radius:50%}
.side .grp{color:#1aa34a;font-weight:700;font-size:11.5px;letter-spacing:.04em;margin:12px 6px 4px}
.side .grp .ar{color:#1aa34a}
.side nav a{margin:3px 0;padding:6px 8px;border:1px solid #6d2fa6;border-radius:3px;background:linear-gradient(var(--acc-green1),var(--acc-green2));color:var(--acc-purple);font:700 13.5px/1.2 Cambria,Georgia,serif;box-shadow:1px 2px 2px rgba(0,0,0,.18)}
.side nav a i{opacity:.8}
.side nav a:hover{background:linear-gradient(#fff,#b2e67c)}
.side nav a.on{background:linear-gradient(#fff7c2,#ffe36b);color:#5a1690;border-color:#b07d00}
.side nav a .ar{color:#7b4aa6;opacity:.85}
.side .me{border-top:1px solid #e6cfc8;color:#2c2d86}
.side .me a{color:var(--acc-red);font-weight:700}

/* --- titre de page : rouge, petites capitales --- */
.top{justify-content:center;position:relative;padding:12px 0 8px}
.top h1{color:var(--acc-red);font:700 26px/1.2 Cambria,Georgia,serif;font-variant:small-caps;letter-spacing:.5px;text-align:center}
.burger{position:absolute;left:0;color:var(--acc-ink)}

/* --- cadres --- */
.card{background:rgba(255,255,255,.72);border:1px solid #e7d3cd;border-radius:3px;box-shadow:0 1px 3px rgba(120,60,40,.08)}
.card h2{color:var(--acc-red);font:700 16px Cambria,Georgia,serif;font-variant:small-caps}

/* --- champs : étiquette bleue à gauche, case blanche à droite --- */
input,select,textarea{border:1px solid var(--acc-teal);border-radius:0;color:var(--acc-ink);font-weight:700;font-family:Cambria,Georgia,serif}
input:focus,select:focus,textarea:focus{outline:2px solid #ffd54f;border-color:#e0a800}
input::placeholder{font-weight:400;color:#8a93b5}
label{display:grid;grid-template-columns:minmax(118px,max-content) minmax(0,1fr);align-items:stretch;gap:0;background:var(--acc-teal);color:#fff;font:700 14px/1.2 Cambria,Georgia,serif;border:1px solid var(--acc-teal)}
label>:not(input):not(select):not(textarea):not(.ac):not(div){grid-column:1/-1}
label>input,label>select,label>textarea,label>.ac,label>div{grid-column:2;background:#fff;font-size:14px;border:0;border-left:1px solid var(--acc-teal);min-height:32px}
label>small,label>.muted{grid-column:1/-1!important;background:#fff;color:#555!important;font:12px Cambria,Georgia,serif;padding:2px 6px;border-top:1px solid var(--acc-teal)}
label{padding-left:0}
label::before{content:none}
label{text-indent:6px}
label>*{text-indent:0}
label.chk{display:flex;background:none;border:0;color:var(--acc-ink);font-weight:700;text-indent:0}
label.chk input{min-height:auto}
.doc-head label,.form-grid label,.pay label{align-items:center}
.doc-head label>input,.doc-head label>select,.pay label>input,.pay label>select{text-align:center}
.ac input{border:0}

/* --- boutons verts / bleus comme le logiciel --- */
.btn{border:1px solid #6d2fa6;border-radius:3px;background:linear-gradient(var(--acc-green1),var(--acc-green2));color:#14204a;font:700 14px Cambria,Georgia,serif;box-shadow:2px 3px 3px rgba(0,0,0,.22)}
.btn:hover{background:linear-gradient(#fff,#b2e67c)}
.btn.primary{background:linear-gradient(#f7ffe9,#a9e27a);color:#14204a;border-color:#3d7a1f}
.btn.primary:hover{background:linear-gradient(#fff,#97d961)}
.btn.accent{background:linear-gradient(#eefbff,#9ed8ea);color:#14204a;border-color:#3d8db0}
.btn.danger{background:linear-gradient(#fff3f2,#ffc9c4);color:#a50000;border-color:#c62828}
.btn.credit{background:linear-gradient(var(--acc-green1),var(--acc-green2));color:#14204a}
.btn.small{font-size:12.5px}
.actions.sticky{background:linear-gradient(transparent,#fbeee9 30%)}

/* --- tableaux : en-tête bleu, texte bleu centré --- */
table.list th{background:var(--acc-blue);color:#fff;font:700 13.5px Cambria,Georgia,serif;text-transform:none;letter-spacing:0;text-align:center;border:1px solid #fff}
table.list th.r{text-align:center}
table.list td{color:var(--acc-ink);font-weight:700;border-bottom:1px solid #cfe7ee}
table.list tbody tr:nth-child(even){background:rgba(118,191,210,.07)}
table.list tbody tr:hover{background:#fff7c9}
table.lines td{text-align:center}
table.lines input{text-align:center}
table.lines .del,table.lines button.ico{width:24px;height:24px;border-radius:50%;background:radial-gradient(#ff6b6b,#d50000);color:#fff!important;font-weight:900;border:1px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.tag{border-radius:2px;font-weight:700}

/* --- totaux : étiquette bleue + case blanche --- */
.totals>div{border:1px solid var(--acc-teal);border-bottom:0;padding:0;background:#fff}
.totals>div:last-child{border-bottom:1px solid var(--acc-teal)}
.totals>div>span{background:var(--acc-teal);color:#fff;font:700 15px Cambria,Georgia,serif;padding:5px 8px;min-width:170px}
.totals>div>b,.totals>div>input{flex:1;text-align:center;color:var(--acc-ink);font:700 15px Cambria,Georgia,serif;border:0}
.totals .big>span{font-size:16px}
.totals .big>b{font-size:17px}
.pay .reste{color:var(--acc-red);font:700 15px Cambria,Georgia,serif}

/* --- indicateurs (cases rouges comme l'accueil) --- */
.kpis>div,.kpis>a{background:rgba(255,255,255,.8);border:1px solid #e7d3cd;border-radius:3px;text-align:center}
.kpis span{color:#2c2d86;font:700 13px Cambria,Georgia,serif}
.kpis b{display:block;border:1px solid #e02424;color:#e02424;background:#fff;margin-top:4px;padding:2px;font-family:Cambria,Georgia,serif}

/* --- onglets / pages --- */
.tabs a{border-radius:3px;border:1px solid #6d2fa6;background:linear-gradient(var(--acc-green1),var(--acc-green2));color:var(--acc-purple);font:700 13px Cambria,Georgia,serif}
.tabs a.on{background:linear-gradient(#fff7c2,#ffe36b);color:#5a1690;border-color:#b07d00}
.pager a{border-radius:2px;border-color:var(--acc-teal);color:var(--acc-ink);font-weight:700}
.pager a.on{background:var(--acc-blue);border-color:var(--acc-blue)}

/* --- divers --- */
a{color:#1f4fb4}
.flash{border-radius:2px;font-weight:700}
.muted{color:#5b6390}
.bad{color:#d00000}
.ac-list{border-radius:0;border-color:var(--acc-teal)}
.ac-item.on,.ac-item:hover{background:#fff3b0}
.newart{background:#fffdf2;border-color:var(--acc-teal)}
.login{background:rgba(255,255,255,.85)}
.req{color:#e00;font-weight:900;margin-left:2px}
.doc-note{color:#e00000;font:700 14px Cambria,Georgia,serif;text-align:center}
.cli-info{border:2px solid #2c2d86;box-shadow:4px 4px 0 #3949ab;padding:0;background:#fff}
.cli-info h3{margin:0;padding:4px;text-align:center;color:#6b4a2b;font:700 14px Cambria,Georgia,serif;background:#f3f3f3}
.cli-info .r2{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--acc-teal)}
.cli-info .r2 span{background:var(--acc-teal);color:#fff;font:700 14px Cambria,Georgia,serif;padding:5px 6px}
.cli-info .r2 b{text-align:center;padding:5px;color:var(--acc-ink);background:#f4f4f4}
.user-badge{display:inline-block;background:#ffff88;border:1px solid #c9c94a;color:#1f2f86;font:700 14px Cambria,Georgia,serif;padding:3px 26px}
@media (max-width:900px){label{grid-template-columns:minmax(100px,max-content) minmax(0,1fr)}.totals>div>span{min-width:130px}}
@media print{html,body{background:#fff}}

/* --- en-tête des bons (comme le logiciel) --- */
.acc-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) minmax(260px,1fr);gap:14px;align-items:start}
.acc-head .dh-left{display:flex;flex-direction:column;gap:6px}
.acc-head .dh-left label{grid-template-columns:130px minmax(0,1fr)}
.acc-head .dh-party{display:flex;gap:6px;align-items:flex-start}
.acc-head .dh-party label{flex:1}
.acc-head .dh-mid{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding-top:2px}
.acc-head label.chk.big{font-size:15px}
.acc-head .cli-info{align-self:start}
.doc-head label{min-width:0}
.totals>div.big{border:1px solid var(--acc-teal);border-bottom:0;padding:0}
.totals>div.big:last-child{border-bottom:1px solid var(--acc-teal)}
.actions.sticky .user-badge{margin-left:auto}
@media (max-width:1100px){.acc-head{grid-template-columns:1fr}.acc-head .dh-mid{flex-direction:row;flex-wrap:wrap}}
@media (max-width:900px){.top h1{font-size:20px;padding:0 34px}.acc-head .dh-left label{grid-template-columns:105px minmax(0,1fr)}}

/* --- BL : grille + pied comme le logiciel --- */
.lines-wrap{max-height:340px;overflow:auto;border:1px solid var(--acc-teal)}
table.lines th.xcol,table.lines td.xcol{width:40px;padding:4px}
table.lines td.art{text-align:center}
table.lines td.stk{background:#dbe9f3;color:var(--acc-ink)}
table.lines td.un{color:var(--acc-ink)}
table.lines input{width:100%;max-width:120px;border:1px solid #cfe7ee}
.doc-foot3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.15fr);gap:12px;align-items:start}
.doc-foot3 .card{margin-bottom:0}
.doc-foot3 .mid{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.doc-foot3 .mid .btnrow{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.doc-foot3 .mid>.btn{justify-content:center}
.doc-foot3 .anc .totals>div>span{min-width:140px;display:flex;align-items:center;gap:6px;justify-content:space-between}
.doc-foot3 .pay{display:flex;flex-direction:column;gap:6px}
.doc-foot3 .pay label{grid-template-columns:150px minmax(0,1fr)}
.doc-foot3 .payfoot{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}
.doc-foot3 .payfoot .user-badge{margin-right:auto}
.dh-find{display:flex;gap:8px;align-items:flex-start}
.dh-find .loupe{width:30px;height:30px;border-radius:50%;background:#2f6fd1;color:#fff;display:grid;place-items:center;font-size:15px;flex:none}
.dh-find>div{display:flex;flex-direction:column;gap:4px}
.dh-find label{background:none;border:0;color:#111;grid-template-columns:105px 150px}
.dh-find label>input{border:1px solid #c0392b}
.dh-fact{display:flex;gap:6px;flex-wrap:wrap}
.dh-fact label{grid-template-columns:auto 80px}
.dh-fact label>select,.dh-fact label>input{text-align:center}
@media (max-width:1100px){.doc-foot3{grid-template-columns:1fr}}
.doc-foot3 .mid .btnrow{flex-wrap:nowrap;gap:6px}.doc-foot3 .mid .btnrow .btn{padding:7px 10px}

/* =================== fenêtre de saisie (BL…) comme le logiciel =================== */
body.form-mode .main.fm{margin:0;padding:10px 14px 30px;max-width:1500px;margin:0 auto}
.fm-top{display:flex;align-items:center;gap:12px;background:linear-gradient(#fff,#fdeeea);border:1px solid #e3cbc4;border-bottom:0;padding:6px 10px}
.fm-top h1{flex:1;text-align:center;margin:0;color:var(--acc-red);font:700 30px/1.15 Cambria,Georgia,serif;font-variant:small-caps;letter-spacing:.5px}
.fm-ico{width:46px;height:46px;border-radius:50%;background:radial-gradient(#ff6b6b,#e53935);display:grid;place-items:center;font-size:24px;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.fm-close{width:44px;height:30px;border-radius:50%;background:radial-gradient(#ff7070,#d50000);color:#fff!important;display:grid;place-items:center;font-size:17px;text-decoration:none!important;box-shadow:0 2px 3px rgba(0,0,0,.3)}
.accform{background:linear-gradient(135deg,#fff 0%,#fdf3f0 55%,#f1efef 100%);border:1px solid #e3cbc4;padding:6px 12px 12px;box-shadow:0 3px 10px rgba(80,40,30,.15)}
.accform label{min-height:30px}
.accform label>input,.accform label>select,.accform label>.ac{min-height:30px}
.accform .frow{display:flex;align-items:center;gap:4px}
.accform .frow>label{flex:1}
.accform .frow .req{width:10px}
.accform .frow.full{margin:6px 0}
.accform .btn.mini{padding:3px 8px;font-size:13px;box-shadow:1px 1px 2px rgba(0,0,0,.2)}
.af-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr) minmax(250px,.9fr);gap:16px;align-items:start}
.af-left{display:flex;flex-direction:column;gap:5px}
.af-left label{grid-template-columns:120px minmax(0,1fr)}
.af-left .doc-note{margin-bottom:2px}
.af-mid{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.af-mid .dh-find label{grid-template-columns:110px 160px}
.af-mid .dh-find label>input{border:1px solid #b33;background:#fff}
.cli-info{background:#fff}
.lines-wrap{max-height:250px;margin-top:4px;background:#fff}
table.lines th{padding:5px 6px}
table.lines td{padding:4px 6px}
table.lines td.art{text-align:center;color:#1f2f86}
.newline{display:flex;align-items:center;gap:6px;border:1px solid var(--acc-teal);border-top:0;background:#fff;padding:3px 6px}
.newline .nl-ico{color:#1f2f86;width:30px;text-align:center}
.newline .addline{flex:1;margin:0}
.newline .addline input{border:1px solid #cfe7ee;padding:6px 8px;font-size:14px}
.btn.mini2{padding:4px 10px;font-size:13px;background:linear-gradient(#fff3d6,#ffd28a);border-color:#c98a1b}
.af-foot{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,.9fr) minmax(300px,1.1fr);grid-template-areas:"tot btns btns" "tot anc pay" "tick tick bl";gap:10px 16px;margin-top:10px;align-items:start}
.af-tot{grid-area:tot;border:0}
.af-tot>div{border:1px solid var(--acc-teal)!important;margin-bottom:4px}
.af-tot>div>span{min-width:150px}
.af-btns{grid-area:btns;display:flex;gap:26px;justify-content:center}
.af-btns .btn{min-width:118px;justify-content:center;background:linear-gradient(#fbfff2,#c6ee9c);border-color:#7da55a}
.af-btns .btn:disabled{opacity:.55;cursor:default}
.af-anc{grid-area:anc;display:flex;flex-direction:column;gap:4px}
.anc2{display:grid;grid-template-columns:110px 22px minmax(0,1fr);align-items:center;border:1px solid var(--acc-teal);background:#fff}
.anc2 span{background:var(--acc-teal);color:#fff;font:700 12.5px Cambria,Georgia,serif;padding:4px 6px;align-self:stretch;display:flex;align-items:center}
.anc2 input{margin:0 4px;min-height:auto}
.anc2 b{text-align:center;color:var(--acc-ink);font:700 15px Cambria,Georgia,serif;padding:4px}
.af-anc #btn_credit{margin-top:6px;justify-content:center;background:linear-gradient(#fbfff2,#c6ee9c);border-color:#7da55a}
.af-pay{grid-area:pay;display:flex;flex-direction:column;gap:4px}
.af-pay label{grid-template-columns:150px minmax(0,1fr)}
.af-pay .reste{color:var(--acc-red);font:700 14px Cambria,Georgia,serif}
.af-pay label.avance input{font-weight:700;color:#0a6b2a;background:#f3fff0}
.af-user{display:flex;justify-content:flex-end;margin-top:6px}
.af-user .user-badge{min-width:170px;text-align:center}
.af-tick{grid-area:tick;display:flex;justify-content:center;padding-left:28%}
.af-bl{grid-area:bl;display:flex;gap:10px;justify-content:flex-end}
.btn.blue{background:linear-gradient(#f2fcff,#a9e0f0);border-color:#4a9bb8;color:#14204a;min-width:120px;justify-content:center}
.btn.blue.wide2{min-width:220px}
.af-by{margin:6px 2px;font-size:12.5px}
@media (max-width:1100px){
  .af-head{grid-template-columns:1fr}
  .af-foot{grid-template-columns:1fr;grid-template-areas:"tot" "btns" "anc" "pay" "tick" "bl"}
  .af-btns{gap:8px;flex-wrap:wrap}.af-tick{padding-left:0}
  .fm-top h1{font-size:20px}
}
.accform label{align-items:center}
.accform label>input,.accform label>select,.accform label>.ac,.accform label>div{align-self:stretch}
.af-left label>input,.af-left .ac input,.af-pay label>input,.af-pay label>select{text-align:center}
.af-left .ac input{height:100%}

/* --- grille comme le logiciel : lignes avec liste déroulante + ligne vide --- */
.lines-wrap{min-height:230px;max-height:300px;background:#fff;border:1px solid #6b8fb5}
table.lines{border-collapse:separate;border-spacing:0 3px}
table.lines td{padding:0 2px;border:0}
table.lines tbody tr:nth-child(even){background:transparent}
table.lines tbody tr:hover{background:transparent}
table.lines td>input,table.lines td input[data-f]{width:100%;max-width:none;height:26px;border:1px solid #333;border-radius:0;text-align:center;padding:2px 4px}
table.lines td.stk{background:#dbe5f1;border:1px solid #c5d3e3;height:26px}
table.lines td.un{border:1px solid #333;background:#fff;height:26px}
table.lines td.tot{border:1px solid #333;background:#fff;height:26px}
table.lines td.art{min-width:280px}
.combo{position:relative;display:flex;align-items:center;border:1px solid #333;background:#fff;height:26px}
.combo .des{flex:1;text-align:center;font-weight:700;color:#1f2f86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.combo i{width:20px;height:100%;border-left:1px solid #aaa;display:grid;place-items:center;font-style:normal;color:#333;background:#f0f0f0;font-size:11px}
.combo.in input{flex:1;border:0;height:100%;text-align:center;font-weight:700}
.combo.in input:focus{outline:2px solid #ffd54f}
.newrow td{height:28px}
.newrow td:not(.xcol):not(.art){border:1px solid #333;background:#fff}
.newrow td.stk{background:#dbe5f1;border-color:#c5d3e3}
.x-off{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:radial-gradient(#ff8a8a,#d50000);color:#fff;font-size:12px;opacity:.85}
.ac-list.fixed{z-index:200}
.grid-legend{display:flex;align-items:center;gap:6px;margin:4px 0 0;color:#14204a;font:700 13px Cambria,Georgia,serif}
.grid-legend .lg{display:inline-block;width:34px;height:10px;border-radius:6px;border:1px solid #999}
.grid-legend .lg.nom{background:#ffc995}.grid-legend .lg.cb{background:#c9b8f0;margin-left:10px}
.grid-legend .btn{margin-left:auto}
.newline{display:none}
table.lines{table-layout:fixed;width:100%}
table.lines th.xcol{width:38px}
table.lines th.c-art{width:auto}
table.lines th.c-st{width:80px}table.lines th.c-un{width:90px}table.lines th.c-pr{width:115px}table.lines th.c-q{width:95px}
table.lines th.c-r{width:90px}table.lines th.c-t{width:80px}table.lines th.c-tot{width:120px}
table.lines td.art{min-width:0}
.combo.in{width:100%}
.combo.in input{width:auto!important;min-width:0;flex:1 1 auto;padding:0 6px}
.combo.in input{max-width:none!important}

/* =================== Les Crédits / Les Versements (comme le logiciel) =================== */
.cv-tabs{display:flex;gap:6px;margin:6px 0}
.cv-tabs a{padding:4px 16px;border:1px solid #6d2fa6;background:linear-gradient(#f7ffe9,#c6ee9c);color:#6a1b9a;font:700 13px Cambria,Georgia,serif;border-radius:3px}
.cv-tabs a.on{background:linear-gradient(#fff7c2,#ffe36b)}
.cvform{padding:14px 18px}
.cv-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;border:2px solid #5c8fa8;box-shadow:3px 3px 0 #7aa6bb;padding:14px 18px;background:rgba(255,255,255,.6)}
.cv-l,.cv-r{display:flex;flex-direction:column;gap:6px}
.cv-l label,.cv-r label{grid-template-columns:150px minmax(0,1fr)}
.cv-l label.tall>.ac,.cv-l label.tall>.ac input{min-height:52px}
.cv-r label.tall>input{min-height:48px}
.cv-r label>input{text-align:center}
.cv-note{color:#e00;font:700 13px Cambria,Georgia,serif;margin:auto 0 0}
.cv-mode{color:#1f2f86;font:700 13px Cambria,Georgia,serif}
.cv-btns{display:flex;align-items:center;justify-content:center;gap:22px;margin:16px 0 4px;position:relative}
.cv-btns .btn{min-width:118px;justify-content:center;background:linear-gradient(#fbfff2,#c6ee9c);border-color:#7da55a}
.cv-btns .btn.nav{min-width:70px;background:#fff;border:2px solid #9bbf6a;color:#2f6fd1;font-size:16px}
.cv-btns .btn.off{opacity:.45}
.cv-btns .btn:disabled{opacity:.5}
.fold-x{position:absolute;left:0;font-size:40px;line-height:1;text-decoration:none!important}
.fold-x span{position:absolute;right:-8px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:radial-gradient(#ff7070,#d50000);color:#fff;font-size:13px;display:grid;place-items:center}
.cv-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 6px;color:#14204a;font-family:Cambria,Georgia,serif}
.cv-filter .ac{width:230px}
.cv-filter input{border:1px solid #b33}
.cv-filter .btn{margin-left:auto}
.cv-filter .btn+.btn{margin-left:0}
.cv-list{max-height:330px;overflow:auto;border:1px solid #9ab}
.cv-list table.list th{position:sticky;top:0;z-index:1;background:#0070c0}
.cv-list td{padding:3px 8px;color:#1f5fb0}
.cv-list td.l{text-align:left}
.cv-list tr.sel td{background:#a9cff0;color:#0b2d6b}
.cv-count{font:12px Cambria,Georgia,serif;color:#444;margin-top:4px}
@media (max-width:900px){.cv-panel{grid-template-columns:1fr}.fold-x{position:static}.cv-btns{gap:8px;flex-wrap:wrap}}

/* =================== portable & tablette =================== */
@media (max-width:1100px){
  table.lines th.c-st{width:62px}table.lines th.c-un{width:64px}table.lines th.c-pr{width:86px}table.lines th.c-q{width:76px}
  table.lines th.c-r{width:66px}table.lines th.c-t{width:58px}table.lines th.c-tot{width:96px}table.lines th.xcol{width:32px}
  .fold-x{position:static;order:-1}
}
@media (max-width:900px){
  input,select,textarea{font-size:16px!important}            /* évite le zoom automatique sur iPhone */
  .btn{min-height:40px}
  .side nav a{padding:9px 8px}
  .cv-btns .btn{min-width:0;flex:1 1 30%}
  .cv-btns .btn.nav{flex:0 0 54px}
  .cv-filter .ac{width:100%}
  .cv-filter .btn{margin-left:0;flex:1}
  .af-btns .btn{flex:1;min-width:0}
  .af-bl{justify-content:stretch}.af-bl .btn{flex:1;min-width:0}
  .af-tick .btn{width:100%}
  .af-user{justify-content:stretch}.af-user .user-badge{width:100%}
  .fm-top{padding:4px 6px}.fm-ico{width:36px;height:36px;font-size:18px}.fm-close{width:38px;height:28px}
  body.form-mode .main.fm{padding:6px 6px 30px}
  .accform{padding:6px}
  .dh-find label{grid-template-columns:96px minmax(0,1fr)}
  .af-mid .dh-find label{grid-template-columns:96px minmax(0,1fr)}
  .dh-find{width:100%}.dh-find>div{flex:1}
  .grid-legend{flex-wrap:wrap}
}
@media (max-width:700px){
  /* grille des articles en « cartes » */
  .lines-wrap{max-height:none;min-height:0;border:0;background:none}
  table.lines,table.lines thead,table.lines tbody,table.lines tr,table.lines td{display:block;width:auto}
  table.lines thead{display:none}
  table.lines tbody:not(.newrow) tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid var(--acc-teal);background:#fff;padding:8px 8px 8px;margin-bottom:8px;position:relative}
  table.lines td{border:0!important;height:auto!important;padding:0!important;background:none!important}
  table.lines td.xcol{position:absolute;right:6px;top:6px}
  table.lines td.art{grid-column:1/-1;padding-right:34px!important}
  table.lines td.art .combo{height:auto;min-height:30px;border:0;background:#eaf4f8}
  table.lines td.art .combo i{display:none}
  table.lines td.art .des{white-space:normal;text-align:left;font-size:15px}
  table.lines td[data-l]::before{content:attr(data-l);display:block;font:700 11.5px Cambria,Georgia,serif;color:#fff;background:var(--acc-teal);padding:2px 5px;margin-bottom:2px}
  table.lines td[data-l] input{height:38px!important}
  table.lines td.stk,table.lines td.un,table.lines td.tot{text-align:center;font-weight:700;color:var(--acc-ink)}
  table.lines td.tot{font-size:16px}
  table.lines tbody.newrow tr{display:block;border:2px dashed var(--acc-teal);background:#fff;padding:6px;position:relative}
  table.lines tbody.newrow td:not(.art){display:none}
  table.lines tbody.newrow td.art{padding:0!important}
  table.lines tbody.newrow .combo.in{height:44px;border:1px solid #333}
  table.lines tbody.newrow .combo.in input{font-size:16px}
  .af-left label,.cv-l label,.cv-r label,.af-pay label{grid-template-columns:118px minmax(0,1fr)}
  .af-tot>div>span{min-width:120px}
  .anc2{grid-template-columns:96px 22px minmax(0,1fr)}
  .fm-top h1{font-size:17px}
  .cli-info .r2{grid-template-columns:118px 1fr}
  .acc-top .wel b{min-width:0}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){.fold-x{display:none}}
.form-grid label:not(.chk){grid-template-columns:fit-content(48%) minmax(0,1fr)}

/* --- rappels WhatsApp --- */
.rl-note{color:#14204a;font:14px Cambria,Georgia,serif;margin:6px 0}
.rl-list{max-height:none}
.rl-list td{vertical-align:middle}
.rl-tel{display:flex;gap:4px;align-items:center}
.rl-tel input{width:130px;padding:4px 6px}
.btn.wa{background:linear-gradient(#5be584,#1fa855);border-color:#128c3e;color:#fff;font-weight:700}
.btn.wa:hover{background:linear-gradient(#6af091,#169447)}
.rl-tpl{margin-top:14px}
.rl-tpl textarea{width:100%;font:15px Cambria,Georgia,serif;color:#14204a}
.rl-tpl label{max-width:360px;display:inline-grid;margin-right:10px}
