/* Écrans métier : palette et proportions communes à l’accueil validé. */
.app-main:not(.dashboard-page){padding-bottom:55px}.app-main:not(.dashboard-page)>.panel:first-of-type{margin-top:0}
.app-main:not(.dashboard-page) .panel{border-color:#e8dccb;background:#fffcf7;box-shadow:0 5px 15px #76533308;padding:25px;border-radius:23px;margin:20px 0}
.app-main:not(.dashboard-page) h1{font-size:29px;letter-spacing:-.035em;font-weight:780;color:#30342a;line-height:1.2}.app-main:not(.dashboard-page) h2{font-size:22px;letter-spacing:-.025em;color:#343c2e}.app-main:not(.dashboard-page) .eyebrow{font-size:10px;letter-spacing:.12em;color:#998267;margin:0 0 7px}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 12px}.section-title-icon{width:43px;height:43px;padding:9px;border-radius:14px;background:#e6ecd9;color:#657f42;stroke-width:1.7}.section-recettes .section-title-icon{background:#f8e9cd;color:#b78226}.section-courses .section-title-icon{background:#fae2d2;color:#ba6337}.section-produits .section-title-icon{background:#eee7d9;color:#8d7450}
.app-main:not(.dashboard-page) .section-heading{gap:18px;margin-bottom:8px}.app-main:not(.dashboard-page) .section-heading h1{margin:0}.app-main:not(.dashboard-page) .section-heading>.button{font-size:13px;padding:12px 17px}.app-main:not(.dashboard-page) button:not(.shopping-clear-link):not(.shopping-remove):not(.purchased-restore):not(.proposal-unapprove):not(.proposal-back):not(.logout-button):not(.destination-cell):not(.unit-option),.app-main:not(.dashboard-page) .button{border-radius:12px;font-size:13px;line-height:1.4;min-height:40px}.app-main:not(.dashboard-page) button:not(.secondary):not(.shopping-clear-link):not(.shopping-remove):not(.purchased-restore):not(.proposal-unapprove):not(.proposal-back):not(.logout-button):not(.destination-cell):not(.unit-option):not(.danger),.app-main:not(.dashboard-page) .button:not(.secondary){background:linear-gradient(125deg,#6e844b,#556d39);box-shadow:0 2px 5px #526a3c12}.app-main button:disabled{cursor:default;opacity:.5;box-shadow:none}.app-main:not(.dashboard-page) .secondary{background:#e8ecdf;color:#4e6336}.app-main:not(.dashboard-page) .actions{gap:16px;margin-top:20px}.app-main:not(.dashboard-page) .actions>a:not(.button){font-size:13px}
.app-main:not(.dashboard-page) label{font-size:13px;font-weight:600;margin-top:17px}.app-main:not(.dashboard-page) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-main:not(.dashboard-page) select,.app-main:not(.dashboard-page) textarea{border-color:#d5cbb9;background:#fffefd;padding:11px 13px;font-size:14px;border-radius:12px;min-height:43px;color:#393e30}.app-main:not(.dashboard-page) input:focus-visible,.app-main:not(.dashboard-page) select:focus-visible,.app-main:not(.dashboard-page) textarea:focus-visible{outline:2px solid #9aaa78;outline-offset:2px}.app-main:not(.dashboard-page) .check{font-size:13px;font-weight:450}.app-main:not(.dashboard-page) .caption{font-size:12px;line-height:1.6;color:#81765f}.app-main:not(.dashboard-page) .success{border:1px solid #d7e3c7;background:#edf3e5;color:#45612f;font-size:13px}.app-main:not(.dashboard-page) .notice{border:1px solid #eedfc6;background:#fbefdd;color:#7b6442;font-size:13px}.app-main:not(.dashboard-page) .error{font-size:13px}.app-main:not(.dashboard-page) fieldset{border-color:#d7dfc9;border-radius:17px}.app-main:not(.dashboard-page) legend{font-size:14px;font-weight:650;color:#5c7043}
/* Bibliothèque : couvertures de taille identique, contenu lisible et accès direct. */
.view-recettes .recipe-search-form .form-grid{grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:18px}.view-recettes .recipe-search-form .actions{margin-top:13px}.view-recettes .app-main>.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.app-main .recipe-grid .recipe-card{display:block;padding:0;overflow:hidden;margin:0;border-radius:22px;border:1px solid #e8dccb;transition:box-shadow .15s,transform .15s;background:#fffcf7}.app-main .recipe-grid .recipe-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #76533316;border-color:#bcc8a4}.app-main .recipe-card-photo,.library-photo-placeholder{display:block;width:100%;height:175px;object-fit:cover;border-radius:0;margin:0;background:linear-gradient(130deg,#f2e9d6,#e2e8d1)}.library-photo-placeholder{display:grid;place-items:center;color:#91a079}.library-photo-placeholder .ui-icon{width:60px;height:60px;stroke-width:1.05}.recipe-card-copy{padding:20px}.recipe-card-copy>.eyebrow{display:inline-block;background:#f4ebd9;padding:5px 8px;border-radius:6px;font-size:9px!important;letter-spacing:.065em!important;color:#92743b!important}.app-main .recipe-card-copy h2{font-size:20px;margin:12px 0 8px;line-height:1.25;overflow-wrap:anywhere}.recipe-card-copy p{font-size:12px;color:#8b7c61;margin:0 0 16px}.recipe-card-link{font-size:12px;font-weight:600;color:#637d42}.view-fiche-recette .recipe-hero-photo{max-height:330px;background:#f2efdf;border-radius:18px;object-fit:contain}.view-fiche-recette .app-main>.recipe-grid{grid-template-columns:minmax(250px,.85fr) minmax(0,1.3fr);align-items:start;gap:20px}.view-fiche-recette .recipe-grid .panel{margin-top:0}.view-fiche-recette .ingredient-list{font-size:14px;line-height:2;padding-left:18px}.view-fiche-recette .ingredient-list li::marker{color:#8c9d6c}.view-fiche-recette .preparation-list{list-style:none;padding:0;counter-reset:preparation}.view-fiche-recette .preparation-list>li{counter-increment:preparation;position:relative;padding-left:44px;font-size:14px;margin-bottom:22px;min-height:30px;line-height:1.7}.view-fiche-recette .preparation-list>li:before{content:counter(preparation);position:absolute;left:0;top:0;width:29px;height:29px;border-radius:10px;background:#e8eddd;color:#5c773d;font-weight:750;text-align:center;line-height:29px}.view-editer-recette .preparation-step{background:#f2f4ea;padding:17px}.view-editer-recette .ingredient-row{padding-bottom:16px}.view-editer-recette .ingredient-row label{margin-top:0}.view-editer-recette .new-product-link{min-height:28px!important;background:transparent!important;box-shadow:none!important;font-size:11px!important;padding:5px 0!important}.app-main .meal-line{border-radius:18px;border:1px solid #e0e4d3;background:#f1f4e9}
/* Planning et générateur : même grille, deux teintes de repas, états conservés. */
.app-main:not(.dashboard-page) .planning-header{padding:17px 20px;margin:0 0 18px}.planning-heading .section-title{font-size:26px!important;margin:0}.planning-heading .section-title-icon{width:36px;height:36px;padding:7px;border-radius:12px}.planning-heading p{font-size:12px}.app-main .planning-controls{gap:12px;margin-top:14px}.app-main .planning-controls button,.app-main .planning-controls .button{font-size:12px!important;min-height:36px!important;padding:8px 12px}.app-main .planning-controls>a:not(.button){font-size:12px;font-weight:600}.app-main .planning-date-form input{min-height:36px!important;padding:7px 10px!important;font-size:12px!important}.week-table-wrap{border-color:#e4d9c7;border-radius:20px;box-shadow:0 5px 15px #76533307}.week-table th,.week-table td{border-color:#e7dfd1}.week-table thead th{padding:15px 18px;font-size:14px;font-weight:700}.week-table thead th:first-child{background:#f5efe3}.week-table tbody th{background:#faf6ee;font-size:13px;padding:18px 14px;color:#686650}.week-table .noon-heading{background:#e6ecd8;color:#5d743d}.week-table .evening-heading{background:#f7dfcc;color:#a3673e}.week-table .noon-cell{background:#f3f5ed}.week-table .evening-cell{background:#fcf0e8}.week-table td{padding:15px}.cell-recipes{gap:8px}.cell-recipe{background:#fffefa;border-left-width:3px;border-radius:10px;padding:10px 12px;box-shadow:0 2px 5px #76533305;color:#3e4434;font-size:13px}.cell-recipe small{font-size:10px;color:#8a7a62}.cell-guests{font-size:11px;color:#8b7d64}.cell-links{font-size:11px;gap:12px}.cell-links>a{text-decoration:none}.cell-links>a:hover{text-decoration:underline}.cell-links .subtle-delete-meal,.cell-recipe .remove-single-dish{color:#a0836d}.week-table .week-today>th{background:#e3ebd5;color:#4b6532}.menu-validation-badge{font-size:10px;border-radius:6px}.planning-validation{padding:18px 0 3px}.planning-validation .caption{margin-bottom:0}.generator-select-tools{margin-top:15px}.app-main:not(.dashboard-page) .generator-options{padding:18px 20px;margin-top:18px;background:#f7f8f0}.generator-options>div>strong{font-size:14px;color:#667c48}.generator-options summary{font-size:13px}.app-main .generator-meal-guests{font-size:12px;margin:12px 0}.app-main .generator-meal-guests input{max-width:75px;min-height:34px!important;padding:6px 9px!important}.app-main .generation-slot-select,.app-main .generator-vegetarian{font-size:12px;font-weight:500;margin:0}.app-main .generator-vegetarian{margin-top:12px;font-size:11px}.generator-existing-line{border:1px solid #e2e5d7;background:#fffdf7;border-radius:10px;padding:10px}.generator-existing-line label{font-size:11px!important;margin-top:6px!important}.proposal-review-badge{font-size:11px;padding:6px 9px;border-radius:8px}.week-table td.proposal-approved{background:#e5efda;box-shadow:inset 0 0 0 2px #8da36d}.proposal-dishes{padding-left:17px;font-size:14px}.proposal-dishes li{padding-bottom:8px}.proposal-progress{background:#edf2e4;padding:7px 10px;border-radius:9px;font-size:12px}.proposal-retry-one{font-size:11px!important;min-height:34px!important;padding:7px 10px!important}.proposal-approve{font-size:12px!important;min-height:36px!important;padding:8px 12px!important}.proposal-unapprove{font-size:11px}
/* Courses : garder une vraie liste compacte et les achats cochés plus discrets. */
.view-courses .app-main>.panel:first-of-type{padding:24px}.shopping-add{background:#f1f4e9;border:1px solid #e1e7d6;border-radius:17px;padding:15px;margin-top:18px}.app-main .shopping-add label{margin:0 0 7px;font-size:12px}.app-main .shopping-add-fields button{padding:11px 17px}.shopping-list-department{padding:12px 14px;margin-top:13px;border:1px solid #e7dfd0;border-radius:14px;background:#fffefa}.shopping-list-department>summary{font-size:14px;padding:2px 0 8px;color:#687f48}.shopping-list-department:not([open])>summary{padding-bottom:2px}.department-item-count{background:#edf0e3;font-size:10px;padding:3px 7px;border-radius:20px}.shopping-active-item{min-height:44px;padding:9px 33px 9px 0;border-color:#eee7da}.shopping-active-item:last-child{border-bottom:0}.app-main .shopping-product-name{font-size:14px;font-weight:600;margin:0;line-height:1.5}.shopping-product-heading .shopping-item-amount{font-size:12px;color:#6b7f49}.shopping-take-checkbox{width:20px;height:20px;border-color:#a2ac8b}.shopping-recipe-sources{font-size:10px;color:#97866c}.shopping-item-menu>summary{font-size:23px;color:#938975}.shopping-item-menu>.shopping-item-tools{box-shadow:0 7px 22px #55462d16;border-color:#e0d7c5;border-radius:14px}.app-main .shopping-item-tools label{font-size:12px;margin:5px 0}.app-main .shopping-item-tools .quantity-editor-fields input{max-width:130px}.app-main .shopping-clear-link{font-size:11px;color:#a17c61}.app-main:not(.dashboard-page) .purchased-panel{padding:18px 22px;background:#f6f5ee;border-color:#e6e1d3}.app-main .purchased-heading h2{font-size:18px;color:#7e826c}.app-main .purchased-sort select{font-size:11px;padding:7px 9px;min-height:33px}.app-main .purchased-sort button{font-size:11px!important;min-height:33px!important;padding:7px 10px}.purchased-list li{font-size:12px;border-color:#e8e5d8;padding:7px 0}.purchased-name{color:#7a806b}.purchased-restore{font-size:11px}.purchased-panel .count{font-size:11px;background:#e6eadc;padding:3px 8px}.purchased-panel .shopping-clear-link{font-size:10px}.purchased-amount{font-size:11px}.view-previsualiser-courses .shopping-preview-item{border-radius:13px}
@media(min-width:1700px){.view-recettes .app-main>.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-main .recipe-card-photo,.library-photo-placeholder{height:190px}}
@media(max-width:1050px) and (min-width:761px){.section-title{font-size:25px!important}.recipe-card-copy{padding:17px}.app-main .recipe-card-copy h2{font-size:18px}.view-fiche-recette .app-main>.recipe-grid{grid-template-columns:1fr 1.15fr}.shopping-add-fields{grid-template-columns:minmax(150px,2fr) 1fr 1fr}.shopping-add-fields>button{grid-column:1/-1;justify-self:end}.planning-heading{gap:12px}}
@media(max-width:760px){.app-main:not(.dashboard-page){padding-bottom:calc(105px + env(safe-area-inset-bottom))}.app-main:not(.dashboard-page) .panel{padding:18px;margin:16px 0;border-radius:20px}.app-main:not(.dashboard-page) h1{font-size:25px}.app-main:not(.dashboard-page) h2{font-size:20px}.section-title{gap:9px}.section-title-icon{width:36px;height:36px;padding:7px;border-radius:12px}.app-main:not(.dashboard-page) .section-heading{align-items:center;gap:13px;flex-wrap:wrap}.app-main:not(.dashboard-page) .section-heading>.button{font-size:12px;padding:10px 13px;min-height:38px}.app-main:not(.dashboard-page) .eyebrow{font-size:9px}.app-main:not(.dashboard-page) label{font-size:12px}.app-main:not(.dashboard-page) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-main:not(.dashboard-page) select,.app-main:not(.dashboard-page) textarea{font-size:16px;min-height:43px;padding:10px 11px}.app-main:not(.dashboard-page) .actions{gap:12px}.app-main:not(.dashboard-page) .actions>.button,.app-main:not(.dashboard-page) .actions>button{width:auto}.app-main:not(.dashboard-page) .caption{font-size:11px}.view-recettes .recipe-search-form .form-grid{grid-template-columns:1fr;gap:0}.view-recettes .recipe-search-form .check{margin-top:14px}.view-recettes .app-main>.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-main .recipe-grid .recipe-card{border-radius:17px;margin:0;padding:0}.app-main .recipe-card-photo,.library-photo-placeholder{height:125px}.library-photo-placeholder .ui-icon{width:42px;height:42px}.recipe-card-copy{padding:13px}.recipe-card-copy>.eyebrow{font-size:8px!important;padding:4px 6px;letter-spacing:.035em!important}.app-main .recipe-card-copy h2{font-size:17px;margin:9px 0;line-height:1.3}.recipe-card-copy p{font-size:10px;line-height:1.6;margin-bottom:13px}.recipe-card-link{font-size:10px}.view-fiche-recette .app-main>.recipe-grid{grid-template-columns:1fr;gap:0}.view-fiche-recette .recipe-hero-photo{max-height:260px}.view-fiche-recette .ingredient-list{font-size:13px}.view-fiche-recette .preparation-list>li{font-size:13px;padding-left:38px}.view-editer-recette .recipe-edit-heading{align-items:start;gap:13px}.recipe-edit-heading button{font-size:12px!important;padding:10px 13px}.app-main .planning-header{padding:15px!important}.planning-heading .section-title{font-size:25px!important}.planning-heading{gap:12px;align-items:flex-start}.planning-controls{gap:10px}.app-main .planning-controls>a:not(.button){font-size:11px}.planning-arrows{gap:6px}.app-main .planning-controls .button,.app-main .planning-controls button{font-size:11px!important;min-height:34px!important;padding:7px 10px}.app-main .planning-date-form input{width:155px;max-width:100%;font-size:13px!important}.week-table-wrap{border-radius:16px}.week-table thead th,.week-table tbody th{padding:12px 7px;font-size:11px}.week-table thead th:first-child{width:76px}.week-table td{padding:11px 7px}.cell-recipe{font-size:12px;padding:8px;border-radius:8px}.cell-recipe small{font-size:10px}.cell-guests{font-size:10px}.cell-links{font-size:10px;gap:8px;margin-top:10px}.empty-slot{font-size:11px}.menu-validation-badge{font-size:9px;padding:4px 5px}.app-main .generation-slot-select{font-size:11px;gap:6px}.app-main .generator-meal-guests{flex-wrap:wrap;font-size:11px;gap:5px}.app-main .generator-meal-guests input{width:59px;max-width:59px;min-height:33px!important;font-size:14px!important}.app-main .generator-vegetarian{font-size:10px;align-items:start}.generator-existing-line{padding:8px;font-size:11px}.app-main .generator-existing-line label{font-size:10px!important;align-items:start}.generator-select-tools{gap:8px}.generator-select-tools button{font-size:11px!important;min-height:35px!important;padding:8px 10px}.proposal-review-badge{font-size:10px;line-height:1.4;padding:5px 7px}.proposal-dishes{font-size:12px;padding-left:12px}.proposal-portions{font-size:10px!important}.proposal-approve,.proposal-retry-one{width:100%;font-size:10px!important;margin:0 0 8px;padding:8px 6px!important}.proposal-progress{font-size:11px}.view-courses .app-main>.panel:first-of-type{padding:16px}.shopping-add{padding:12px;margin-top:16px}.shopping-add-fields{grid-template-columns:1fr 1fr;gap:10px}.shopping-add-fields>.shopping-add-product{grid-column:1/-1}.shopping-add-fields>button{grid-column:1/-1;justify-self:stretch}.app-main .shopping-add-fields label{font-size:11px}.shopping-list-department{padding:11px;margin-top:12px}.shopping-list-department>summary{font-size:13px}.app-main .shopping-product-name{font-size:13px}.shopping-product-heading{gap:7px}.shopping-product-heading .shopping-item-amount{font-size:11px}.shopping-recipe-sources{font-size:10px}.shopping-active-item{padding-right:25px;gap:8px;min-height:43px}.shopping-item-menu>.shopping-item-tools{min-width:180px}.app-main:not(.dashboard-page) .purchased-panel{padding:16px}.purchased-heading{gap:10px}.app-main .purchased-heading h2{font-size:17px}.app-main .purchased-sort{width:100%}.app-main .purchased-sort select{font-size:12px;flex:1;max-width:none;min-height:34px;padding:7px 9px}.app-main .purchased-sort button{font-size:12px!important}.purchased-scroll{max-height:220px}.purchased-product-heading{gap:7px}.app-main .shopping-item-tools .quantity-editor-fields input{font-size:16px}}
@media(max-width:355px){.view-recettes .app-main>.recipe-grid{grid-template-columns:1fr}.app-main .recipe-card-photo,.library-photo-placeholder{height:160px}.recipe-card-copy{padding:16px}.app-main .recipe-card-copy h2{font-size:19px}.week-table thead th:first-child{width:67px}.section-title{font-size:23px!important}.section-title-icon{width:32px;height:32px;padding:6px}}
@media(prefers-reduced-motion:reduce){.app-main .recipe-grid .recipe-card{transition:none}.app-main .recipe-grid .recipe-card:hover{transform:none}}



.app-main:not(.dashboard-page) label.shopping-product-name{margin:0;font-weight:600;font-size:14px;line-height:1.5}.app-main:not(.dashboard-page) label.generation-slot-select{margin:0;font-weight:500;font-size:12px}.app-main:not(.dashboard-page) label.generator-vegetarian{margin:12px 0 0;font-size:11px;font-weight:500}.app-main:not(.dashboard-page) .ingredient-row label{margin-top:0}@media(max-width:760px){.app-main:not(.dashboard-page) label.shopping-product-name{font-size:13px}.app-main:not(.dashboard-page) label.generation-slot-select{font-size:11px}.app-main:not(.dashboard-page) label.generator-vegetarian{font-size:10px}}

.view-generateur .recipe-edit-heading{margin:0 0 9px}.view-generateur .planning-header>.caption{margin:6px 0 10px}.view-generateur .planning-controls{margin-top:8px}.view-generateur .generator-select-tools{margin:10px 0 12px}

.generator-cell-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px}.view-generateur .app-main .generator-cell-controls>label{margin:0;font-weight:500}.generator-cell-controls .generation-slot-select{flex-shrink:0}.generator-cell-controls .generator-meal-guests{flex-wrap:nowrap;gap:7px}.generator-cell-controls .generator-vegetarian{max-width:100%;line-height:1.4}.generator-cell-controls+.generator-existing-line{margin-top:14px}@media(max-width:1100px){.generator-cell-controls{gap:10px}.generator-cell-controls .generator-vegetarian{flex-basis:100%}}@media(max-width:760px){.generator-cell-controls{gap:9px}.generator-cell-controls .generator-meal-guests{font-size:11px;gap:5px}.generator-cell-controls .generator-vegetarian{align-items:flex-start;font-size:10px}.generator-cell-controls .generator-vegetarian input{margin-top:1px}}
/* Repères midi/soir plus lisibles dans les grilles des repas. */
.section-planning .week-table thead th:not(:first-child),.section-generateur .week-table thead th:not(:first-child){text-align:center;text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:.09em;padding:16px 12px}
.section-planning .week-table thead th:nth-child(2),.section-generateur .week-table thead th:nth-child(2){background:#dce6ca;color:#3f582b}
.section-planning .week-table thead th:nth-child(3),.section-generateur .week-table thead th:nth-child(3){background:#f2d4bc;color:#804321}
.section-planning .week-table tr>*:nth-child(2),.section-generateur .week-table tr>*:nth-child(2){border-right:3px solid #c5b69b}
@media(max-width:760px){.section-planning .week-table thead th:not(:first-child),.section-generateur .week-table thead th:not(:first-child){font-size:14px;padding:14px 7px;letter-spacing:.07em}}
/* Même trait pour les colonnes et les jours, sans doubler les bordures. */
.section-planning .week-table th,.section-planning .week-table td,.section-generateur .week-table th,.section-generateur .week-table td{border-right:3px solid #c5b69b;border-bottom:3px solid #c5b69b}
.section-planning .week-table tr>*:last-child,.section-generateur .week-table tr>*:last-child{border-right:0}
.section-planning .week-table tbody tr:last-child>*,.section-generateur .week-table tbody tr:last-child>*{border-bottom:0}
.section-planning .week-table-wrap,.section-generateur .week-table-wrap{border:3px solid #c5b69b}
/* Utiliser la largeur des repas sur ordinateur, avec deux plats par rangée. */
@media(min-width:1200px){
.section-planning .cell-recipes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}
.section-planning .cell-recipe{min-width:0;height:100%}
.section-planning .cell-recipe:only-child{grid-column:1/-1}
}

.proposal-notice{display:flex;align-items:flex-start;gap:12px;background:#fbefdd;border:1px solid #eedfc6;border-radius:12px;padding:10px 14px;margin:12px 0;font-size:12px;color:#7b6442}.proposal-notice details{flex:1}.proposal-notice summary{cursor:pointer;font-weight:600}.proposal-notice ul{padding-left:18px;margin-bottom:3px}.app-main .proposal-notice>button{min-height:24px!important;padding:0 5px!important;background:none!important;box-shadow:none!important;color:#7b6442;font-size:20px!important}.proposal-notice[hidden]{display:none}.proposal-reset-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}

.proposal-replacement{margin:8px 0 4px;font-size:12px}.proposal-replacement summary{cursor:pointer;color:#607b40;text-decoration:underline;text-underline-offset:3px;list-style:none}.proposal-replacement select{margin-top:9px;font-size:13px!important;padding:8px 10px!important;min-height:36px!important}.proposal-replacement button{font-size:11px!important;padding:8px 10px!important;margin-top:8px;min-height:33px!important}@media(max-width:760px){.proposal-replacement{font-size:10px}.proposal-replacement select{font-size:16px!important;max-width:100%}}

.association-editor{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:28px}.association-picker{min-width:0}.association-picker h2{font-size:19px!important}.association-picker[data-field=favorite_sauces]{grid-column:2;grid-row:1 / span 2}.association-preferred{grid-column:1;max-width:100%}.association-preferred label{margin-top:6px!important}.association-tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.association-tag{display:inline-flex;align-items:center;gap:8px;border-radius:20px;background:#e9eedf;color:#50693b;padding:5px 8px 5px 12px;font-size:12px;max-width:100%}.association-tag-name{overflow-wrap:anywhere}.app-main .association-tag button{min-height:24px!important;padding:0 5px!important;background:none!important;box-shadow:none!important;color:#617448;font-size:19px!important}.association-picker[data-field=legacy_ids]{grid-column:1/-1}@media(max-width:760px){.association-editor{display:block}.association-picker{margin-top:22px}.association-tag{font-size:11px}}
.proposal-remove-sauce{background:transparent!important;color:#a34e2b!important;padding:4px 0!important;min-height:0!important;font-size:.8rem!important;text-decoration:underline;border:0!important;}
#meal-form .meal-recipe-tools button{background:#e8ecdf;color:#394b2a;border:1px solid #cbd5bb;border-radius:8px;padding:6px 9px;min-height:30px;text-decoration:none;font-weight:600}#meal-form .meal-recipe-tools button:hover{background:#dfe7d2}

.ingredient-alternative{grid-column:1/-1}.alternative-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;background:#e9eedf;padding:12px;border-radius:12px}.alternative-fields[hidden]{display:none}.vegetarian-badge{color:#4a713c;font-size:.85em;margin-left:5px}@media(max-width:760px){.alternative-fields{grid-template-columns:1fr}}

.view-editer-recette .recipe-edit-heading{position:sticky;top:0;z-index:12;background:#fffcf7;padding:12px 0;border-bottom:1px solid #e6dccc}.view-editer-recette input,.view-editer-recette select,.view-editer-recette textarea{scroll-margin-top:110px}.meal-section-heading{flex-direction:column;align-items:flex-start!important}.meal-section-heading>button{align-self:flex-start}.product-list li[hidden]{display:none}@media(max-width:760px){.view-editer-recette .recipe-edit-heading h1{font-size:18px}.view-editer-recette .recipe-edit-heading{padding:8px 0;gap:8px}.view-editer-recette .recipe-edit-heading button{min-height:40px}}

.manual-mix{grid-column:1/-1}.manual-mix[hidden],.manual-mix [hidden]{display:none}.manual-mix label{max-width:420px}

#cancel-leftovers-dialog{background:#e8ecdf!important;color:#354b25!important;border:1px solid #bcc9aa!important;padding:10px 14px!important}.app-main:not(.dashboard-page) .substitutions-shortcut{background:none!important;color:#405d2f!important;box-shadow:none!important;text-decoration:underline;padding:4px 0!important;min-height:28px!important;font-size:12px!important}.portion-editor .save-portions{background:#526a3c!important;color:white!important;font-weight:700!important}.portion-editor.is-dirty{border-left:3px solid #bf7042;padding-left:9px}.portion-dirty[hidden]{display:none}

.recap-sticky{position:sticky;top:0;z-index:10;background:#fffcf7!important}.recap-sticky h1{display:inline-block;margin-right:20px}.cell-recipe>a{display:inline-block;padding:9px 7px;margin:6px 12px 0 0;min-height:36px}.cell-recipe>a.remove-single-dish{margin-left:12px}.portion-editor~.save-portions{margin-top:10px}.portion-stepper{display:flex;align-items:center;gap:8px}.portion-stepper input{min-width:0}.portion-stepper button{flex:0 0 40px!important;padding:8px!important}.recipe-picker-search{margin:6px 0}.recap-sticky+p,.week-table-wrap{scroll-margin-top:130px}@media(max-width:760px){.recap-sticky h1{font-size:20px!important}.recap-sticky button{font-size:12px!important}.cell-recipe>a{min-height:42px;margin-right:16px}.cell-recipe>a.remove-single-dish{margin-left:0}}

.michel-dialog{width:min(780px,calc(100% - 28px));max-height:90svh;overflow:auto;border:1px solid #d8ddcb;border-radius:22px;padding:24px;background:#fffcf7;color:#39362e;box-shadow:0 18px 80px #252b2355}.michel-dialog::backdrop{background:#242c266b}.cell-links .move-meal-primary{display:inline-flex;align-items:center;background:#e0e8d3;color:#354e26;font-weight:700;padding:8px 12px;border-radius:9px;font-size:12px}.cell-recipe .move-recipe-secondary{font-size:10px;color:#73795f;padding:6px 4px}.error .button{margin-left:12px}

.recipe-combobox{position:relative}.recipe-combo-list{position:absolute;top:100%;left:0;right:0;z-index:35;max-height:300px;overflow-y:auto;background:#fffdf7;border:1px solid #bfcba9;border-radius:12px;box-shadow:0 8px 22px #354b2526;padding:5px}.recipe-combo-list[hidden]{display:none}.recipe-combo-heading{font-size:11px;font-weight:700;color:#667b49;padding:9px 8px 3px}.app-main .recipe-combo-option{display:block;width:100%;text-align:left;background:none!important;color:#34482a!important;box-shadow:none!important;padding:9px!important;min-height:38px!important;font-size:13px!important;border-radius:7px}.app-main .recipe-combo-option.is-active,.app-main .recipe-combo-option:hover{background:#e6edda!important}.recipe-combobox input{width:100%}

/* Ergonomie des formulaires et confirmations */
input.compact-portions{width:7.5rem;max-width:100%;display:block;font-variant-numeric:tabular-nums;appearance:auto;padding:.6rem .65rem;}input.compact-portions::-webkit-inner-spin-button{opacity:1;}
.actions,.leftover-move-actions{gap:.85rem 1rem;flex-wrap:wrap;align-items:center;}.leftover-move-actions{display:flex;margin-top:1rem;}
#product-search,#product-department{display:block;margin-top:.5rem;} .leftovers-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;min-height:1.55rem;padding:.15rem .4rem;border-radius:2rem;background:#b13e35;color:white;font-size:.8rem;font-weight:700;margin-left:.35rem;}
.michel-dialog .actions{display:flex;}.unit-picker{position:relative;}.unit-picker-list{position:absolute;top:100%;left:0;z-index:50;min-width:100%;max-height:240px;overflow:auto;background:#fffdf8;border:1px solid #b6bf9e;border-radius:.7rem;box-shadow:0 5px 15px #45321a22;}.unit-picker-list button{display:block;width:100%;text-align:left;background:transparent;color:#29341e;border-radius:0;padding:.5rem .8rem;}.unit-picker-list button:focus,.unit-picker-list button.is-active{background:#e1e9d4;}
@media(max-width:480px){.michel-dialog{width:calc(100% - 1rem);max-width:calc(100% - 1rem);padding:1rem;max-height:calc(100svh - 1rem);margin:auto;box-sizing:border-box;}.michel-dialog .meal-grid{grid-template-columns:1fr;gap:.6rem;}.michel-dialog .meal-card{padding:.8rem;}.michel-dialog .actions>*{max-width:100%;white-space:normal;}.michel-dialog h1,.michel-dialog h2{overflow-wrap:anywhere;}.michel-dialog h1{font-size:1.4rem;}}

/* Unités : options compactes, sans le style des boutons d’action. */
.unit-picker .unit-picker-list{display:block;min-width:100%;width:max-content;max-width:20rem;}.unit-picker .unit-picker-list[hidden]{display:none;}
.unit-picker .unit-picker-list button{display:block;min-height:0;height:auto;width:100%;margin:0;border:0;border-radius:0;padding:6px 10px;background:#fffdf8;color:#39362e;font:inherit;font-size:14px;font-weight:400;line-height:1.35;box-shadow:none;transform:none;}.unit-picker .unit-picker-list button:hover,.unit-picker .unit-picker-list button:focus,.unit-picker .unit-picker-list button.is-active{background:#edf1e5;color:#29341e;box-shadow:none;}
.product-list.available-leftovers-list>li{display:block;}.available-leftovers-list .actions{display:flex;justify-content:flex-start;margin-top:.75rem;gap:.6rem;}.available-leftovers-list .actions form{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;}.available-leftovers-list .actions button,.available-leftovers-list .actions .button{width:auto;}

.section-heading.products-heading{justify-content:flex-start;gap:1rem;}.products-heading h1{margin-right:0;}.products-heading #add-product{flex-shrink:0;}
@media(max-width:480px){.section-heading.products-heading{gap:.65rem 1rem;flex-wrap:wrap;}.products-heading #add-product{max-width:100%;}}

.recipe-reference-fields{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:1rem 1.3rem;}.recipe-reference-fields>div{flex:0 1 auto;}.recipe-reference-fields select{width:auto;min-width:11rem;max-width:100%;}.ingredient-product-field{min-width:0;}.ingredient-picker{position:relative;display:block;}.ingredient-picker input{padding-right:2.5rem!important;}.ingredient-picker .ingredient-clear{position:absolute;right:.3rem;top:.7rem;min-height:30px!important;padding:3px 8px!important;background:transparent!important;color:#5a624d!important;box-shadow:none!important;}.ingredient-picker-list{position:absolute;left:0;top:100%;width:100%;max-height:240px;overflow:auto;background:#fffdf8;border:1px solid #b6bf9e;border-radius:.6rem;z-index:55;box-shadow:0 5px 15px #45321a22;}.ingredient-picker-list button{display:block;width:100%;text-align:left;}.ingredient-picker-list .unit-option{margin:0;padding:7px 10px;background:#fffdf8;color:#39362e;border:0;border-radius:0;font-size:14px;line-height:1.35;}.ingredient-picker-list .unit-option.is-active,.ingredient-picker-list .unit-option:hover{background:#edf1e5;}.category-manage-link{font-size:.85rem;}@media(max-width:480px){.recipe-reference-fields>div{flex:1 1 100%;}.recipe-reference-fields select{width:100%;}}

/* Le libellé des portions garde sa propre largeur, indépendamment du champ compact. */
.recipe-reference-fields{align-items:flex-end;column-gap:1.25rem;}.recipe-reference-fields>div,.recipe-reference-fields>div:first-child{flex:0 0 auto;width:max-content;min-width:0;}.recipe-reference-fields label{display:block;width:max-content;max-width:100%;white-space:normal;overflow-wrap:normal;}
@media(max-width:600px){.recipe-reference-fields>div,.recipe-reference-fields>div:first-child{flex:1 1 100%;width:100%;min-width:0;max-width:100%;}.recipe-reference-fields select{width:100%;}}

.recipe-reference-fields>div,.recipe-reference-fields>div:first-child{flex:0 0 11rem;width:11rem;min-width:0;}.recipe-reference-fields input.compact-portions,.recipe-reference-fields select{width:100%;min-width:0;box-sizing:border-box;}
@media(max-width:600px){.recipe-reference-fields>div,.recipe-reference-fields>div:first-child{flex:1 1 100%;width:100%;max-width:100%;}}

.available-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;padding:14px;}.available-row>label:first-child,.available-row>details{grid-column:1/-1;}.available-row label{min-width:0;}.available-row input,.available-row select{max-width:100%;box-sizing:border-box;}@media(max-width:480px){.available-row{grid-template-columns:1fr;}}

.portion-editor input[type=number],.vegetarian-preparation input[type=number]{width:7.5rem!important;max-width:100%;box-sizing:border-box;display:block;}.stock-impact-values{margin:.7rem 0;}.stock-impact-values>div{display:flex;flex-wrap:wrap;gap:.2rem .7rem;margin:.3rem 0;}.stock-impact-values dt{font-weight:400;}.stock-impact-values dd{font-weight:700;margin:0;}

.proposal-stock-match{display:block;font-size:.75rem;line-height:1.5;color:#536b3e;margin:.4rem 0;}

.recipe-sharing-field{max-width:38rem;margin:1.25rem 0;min-width:0}.recipe-sharing-field select{width:100%;min-width:0;max-width:100%}.recipe-sharing-field .caption{margin-top:.5rem}

.household-switch-link{display:block;width:fit-content;margin-top:.35rem;font-size:.9rem;font-weight:600;color:var(--sage-dark,#50673a);text-decoration:underline;text-underline-offset:3px}.household-selection{max-width:960px;margin:clamp(16px,4vw,48px) auto;padding:16px}.household-selection-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.household-selection-header .brand{margin:0}.household-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:24px 0}.household-choice{display:flex;flex-direction:column;gap:8px;border:1px solid #d9cdb9;border-radius:18px;padding:20px;background:#f4f5eb;color:#26301e;text-decoration:none;min-width:0}.household-choice strong{font-size:1.3rem;overflow-wrap:anywhere}.household-choice:hover,.household-choice:focus-visible{border-color:#50673a;outline:2px solid #50673a;outline-offset:2px}.household-choice.is-current{background:#e4ebd7;border-color:#71864d}.household-choice-current{font-size:.85rem;font-weight:600;color:#50673a}.household-choice-open{margin-top:auto;padding-top:12px;font-weight:700;color:#50673a}@media(max-width:600px){.household-selection{padding:12px;margin:8px auto}.household-selection-header{align-items:flex-start;flex-direction:column;gap:12px}.household-selection .panel{padding:20px}.household-switch-link{font-size:.9rem}.household-selection-header .brand span{overflow-wrap:anywhere}}

.household-members h1{margin-bottom:.3rem}.members-household-name{font-weight:600;color:#536b3e}.members-list{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:1rem}.member-card{border:1px solid #ded5c4;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fafbf5}.member-card-identity{display:flex;flex-direction:column;gap:.4rem;min-width:0}.member-card-identity span,.member-card-identity strong{overflow-wrap:anywhere}.member-role{font-size:.85rem;color:#536b3e;font-weight:600}.member-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;max-width:30rem}.member-remove{color:#934221;text-underline-offset:3px}.member-confirmation{max-width:48rem}.member-confirmation .form-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}@media(max-width:700px){.member-card{align-items:flex-start;flex-direction:column}.member-card-actions{justify-content:flex-start;max-width:100%}.member-card-actions .button{max-width:100%;white-space:normal}}

.member-remove{display:inline-flex;align-items:center;min-height:44px;padding:0 .25rem}.sidebar-navigation a[href="/membres"],.sidebar-navigation a[href$="/membres"]{border-radius:12px}

/* Generator: matched secondary actions, without changing their behavior. */
#menu-proposals button[name="reject_one"],
#menu-proposals button[name="retry_one"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  width: 168px;
  max-width: calc(100% - 12px);
  height: 44px;
  min-height: 44px !important;
  padding: 8px 10px !important;
  margin: 8px 12px 8px 0;
}
@media (max-width: 1600px) {
  #menu-proposals button[name="reject_one"],
  #menu-proposals button[name="retry_one"] {
    display: flex;
    max-width: 100%;
    margin: 12px 0 0;
  }
}
@media (max-width: 760px) {
  #menu-proposals button[name="reject_one"],
  #menu-proposals button[name="retry_one"] { width: 100%; }
}
