:root{--paper:#d8bf8b;--paper2:#ecd7a6;--ink:#2a160c;--muted:#6d4d2e;--line:#8b6239;--red:#8e2418;--green:#2f6b31;--dark:#20140c}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;background:radial-gradient(circle at top,#3b2617,#0f0a06 70%);min-height:100vh}a{color:inherit}header{color:#f4e2b8;padding:22px 32px;background:#120d08;border-bottom:3px double #6e4828;display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}h1{margin:0;font-size:32px}header p{margin:5px 0 0;color:#c8a875}.wrap{padding:18px}.panel{background:linear-gradient(180deg,var(--paper2),var(--paper));border:3px double var(--line);border-radius:14px;padding:18px;box-shadow:0 12px 35px #0009;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.layout{display:grid;grid-template-columns:1fr 390px;gap:18px}.side{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}h2{margin:0 0 12px;font-size:25px;color:#4b2711;border-bottom:2px solid #8b6239;padding-bottom:8px}h3{margin:0 0 8px}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a,.btn,button{border:2px solid #7a4d27;background:#3b2414;color:#f6dfae;border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:bold;cursor:pointer}.nav a.active,.btn-red{background:#8e2418}.btn-green{background:#2e5b27}.btn-small{padding:6px 9px;font-size:13px}input,select,textarea{font:inherit;border:2px solid #8b6239;border-radius:8px;background:#f8e8bd;color:var(--ink);padding:9px;width:100%}label{font-weight:bold}.row{display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;margin:8px 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px}table{width:100%;border-collapse:collapse;margin-top:8px;background:#ecd7a655}td,th{border-bottom:1px solid #a67b4d;padding:8px;text-align:left;vertical-align:top}.recipe{background:rgba(255,245,210,.55);border:2px solid #956a3f;border-radius:12px;padding:14px}.pill{display:inline-block;border:1px solid #8b6239;border-radius:999px;padding:3px 8px;background:#ead09b;color:#4b2711;font-size:13px;margin:2px}.muted{color:var(--muted);font-size:13px}.ok{color:var(--green);font-weight:bold}.miss{color:#a3261b;font-weight:bold}.alert{padding:10px;border-radius:10px;margin-bottom:12px}.alert.ok{background:#d7e5bc;border:2px solid #517534}.alert.err{background:#f4d4bf;border:2px solid #9c321f}.login{max-width:440px;margin:8vh auto}.actions{display:flex;gap:8px;flex-wrap:wrap}.nowrap{white-space:nowrap}@media(max-width:1050px){.layout{grid-template-columns:1fr}.side{position:relative;max-height:none}}@media print{.nav,.no-print,header .right{display:none}.panel{box-shadow:none}body{background:white}.layout{display:block}}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.recipe-card{background:rgba(255,245,210,.62);border:2px solid #956a3f;border-radius:12px;padding:14px}.recipe-card h3{font-size:24px;margin:0 0 4px}.recipe-card .desc{color:var(--muted);font-style:italic;margin:0 0 8px;min-height:22px}.recipe-card ul{margin:10px 0 12px;padding-left:20px}.recipe-card button{width:100%;margin-top:8px;border-radius:8px}.category-block{margin-bottom:22px}.print-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}
.form-grid.two{grid-template-columns:1fr 1fr;align-items:start}.mini-panel{border:2px solid #9c7042;border-radius:10px;background:rgba(255,245,210,.45);padding:14px}.mini-panel h3{margin-top:0;color:#4b2711}@media(max-width:900px){.form-grid.two{grid-template-columns:1fr}}

.drawer{padding:0;overflow:hidden}.drawer>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px}.drawer>summary::-webkit-details-marker{display:none}.drawer>summary:before{content:'▸';font-size:22px;font-weight:bold}.drawer[open]>summary:before{content:'▾'}.drawer>summary h2,.drawer>summary h3{margin:0;border:0;padding:0}.drawer>.cards,.drawer>table,.drawer>h3,.drawer>p,.drawer>form{margin-left:18px;margin-right:18px}.drawer>table{width:calc(100% - 36px)}.drawer>.cards{margin-bottom:18px}.supplier-drawer{border:2px solid #956a3f;border-radius:12px;background:rgba(255,245,210,.45);margin:10px 0}.supplier-drawer form{margin-bottom:14px}


.public-armurerie header{background:linear-gradient(180deg,#1a1009,#0d0805);}
.public-wrap{max-width:1320px;margin:0 auto}.notice-panel{text-align:center}.notice-panel h2{display:none}.notice-panel p{font-size:22px;margin:0}.public-hero{text-align:center}.public-hero h2{font-size:42px;text-transform:uppercase;letter-spacing:2px;border:0;margin-bottom:8px}.public-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.public-card{background:rgba(255,245,210,.62);border:3px double #956a3f;border-radius:12px;padding:18px;text-align:center;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.public-card h3{font-size:24px;margin:0 0 8px;color:#351b0d}.public-card .desc{font-style:italic;color:var(--muted);margin:0 0 10px}.public-price{font-size:30px;font-weight:bold;margin:12px 0 0;color:#3b1d0c}.ammo-catalog{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media(max-width:700px){.public-hero h2{font-size:30px}.notice-panel p{font-size:18px}}
.public-img-wrap{height:130px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #a67b4d;padding-bottom:10px}
.public-img{max-width:100%;max-height:120px;object-fit:contain;filter:drop-shadow(0 5px 6px #0005)}
.public-img-empty{border:2px dashed #b38a58;border-radius:10px;background:rgba(255,245,210,.35);color:#7a5732;font-style:italic}
.image-help code{background:#f8e8bd;border:1px solid #8b6239;border-radius:6px;padding:2px 6px}


/* Catalogue public Armurerie Miller & Miller - blocs compacts */
.armurerie-category-panel{padding:18px 20px}
.armurerie-category-panel h2{font-size:28px;text-transform:none;letter-spacing:0;text-align:left;border-bottom:2px solid #8b6239;margin-bottom:14px}
.armurerie-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:stretch}
.armurerie-product-card{background:rgba(255,245,210,.72);border:2px solid #9a6b3d;border-radius:10px;padding:10px;text-align:center;min-height:205px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.armurerie-product-image{height:105px;border:2px solid #b0824d;border-radius:8px;background:rgba(248,232,189,.55);display:flex;align-items:center;justify-content:center;padding:8px;color:#7a5732;font-style:italic;overflow:hidden;font-size:13px}
.armurerie-product-image img{max-width:100%;max-height:90px;object-fit:contain;filter:drop-shadow(0 4px 5px #0005)}
.armurerie-product-card h3{font-size:17px;line-height:1.1;margin:0;color:#351b0d;min-height:38px;display:flex;align-items:center;justify-content:center}
.armurerie-price-box{border:2px solid #8b6239;border-radius:8px;background:#f8e8bd;padding:7px 8px;display:block}
.armurerie-price-box span{display:block;font-size:12px;color:#6d4d2e;font-weight:bold;margin-bottom:2px}
.armurerie-price-box strong{display:block;font-size:19px;color:#3b1d0c;white-space:nowrap}
@media(max-width:700px){.armurerie-product-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.armurerie-product-card{min-height:190px}.armurerie-product-image{height:92px}.armurerie-product-image img{max-height:78px}}

/* V3 : navigation latérale et formulaires dynamiques */
body:not(.public-armurerie) header{margin-left:245px;padding:18px 26px}
body:not(.public-armurerie) .wrap{margin-left:245px}
body:not(.public-armurerie) .nav{position:fixed;left:0;top:0;bottom:0;width:245px;padding:20px 14px;background:#120d08;border-right:3px double #6e4828;display:flex;flex-direction:column;flex-wrap:nowrap;gap:7px;overflow:auto;z-index:20}
body:not(.public-armurerie) .nav a{display:block;border-radius:10px}
.nav-section-title{display:block;color:#d4aa6b;font-size:12px;font-weight:bold;letter-spacing:1.4px;text-transform:uppercase;border-bottom:1px solid #6e4828;padding:12px 5px 5px;margin-top:4px}
.sale-line,.tariff-card{border:2px solid #956a3f;border-radius:12px;padding:14px;background:rgba(255,245,210,.5);margin:10px 0}
.sale-line-grid{display:grid;grid-template-columns:140px 2fr 100px 130px auto;gap:8px;align-items:end}
.tariff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
@media(max-width:900px){.sale-line-grid{grid-template-columns:1fr 1fr}.sale-line-grid .wide{grid-column:1/-1}}
@media(max-width:760px){body:not(.public-armurerie) header,body:not(.public-armurerie) .wrap{margin-left:0}body:not(.public-armurerie) .nav{position:relative;width:auto;flex-direction:row;flex-wrap:wrap}.nav a{flex:1 1 140px}.nav-section-title{flex:1 0 100%}}
.medical-card{background:rgba(255,245,210,.55);border:2px solid #956a3f;border-radius:12px;padding:14px;margin:12px 0}.dashboard-number{font-size:38px;margin:8px 0 0;font-weight:bold}.treatment-line{display:grid;grid-template-columns:2fr 110px 2fr;gap:8px;margin:8px 0}.stock-alert{background:#f4d4bf}.table-scroll{overflow-x:auto}.table-scroll table{min-width:1050px}.calc-result{background:#2a180e;color:#f8e8bd;border-radius:12px;padding:18px;font-size:18px;line-height:1.45}@media(max-width:800px){.treatment-line{grid-template-columns:1fr}}
.creation-type-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.material-line{display:grid;grid-template-columns:2fr 150px auto;gap:8px;margin:8px 0;align-items:center}.fabrication-drawer>.cards{padding:0 18px 18px}@media(max-width:720px){.material-line{grid-template-columns:1fr}.material-line button{width:100%}}

/* V7 : cadre de travail aligné pour une résolution de référence 1920 × 1080 */
body:not(.public-armurerie) header,body:not(.public-armurerie) .wrap{width:calc(100% - 245px);max-width:1675px}
body:not(.public-armurerie) header{padding-left:24px;padding-right:24px}
body:not(.public-armurerie) .wrap{padding:18px 24px 24px}
.wrap,.panel,.layout,.layout>*,.form-grid>*{min-width:0}
.panel{overflow-wrap:anywhere}
.medical-price-grid{min-width:max-content}.medical-price-grid th,.medical-price-grid td{min-width:112px}.medical-price-grid th:first-child,.medical-price-grid td:first-child{min-width:170px;position:sticky;left:0;z-index:2;background:#ecd7a6}.medical-price-grid tr.stock-alert td:first-child{background:#f4d4bf}.medical-price-input{min-width:96px;padding:7px}.medical-price-grid th:last-child,.medical-price-grid td:last-child{position:sticky;right:0;z-index:2;background:#ecd7a6}
.medical-price-grid tfoot th{background:#d9bd84;position:sticky;bottom:0;z-index:3}.medical-price-grid tfoot th:first-child{left:0;z-index:4}.medical-column-form button{width:100%;white-space:normal}.catalog-image-admin{border-top:1px solid #a67b4d;padding-top:8px;display:grid;gap:6px;text-align:left}.catalog-image-admin label{font-size:12px}.catalog-image-admin input[type=file]{font-size:11px;padding:6px}.catalog-image-admin button{width:100%}
.medical-stock-drawer>.supplier-drawer,.drawer>.tariff-grid{margin-left:18px;margin-right:18px}.drawer>.tariff-grid{margin-bottom:18px}.compact-medical-card{margin:0;display:flex;flex-direction:column;justify-content:space-between}.medical-component-line>div{min-width:0}
.craft-unavailable{opacity:.78}.recipe-card button:disabled,.recipe-card input:disabled{cursor:not-allowed;filter:grayscale(.75);opacity:.65}
.catalog-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:0 18px 18px}.catalog-admin-card{border:2px solid #956a3f;border-radius:12px;padding:14px;background:rgba(255,245,210,.55);display:flex;flex-direction:column;gap:9px}.catalog-admin-card p{margin:0}.catalog-admin-card h3{font-size:20px;margin:0}.catalog-admin-card button{width:100%;margin-top:auto}.catalog-admin-preview{height:150px;border:2px solid #b0824d;border-radius:9px;background:rgba(248,232,189,.6);display:flex;align-items:center;justify-content:center;color:var(--muted);font-style:italic;overflow:hidden}.catalog-admin-preview img{width:100%;height:100%;object-fit:contain;padding:8px}.catalog-admin-description{min-height:34px}.catalog-admin-card input[type=file]{font-size:13px;padding:7px}
.quote-line{display:grid;grid-template-columns:minmax(280px,2fr) 140px auto;gap:10px;align-items:end;border:2px solid #956a3f;border-radius:12px;padding:10px 14px;margin:10px 0;background:rgba(255,245,210,.5)}.quote-line p{margin:0}.quote-line-description{grid-column:1/-1;border-top:1px solid #b18450;padding-top:8px;font-style:italic}.quote-weapon-description{margin-top:5px;max-width:430px;font-style:italic;color:var(--muted);font-size:13px;line-height:1.3}.quote-results{display:grid;grid-template-columns:1fr;gap:0}.quote-results table tfoot{background:#d9bd84}.quote-results table tfoot th{font-size:17px}.quote-customer input{background:#fff0c9}@media(max-width:760px){.quote-line{grid-template-columns:1fr 110px}.quote-line p:last-of-type{grid-column:1/-1}.quote-line button{width:100%}}
@media(min-width:1921px){body:not(.public-armurerie) header,body:not(.public-armurerie) .wrap{margin-left:calc(245px + (100vw - 1920px)/2)}}
@media(max-width:760px){body:not(.public-armurerie) header,body:not(.public-armurerie) .wrap{width:100%;max-width:none;margin-left:0;padding-left:14px;padding-right:14px}}
