/* Thème terminal vert sur fond sombre */
:root{--bg:#0a110c;--sf:#0f1a12;--tx:#4be06a;--mu:#7fb48a;--ac:#3ddc5c;--ac2:#12301a;--bd:#1d4d28;--rd:#ff3b30;color-scheme:dark;box-sizing:border-box}
*{box-sizing:border-box}html{height:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--tx);font:14px/1.5 "JetBrains Mono","Consolas","Courier New",monospace}
h2{margin:.2em 0 .8em;font-size:1.7rem;text-transform:uppercase;color:var(--ac)}h3,h4{margin:.3em 0 .5em}h3{color:var(--ac)}h4{color:var(--mu);font-weight:400;text-transform:uppercase}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:1px solid var(--bd);background:var(--sf);padding:.45em .8em}
button:hover{background:var(--ac2)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
.pri{background:var(--ac);color:#04130a;border-color:var(--ac);font-weight:700}.pri:hover{background:#6df08a}.gh{background:transparent}
input,select,textarea{width:100%;padding:.45em .6em;border:1px solid var(--bd);background:var(--sf)}
.shell{display:flex;min-height:100vh}
aside{width:224px;flex:none;background:#070d09;border-right:1px solid var(--bd);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:.6rem;align-items:center;padding:1rem}.logo{border:1px solid var(--ac);background:var(--ac2);padding:.4em .3em;font-weight:700;font-size:.8rem}
aside nav{flex:1;overflow-y:auto;display:flex;flex-direction:column}
nav button{text-align:left;border:0;background:transparent;padding:.7em 1em;font-size:1rem;color:var(--tx)}nav .on{background:var(--ac2);color:var(--ac);font-weight:700}
.side{border-top:1px solid var(--bd);padding:.8rem 1rem;font-size:.8rem}.side label{display:block;margin-bottom:.4rem}.side button{display:block;width:100%;border:0;text-align:left;padding:.5em 0;margin-top:.3rem}
main{flex:1;min-width:0;padding:1.5rem}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.top select{width:auto}
.ro{background:var(--ac2);border-left:4px solid var(--ac);padding:.4rem .8rem;margin-bottom:.8rem}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1rem}
.g2{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}
.cd{background:var(--sf);border:1px solid var(--bd);padding:1rem}
.big{font-size:1.6rem;font-weight:700;margin:.4rem 0;color:var(--ac)}.mu{color:var(--mu)}.neg{color:var(--rd)!important}
.chip{border:1px solid var(--bd);padding:.1em .6em;font-size:.85rem}
.l{display:flex;justify-content:space-between;gap:.5rem}
.tw{overflow-x:auto;background:var(--sf);border:1px solid var(--bd);margin:.5rem 0 1rem}
table{border-collapse:collapse;width:100%}th,td{padding:.5rem .7rem;text-align:left;border-bottom:1px solid var(--bd);white-space:nowrap}th{font-size:.8rem;color:var(--mu);text-transform:uppercase}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.4rem 0}.row>*{width:auto}
.pos{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
.pl{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-top:.5rem}.pl button{text-align:left;padding:.6rem}
#md{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:20;padding:1rem}#md[hidden]{display:none}
.mb{background:var(--sf);border:1px solid var(--ac);padding:1.2rem;width:min(420px,100%);max-height:90vh;overflow:auto}
.mb label,.auth label{display:block;margin:.6rem 0;font-size:.85rem;color:var(--mu)}.er{color:var(--rd);min-height:1.2em}
.auth{max-width:380px;margin:8vh auto;padding:1.5rem;background:var(--sf);border:1px solid var(--bd)}
ul.gd li{margin:.3rem 0}
#tk{display:none}
@media (max-width:860px){.shell{flex-direction:column}aside{width:100%;height:auto;position:static}aside nav{flex-direction:row;overflow-x:auto;flex:none}nav button{white-space:nowrap}.g2,.pos{grid-template-columns:1fr}}
/* Impression thermique 80 mm */
@media print{body>*:not(#tk){display:none!important}body{background:#fff}
#tk{display:block;width:72mm;margin:0;color:#000;background:#fff;font:12px/1.35 "Courier New",monospace}
#tk .c{text-align:center;margin:3px 0}#tk hr{border:0;border-top:1px dashed #000}#tk .l{display:flex;justify-content:space-between}@page{size:80mm auto;margin:3mm}}

/* Mise à jour captures */
.top2{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.top2 h2{margin:.2em 0}
.sub{display:flex;gap:1.6rem;border-bottom:1px solid var(--bd);margin:.4rem 0 1rem;overflow-x:auto}.sub button{border:0;border-bottom:2px solid transparent;background:none;padding:.6em 0;font-weight:700;white-space:nowrap;color:var(--tx)}.sub .on{border-color:var(--ac);color:var(--ac)}
.srch{width:220px}.chip.blue{border-color:#38a1ff;color:#38a1ff}
.fl{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0}.fl>*{width:auto}
.kc{border-top:3px solid var(--ac)}.kc.r{border-color:var(--rd)}.kc.o{border-color:#f5a623}.kc.p{border-color:#a45cff}
.bl{color:#5aa9ff}.tl{color:#2ee6c8}.rd{color:var(--rd)}textarea{font-size:.8rem}

/* Captures 2 */
[hidden]{display:none!important}
.pos2{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem}.g2c{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.seg{display:inline-flex}.seg button+button{border-left:0}.pl button b{color:var(--tx)}
@media (max-width:860px){.pos2,.g2c{grid-template-columns:1fr}}

/* Mise à jour 3 : modales, tickets, suppression */
.mb{width:min(440px,100%)}.mb.w{width:min(560px,100%)}
.mh{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid var(--bd)}
.mh h3{margin:0;text-transform:uppercase;font-size:1rem;letter-spacing:.02em}
.x{margin-left:auto;border:0;background:transparent;font-size:1.1rem;padding:.1em .5em;color:var(--mu)}.x:hover{color:var(--ac);background:transparent}
.mb label{text-transform:uppercase;font-size:.78rem}.mb label i{font-style:normal;color:var(--ac)}.mb input,.mb select,.mb textarea{text-transform:none;font-size:.95rem;margin-top:.25rem}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}.fg .fw,.fg>div.fw{grid-column:1/-1}
.mb hr{border:0;border-top:1px solid var(--bd);margin:.6rem 0}
.full{width:100%;padding:.8em}
.seg3{display:flex;gap:.5rem;margin-top:.25rem}.seg3 button{flex:1;text-transform:none;font-size:.85rem}.seg3 .on{background:var(--ac2);border-color:var(--ac);color:var(--ac);font-weight:700}
.sm{font-size:.8rem}.big2{font-size:1.15rem;font-weight:700;color:var(--ac)}
.g3{display:grid;grid-template-columns:1fr 1.1fr 1.1fr;gap:1rem;margin-bottom:1rem}.g3 p{margin:.4rem 0}
.gpf{display:grid;grid-template-columns:1fr 1.6fr;gap:1rem}
@media (max-width:860px){.g3,.gpf{grid-template-columns:1fr}}
.dg{background:#e0131a;border-color:#e0131a;color:#fff;font-weight:700}.dg:hover{background:#ff2a30}
.dgi:hover{background:#3a1010;border-color:var(--rd);color:var(--rd)}
.fsz{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;border:1px solid var(--bd);padding:.4rem .6rem;margin-bottom:.4rem}
.fsz button{padding:.2em .7em}
/* Ticket : aperçu à l'écran et impression 80 mm */
.paper,#tk{background:#fff;color:#000;font-family:"Courier New",Courier,monospace;line-height:1.35}
.paper{width:302px;max-width:100%;margin:.6rem auto;padding:12px;max-height:52vh;overflow:auto;border:1px solid #888}
.paper .l,#tk .l{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.paper .tkh,#tk .tkh{font-weight:700;font-size:1.15em;margin-bottom:.4em}
.paper .box,#tk .box{border:1px solid #000;padding:4px 6px;margin:6px 0}
.paper .c,#tk .c{text-align:center}.paper hr,#tk hr{border:0;border-top:1px dashed #000}
.top2 h2 button{padding:.05em .5em;font-size:1.1rem;vertical-align:middle;margin-right:.4rem}.paper{max-height:58vh}

/* Bouton de réinitialisation */
.danger{border-color:var(--rd);color:var(--rd)}.pri.danger{background:var(--rd);color:#fff}

nav button svg{width:16px;height:16px;margin-right:.65rem;vertical-align:-3px;flex:none}.gh svg,button svg{pointer-events:none}td .gh svg{margin:0;vertical-align:-3px}
