:root{--brun:#5a3017;--brun2:#7b4521;--or:#c58a2a;--fond:#f7f0e4;--card:#fffdf9;--texte:#2e241d;--rouge:#b52b2b;--vert:#247347;--gris:#75685e}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#fffdf9,#f2e6d5);color:var(--texte);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;min-height:100vh}header{position:sticky;top:0;z-index:20;background:#fffdf9;border-bottom:3px solid var(--or);box-shadow:0 3px 14px #0001}.top{max-width:1200px;margin:auto;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.top strong{display:block;color:var(--brun);font-size:24px}.top span{color:var(--gris)}.user{font-weight:700}.user a{color:var(--rouge)}nav{max-width:1200px;margin:auto;padding:0 16px 11px;display:flex;gap:8px;overflow:auto}nav a,.btn{border:0;background:var(--brun);color:#fff;text-decoration:none;border-radius:12px;padding:12px 15px;font-weight:800;cursor:pointer;display:inline-block;text-align:center}.btn.secondary{background:#eee;color:var(--brun)}.btn.danger{background:var(--rouge)}.btn.ok{background:var(--vert)}main{max-width:1200px;margin:auto;padding:16px}.card{background:var(--card);border:1px solid #e3cfad;border-radius:18px;padding:18px;box-shadow:0 8px 22px #5a301712;margin-bottom:16px}h1,h2,h3{color:var(--brun);margin-top:0}.login{max-width:430px;margin:7vh auto}.field{margin:12px 0}.field label{font-weight:800;display:block;margin-bottom:6px}input,select,textarea{width:100%;padding:13px;border:1px solid #d6bd99;border-radius:11px;font:inherit;background:#fff}.alert{padding:13px;border-radius:12px;background:#fff0c9;border:1px solid #e7c56e;margin-bottom:12px}.alert.ok{background:#e7f6ed;border-color:#9dceb0}.alert.err{background:#ffeaea;border-color:#e0a1a1}.caisse-layout{display:grid;grid-template-columns:1fr 340px;gap:16px}.categories{display:flex;gap:8px;overflow:auto;margin-bottom:12px}.category{white-space:nowrap;background:#ead9bb;color:var(--brun)}.category.active{background:var(--brun);color:#fff}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product{min-height:105px;background:#fff;border:2px solid #e2c99e;border-radius:15px;padding:12px;color:var(--brun);font-weight:900;font-size:16px;cursor:pointer}.product b{display:block;font-size:21px;color:var(--brun2);margin-top:8px}.cart{position:sticky;top:135px;align-self:start}.cart-row{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid #eadfce;padding:9px 0}.qty{display:flex;gap:6px;align-items:center}.qty button{width:34px;height:34px;border:0;border-radius:9px;background:#ead9bb;font-size:20px}.total{display:flex;justify-content:space-between;font-size:27px;font-weight:900;color:var(--brun);padding:14px 0}.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.payment{padding:15px 5px;border:2px solid #d9c09a;background:#fff;border-radius:12px;font-weight:900}.payment.selected{background:var(--brun);color:#fff}.cash-box{background:#f5ead7;border-radius:12px;padding:11px;margin-top:10px}.change{font-size:23px;font-weight:900;color:var(--vert)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left}th{background:#ead9bb;color:var(--brun)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{background:#fff;border:1px solid #dec49d;border-radius:14px;padding:14px}.stat strong{display:block;font-size:24px;color:var(--brun)}footer{max-width:1200px;margin:20px auto;padding:16px;color:var(--gris);font-size:12px}@media(max-width:850px){.caisse-layout{grid-template-columns:1fr}.cart{position:static}.products{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.top strong{font-size:20px}}@media(max-width:430px){main{padding:9px}.card{padding:12px;border-radius:14px}.product{min-height:92px;font-size:14px}.product b{font-size:18px}.payment-grid{grid-template-columns:1fr}.top span{display:none}nav{padding-inline:8px}nav a{padding:10px 12px}.stats{grid-template-columns:1fr 1fr}}@media print{header,.noprint,footer{display:none!important}main{max-width:none}.card{box-shadow:none}}
