@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#15120f;--panel:#221c17;--panel2:#2d251d;--gold:#d4ac69;--cream:#eee0c6;--muted:#ac9c84;--line:#59452d;--green:#9dbb8e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 5%,#352719 0%,transparent 35%),var(--bg);color:var(--cream);font:14px Inter,Arial,sans-serif;display:flex;min-height:100vh}aside{width:260px;flex-shrink:0;background:linear-gradient(145deg,#302419,#1b1713 65%);border-right:1px solid var(--line);min-height:100vh;padding:28px 15px;display:flex;flex-direction:column}.brand{text-align:center;border-bottom:1px solid var(--line);padding:8px 0 28px}.sigil{display:block;font-size:42px;color:var(--gold)}h1,h2,h3,.eyebrow{font-family:Cinzel,Georgia,serif}h1{font-size:19px;color:var(--gold);margin:9px 0}small,.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted)}nav{padding-top:25px;display:grid;gap:5px}nav button{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#c9bba5;padding:13px 14px;border-radius:5px;cursor:pointer;font:inherit}nav button:hover,nav button.active{background:#4a3522;border-color:#725331;color:#f2d39a}.sidefoot{margin-top:auto;border-top:1px solid var(--line);padding:25px 5px 0;color:var(--gold);text-align:center;font:12px Georgia;line-height:2}main{padding:40px clamp(18px,4vw,64px);width:100%;max-width:1600px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}h2{font-size:30px;color:var(--gold);margin:7px 0}.identity{border:1px solid var(--line);padding:12px 16px;border-radius:4px;color:var(--cream)}.identity span{color:var(--gold)}.notice{background:#382c1e;border-left:3px solid var(--gold);padding:13px 17px;margin-bottom:25px;color:#e3cba8;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.panel,.stat{background:linear-gradient(150deg,#30261d,#201a15);border:1px solid var(--line);border-radius:6px;padding:22px;box-shadow:0 7px 25px #0002}.stat label{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font:30px Cinzel,serif;color:var(--gold);margin:12px 0 5px}.stat span{color:var(--green);font-size:11px}.two{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-top:20px}h3{font-size:17px;color:var(--gold);margin:0 0 20px}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--gold);font-weight:500;font-size:11px;letter-spacing:1px}td,th{padding:13px 8px;border-bottom:1px solid #4d3d2c}td{color:#e1d4bf}tr:last-child td{border-bottom:0}.tag{border:1px solid #79613e;color:#dabb80;border-radius:15px;padding:4px 8px;font-size:11px}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}button.action{background:#76552e;color:#fff0d6;border:1px solid #b78a4d;padding:11px 15px;border-radius:4px;cursor:pointer;font:inherit}button.action:hover{background:#906a3a}input,select{background:#1b1714;border:1px solid #7a5d3d;color:var(--cream);padding:11px;border-radius:4px;font:inherit;max-width:100%}.form{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.form input{flex:1;min-width:140px}.empty{color:var(--muted);padding:20px}.welcome{background:linear-gradient(100deg,#3a2a1b,#221b16);border:1px solid var(--line);padding:25px;margin-bottom:20px}.welcome h3{font-size:22px;margin-bottom:10px}.help{color:var(--muted);font-size:12px;line-height:1.7}button.link{background:none;border:0;color:var(--gold);cursor:pointer;text-decoration:underline} @media(max-width:950px){.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}aside{width:210px}}@media(max-width:650px){body{display:block}aside{width:auto;min-height:0;padding:15px}.brand{padding:0 0 10px}.brand h1{font-size:16px}.sigil{font-size:25px}nav{display:flex;overflow:auto;padding-top:10px}nav button{white-space:nowrap;font-size:12px;padding:9px}.sidefoot{display:none}main{padding:20px 14px}header{align-items:flex-start}h2{font-size:22px}.identity{font-size:11px}.grid{grid-template-columns:repeat(2,1fr)}.stat{padding:13px}.stat strong{font-size:21px}.panel{padding:13px}table{font-size:11px}td,th{padding:9px 4px}}
/* Ajouts v0.2 */
.tablewrap{overflow-x:auto;width:100%}.tablewrap table{width:100%}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.toolbar h3{margin-right:auto}.toolbar input[type=search]{flex:1;min-width:210px}.stock{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700}.stock.good{background:#294b36;color:#b5e7ba}.stock.low{background:#57401f;color:#ffdda0}.stock.critical{background:#5b292a;color:#ffc3c3}.mini{max-width:100px;min-width:72px;padding:8px!important}.total{font-size:1.1rem;font-weight:700;color:#e7c991;text-align:right;margin:18px 0}.linebox{border:1px solid #695338;border-radius:8px;padding:14px;margin:15px 0;background:rgba(0,0,0,.13)}.warn{color:#ffaaaa;font-weight:bold}.import{cursor:pointer;display:inline-flex;align-items:center}select{max-width:100%}.panel{margin-bottom:18px}.form{flex-wrap:wrap}.form input,.form select{min-width:135px;flex:1}.tablewrap td{vertical-align:middle}.notice{line-height:1.5}

/* v0.4 : tableaux fluides, commandes et fenêtres d'édition */
main{min-width:0}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{min-width:0;overflow:hidden}.stat strong{font-size:clamp(18px,2vw,27px);overflow-wrap:anywhere}.two>*{min-width:0}.finance-grid{display:grid;gap:16px;margin-bottom:20px}.finance-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.finance-row.finance-two{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-compact,.form input.tax-compact{width:100px;min-width:90px;max-width:110px;flex:0 0 100px}.gear{background:transparent;border:1px solid #705638;border-radius:5px;color:#e3bd7e;cursor:pointer;padding:7px 11px;font:inherit;white-space:nowrap}.gear:hover{background:#4b3927}.craft-form{display:flex;align-items:end;flex-wrap:wrap;gap:28px;margin:26px 0}.craft-form label{display:flex;flex-direction:column;gap:12px;min-width:200px}.craft-form label:first-child{flex:1;max-width:500px}.craft-form label:nth-child(2){min-width:120px}.qty-compact{width:110px}.order-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;min-width:260px}.recipe-image{width:56px;height:56px;object-fit:contain;border:1px solid #6c5435;border-radius:5px}.recipe-placeholder{font-size:26px;color:#b79a68}.modal-form{display:grid;gap:15px}.modal-form>label{display:grid;gap:7px}.modal-form .ingredient-edit{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #4b3c2a;padding-bottom:8px}.ingredient-edit input{width:90px}dialog{background:#241d17;color:#eee0c6;border:1px solid #987444;border-radius:10px;padding:25px;max-height:85vh;max-width:min(560px,94vw);width:100%;box-shadow:0 20px 90px #000b}dialog::backdrop{background:#000a}.dialog-head{text-align:right;margin-bottom:14px}dialog h3{margin-bottom:20px}@media(max-width:900px){.finance-row{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.finance-row,.finance-row.finance-two{grid-template-columns:1fr}.craft-form{gap:18px}.stat strong{font-size:23px}}

/* v0.5 */
.center-qty{text-align:center;font-weight:700;color:var(--gold)}.modal-form hr,dialog hr{border:0;border-top:1px solid var(--line);width:100%;margin:16px 0}dialog>label{display:grid;gap:8px;margin:12px 0}.finance-row .stat{min-height:122px}

/* v0.6 - Clôture hebdomadaire et archives */
.close-week{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;border-color:#987444;background:linear-gradient(110deg,#3b2d1e,#241c16)}.close-week h3{margin-bottom:8px}.close-week .help{margin:0}.archive-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}.archive-detail h3{margin-top:25px}.archive-detail .toolbar h3{margin:0}.archive-detail .stat{padding:15px}.archive-detail .stat strong{font-size:22px}@media(max-width:900px){.archive-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.archive-stats{grid-template-columns:1fr}}

/* v0.7 */
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-title{font:600 16px Cinzel,Georgia,serif;color:var(--gold)}.dialog-head+.modal-form{margin-top:15px}#ingredient-filter{min-width:185px}.archive-detail{scroll-margin-top:24px}

/* v0.8 */
.toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}.potion-cell{display:flex;align-items:center;gap:12px;min-width:190px}.potion-thumb,.potion-icon{width:42px;height:42px;flex:0 0 42px;object-fit:contain;border:1px solid #705638;border-radius:5px;background:#231c15}.potion-icon{display:grid;place-items:center;color:var(--gold);font-size:24px}.role-card{border:1px solid var(--line);border-radius:7px;padding:16px;margin:14px 0;background:#241d16}.role-card .toolbar label{display:flex;align-items:center;gap:12px}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permissions-grid label{display:flex;align-items:center;gap:8px;font-size:12px}.permissions-grid input{min-width:unset}details summary{cursor:pointer;color:var(--gold);font-weight:600;padding:10px 0}details[open] summary{margin-bottom:12px}@media(max-width:650px){.permissions-grid{grid-template-columns:1fr}}

/* v0.9 */
.forbidden-tag{display:inline-block;background:#6b2924;color:#ffe2d7;border:1px solid #a84a3d;border-radius:4px;padding:3px 7px;margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.07em}
.checkline{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.checkline input{width:auto!important;min-width:unset!important}
.role-modal{max-height:65vh;overflow-y:auto;padding-right:5px}.role-modal .role-card{margin:12px 0}

/* v1.0 */
.role-card input[type=color]{width:48px;min-width:48px;height:36px;padding:2px;cursor:pointer}
.role-modal .toolbar{flex-wrap:wrap}.role-card .toolbar{align-items:end}
#content .tablewrap{overflow-x:auto}

/* v1.1 : identité, audit, statistiques */
.brand-logo{display:block;width:min(100%,225px);max-height:150px;object-fit:contain;margin:0 auto 7px;filter:drop-shadow(0 4px 10px #0009)}
.brand{padding-top:0}.brand h1{margin-top:5px}.identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.identity label{font-size:12px;color:var(--gold)}.identity input{width:190px;min-width:100px;padding:8px}
.chart-legend{display:flex;gap:22px;flex-wrap:wrap;color:var(--cream);font-size:12px;margin:5px 0 15px}.chart-legend span{display:inline-flex;align-items:center;gap:8px}.chart-legend i{width:14px;height:4px;display:inline-block;border-radius:2px}.chart-scroll{width:100%;overflow-x:auto}.chart-scroll svg{display:block;width:100%;min-width:440px;max-height:330px}.audit-action{color:#e7c991;font-weight:600}.audit-detail{font-size:11px;color:#cbbba5;min-width:230px;max-width:550px;overflow-wrap:anywhere}#activity-search{flex:1;min-width:240px}
@media(max-width:650px){.brand-logo{width:125px;max-height:85px}.identity input{width:125px}.identity{padding:8px}.identity label{display:none}}

/* v1.2 : droits par rubrique */
.role-permissions{margin-top:12px;padding:8px 12px;border:1px solid #604b32;border-radius:6px;background:#1e1915}.role-permissions summary{cursor:pointer;color:#e2be7a;font-weight:600}.role-permissions .permissions-grid{padding:12px 0}.role-permissions input[type=checkbox]{accent-color:#bb9455}.role-modal{max-height:70vh;overflow-y:auto}

.notification-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px;border-bottom:1px solid #75604655}.notification-row:last-child{border:0}.notification-row button{white-space:nowrap}textarea{width:100%;min-height:90px;padding:10px;background:#f9f3e6;color:#332719;border:1px solid #a99677;border-radius:5px}.modal-form{display:grid;gap:13px}.modal-form label{display:grid;gap:6px}.muted{overflow-wrap:anywhere}

/* v1.4 — registre de contrats sous forme de cartes */
.contract-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.contract-summary .stat{padding:19px}.contract-summary .stat strong{font-size:clamp(19px,2vw,28px)}.contract-hero{border-color:#79603b}.contract-filter{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 20px;color:#d5bd95;font-size:13px}.contract-filter select{min-width:170px}.contract-list{display:grid;gap:14px}.contract-card{background:linear-gradient(115deg,#33271c,#251d17);border:1px solid #6d5235;border-radius:8px;padding:20px}.contract-card-top{display:flex;align-items:start;justify-content:space-between;gap:14px;flex-wrap:wrap}.contract-card h4{font:17px Cinzel,Georgia,serif;color:#e8cb91;margin:0 0 7px}.contract-partner{color:#c8b89f;font-size:13px;margin:0}.contract-badge{display:inline-block;border-radius:18px;border:1px solid #957340;padding:6px 11px;color:#e9c38b;font-size:12px;white-space:nowrap}.contract-active{border-color:#638c78;color:#a9d6bb}.contract-done{border-color:#587c6b;color:#9fc6a7}.contract-cancelled{border-color:#875e5e;color:#d9a7a7}.contract-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:17px}.contract-card-bottom strong{color:#f0ddbb;font-size:19px}.contract-card-bottom span{color:#bda98b;font-size:12px}.contract-details{border-top:1px solid #54412d;padding-top:12px;margin:16px 0 0;color:#c8b79f;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.contract-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #54412d;padding-top:14px;margin-top:16px}.contract-actions label{color:#c8b79f;font-size:12px;display:flex;align-items:center;gap:8px}.contract-actions select{padding:8px}.contract-form{max-width:760px}.contract-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contract-form-row label{display:grid;gap:7px}.contract-form input,.contract-form select,.contract-form textarea{width:100%;box-sizing:border-box}.contract-form textarea{background:#1b1714;border:1px solid #7a5d3d;border-radius:4px;color:var(--cream);padding:11px;font:inherit}@media(max-width:720px){.contract-summary{grid-template-columns:1fr}.contract-form-row{grid-template-columns:1fr}}

/* Panneau d'ajustements replié par défaut */
.adjustments-collapse > summary.adjustments-toggle {display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;list-style:none;user-select:none;}
.adjustments-collapse > summary.adjustments-toggle::-webkit-details-marker {display:none;}
.adjustments-collapse .adjustments-chevron {display:inline-block;transition:transform .2s ease;}
.adjustments-collapse[open] .adjustments-chevron {transform:rotate(180deg);}
.adjustments-content {margin-top:1.2rem;}

/* v1.6 : caisse, inventaire, tableau de bord */
.inventory-toggle{display:inline-flex!important;align-items:center;list-style:none;cursor:pointer;margin:0 0 8px}.inventory-toggle::-webkit-details-marker{display:none}.inventory-inner{padding:16px 0 4px}.inventory-inner .form{margin:12px 0 20px}.inventory-inner .form label{color:#e2c99c}.inventory-inner .grid{margin-bottom:15px}.welcome+.grid{margin-bottom:20px}.toolbar-actions [data-go]{margin:3px 0}@media(max-width:700px){.inventory-inner .form{display:grid;grid-template-columns:1fr}.inventory-inner .form>*{width:100%}}

/* Version 1.7 : suivi des commandes et comparatif achats / ventes */
.order-date-label{display:flex;flex-direction:column;gap:5px;color:var(--gold);font-size:12px}.order-date-input{min-width:145px;max-width:175px}.order-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.order-cancel-button{color:#e9aaa3!important}.order-cancelled{opacity:.8}.comparison-chart{display:flex;gap:12px;align-items:stretch;min-height:265px;overflow-x:auto;padding:12px 4px 8px}.comparison-group{flex:1 0 95px;min-width:95px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.comparison-bars{height:190px;display:flex;align-items:flex-end;justify-content:center;gap:7px;border-bottom:1px solid #765b3b}.comparison-bar{width:30px;border-radius:5px 5px 0 0;min-height:2px}.sales-bar{background:#d5ad69}.purchases-bar{background:#85b6a4}.comparison-label{color:#ead6b4;font-size:12px}.comparison-group small{color:#b7a58e;font-size:10px;letter-spacing:0;line-height:1.4}

/* v1.8 */
.cancel-order-dialog{width:min(540px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;background:#2b2118;color:#ebd5b1;border:1px solid #977443;border-radius:12px;box-shadow:0 24px 75px #000b;position:fixed;inset:0;margin:auto}.cancel-order-dialog::backdrop{background:#0009}.cancel-order-dialog textarea{width:100%;box-sizing:border-box;background:#1b1714;color:#f2dec1;border:1px solid #7a5d3d;padding:10px;border-radius:5px}.contract-outgoing{color:#dba6a0!important}.contract-incoming{color:#b2d6af!important}.ratio-track{height:15px;background:#3c3025;border-radius:9px;overflow:hidden;margin-top:12px}.ratio-track>div{height:100%;border-radius:9px}.adjustments-toggle h3,.cash-collapse summary h3{margin:0;font:inherit;font-size:19px;color:#e8cb91}.adjustments-toggle,.cash-collapse summary{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;text-align:left}.adjustments-toggle h3,.cash-collapse summary h3{font-family:Cinzel,Georgia,serif}

.contract-break{padding:12px 14px;border-left:3px solid #ad6b5b;background:rgba(122,48,42,.15);color:#e0b9ac;border-radius:5px;margin:12px 0}.contract-break small{opacity:.8}
.potion-thumb{object-fit:contain;background:transparent}

.contract-history{margin-top:24px;border:1px solid #705335;border-radius:8px;background:#241c15;padding:0 14px 14px}.contract-history>summary{cursor:pointer;list-style:none;padding:18px 4px;font:16px Cinzel,Georgia,serif;color:#e8cb91;display:flex;align-items:center;gap:8px}.contract-history>summary::-webkit-details-marker{display:none}.contract-history .history-count{font:13px Georgia,serif;color:#b9a58b}.contract-history .history-arrow{margin-left:auto;transition:transform .2s}.contract-history[open] .history-arrow{transform:rotate(180deg)}.contract-history:not([open]){padding-bottom:0}.contract-history .contract-list{padding-top:10px}

/* Fiches d'inventaire */
.inventory-layout{display:grid;grid-template-columns:minmax(220px,35%) minmax(0,1fr);gap:16px;margin-top:18px}.inventory-list{max-height:72vh;overflow:auto;border:1px solid #705538;border-radius:7px;background:#120f0b}.inventory-entry{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:11px 14px;background:transparent;color:#e8d6b8;border:0;border-bottom:1px solid #4a3825;cursor:pointer;text-align:left;font:inherit}.inventory-entry small{color:#bda98a;margin-top:4px}.inventory-entry.selected,.inventory-entry:hover{background:#42301b;outline:1px solid #b98b49}.inventory-content{min-width:0}.inventory-detail{display:flex;gap:18px;padding:15px;background:#17130e;border:1px solid #775738;border-radius:7px}.inventory-hero{width:34%;min-width:100px;min-height:180px;display:grid;place-items:center;background:#0b0a08;border:1px solid #4d3827}.inventory-hero img{width:100%;height:210px;object-fit:contain}.inventory-hero-icon{font-size:72px;color:#a47b42}.inventory-info{flex:1;min-width:0}.inventory-info h2{color:#e6c28a;margin:0 0 8px;font-size:1.7rem}.inventory-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.inventory-metrics div{padding:8px;background:#211a13;border:1px solid #493722}.inventory-metrics strong{display:block;color:#e9bd76;font-size:1.15rem}.inventory-subpanel{padding:15px;margin-top:12px;background:#17130e;border:1px solid #705538;border-radius:7px}.inventory-recipe{position:relative;padding:12px;margin:9px 0;border:1px solid #55412b;border-radius:5px;min-height:70px}.inventory-recipe p{max-width:85%;overflow-wrap:anywhere}.inventory-recipe img{position:absolute;right:10px;top:8px;width:55px;height:55px;object-fit:contain}@media(max-width:850px){.inventory-layout{grid-template-columns:1fr}.inventory-list{max-height:250px}.inventory-detail{flex-wrap:wrap}.inventory-hero{width:100%}.inventory-hero img{height:180px}}

/* v2.3 — catalogue illustré et fiches d'inventaire */
.inventory-entry-main{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.inventory-entry-main>span{min-width:0}.inventory-entry-main b{font-weight:600;color:#f1d6a5}.inventory-entry-main small{display:block;line-height:1.4}.inventory-thumb{width:54px;height:62px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 4px #000);background:transparent}.inventory-entry-effect{opacity:.85;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inventory-effect{border-top:1px solid #715236;padding:12px 0;margin:8px 0;color:#e5c28f}.inventory-effect p{margin:6px 0;color:#e8ddc9}.inventory-hero img{object-fit:contain;filter:drop-shadow(0 5px 8px #000)}.inventory-entry{padding:10px}.inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-recipe strong:empty{display:none}.potion-thumb,.recipe-image{object-fit:contain}#inventory-category{max-width:200px}@media(max-width:650px){.inventory-metrics{grid-template-columns:1fr}}

/* Défilement assorti au cuir et à l'or de l'officine */
.inventory-list,.inventory-content,.inventory-layout{scrollbar-width:thin;scrollbar-color:#997348 #21170e}
.inventory-list::-webkit-scrollbar,.inventory-content::-webkit-scrollbar{width:10px}
.inventory-list::-webkit-scrollbar-track,.inventory-content::-webkit-scrollbar-track{background:#21170e;border-radius:8px}
.inventory-list::-webkit-scrollbar-thumb,.inventory-content::-webkit-scrollbar-thumb{background:#997348;border:2px solid #21170e;border-radius:8px}
.inventory-entry-gear{flex-shrink:0;color:#d9b67b;border:1px solid #755636;border-radius:5px;padding:7px;font-size:19px;cursor:pointer}
.inventory-entry-gear:hover{background:#5c4126}
.recipe-figures{color:#e6c991;font-size:.92rem}
.modal-recipe-links{display:flex;flex-direction:column;gap:8px;margin-top:18px}

/* Version 2.5 */
.cost-margin-lines{display:flex;flex-direction:column;gap:5px;min-width:110px;white-space:nowrap;line-height:1.4}
.cost-margin-lines b{color:#d5ad69;font-weight:600}
.role-permissions .permissions-grid label{line-height:1.55}

/* Harmonisation des effets et indicateurs */
.inventory-effect,.inventory-effect p,.inventory-effect b{background:transparent!important;color:#e8d3b0!important;border-color:#715236!important}
.inventory-effect{background:linear-gradient(110deg,#30241a,#241b15)!important;border:1px solid #715236!important;border-radius:7px;padding:13px 15px!important}
.role-preview-label{display:grid;gap:5px;margin:10px 8px 15px;color:#d8bb86;font-size:12px}.role-preview-label select{width:100%;max-width:100%;background:#211913;color:#e9d5b4;border:1px solid #755b3b;padding:8px;border-radius:5px}
.inventory-entry .forbidden-tag{display:inline-block;margin:5px 0 0;width:max-content}

/* v2.7 : modales harmonisées, atelier par potion et catégories */
#edit-dialog textarea,#edit-dialog input,#edit-dialog select,dialog textarea,dialog input,dialog select{background:#1b1714!important;color:#f0ddc1!important;border:1px solid #80613e!important;box-sizing:border-box}
#edit-dialog textarea:focus{outline:2px solid #a17c49}
.work-potion{border:1px solid #705536;border-radius:8px;background:#231b15;padding:16px;margin:14px 0}.work-potion-head{display:flex;gap:15px;align-items:center;border-bottom:1px solid #59432c;padding-bottom:12px;margin-bottom:12px}.work-potion-head h3{margin:0 0 5px}.work-potion-image{width:54px;height:65px;object-fit:contain}.work-recipe{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid #4e3b29}.work-recipe:last-child{border:0}.work-recipe-body p{margin:7px 0}.work-recipe .action{flex:none}.work-recipe .action:disabled{opacity:.45;cursor:not-allowed}.category-add{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 22px}.category-add input{flex:1;min-width:190px}.category-row{display:flex;gap:12px;align-items:center;border-top:1px solid #5b4530;padding:11px 0;flex-wrap:wrap}.category-row>span:first-child{flex:1;min-width:140px}.personnel-preview-label{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#e8c995}.personnel-preview-label select{min-width:210px}@media(max-width:650px){.work-recipe{align-items:flex-start;flex-direction:column}}

/* v2.8 : filtres, fenêtres et commandes de fichiers harmonisés */
.inventory-filter-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.inventory-subfilters{margin-top:2px;margin-bottom:18px}.inventory-filter-buttons .filter-active{background:#806038;color:#ffe7b7;border-color:#c69a58}.settings-articles{margin-top:24px;padding-top:15px;border-top:1px solid #695036}.settings-article-grid{display:flex;flex-wrap:wrap;gap:7px;max-height:250px;overflow-y:auto}.settings-article-grid button{text-align:left}.settings-article-grid small{color:#c3a985}.category-rename-dialog,.craft-quantity-dialog{color:#f0dec0}.category-rename-dialog input,.craft-quantity-dialog input{width:100%;background:#1b1714;color:#f0dec0;border:1px solid #80613e;padding:11px;border-radius:5px}.craft-quantity-dialog table{width:100%}dialog input[type=file]::file-selector-button,#edit-dialog input[type=file]::file-selector-button{background:#59432d;border:1px solid #b08a55;color:#f2d9a9;border-radius:5px;padding:9px;cursor:pointer}dialog input[type=checkbox],#edit-dialog input[type=checkbox]{accent-color:#b08a55;width:17px;height:17px}dialog .checkline,#edit-dialog .checkline{display:flex;align-items:center;gap:10px;background:#2d241b;border:1px solid #705539;border-radius:6px;padding:10px}dialog .checkline input{width:auto!important}dialog textarea{background:#1b1714!important;color:#f0ddc1!important;border:1px solid #80613e!important}

/* v2.9 */
.category-editor{margin:0 0 14px 12px;padding:16px;border:1px solid #84643c;border-radius:12px;background:rgba(55,39,24,.8)}
.category-rename-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.category-rename-inline label{flex:1;min-width:220px}.category-article-list{display:grid;gap:7px;margin:12px 0}.category-article-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid #735633;padding:7px 0}.category-article-row span{flex:1}.danger-button{border-color:#a45d50!important;color:#e8b0a3!important}
input[type=number]{color-scheme:dark;accent-color:#bd975f}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{filter:sepia(1) saturate(1.4) brightness(.75);opacity:1}

/* v3.0 : repères discrets et affectation des catégories */
.kind-mark{display:inline-flex;align-items:center;justify-content:center;width:1.4em;height:1.4em;border-radius:50%;font-size:.85em;vertical-align:middle;margin-right:.3em;border:1px solid #9d8055;background:#392d22;color:#e4c38b}
.kind-ingredient{color:#a5c69a;border-color:#68835e}
.kind-potion{color:#f3c36b;border-color:#b98b49;background:#443019;font-size:1em;font-weight:700}
.category-assign{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:18px;padding:15px;border:1px solid #7a6347;border-radius:8px;background:#2c241c}
.category-assign label{flex:1;min-width:240px}
.category-assign .help{flex-basis:100%;margin:0}
.inventory-detail .toolbar-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:20px}
.inventory-detail .toolbar-actions .danger-button{margin-left:8px}

/* v3.1 — noms de catégories repliables */
.category-name-toggle{border:0;background:transparent;color:var(--gold);font:inherit;font-weight:700;text-align:left;cursor:pointer;padding:7px 8px;border-radius:5px;min-width:0;overflow-wrap:anywhere}
.category-name-toggle:hover,.category-name-toggle:focus-visible{background:#443424;outline:1px solid #92734a}
.category-name-toggle[aria-expanded="true"]{text-decoration:underline;text-underline-offset:4px}

/* v3.3 : pictogramme vectoriel, pièces et réorganisation */
.kind-potion{color:#eac174;background:#3d2b16;border-color:#c39750}.potion-flask-svg{display:block;width:1.15em;height:1.15em;flex:none}.septim-coin{display:inline-grid;place-items:center;width:1.12em;height:1.12em;border-radius:50%;border:1px solid #e4bc68;background:radial-gradient(circle at 30% 25%,#f7db8e,#a56a27 80%);color:#55350f;font-size:.9em;font-weight:900;box-shadow:inset 0 0 0 1px #7e531f;vertical-align:middle}.coin-price{white-space:nowrap}.recipe-fabricable-cell{text-align:center;font-weight:650}.tab-order-list{display:grid;gap:5px;max-width:650px}.tab-order-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:7px 12px;border:1px solid #60482f;border-radius:6px;background:#201911}.tab-order-controls{display:flex;gap:8px}.tab-order-controls button{min-width:38px}.tab-order-controls button:disabled{opacity:.3;cursor:not-allowed}

/* v3.4 : agencement et paramètres */
.tab-order-collapse>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;font-size:1.1rem;list-style:none;user-select:none}.tab-order-collapse>summary::-webkit-details-marker{display:none}.collapse-chevron{color:#d9ad63;transition:transform .2s}.tab-order-collapse[open] .collapse-chevron{transform:rotate(180deg)}.tab-order-inside{padding-top:16px}.layout-settings{margin-top:16px}.layout-switch{display:flex;align-items:center;gap:12px;margin:15px 0;color:#f0d6a6}.layout-switch input{accent-color:#c99b53;width:18px;height:18px}.layout-editable{position:relative;outline:1px dashed rgba(222,174,92,.45);outline-offset:2px}.layout-grip{position:absolute;z-index:40;right:3px;top:3px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #d9ad63;border-radius:6px;background:#392717;color:#f2d49b;cursor:grab;touch-action:none;user-select:none;font-size:20px;line-height:1}.layout-grip:active{cursor:grabbing}.layout-mode #content{padding-bottom:100px}#layout-floating{position:fixed;right:24px;bottom:24px;z-index:9999;box-shadow:0 5px 24px #0009}.coin-price{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}

/* v3.5 — responsive commandes et détails du personnel */
#content .panel{min-width:0}#content .tablewrap{max-width:100%;scrollbar-color:#a77b42 #251b13;scrollbar-width:thin}
#content .tablewrap::-webkit-scrollbar{height:9px}#content .tablewrap::-webkit-scrollbar-thumb{background:#987043;border-radius:10px}#content .tablewrap::-webkit-scrollbar-track{background:#251b13}
.discount-box{margin:15px 0;padding:14px;border:1px solid #765735;border-radius:7px;background:#211a14}.discount-box label{display:grid;gap:8px;max-width:370px;color:#e4c58c}.discount-note{display:block;color:#e4c58c;font-size:11px;margin-top:5px}
.staff-details summary{cursor:pointer;color:#eac58b;font-weight:600}.staff-details[open]{min-width:250px}.staff-detail-content{padding:13px;margin-top:10px;background:#1a1511;border:1px solid #735533;border-radius:6px;max-width:540px}.staff-detail-content ul{padding-left:20px;line-height:1.7;overflow-wrap:anywhere}.staff-detail-content strong{color:#e4c18c}
@media(max-width:1250px){
 #content.orders-page .tablewrap table,#content.orders-page .tablewrap tbody,#content.orders-page .tablewrap tr,#content.orders-page .tablewrap td{display:block;width:100%}
 #content.orders-page .tablewrap thead{display:none}
 #content.orders-page .tablewrap tr{border:1px solid #6d5234;border-radius:8px;padding:13px;margin-bottom:13px;background:#241b14}
 #content.orders-page .tablewrap td{display:grid;grid-template-columns:minmax(95px,28%) minmax(0,1fr);align-items:start;gap:8px;padding:7px 0;border-bottom:1px solid #443322;overflow-wrap:anywhere}
 #content.orders-page .tablewrap td::before{color:#d9b47b;font-weight:600;font-size:12px}
 #content.orders-page .tablewrap td:nth-child(1)::before{content:'Client'}
 #content.orders-page .tablewrap td:nth-child(2)::before{content:'Prise par'}
 #content.orders-page .tablewrap td:nth-child(3)::before{content:'Fabrication'}
 #content.orders-page .tablewrap td:nth-child(4)::before{content:'Argent reçu par'}
 #content.orders-page .tablewrap td:nth-child(5)::before{content:'Articles'}
 #content.orders-page .tablewrap td:nth-child(6)::before{content:'Montant'}
 #content.orders-page .tablewrap td:nth-child(7)::before{content:'Livraison'}
 #content.orders-page .tablewrap td:nth-child(8)::before{content:'Statut'}
 #content.orders-page .tablewrap td:nth-child(9)::before{content:'Paiement'}
 #content.orders-page .tablewrap td:nth-child(10)::before{content:'Acompte'}
 #content.orders-page .tablewrap td:nth-child(11)::before{content:'Réservation'}
 #content.orders-page .tablewrap td:nth-child(12)::before{content:'Actions'}
 #content.orders-page .order-item{min-width:0}
}

/* V3.7 : retour au pictogramme de pièce d’origine, sans monogramme S */
.contact-card{margin:10px 0;border:1px solid #725332;border-radius:9px;background:#251c15;padding:12px}.contact-card summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:14px;align-items:center}.contact-body{padding:12px 2px 4px;overflow-x:auto}.contact-body .toolbar-actions{margin-top:12px}

/* Harmonisation du carnet de contacts */
#contact-create textarea[name="notes"], .contact-card textarea[name="notes"]{width:100%;box-sizing:border-box;background:#1b1714;color:#f0ddc1;border:1px solid #80613e;border-radius:6px;padding:11px 12px;font:inherit;line-height:1.5;resize:vertical;min-height:100px}
#contact-create textarea[name="notes"]:focus, .contact-card textarea[name="notes"]:focus{outline:2px solid #c49b60;outline-offset:1px}

/* Version 3.8 — recherche, catégories et registre de commandes */
.compact-search{flex:0 1 245px!important;width:min(245px,100%);min-width:150px!important}
.category-chip-row{display:flex;flex-wrap:wrap;gap:7px;flex:1 1 300px}
.category-chip{padding:8px 12px;background:#251d16;border:1px solid #745633;border-radius:18px;color:#dfc6a1;cursor:pointer;font:inherit;font-size:12px}
.category-chip:hover,.category-chip.selected{background:#73522f;border-color:#d7ae6a;color:#fff0d3}
.orders-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,410px),1fr));gap:16px}
.order-register-card{min-width:0;border:1px solid #745838;background:linear-gradient(145deg,#33281d,#211a15);border-radius:12px;padding:18px;box-shadow:0 8px 20px #0003}
.order-card-head,.order-card-footer,.order-card-item,.order-reserve-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.order-card-head{padding-bottom:14px;border-bottom:1px solid #60472c;align-items:flex-start}.order-card-head h4{font:19px Cinzel,Georgia,serif;color:#eac174;margin:7px 0}.order-card-head p{color:#b9a78f;margin:0;font-size:12px}.order-card-total{white-space:nowrap;font-weight:700;color:#eac174}
.order-card-items{margin:14px 0}.order-section-title{font-weight:700;color:#e3c89d;font-size:12px;margin-bottom:8px}.order-card-item{padding:10px 0;border-bottom:1px solid #51402c}.order-card-item strong{display:block;font-size:13px}.order-card-item small{display:block;margin-top:5px;letter-spacing:0;font-size:11px}.order-card-item .gear{flex-shrink:0}
.order-reserve-row{margin-top:12px;padding:11px;background:#211b15;border:1px solid #57432b;border-radius:7px;font-size:12px;color:#e3c89d}
.order-card-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.order-card-controls label,.order-card-date label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cbb18d}.order-card-controls select,.order-card-controls input{width:100%;max-width:none!important;min-width:0!important}
.order-card-footer{border-top:1px solid #60472c;padding-top:14px;align-items:flex-end;flex-wrap:wrap}.order-card-date{display:flex;flex-direction:column;gap:8px}.order-card-date small{letter-spacing:0}.order-card-date input{width:100%}.order-actions{align-items:flex-end}
@media(max-width:600px){.order-card-footer{align-items:stretch}.order-actions{align-items:stretch;width:100%}.order-actions button{width:100%}.order-card-controls{gap:8px}}

/* Version 3.9 : actions de commande et choix de statut/paiement */
.order-item-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.order-item-actions .gear{white-space:nowrap;font-size:12px}
.order-reserve-button{border-color:#987546!important}
.order-choice-group{min-width:0}
.order-choice-title{display:block;font-size:12px;color:#cbb18d;margin-bottom:7px}
.order-choice-buttons{display:flex;gap:5px;flex-wrap:wrap}
.order-choice{border:1px solid #72583b;border-radius:7px;background:#261f18;color:#c7b69e;padding:8px 10px;font-size:12px;cursor:pointer;flex:1 1 auto;white-space:nowrap;transition:background .15s,border-color .15s}
.order-choice:hover{border-color:#cba469;color:#fff1d9}
.order-choice.is-selected[data-tone="todo"]{background:#6c422a;border-color:#d89b63;color:#fff0d9}
.order-choice.is-selected[data-tone="ready"]{background:#62501e;border-color:#d8bc68;color:#fff2bc}
.order-choice.is-selected[data-tone="done"]{background:#294f3b;border-color:#79bd8d;color:#e1ffe8}
@media(max-width:600px){.order-card-item{align-items:flex-start;flex-wrap:wrap}.order-item-actions{justify-content:flex-start}.order-card-controls{grid-template-columns:1fr}}

/* V4.0 — commandes : boutons compacts et acompte conditionnel */
.order-choice-buttons{gap:4px;justify-content:flex-start}
.order-choice{flex:0 0 auto;padding:5px 8px;font-size:11px;line-height:1.3;border-radius:6px;min-height:28px}
.order-deposit-panel{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:11px 13px;background:#211b16;border:1px solid #72583b;border-radius:9px}
.order-deposit-panel label{min-width:145px;max-width:205px;flex:1}
.order-deposit-panel input{width:100%;box-sizing:border-box}
.order-remaining{display:flex;flex-direction:column;gap:5px;padding-bottom:4px}
.order-remaining small{color:#cbb18d;font-size:11px}
.order-remaining strong{font-size:16px;color:#ead0a0}

/* V4.1 : destinataire de l'acompte sur la même ligne que le reste à payer */
.order-deposit-receiver{min-width:170px;max-width:240px;flex:1}
.order-deposit-panel .order-remaining{min-width:125px}

/* Correctifs v4.1 : recherches et présentation */
#search {max-width:340px;width:min(100%,340px)}
#sync-notice {display:none!important}
.inventory-list {scrollbar-gutter:stable}

/* Correctifs v4.1 */
#search{max-width:340px;width:min(100%,340px)}
#sync-notice{display:none!important}
.inventory-list{scrollbar-gutter:stable}

/* Correctifs de recherche */
#search{width:min(100%,340px);max-width:340px}
#sync-notice{display:none!important}

/* Recettes : ingrédients groupés avec suppression directe */
.recipe-item-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(184,139,78,.28);padding:9px 0}
.recipe-item-row>span{flex:1;min-width:0}
.recipe-item-row>input{width:90px;flex:0 0 90px}
.recipe-item-row>.recipe-remove{flex:0 0 36px;min-width:36px;min-height:34px;font-size:21px;line-height:1}
