:root{--bg:#141d17;--panel:#25372a;--panel2:#1b2a20;--gold:#d7b778;--line:#65765d;--ink:#f3ead7;--muted:#bdc7b9;--bad:#f2b6a2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#304735,var(--bg) 75%);color:var(--ink);font:15px/1.5 system-ui,sans-serif}h1,h2,h3,.brand{font-family:Georgia,serif}h1,h2,h3{color:var(--gold);margin:0 0 15px}a{color:var(--gold)}header{background:#15231a;border-bottom:3px solid var(--gold);padding:20px max(18px,calc((100vw - 1250px)/2))}.brand{font-size:30px;font-weight:bold;color:var(--gold);text-decoration:none}header small{display:block;color:var(--muted);letter-spacing:2px}nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}nav a{padding:7px 11px;border:1px solid #7e795e;border-radius:5px;text-decoration:none}nav a.active{background:var(--gold);color:#18241a}main{max-width:1250px;margin:24px auto 60px;padding:0 16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:20px;margin:0 0 20px;box-shadow:0 10px 30px #0002}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.item{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:13px}.item strong{display:block;font-family:Georgia,serif}.item small{color:var(--muted)}.price{font-size:18px;color:var(--gold);font-weight:bold}.muted{color:var(--muted)}.bad{color:var(--bad)}.success{color:#a7e1af}.flash{padding:13px;border:1px solid var(--gold);background:#192b1d;border-radius:7px;margin-bottom:18px}input,select,textarea,button{font:inherit}input,select,textarea{background:#101c14;color:#fff;border:1px solid #81907a;border-radius:6px;padding:10px;width:100%}input[type=checkbox]{width:auto}label{display:block;color:var(--muted);margin:0 0 10px}label input,label select,label textarea{margin-top:5px}button,.btn{display:inline-block;background:var(--gold);border:1px solid var(--gold);color:#152118;border-radius:6px;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none}button.secondary,.btn.secondary{background:transparent;color:var(--gold)}button:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.row>*{flex:1;min-width:130px}.row button{flex:0 0 auto}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #526552}th{color:var(--gold)}td input{min-width:80px}details{margin:6px 0}summary{cursor:pointer;color:var(--gold)}.right{text-align:right}.hidden{display:none!important}.paper{background:#eee0c0;color:#302719;border:2px solid #b5a17b;border-radius:5px;padding:20px}.paper h2{color:#5b4324}.paper table td,.paper table th{color:#302719;border-color:#baa887}.paper .muted{color:#635742}.tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tools>*{max-width:350px}.tiny{font-size:12px}.nowrap{white-space:nowrap}@media(max-width:800px){.grid{grid-template-columns:1fr}.panel{padding:14px}.brand{font-size:25px}}@media print{header,.no-print,button,form{display:none!important}body{background:white;color:black}main{max-width:none;margin:0}.panel,.paper{box-shadow:none;background:white;color:black;border:0}h1,h2,h3,th{color:black!important}}
/* DeLaCruz — comptoir western restauré */
body{background:radial-gradient(ellipse at 50% -15%,#53624b 0%,#27352b 37%,#121b17 100%);font-family:Georgia,'Times New Roman',serif}
header{background:linear-gradient(145deg,#15261b,#31402c);border-bottom:4px double #c6a66c;box-shadow:0 10px 24px #0005}
.brand{font-size:clamp(24px,3vw,38px);letter-spacing:.5px;text-shadow:0 2px #0006}
nav a{font-family:system-ui,sans-serif;font-size:13px;background:#1b2b20;transition:background .2s}nav a:hover{background:#4a5a3d}
.panel{background:linear-gradient(145deg,#2c3b2d,#1c2b21);border:1px solid #9d8c62;box-shadow:inset 0 0 0 3px #17231a,0 12px 28px #0003}
.cash-head{text-align:center;margin:5px 0 24px;padding:20px 15px 16px;border-top:1px solid #8e805c;border-bottom:1px solid #8e805c;background:linear-gradient(90deg,transparent,#31412e80,transparent)}
.cash-head h2{font-size:clamp(30px,4vw,48px);margin:3px 0;color:#e8cb8b;text-shadow:0 2px 3px #0009}.cash-head p{margin:0;color:#d9d0b6;font-style:italic}
.cash-kicker,.ticket-heading span{font:700 11px/1.5 system-ui,sans-serif;letter-spacing:3px;color:#e6cf97}
.cash-grid{grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);align-items:start}
.cash-products{padding:23px}.cash-products h3{font-size:26px;border-bottom:1px solid #857c56;padding-bottom:10px}
.cash-products .cards{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:13px;max-height:640px;overflow:auto;padding:4px}
.cash-products .product{min-height:160px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;background:linear-gradient(145deg,#384c35,#202e24);border:1px solid #9d865c;border-radius:5px;box-shadow:inset 0 0 0 2px #26382b,0 4px 8px #0003}
.cash-products .product strong{font-size:17px;line-height:1.25;color:#f0e6cf}.cash-products .product small{font:12px system-ui,sans-serif;color:#bfc8b6}.cash-products .product .price{font-size:18px}
.cash-products .product button,.cash-submit{background:linear-gradient(#ddc188,#b99558);color:#1e261c;border:1px solid #f4db9e;font-weight:800;letter-spacing:.4px}
.cash-products .product button:disabled{opacity:.45;cursor:not-allowed}
.cash-basket{position:sticky;top:16px;background:linear-gradient(145deg,#e8d7b1,#c9b184);color:#302718;border:6px double #715837;box-shadow:0 15px 30px #0006}
.cash-basket h2,.cash-basket .price{color:#60431e}.cash-basket .muted{color:#615541}.cash-basket .ticket-heading{text-align:center;border-bottom:2px dashed #8d7554;padding-bottom:12px;margin-bottom:20px}.cash-basket .ticket-heading span{color:#76532e}.cash-basket .ticket-heading h2{margin:4px 0;font-size:30px}
.cash-basket input,.cash-basket select,.cash-basket textarea{background:#f7ebd2;color:#292319;border:1px solid #907653}
.cash-basket table{color:#342c1e}.cash-basket th{color:#4a371c}.cash-basket .cash-submit{width:100%;font-size:16px;padding:13px}
.ledger{border:2px solid #b49b65}.finance-cards .item{min-height:90px}.finance-cards .item strong{font-size:21px;color:#e7cb8b;margin-top:8px}
@media(max-width:900px){.cash-grid{grid-template-columns:1fr}.cash-basket{position:static}.cash-products .cards{max-height:none}}
@media print{.cash-basket{background:white;color:black;box-shadow:none}.cash-head,.cash-products{display:none}.ledger{border:0}}

/* Correctifs lisibilité, montants et impression */
.cash-basket label,.cash-basket .cash-label{color:#49351f;font-weight:700}
.cash-basket .scroll{max-width:100%}.cash-basket table{table-layout:auto;width:100%;font-size:13px}
.cash-basket td,.cash-basket th{padding:8px 4px;overflow-wrap:anywhere}
.cash-basket td:nth-child(3),.cash-basket th:nth-child(3){white-space:nowrap;text-align:right}
.cash-basket td input{min-width:52px!important;width:60px!important;padding:6px 3px}
.cash-discounts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cash-total{font:bold clamp(20px,2.2vw,29px)/1.25 Georgia,serif;color:#503719;text-align:right;white-space:nowrap;margin:12px 0;overflow-wrap:normal}
.ticket-summary{margin-left:auto;max-width:340px;padding:12px 0}.ticket-summary>div{display:flex;justify-content:space-between;gap:16px;margin:7px 0}.ticket-summary strong{white-space:nowrap}.ticket-summary .grand-total{border-top:2px solid #755d3d;padding-top:10px;font-size:22px;font-weight:700}
.paper td:nth-child(n+3),.paper th:nth-child(n+3){white-space:nowrap;text-align:right}
@media(max-width:460px){.cash-basket{padding:10px;border-width:3px}.cash-basket table{font-size:12px}.cash-basket td,.cash-basket th{padding:6px 2px}}

/* Saisie séparée du ticket */
.cash-controls{margin:0 0 18px;padding:20px 24px;border:1px solid #b39a63}
.cash-controls h3{margin:0 0 15px;color:#e9cc91}
.cash-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:13px;align-items:end}
.cash-controls-grid label{display:flex;flex-direction:column;gap:6px;color:#f0e4c9}
.cash-controls-grid .cash-discounts{display:contents}
.cash-controls-grid textarea{min-height:50px}
.cash-basket .cash-total{font-size:clamp(20px,2.4vw,28px);white-space:nowrap;overflow:visible}
.cash-basket .scroll{overflow-x:auto}
.cash-basket table{min-width:320px}
.cash-basket td:nth-child(3){white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.inline-edit{display:inline-block;min-width:36px;min-height:25px;padding:4px 7px;border-bottom:1px dashed #d5b978;cursor:text;border-radius:4px}
.inline-edit:hover,.inline-edit:focus{background:#556a48;outline:1px solid #d5b978}
.inline-input{min-width:90px;max-width:220px;width:100%;padding:5px;font:inherit}
@media print{.cash-controls{display:none!important}}

/* Lisibilité du récapitulatif écran, impression conservée */
.paper{background:#f2e5c8!important;color:#2b241b!important;border:2px solid #a48a5f!important;box-shadow:0 10px 28px #0005!important}
.paper h2,.paper h3{color:#4c351d!important}
.paper p,.paper div,.paper span,.paper td,.paper th,.paper strong{color:#2b241b!important}
.paper .ticket-summary{color:#2b241b!important}
.paper .ticket-summary>div{color:#2b241b!important}
.paper .ticket-summary .grand-total{color:#382916!important}
.paper table th{background:#ddc9a0!important;color:#3c2c19!important}
.paper table tr:nth-child(even){background:#e9d9b7!important}
.paper table td,.paper table th{border-bottom:1px solid #b7a27e!important}
.paper .muted{color:#5e4b34!important}
.cash-controls-grid label:has(textarea){grid-column:1/-1}
.cash-controls-grid textarea{min-height:58px;resize:vertical;width:100%}
@media print{.paper{background:white!important;color:black!important;box-shadow:none!important}.paper *{color:black!important}}

/* Atelier de fabrication */
.craft-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:18px;align-items:start}
.craft-layout .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-top:12px}
.craft-card{display:flex;flex-direction:column;gap:10px;justify-content:space-between}
.craft-card button{width:100%}
.craft-basket{position:sticky;top:12px}
.craft-line{display:grid;grid-template-columns:minmax(0,1fr) 72px auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #ffffff25}
.craft-line input{width:72px;min-width:0}
.craft-line button{padding:8px}
@media(max-width:800px){.craft-layout{grid-template-columns:1fr}.craft-basket{position:static}}
