*{box-sizing:border-box}body{margin:0;background:#0b1510;color:#f7f1e3;font-family:Arial,system-ui}.app{display:flex;min-height:100vh}aside{width:250px;background:#112519;padding:20px;border-right:1px solid #315442;position:sticky;top:0;height:100vh;overflow:auto;flex-shrink:0}.brand{font-weight:900;font-size:22px;margin-bottom:20px}.brand small{display:block;color:#b8c7b8;font-size:13px}button{border:0;border-radius:13px;padding:11px 13px;font-weight:800;background:#77b255;color:#10251b;cursor:pointer;margin:3px}aside button{width:100%;background:transparent;color:#f7f1e3;text-align:left}aside button.active{background:#77b255;color:#10251b}main{flex:1;padding:22px}.card{background:#14281d;border:1px solid #315442;border-radius:20px;padding:16px;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #315442}.row:first-child{border-top:0}input,select,textarea{width:100%;padding:11px;border-radius:12px;border:1px solid #315442;background:#0b1510;color:#f7f1e3;margin:5px 0}label{font-weight:800;font-size:13px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:15px;z-index:50}.hide{display:none}.modalBox{width:min(900px,96vw);max-height:94vh;overflow:auto;background:#14281d;border:1px solid #315442;border-radius:24px;padding:20px}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.full{grid-column:1/-1}.danger{background:#d94f45;color:white}.secondary{background:#223d2d;color:#f7f1e3}.yellow{background:#f6c64f}.muted{color:#b8c7b8}.photo{width:100%;max-height:160px;object-fit:cover;border-radius:15px;background:#0b1510}.prodPhoto{width:100%;height:120px;object-fit:cover;border-radius:15px;background:#0b1510;margin-bottom:8px}.pill{display:inline-block;background:#223d2d;border-radius:999px;padding:5px 9px;color:#cfe0d0;font-size:12px}.detailGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detailItem{background:#0b1510;border:1px solid #315442;border-radius:14px;padding:11px}.detailItem span{display:block;color:#b8c7b8;font-size:12px;font-weight:800}.detailItem b{display:block;margin-top:5px}.clickable{cursor:pointer}.clickable:hover{border-color:#77b255}.miniCard{padding:10px;border-radius:14px}.smallGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.qty{font-size:18px;font-weight:900}.bad{color:#ff9b8e}.ok{color:#77b255}.inlineSelect{width:auto;min-width:145px;margin:2px 0}.radioLine{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.radioLine label{display:flex;gap:6px;align-items:center;margin:0}.radioLine input{width:auto;margin:0}.totalsBox{background:#0b1510;border:1px solid #315442;border-radius:14px;padding:12px}.photoResult{cursor:pointer}.photoResult img{width:100%;height:140px;object-fit:cover;border-radius:14px}.photoResult:hover{border-color:#77b255}
.histSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}.histStat{background:#14281d;border:1px solid #315442;border-radius:16px;padding:12px}.histStat b{display:block;font-size:24px;margin-top:4px}.historyGrid{display:grid;gap:12px}.historyCard{background:#14281d;border:1px solid #315442;border-left:7px solid #77b255;border-radius:20px;padding:15px;box-shadow:0 8px 22px #0003}.historyCard.hist-add{border-left-color:#77b255}.historyCard.hist-edit{border-left-color:#f6c64f}.historyCard.hist-delete,.historyCard.hist-loss{border-left-color:#d94f45}.historyCard.hist-order{border-left-color:#5dade2}.historyCard.hist-promo{border-left-color:#c084fc}.historyHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.historyTitle{display:flex;gap:10px;align-items:center}.historyIcon{width:38px;height:38px;border-radius:13px;background:#0b1510;display:grid;place-items:center;font-size:20px}.historyMeta{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.historyText{margin:10px 0 0;font-size:15px}.historyDiff{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.diffBox{background:#0b1510;border:1px solid #315442;border-radius:14px;padding:10px;white-space:pre-wrap;word-break:break-word}.diffBox b{display:block;margin-bottom:6px}.histDevice{font-size:12px;color:#b8c7b8}.histDebug{display:none !important;}.histFilter{max-width:220px}.histSmallBtn{padding:9px 11px}.historyActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.historyActions button{padding:8px 10px;font-size:12px}.histDangerZone{border:1px solid #7b302b;background:#241512}.histWarning{color:#ffd6d1}
@media(max-width:800px){.app{display:block}aside{width:100%;height:auto;position:static;display:grid;grid-template-columns:1fr 1fr;gap:5px}.brand{grid-column:1/-1}main{padding:12px}.formGrid{grid-template-columns:1fr}.detailGrid{grid-template-columns:1fr}}

.appFooter{margin-top:18px;padding:12px;border-radius:16px;background:#0b1510;border:1px solid #315442;color:#b8c7b8;font-size:12px;line-height:1.5}.appFooter b{color:#f7f1e3}.statusOk{color:#77b255}.statusWarn{color:#f6c64f}.statusBad{color:#ff9b8e}.dashboardHealth{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.healthItem{background:#0b1510;border:1px solid #315442;border-radius:16px;padding:14px}.healthItem strong{display:block;font-size:18px;margin-top:4px}

/* V81.3 - Module Plateaux */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.tabBtn{background:#223d2d;color:#f7f1e3}.tabBtn.active{background:#77b255;color:#10251b}.recipeBadge{display:inline-block;border-radius:999px;padding:5px 9px;background:#223d2d;color:#cfe0d0;font-size:12px;margin:2px}.recipeBadge.ok{background:#183d27;color:#90e59c}.recipeBadge.warn{background:#493814;color:#ffd56f}.recipeBadge.bad{background:#4d1d19;color:#ffb0a8}.plateauEditor{border-left:7px solid #77b255}.recipeLine{display:grid;grid-template-columns:2fr 110px 110px 90px;gap:8px;align-items:end;margin:8px 0}.recipeTotals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.recipeTotalBox{background:#0b1510;border:1px solid #315442;border-radius:14px;padding:12px}.recipeTotalBox b{display:block;font-size:20px;margin-top:4px}.missingList{background:#241512;border:1px solid #7b302b;border-radius:14px;padding:10px;margin-top:10px}.recipePhoto{width:100%;height:150px;object-fit:cover;border-radius:14px;background:#0b1510}.recipeCardHeader{display:flex;gap:12px;align-items:flex-start}.recipeThumb{width:88px;height:88px;object-fit:cover;border-radius:14px;background:#0b1510;flex-shrink:0}@media(max-width:800px){.recipeLine{grid-template-columns:1fr}.recipeCardHeader{display:block}.recipeThumb{width:100%;height:140px;margin-bottom:8px}}
/* V81.3 - Saisie rapide des ingrédients */
.recipeLineMissing{border-left:5px solid #d94f45;background:#241512}
.recipeLine select option{color:#10251b;background:#fff}
