/* Meal accordions and the two matching pixel-art profile avatars. */
.sidebar .search-box{margin-bottom:23px}
.sidebar .list-heading{margin-bottom:12px;padding-left:11px}
.meal-list{padding-bottom:15px}
.meal-group{margin-bottom:7px}
.meal-group-toggle{min-height:47px;padding:11px 12px;gap:10px;font-size:12px;border:1px solid transparent;border-radius:8px}
.meal-group-toggle:hover{background:#e8ede0}
.meal-group-toggle.expanded{background:#e2ead8;border-color:#dce5d2;color:#465e3b;font-weight:600}
.meal-group-toggle.has-selected:not(.expanded){color:#4f6842}
.meal-group-toggle .category-label{flex:1}
.meal-group-toggle .category-count{margin-left:0;font-size:10px}
.category-chevron{color:#98a48a;transition:transform .15s;display:inline-flex}
.category-chevron svg{width:13px;height:13px}
.meal-group-toggle.expanded .category-chevron{transform:rotate(180deg);color:#71835e}
.meal-submenu{padding:6px 0 6px 11px;margin:3px 0 11px 12px;border-left:1px solid #d9e2cc}
.meal-submenu .meal-item{gap:9px;min-height:42px;padding:10px 10px;border-radius:6px;box-shadow:none;margin:2px 0}
.meal-submenu .meal-item.selected{background:#fff;border-color:#dfe6d5;color:#3e5838}
.meal-submenu .meal-item.selected:before{display:none}
.meal-submenu .meal-item-title{font-size:11px;line-height:1.6;font-weight:500}
.meal-submenu .meal-item.selected .meal-item-title{font-weight:600}
.meal-option-dot{width:4px;height:4px;flex-shrink:0;border-radius:50%;background:#b7c2a9}
.meal-item.selected .meal-option-dot{background:#7d9867}
.meal-submenu .meal-item>svg{color:#769264;width:13px;height:13px;margin-left:auto}
.meal-submenu .empty-search{font-size:10px;padding:12px 8px;line-height:1.8}
.pixel-avatar{display:inline-block;width:34px;height:34px;flex:0 0 34px;background-image:url('assets/profile-pixels.png');background-repeat:no-repeat;background-size:200% auto;image-rendering:pixelated;vertical-align:middle}
.pixel-avatar-koala{background-position:left center}
.pixel-avatar-frog{background-position:right center}
.person-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.person-avatar.person-a,.person-avatar.person-b{background:transparent}
.person-heading{font-size:12px;gap:6px;font-weight:500;color:#64745a}
.person-heading .pixel-avatar{width:30px;height:30px;flex-basis:30px}
th{height:57px}
.profile-pair{width:53px;height:34px}
.profile-pair .pixel-avatar{background-color:transparent;background-image:url('assets/profile-pixels.png');background-repeat:no-repeat;background-size:200% auto;border:0;border-radius:0;width:34px;height:34px}
.profile-pair .pixel-avatar-koala{background-position:left center}
.profile-pair .pixel-avatar-frog{background-position:right center}
.profile-pair .pixel-avatar+span{left:22px;top:0;background-color:transparent}
.profile-copy strong{font-size:12px}
.profile-field-label{display:flex;align-items:center;gap:7px;font-size:12px;min-height:31px}
.profile-field-label .pixel-avatar{width:29px;height:29px;flex-basis:29px}
.topbar{position:sticky;top:0;z-index:20;background:var(--bg)}
.new-meal-button{min-height:33px;font-size:10px;padding:7px 11px;gap:6px}
.new-meal-button svg{width:14px;height:14px}
.content{padding-top:30px}
.cooking .new-meal-button{display:none}
@media(min-width:1550px){.content{padding-top:37px}}
@media(max-width:1100px){.person-heading{font-size:11px}.person-heading .pixel-avatar{width:27px;height:27px;flex-basis:27px}.topbar-right{gap:10px}}
@media(max-width:850px) and (min-width:701px){.person-heading{font-size:10px;gap:4px}.person-heading .pixel-avatar{width:24px;height:24px;flex-basis:24px}.meal-submenu .meal-item-title{font-size:10px}}
@media(max-width:700px){
  .sidebar .search-box{margin-bottom:22px}
  .meal-group-toggle{min-height:50px;font-size:13px}
  .meal-submenu .meal-item{min-height:47px;padding:11px 10px}
  .meal-submenu .meal-item-title{font-size:12px;line-height:1.7}
  .content{padding-top:21px}
  .topbar-right{gap:9px}
  .new-meal-button{min-height:30px;font-size:10px;padding:6px 9px;gap:5px}
  .new-meal-button svg{width:12px;height:12px}
  .topbar-right .saved-indicator{display:none}
  .person-heading{flex-direction:column;gap:2px;font-size:10px;line-height:1.3;flex-wrap:nowrap}
  .person-heading>span:last-child{max-width:65px}
  .person-heading .pixel-avatar{width:29px;height:29px;flex-basis:29px}
  th{height:66px}
  .cooking .content{padding-top:5px}
}
@media(max-width:380px){.new-meal-button{font-size:9px;padding:6px 7px}.topbar-right{gap:4px}.breadcrumb{gap:7px}}
@media print{.topbar{display:none!important}.pixel-avatar{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Compact cooking view. */
.sidebar-title{font-size:20px;font-weight:650;letter-spacing:-.4px;margin:0 10px 23px}
.sidebar .search-box{margin-bottom:18px}
.sidebar-bottom{padding-top:12px}
.content{max-width:1100px;padding-top:28px}
.meal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
.meal-header h1{font-size:25px;line-height:1.35;font-weight:650;letter-spacing:-.6px}
.meal-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.meal-actions .button{min-height:35px;font-size:11px;padding:7px 12px}
#favorite[aria-pressed=true]{color:#b77650}
#favorite[aria-pressed=true] svg{fill:currentColor}
.prep-toolbar{padding:0 0 22px;margin:0;gap:12px}
.portion-controls{gap:9px;font-size:11px;color:#76846a}
.prep-toolbar .button{min-height:35px;font-size:11px;padding:7px 12px}
.section-heading{margin-bottom:13px}
.section-heading h2{font-size:14px}
.recipe-source-details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-top:12px}
.recipe-source-details summary{padding:10px 0;font-size:11px}
.recipe-source-details>p{padding:4px 0 13px}
.recipe-source-details>div{padding:0 0 13px}
.page-footer{justify-content:flex-start;margin-top:17px;padding-bottom:0}
.page-footer .text-button{font-size:10px;color:#87957b}
.cooking #cook-mode{display:none}
.cooking .ingredients-section{padding-bottom:0}
.cooking .recipe-source-details,.cooking .page-footer{display:none}
.cooking .content{padding-bottom:120px}
@media(max-width:850px) and (min-width:701px){.meal-header h1{font-size:21px}.meal-header{gap:10px}.meal-actions{gap:3px}.meal-actions .button{padding:7px 10px}.prep-toolbar .button{font-size:10px}}
@media(max-width:700px){
  .sidebar-title{margin-bottom:25px}
  .content{padding-top:22px}
  .meal-header{gap:12px;align-items:flex-start;margin-bottom:20px}
  .meal-header h1{font-size:22px;line-height:1.4;letter-spacing:-.5px;padding-top:2px}
  .meal-actions{gap:2px}
  .meal-actions .button{min-height:33px;padding:7px 10px;font-size:10px}
  .meal-actions .button>span{display:none}
  .meal-actions .icon-btn{width:30px;height:33px;padding:7px}
  .prep-toolbar{padding-bottom:23px;flex-wrap:nowrap;gap:8px}
  .portion-controls{margin-left:0;gap:7px;font-size:10px}
  .prep-toolbar .button{min-height:33px;font-size:10px;padding:7px 9px;gap:6px}
  .prep-toolbar .button svg{width:14px;height:14px}
  .section-heading{margin-top:0;margin-bottom:12px}
  .section-heading h2{font-size:14px}
  .page-footer{align-items:flex-start;margin-top:17px}
}
@media(max-width:380px){.meal-header h1{font-size:20px}.portion-controls{font-size:9px;gap:6px}.prep-toolbar .button{font-size:9px;padding:7px 8px}}
@media print{.meal-actions,.prep-toolbar,.page-footer{display:none!important}.meal-header{margin-bottom:24px}}

/* Repartiment en cuit */
.cooked-split{margin-top:22px}
.cooked-hint{margin:4px 0 0;font-size:12px;color:var(--muted);max-width:60ch}
.cooked-card{display:grid}
.cooked-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.6fr);gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--line)}
.cooked-row:first-child{border-top:0}
.cooked-label{display:grid;gap:2px;min-width:0}
.cooked-label strong{font-size:13px;color:var(--ink)}
.cooked-label small,.cooked-input>span:first-child{font-size:11px;color:var(--muted)}
.cooked-input{display:grid;gap:4px}
.cooked-field{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.cooked-field input{width:92px;border:1px solid #dfe5d7;border-radius:7px;padding:8px 10px;font:inherit;font-size:14px;color:var(--ink);background:#fff;min-height:40px}
.cooked-field input:focus{outline:2px solid var(--green);outline-offset:1px}
.cooked-result{display:flex;flex-wrap:wrap;gap:10px 18px;min-width:0}
.cooked-empty{font-size:11px;color:var(--muted)}
.cooked-person{display:flex;align-items:center;gap:8px}
.cooked-person>span:last-child{display:grid;line-height:1.25}
.cooked-person small{font-size:11px;color:var(--muted)}
.cooked-person strong{font-size:16px;color:var(--ink)}
@media (max-width:700px){.cooked-row{grid-template-columns:1fr;gap:10px}}
