    :root{
      --green:#0f6b4f;
      --greenDark:#063f30;
      --greenSoft:#e8f6ef;
      --mint:#f4fbf7;
      --sand:#fff6e6;
      --amber:#a96500;
      --brown:#9a6324;
      --red:#b42318;
      --ink:#10201b;
      --muted:#667085;
      --line:#e5e8e6;
      --card:#ffffff;
      --caremealCream:#fffaf2;
      --caremealCreamLine:#eadfce;
      --caremealMintLine:#cfe8dc;
      --shadow:0 14px 36px rgba(16,32,27,.08);
      --radius:22px;
      --bottomNav:76px;
      --font-app:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--font-app);
      color:var(--ink);
      background:#ffffff;
      min-height:100vh;
      -webkit-font-smoothing:antialiased;
    }

    .topbar-actions{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:8px;
      min-width:0;
    }

    .connection-status{
      display:inline-flex;
      align-items:center;
      gap:7px;
      min-height:36px;
      padding:7px 10px;
      border:1px solid var(--caremealMintLine);
      border-radius:999px;
      color:var(--greenDark);
      background:var(--mint);
      font-size:12px;
      font-weight:850;
      white-space:nowrap;
    }

    .connection-status-dot{
      width:8px;
      height:8px;
      border-radius:50%;
      background:#16a34a;
      box-shadow:0 0 0 4px rgba(22,163,74,.12);
    }

    .connection-status.offline{
      color:#8a4b08;
      border-color:#f0d29b;
      background:#fff8e8;
    }

    .connection-status.offline .connection-status-dot{
      background:#d97706;
      box-shadow:0 0 0 4px rgba(217,119,6,.12);
    }

    .pwa-install-button{
      min-height:42px;
      padding:9px 14px;
      border:1px solid var(--green);
      border-radius:999px;
      color:var(--green);
      background:#fff;
      font-size:13px;
      font-weight:900;
    }

    .pwa-install-button:hover,
    .pwa-install-button:focus-visible{
      color:#fff;
      background:var(--green);
      outline:0;
    }

    .pwa-install-button[hidden],
    .pwa-install-panel[hidden]{
      display:none !important;
    }

    .pwa-install-panel{
      position:fixed;
      top:84px;
      right:max(18px, env(safe-area-inset-right));
      z-index:75;
      width:min(620px, calc(100% - 36px));
      display:grid;
      grid-template-columns:auto minmax(0, 1fr) auto;
      align-items:center;
      gap:14px;
      padding:14px;
      border:1px solid var(--caremealMintLine);
      border-radius:20px;
      background:rgba(255,255,255,.98);
      box-shadow:0 20px 50px rgba(6,63,48,.18);
    }

    .pwa-install-icon{
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:#fff;
      background:var(--green);
      font-size:14px;
      font-weight:950;
      letter-spacing:-.04em;
    }

    .pwa-install-copy{
      min-width:0;
      display:grid;
      gap:4px;
    }

    .pwa-install-copy strong{
      font-size:15px;
      line-height:1.25;
    }

    .pwa-install-copy span{
      color:var(--muted);
      font-size:12px;
      line-height:1.4;
    }

    .pwa-install-actions{
      display:flex;
      align-items:center;
      gap:7px;
    }

    .pwa-install-actions .btn.compact{
      min-height:40px;
      padding:9px 13px;
    }

    .pwa-install-dismiss{
      min-height:40px;
      padding:8px 10px;
      border:0;
      border-radius:12px;
      color:var(--muted);
      background:transparent;
      font-size:12px;
      font-weight:850;
    }

    @media(max-width:720px){
      .connection-status{
        width:34px;
        min-width:34px;
        min-height:34px;
        justify-content:center;
        padding:0;
      }

      #connectionStatusLabel{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
        white-space:nowrap;
      }

      .pwa-install-button{
        min-height:38px;
        padding:7px 10px;
        font-size:12px;
      }

      .pwa-install-panel{
        top:auto;
        right:12px;
        bottom:calc(76px + env(safe-area-inset-bottom));
        width:calc(100% - 24px);
        grid-template-columns:auto minmax(0, 1fr);
        gap:10px;
      }

      .pwa-install-actions{
        grid-column:1 / -1;
        justify-content:flex-end;
      }
    }

    @media(max-width:420px){
      .brand-mark{
        width:42px !important;
        height:42px !important;
      }

      .brand-title{
        font-size:19px !important;
      }

      .pwa-install-button{
        max-width:74px;
        overflow:hidden;
        text-overflow:ellipsis;
      }
    }

    :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,em,label,summary,small,li,dt,dd,th,td,button,input,select,textarea,optgroup,option){
      font-family:var(--font-app);
    }

    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    img,video,iframe{max-width:100%}

    .scroll-handle{
      position:fixed;
      right:18px;
      bottom:28px;
      z-index:80;
      display:flex;
      flex-direction:column;
      gap:8px;
      padding:7px;
      border:1px solid #e5ddd0;
      border-radius:999px;
      background:#fff;
    }

    .scroll-handle button{
      width:42px;
      height:42px;
      border:0;
      border-radius:999px;
      background:#f3ecdf;
      color:var(--greenDark);
      font-size:20px;
      font-weight:750;
      line-height:1;
      display:grid;
      place-items:center;
    }

    .scroll-handle button:hover,
    .scroll-handle button:focus-visible{
      background:var(--green);
      color:#fff;
      outline:0;
    }

    .app-shell{
      width:min(1180px, 100%);
      margin:0 auto;
      padding:0 18px calc(var(--bottomNav) + env(safe-area-inset-bottom) + 26px);
      background:#fff;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(229,232,230,.82);
    }

    .topbar-inner{
      width:min(1180px, 100%);
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 18px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:0;
      border:0;
      background:transparent;
      text-align:left;
      color:inherit;
      padding:0;
      min-width:0;
      align-items:center;
    }

    .logo{
      width:44px;
      height:44px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:var(--greenDark);
      color:#fff;
      font-weight:950;
      letter-spacing:-.06em;
      box-shadow:0 12px 24px rgba(6,63,48,.18);
      flex:0 0 auto;
    }

    .brand-title{
      display:block;
      font-size:21px;
      line-height:1;
      font-weight:950;
      letter-spacing:-.06em;
      white-space:nowrap;
    }

    .brand-subtitle{
      display:block;
      margin-top:3px;
      color:var(--muted);
      font-size:12px;
      font-weight:700;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      max-width:230px;
    }

    .desktop-nav{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:7px;
      flex-wrap:wrap;
    }

    .nav-btn{
      border:0;
      border-radius:999px;
      padding:10px 12px;
      color:var(--muted);
      background:transparent;
      font-size:14px;
      font-weight:850;
      min-height:42px;
    }

    .nav-btn.active{
      color:#fff;
      background:var(--green);
      box-shadow:0 10px 22px rgba(15,107,79,.18);
    }





    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:14px;
      margin-top:16px;
    }

    .food-db-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin-top:14px;
      max-height:520px;
      overflow:auto;
      padding-right:4px;
    }

    .food-db-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .food-db-card h4{
      margin:0 0 8px;
      font-size:16px;
      letter-spacing:-.02em;
    }

    .food-db-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:8px 0;
    }

    .food-db-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:5px 8px;
      font-size:11px;
      font-weight:900;
    }

    @media(max-width:980px){
  
    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .food-db-grid{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:720px){
  
    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
        grid-template-columns:1fr;
      }
    }

    .admin-tabs{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin:18px 0;
    }

    .admin-tabs button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .admin-tabs button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .admin-tracking-section{
      border:1px solid var(--line);
      background:#f8fbf8;
      border-radius:18px;
      padding:16px;
      margin-bottom:18px;
    }

    .admin-tracking-title{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom:12px;
    }

    .admin-tracking-title h3{
      margin:0;
    }

    .admin-kpi-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
    }

    .admin-payment-summary{
      margin-top:12px;
    }

    .admin-tracking-controls{
      display:grid;
      grid-template-columns:minmax(220px, 1.2fr) minmax(180px, .9fr) minmax(180px, .9fr) auto;
      gap:12px;
      align-items:end;
      margin-bottom:14px;
    }

    .admin-search-field label,
    .admin-filter-stack > span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:900;
      margin-bottom:7px;
      text-transform:uppercase;
      letter-spacing:0;
    }

    .admin-search-field input{
      width:100%;
      min-height:44px;
    }

    .admin-filter-row{
      display:flex;
      flex-wrap:wrap;
      gap:7px;
    }

    .admin-filter-row button,
    .admin-table-action{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:8px 10px;
      font-size:12px;
      font-weight:900;
    }

    .admin-filter-row button.active,
    .admin-table-action:hover{
      background:var(--green);
      border-color:var(--green);
      color:#fff;
    }

    .admin-filter-actions{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .admin-tracking-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:14px;
      margin-top:14px;
    }

    .admin-tracking-panel{
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      overflow:hidden;
    }

    .admin-tracking-head{
      display:flex;
      justify-content:space-between;
      gap:10px;
      padding:12px 14px;
      border-bottom:1px solid var(--line);
      color:#344054;
    }

    .admin-tracking-head span{
      color:var(--muted);
      font-size:12px;
      font-weight:800;
    }

    .admin-table-wrap{
      overflow-x:auto;
    }

    .admin-table{
      width:100%;
      min-width:680px;
      border-collapse:collapse;
      font-size:13px;
    }

    .admin-table th,
    .admin-table td{
      padding:11px 14px;
      border-bottom:1px solid var(--line);
      text-align:left;
      vertical-align:top;
    }

    .admin-table th{
      color:var(--muted);
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:0;
      background:#fbfdfb;
    }

    .admin-table td span:not(.pill){
      display:block;
      color:var(--muted);
      font-size:12px;
      margin-top:4px;
      overflow-wrap:anywhere;
    }

    .admin-table tr.selected td{
      background:#f2faf4;
    }

    .admin-order-detail{
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      margin-top:14px;
      overflow:hidden;
    }

    .admin-detail-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      padding:14px;
    }

    .admin-detail-grid div{
      border:1px solid var(--line);
      border-radius:12px;
      padding:12px;
      background:#fbfdfb;
      min-width:0;
    }

    .admin-detail-grid span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
      margin-bottom:5px;
    }

    .admin-detail-grid strong,
    .admin-detail-grid em{
      display:block;
      overflow-wrap:anywhere;
    }

    .admin-detail-grid em{
      color:var(--muted);
      font-size:12px;
      font-style:normal;
      margin-top:4px;
    }

    .caremeal-safety-notice{
      border-color:#f3d08c;
      background:#fff8e8;
      color:#4b3a12;
    }

    .caremeal-positioning-grid,
    .onboarding-grid,
    .professional-grid,
    .dashboard-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:16px;
      margin-top:18px;
    }

    .caremeal-onco-modules{
      margin:18px 0;
    }

    .future-paths-card{
      margin-top:18px;
    }

    .professional-screen .lead{
      max-width:820px;
    }

    .professional-landing{
      display:grid;
      grid-template-columns:minmax(0, 1.35fr) minmax(280px, .75fr);
      gap:18px;
      align-items:stretch;
    }

    .professional-highlight{
      border:1px solid #eadfce;
      background:#fffaf2;
      border-radius:24px;
      padding:22px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:10px;
      color:var(--greenDark);
    }

    .professional-highlight strong{
      font-size:20px;
      line-height:1.2;
    }

    .professional-highlight span{
      color:var(--muted);
      line-height:1.6;
      font-size:15px;
    }

    .professional-model-intro{
      max-width:760px;
      margin:34px 0 14px;
    }

    .professional-model-intro h3{
      margin:6px 0 8px;
      font-size:26px;
      line-height:1.2;
    }

    .professional-model-intro p:last-child{
      margin:0;
      color:var(--muted);
    }

    .professional-offers{
      border-top:1px solid #dfd5c5;
      margin-bottom:26px;
    }

    .professional-offer{
      display:grid;
      grid-template-columns:minmax(130px, .55fr) minmax(0, 1.6fr) minmax(190px, .55fr);
      gap:28px;
      align-items:start;
      padding:28px 0;
      border-bottom:1px solid #dfd5c5;
    }

    .professional-offer-label{
      display:flex;
      flex-direction:column;
      gap:8px;
      color:var(--brown);
    }

    .professional-offer-index{
      font-size:13px;
      font-weight:800;
      letter-spacing:.08em;
    }

    .professional-offer-label strong{
      color:var(--greenDark);
      font-size:16px;
      line-height:1.35;
    }

    .professional-offer-copy h3{
      margin:0 0 8px;
      font-size:22px;
      line-height:1.25;
    }

    .professional-offer-copy > p{
      margin:0;
      color:var(--muted);
    }

    .professional-offer-copy ul{
      display:grid;
      gap:8px;
      margin:16px 0 0;
      padding:0;
      list-style:none;
    }

    .professional-offer-copy li{
      position:relative;
      padding-left:18px;
      color:var(--ink);
    }

    .professional-offer-copy li::before{
      content:"";
      position:absolute;
      left:0;
      top:.65em;
      width:6px;
      height:6px;
      border-radius:50%;
      background:var(--brown);
    }

    .professional-offer-action{
      width:100%;
      align-self:start;
    }

    .professional-pack-pricing{
      margin-top:20px;
      overflow-x:auto;
    }

    .professional-pack-pricing table{
      width:100%;
      min-width:430px;
      border-collapse:collapse;
      color:var(--ink);
      font-size:14px;
    }

    .professional-pack-pricing caption{
      padding-bottom:9px;
      color:var(--brown);
      font-size:13px;
      font-weight:800;
      text-align:left;
      text-transform:uppercase;
      letter-spacing:.05em;
    }

    .professional-pack-pricing th,
    .professional-pack-pricing td{
      padding:10px 12px 10px 0;
      border-top:1px solid #e8dfd2;
      text-align:left;
      white-space:nowrap;
    }

    .professional-pack-pricing th{
      color:var(--muted);
      font-size:12px;
      font-weight:700;
    }

    .professional-pack-pricing p{
      margin:10px 0 0;
      font-size:13px;
      color:var(--muted);
    }

    .professional-data-guard{
      display:grid;
      grid-template-columns:minmax(220px, .75fr) minmax(0, 1.6fr);
      gap:26px;
      margin:0 0 26px;
      padding:22px 24px;
      border-left:4px solid var(--green);
      background:#eef7f1;
      color:var(--greenDark);
    }

    .professional-data-guard strong{
      font-size:17px;
      line-height:1.4;
    }

    .professional-data-guard span{
      color:var(--muted);
      line-height:1.6;
    }

    .professional-contact-card{
      border-color:#eadfce;
      background:#fff;
      box-shadow:none;
      margin-top:18px;
      scroll-margin-top:110px;
    }

    .professional-contact-card .card-header{
      background:#fffaf2;
    }

    .professional-form-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px 16px;
    }

    .professional-message-field{
      grid-column:1 / -1;
    }

    .professional-project-field{
      grid-column:1 / -1;
    }

    .future-paths-grid{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(320px, 0.85fr);
      gap:18px;
      align-items:start;
    }

    .future-interest-form{
      border:1px solid var(--line);
      border-radius:14px;
      padding:14px;
      background:#fff;
    }

    .professional-privacy-note{
      margin:0 0 14px;
    }

    .professional-consent-row{
      margin:12px 0;
    }

    .professional-form-actions{
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
    }

    .professional-form-actions .btn.full{
      flex:1 1 220px;
    }

    .dashboard-hero{
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:flex-start;
      margin-bottom:16px;
    }

    .dashboard-status{
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      padding:14px;
      min-width:220px;
    }

    .dashboard-status span,
    .dashboard-status strong{
      display:block;
    }

    .dashboard-status em{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-style:normal;
      margin-top:6px;
    }

    .dashboard-status span{
      color:var(--muted);
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
      margin-bottom:6px;
    }

    .dashboard-meal-list{
      display:grid;
      gap:10px;
    }

    .dashboard-meal-card{
      border:1px solid var(--line);
      background:#fbfdfb;
      border-radius:12px;
      padding:12px;
    }

    .dashboard-meal-card p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }

    .dashboard-meal-meta{
      display:block;
      color:var(--greenDark);
      font-size:11px;
      font-weight:950;
      text-transform:uppercase;
      margin-bottom:6px;
    }

    .dashboard-meal-actions{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }

    .dashboard-section-actions{
      display:flex;
      justify-content:flex-start;
      margin-top:2px;
    }

    .caremeal-tip-list{
      display:grid;
      gap:10px;
    }

    .caremeal-tip-list div{
      border:1px solid var(--line);
      background:#fbfdfb;
      border-radius:12px;
      padding:12px;
    }

    .caremeal-tip-list strong,
    .caremeal-tip-list span{
      display:block;
    }

    .caremeal-tip-list span{
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
      margin-top:4px;
    }

    .dashboard-actions{
      display:grid;
      gap:10px;
    }

    .empty-state{
      border:1px dashed var(--line);
      border-radius:12px;
      padding:16px;
      color:var(--muted);
      background:#fbfdfb;
    }

    .admin-professional-panel{
      margin-top:14px;
    }

    .admin-status-actions{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      border-top:1px solid var(--line);
      padding:14px;
      background:#fbfdfb;
    }

    .admin-status-actions span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
      margin-bottom:5px;
    }

    .admin-status-buttons{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:8px;
    }

    .admin-status-button{
      border:1px solid var(--green);
      background:var(--green);
      color:#fff;
      border-radius:999px;
      padding:9px 12px;
      font-size:12px;
      font-weight:900;
    }

    .admin-status-button:hover{
      background:var(--greenDark);
      border-color:var(--greenDark);
    }

    .admin-status-current{
      border:1px solid var(--line);
      border-radius:999px;
      padding:9px 12px;
      background:#fff;
      text-transform:none;
      margin:0;
    }

    .admin-contact-status-buttons{
      justify-content:flex-start;
      min-width:180px;
    }

    .admin-contact-status-buttons .admin-status-button{
      padding:7px 10px;
    }

    .admin-professional-controls{
      display:grid;
      grid-template-columns:minmax(220px, 1fr) minmax(220px, 1fr) minmax(140px, auto) auto;
      gap:12px;
      align-items:end;
      padding:14px;
      border-bottom:1px solid var(--line);
      background:#fbfdfb;
    }

    .admin-pagination{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      padding:12px 14px;
      border-top:1px solid var(--line);
      background:#fbfdfb;
    }

    .admin-pagination span{
      color:var(--muted);
      font-size:12px;
      font-weight:900;
    }

    .admin-table-action:disabled{
      opacity:.45;
      cursor:not-allowed;
      background:#fff;
      color:var(--muted);
      border-color:var(--line);
    }

    .admin-professional-detail{
      margin-top:14px;
    }

    .admin-note-form{
      border-top:1px solid var(--line);
      padding:14px;
      background:#fbfdfb;
    }

    .admin-note-form textarea{
      min-height:104px;
    }

    .admin-note-actions{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      margin-top:10px;
    }

    .admin-note-actions span{
      color:var(--muted);
      font-size:12px;
      font-weight:800;
    }

    .admin-history-block{
      border-top:1px solid var(--line);
    }

    .admin-history-list{
      display:grid;
      gap:10px;
      padding:14px;
    }

    .admin-history-item{
      border:1px solid var(--line);
      border-radius:12px;
      background:#fff;
      padding:12px;
    }

    .admin-history-item strong,
    .admin-history-item span{
      display:block;
    }

    .admin-history-item span{
      color:var(--muted);
      font-size:12px;
      margin-top:4px;
      overflow-wrap:anywhere;
    }

    .admin-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
    }

    .admin-field{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .admin-field label{
      margin-bottom:8px;
    }

    .admin-field textarea{
      min-height:84px;
    }

    .admin-field.full{
      grid-column:1 / -1;
    }

    @media(max-width:720px){
      .admin-grid{
        grid-template-columns:1fr;
      }

      .admin-kpi-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }

      .admin-tracking-controls,
      .admin-professional-controls,
      .admin-detail-grid{
        grid-template-columns:1fr;
      }

      .admin-filter-actions{
        justify-content:flex-start;
      }

      .admin-status-actions{
        align-items:flex-start;
        flex-direction:column;
      }

      .admin-status-buttons{
        justify-content:flex-start;
      }

      .caremeal-positioning-grid,
      .onboarding-grid,
      .professional-grid,
      .professional-landing,
      .professional-form-grid,
      .dashboard-grid{
        grid-template-columns:1fr;
      }

      .professional-offer,
      .professional-data-guard{
        grid-template-columns:1fr;
      }

      .professional-offer{
        gap:18px;
        padding:24px 0;
      }

      .professional-offer-label{
        flex-direction:row;
        align-items:baseline;
        gap:12px;
      }

      .professional-offer-action{
        max-width:none;
      }

      .professional-pack-pricing table{
        min-width:0;
        font-size:13px;
      }

      .professional-pack-pricing th,
      .professional-pack-pricing td{
        padding-right:8px;
        white-space:normal;
      }

      .dashboard-hero{
        flex-direction:column;
      }

      .dashboard-status{
        width:100%;
      }

      .future-paths-grid{
        grid-template-columns:1fr;
      }
    }

    .creator-access-btn{
      border:1px solid var(--line);
      background:#fff;
      color:var(--greenDark);
      border-radius:999px;
      padding:10px 12px;
      font-size:13px;
      font-weight:950;
      min-height:42px;
      white-space:nowrap;
    }

    .creator-access-btn:hover{
      background:var(--greenSoft);
    }

    .modal-backdrop{
      position:fixed;
      inset:0;
      z-index:100;
      background:rgba(16,32,27,.42);
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
    }

    .modal-backdrop.active{
      display:flex;
    }

    .modal-card{
      width:min(430px,100%);
      background:#fff;
      border-radius:24px;
      box-shadow:0 24px 70px rgba(0,0,0,.24);
      border:1px solid var(--line);
      overflow:hidden;
    }

    .modal-card .card-header,
    .modal-card .card-body{
      padding:20px;
    }

    .modal-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
      margin-top:14px;
    }

    .error-text{
      display:none;
      color:var(--red);
      font-weight:850;
      font-size:13px;
      margin-top:10px;
    }

    .error-text.active{
      display:block;
    }

    .mobile-nav{
      position:fixed;
      left:10px;
      right:10px;
      bottom:calc(10px + env(safe-area-inset-bottom));
      z-index:60;
      display:none;
      grid-template-columns:repeat(6,1fr);
      gap:4px;
      padding:8px;
      border:1px solid rgba(229,232,230,.96);
      background:rgba(255,255,255,.94);
      backdrop-filter:blur(18px);
      border-radius:26px;
      box-shadow:0 18px 44px rgba(0,0,0,.16);
    }

    .mobile-nav button{
      border:0;
      background:transparent;
      color:#667085;
      border-radius:18px;
      min-height:54px;
      padding:6px 2px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:3px;
      font-size:10px;
      font-weight:850;
    }

    .mobile-nav span:first-child{font-size:18px;line-height:1}
    .mobile-nav button.active{
      background:var(--green);
      color:#fff;
    }

    main{padding-top:26px}
    .screen{display:none; animation:enter .22s ease-out}
    .screen.active{display:block}
    @keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

    .hero{
      display:grid;
      grid-template-columns:1.07fr .93fr;
      gap:22px;
      align-items:center;
    }

    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:8px 12px;
      font-size:13px;
      font-weight:900;
    }

    h1{
      margin:18px 0;
      font-size:clamp(36px, 5vw, 66px);
      line-height:.98;
      letter-spacing:-.075em;
    }

    h2{
      margin:0 0 12px;
      font-size:clamp(28px, 3.2vw, 44px);
      line-height:1.04;
      letter-spacing:-.065em;
    }

    h3{
      margin:0;
      font-size:20px;
      line-height:1.15;
      letter-spacing:-.035em;
    }

    p{line-height:1.64}
    .lead{font-size:18px;color:var(--muted);max-width:720px}
    .muted{color:var(--muted)}
    .small{font-size:13px}

    .eyebrow{
      margin:0 0 10px;
      text-transform:uppercase;
      letter-spacing:.18em;
      color:var(--green);
      font-size:12px;
      font-weight:950;
    }

    .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
    .btn{
      border:0;
      border-radius:16px;
      min-height:48px;
      padding:12px 16px;
      background:var(--green);
      color:#fff;
      font-weight:950;
      box-shadow:0 12px 24px rgba(15,107,79,.17);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
    }
    .btn:hover{background:var(--greenDark)}
    .btn.secondary{
      background:#fff;
      color:var(--greenDark);
      border:1px solid var(--line);
      box-shadow:none;
    }
    .btn.ghost{
      background:var(--greenSoft);
      color:var(--greenDark);
      box-shadow:none;
    }
    .btn:disabled{
      opacity:.45;
      cursor:not-allowed;
    }
    .btn.full{width:100%}
    .btn.compact{
      min-height:38px;
      border-radius:12px;
      padding:8px 11px;
      font-size:12px;
      box-shadow:none;
    }

    .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
    .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .layout{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:18px;
      align-items:start;
      margin-top:22px;
    }

    main,
    .screen{
      background:#fff;
    }

    .card{
      border:1px solid rgba(229,232,230,.92);
      background:#fff;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .card.pad{padding:22px}
    .card-header{padding:20px 22px;border-bottom:1px solid var(--line)}
    .card-body{padding:22px}
    .soft{background:var(--mint)}
    .green-card{background:var(--greenDark);color:#fff}
    .green-card .muted{color:#d5f1e6}
    .green-card .card-header{border-color:rgba(255,255,255,.16)}

    main .screen:not(#aliments):not(#admin-soutien) .card:not(.green-card):not(.modal-card){
      border-color:var(--caremealCreamLine);
      border-top:4px solid #e1c496;
      box-shadow:none;
    }

    main .screen:not(#aliments):not(#admin-soutien) .card:not(.green-card):not(.modal-card) > .card-header{
      background:var(--caremealCream);
      border-bottom-color:var(--caremealCreamLine);
    }

    .mini{
      border:1px solid var(--line);
      border-radius:19px;
      padding:16px;
      background:#fff;
    }
    .mini.green{background:var(--greenSoft);border-color:#caebdb}
    .mini.sand{background:var(--sand);border-color:#f4dfb5}
    .mini strong{display:block}

    .home-benefits-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin-top:18px;
    }
    .home-benefit{
      min-height:172px;
      border:1px solid #e9decd;
      border-radius:22px;
      background:#fff;
      padding:18px;
      box-shadow:0 14px 34px rgba(40,48,42,.07);
    }
    .home-benefit-marker{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;
      height:34px;
      border-radius:50%;
      background:#f4eadb;
      color:var(--brown);
      font-size:12px;
      font-weight:950;
      letter-spacing:.06em;
    }
    .home-benefit h3{
      margin:14px 0 8px;
      font-size:18px;
      line-height:1.18;
    }
    .home-benefit p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.58;
    }

    #accueil{
      font-family:var(--font-app);
    }

    #accueil .eyebrow,
    #accueil .section-kicker{
      color:var(--brown);
      font-size:12px;
      line-height:1.35;
      font-weight:800;
      letter-spacing:.04em;
    }

    #accueil h1{
      max-width:760px;
      font-size:clamp(36px, 4.5vw, 56px);
      line-height:1.04;
      letter-spacing:0;
      font-weight:760;
      margin:16px 0 18px;
    }

    #accueil .lead{
      max-width:720px;
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    #accueil .btn{
      font-size:15px;
      line-height:1.35;
      font-weight:720;
      letter-spacing:0;
    }

    #accueil .notice span{
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    #accueil .home-benefit{
      box-shadow:none;
    }

    #accueil .home-benefit h3{
      font-size:18px;
      line-height:1.35;
      letter-spacing:0;
      font-weight:720;
    }

    #accueil .home-benefit p{
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    .notice{
      display:flex;
      align-items:flex-start;
      gap:11px;
      border-radius:18px;
      padding:14px;
      border:1px solid #f0dcae;
      background:var(--sand);
      color:#5d3a05;
      font-size:14px;
      line-height:1.55;
    }
    .notice.green{background:var(--greenSoft);border-color:#caebdb;color:var(--greenDark)}
    .notice.red{background:#fff1f0;border-color:#ffd1cc;color:#7a271a}
    .preorder-delay-note{margin-top:12px}

    .form-group{margin-bottom:16px}
    label{display:block;margin-bottom:8px;font-size:14px;font-weight:900}
    input,textarea,select{
      width:100%;
      min-height:48px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--ink);
      border-radius:16px;
      padding:12px 14px;
      outline:0;
    }
    textarea{min-height:96px;resize:vertical}
    input:focus,textarea:focus,select:focus{
      border-color:var(--green);
      box-shadow:0 0 0 4px rgba(15,107,79,.1);
    }

    .chips{display:flex;flex-wrap:wrap;gap:9px}
    .chip{
      min-height:42px;
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      color:#344054;
      padding:9px 13px;
      font-size:14px;
      font-weight:850;
    }
    .chip.active{background:var(--green);border-color:var(--green);color:#fff}
    .chip.danger.active{background:var(--red);border-color:var(--red);color:#fff}

    .timeline{display:grid;gap:11px;margin-top:14px}
    .timeline-item{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px;
      background:#fff;
    }
    .timeline-item-adjustable{
      align-items:flex-start;
      flex-wrap:wrap;
    }
    .timeline-main{
      min-width:0;
    }
    .timeline-actions{
      margin-left:auto;
      display:flex;
      align-items:center;
      gap:8px;
    }
    .timeline-adjust-btn,
    .timeline-reset-btn{
      min-height:34px;
      border:1px solid #eadfce;
      border-radius:999px;
      background:#fbf7ef;
      color:var(--greenDark);
      padding:7px 12px;
      font-size:12px;
      font-weight:750;
      cursor:pointer;
      white-space:nowrap;
    }
    .timeline-adjust-btn:hover,
    .timeline-reset-btn:hover{
      border-color:var(--green);
      background:var(--greenSoft);
    }
    .timeline-date-editor{
      display:none;
      width:100%;
      margin-top:10px;
      padding:12px;
      border:1px solid #eadfce;
      border-radius:16px;
      background:#fbf7ef;
    }
    .timeline-date-editor.active{
      display:block;
    }
    .timeline-date-editor label{
      margin-bottom:8px;
      font-size:13px;
      font-weight:650;
      color:var(--greenDark);
    }
    .timeline-date-editor-row{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:10px;
    }
    .timeline-date-editor input{
      max-width:220px;
      min-height:42px;
      border-color:#eadfce;
      background:#fff;
      font-size:14px;
    }
    .treatment-adjusted-note{
      margin-top:4px;
      color:var(--brown);
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:7px 10px;
      background:var(--greenSoft);
      color:var(--greenDark);
      font-size:12px;
      font-weight:950;
      white-space:nowrap;
    }

    .section-kicker{
      margin:0 0 8px;
      color:var(--brown);
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .home-process-card{
      background:#fff;
      border-color:#eadfcd;
      box-shadow:0 18px 44px rgba(40,48,42,.08);
    }

    #accueil .home-process-card{
      box-shadow:none;
    }

    .home-process-card .card-header{
      margin:22px 22px 8px;
      padding:24px;
      border:1px solid #eadfcd;
      border-radius:28px;
      background:#fbf4ea;
    }

    #accueil .home-process-card .card-header .section-kicker{
      color:var(--brown);
      font-size:13px;
      letter-spacing:.1em;
      margin-bottom:12px;
    }

    .home-process-card .card-header h3{
      margin:0;
      max-width:520px;
      font-size:28px;
      line-height:1.08;
    }

    #accueil .home-process-card .card-header h3{
      max-width:700px;
      font-size:30px;
      line-height:1.12;
      letter-spacing:0;
      font-weight:760;
    }

    .home-process-card .card-header .muted{
      margin-top:10px;
      max-width:560px;
      line-height:1.6;
    }

    #accueil .home-process-card .card-header .muted{
      max-width:680px;
      margin-top:14px;
      font-size:16px;
      line-height:1.65;
      font-weight:500;
    }

    .home-process-card .timeline{
      gap:11px;
      margin-top:10px;
    }
    .home-process-card .timeline-item{
      align-items:flex-start;
      border-color:#e8dccb;
      background:#fff;
      box-shadow:0 8px 22px rgba(40,48,42,.06);
    }

    #accueil .home-process-card .timeline-item{
      box-shadow:none;
      border-color:#eee4d5;
      background:#fff;
      padding:20px 22px;
    }

    #accueil .home-process-card .timeline-item > div{
      display:flex;
      flex-direction:column;
      gap:9px;
    }

    .home-process-card .timeline-item strong{
      font-size:16px;
      line-height:1.3;
    }

    #accueil .home-process-card .timeline-item strong{
      display:block;
      color:var(--greenDark);
      font-size:16px;
      line-height:1.35;
      font-weight:780;
      letter-spacing:0;
    }

    .home-process-card .timeline-item .small{
      margin-top:6px;
      line-height:1.55;
    }

    #accueil .home-process-card .timeline-item .small{
      margin-top:0;
      color:#65736e;
      font-size:14px;
      line-height:1.65;
      font-weight:430;
    }
    .home-process-card .pill{
      background:#f6ead8;
      color:var(--brown);
      letter-spacing:.03em;
      text-transform:uppercase;
    }

    .meal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .meal-card .card-body{display:flex;flex-direction:column;gap:13px}
    .meal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
    .meal-meta div{
      background:#f6f8f7;
      border-radius:15px;
      padding:10px;
      text-align:center;
      min-width:0;
    }
    .meal-meta span{display:block;color:var(--muted);font-size:11px}
    .meal-meta strong{font-size:13px}
    .cart{position:sticky;top:92px}
    .cart-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:10px;
      align-items:start;
      border:1px solid var(--line);
      border-radius:16px;
      padding:12px;
      margin-bottom:9px;
      background:#fff;
    }
    .cart-item button{
      border:0;
      background:#f2f4f3;
      color:#344054;
      border-radius:12px;
      padding:8px 10px;
      font-size:12px;
      font-weight:900;
    }

    .support-hero{
      display:grid;
      grid-template-columns:1fr .8fr;
      gap:18px;
      align-items:stretch;
      margin-top:22px;
    }
    .quote{
      font-size:24px;
      line-height:1.35;
      letter-spacing:-.04em;
      font-weight:900;
      margin:0;
    }

    .video-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
      margin-top:20px;
    }

    .video-box{
      aspect-ratio:16/9;
      border-radius:20px;
      overflow:hidden;
      background:
        linear-gradient(135deg, rgba(15,107,79,.92), rgba(6,63,48,.95)),
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.28), transparent 16rem);
      color:#fff;
      display:grid;
      place-items:center;
      text-align:center;
      padding:18px;
      position:relative;
    }

    .video-box iframe,
    .video-box video{
      width:100%;
      height:100%;
      border:0;
      display:block;
      background:#000;
    }

    .play-circle{
      width:58px;
      height:58px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(6,63,48,.08);
      border:1px solid rgba(6,63,48,.16);
      margin:0 auto 10px;
      font-size:22px;
    }

    .video-card .card-body{padding:16px}
    .video-card h3{font-size:18px}
    .video-script{
      margin-top:12px;
      background:#f6f8f7;
      border-radius:16px;
      padding:13px;
      color:#475467;
      font-size:13px;
    }

    .success{
      display:none;
      margin-top:12px;
      border-radius:17px;
      border:1px solid #caebdb;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:13px;
      font-weight:850;
      font-size:14px;
    }
    .success.active{display:block}



    .green-card .mini{
      color:var(--ink);
    }

    .green-card .mini .muted{
      color:var(--muted);
    }

    .green-card .mini h3{
      color:var(--ink);
    }

    .green-card .notice{
      color:#5d3a05;
    }

    .podcast-player{
      width:100%;
      margin-top:10px;
    }

    .support-screen{
      font-family:var(--font-app);
    }

    .support-hero .lead{
      max-width:850px;
    }

    .support-intro-strip{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:24px;
    }

    .support-intro-strip div{
      border:1px solid #eadfce;
      border-radius:24px;
      background:#fffaf2;
      padding:20px;
    }

    .support-intro-strip strong{
      display:block;
      color:var(--ink);
      font-size:18px;
      margin-bottom:6px;
    }

    .support-intro-strip span{
      color:var(--muted);
      font-size:16px;
      line-height:1.6;
    }

    .support-audio-panel{
      margin-top:18px;
      border:1px solid var(--line);
      border-radius:28px;
      background:#fff;
      padding:24px;
    }

    .support-panel-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);
      gap:20px;
      align-items:end;
      padding-bottom:18px;
      border-bottom:1px solid var(--line);
    }

    .support-panel-head h3{
      margin:8px 0 0;
      font-size:26px;
      line-height:1.2;
      letter-spacing:0;
      color:var(--ink);
    }

    .support-audio-list{
      display:grid;
      gap:14px;
      margin-top:18px;
    }

    .support-audio-card{
      display:grid;
      grid-template-columns:minmax(0,1fr) 230px;
      gap:20px;
      align-items:stretch;
      border:1px solid #eadfce;
      border-radius:24px;
      background:#fffaf7;
      padding:22px;
    }

    .support-audio-copy > span{
      display:inline-flex;
      color:#9a672c;
      font-size:12px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.1em;
      margin-bottom:12px;
    }

    .support-audio-copy h3{
      margin:0 0 8px;
      font-size:22px;
      line-height:1.25;
      letter-spacing:0;
      color:var(--ink);
    }

    .support-audio-copy p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.6;
    }

    .support-audio-copy blockquote{
      margin:16px 0 0;
      padding-left:16px;
      border-left:3px solid #d7b37a;
      color:#4f625d;
      font-size:16px;
      line-height:1.65;
    }

    .audio-box{
      border-radius:20px;
      background:#e8f6ef;
      color:#063f30;
      border:1px solid #caebdb;
      padding:18px;
      min-height:150px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      gap:10px;
    }

    .audio-box a{
      color:#063f30;
      font-weight:800;
      text-decoration:none;
    }

    .audio-box.box-1,
    .audio-box.box-2,
    .audio-box.box-3,
    .audio-box.box-4{
      background:#e8f6ef;
      color:#063f30;
    }

    .audio-circle{
      width:58px;
      height:58px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(6,63,48,.08);
      border:1px solid rgba(6,63,48,.16);
      margin:0 auto 10px;
      font-size:24px;
    }

    @media(max-width:720px){
      .support-intro-strip,
      .support-panel-head,
      .support-audio-card{
        grid-template-columns:1fr;
      }

      .support-audio-panel{
        padding:18px;
        border-radius:24px;
      }

      .support-audio-card{
        padding:18px;
      }

      .audio-box{
        min-height:120px;
      }
    }

    .creator-panel{
      margin-top:18px;
    }

    .segmented{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-top:14px;
    }

    .segmented button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .segmented button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    @media (max-width:980px){
      .desktop-nav{display:none}
  



    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:14px;
      margin-top:16px;
    }

    .food-db-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin-top:14px;
      max-height:520px;
      overflow:auto;
      padding-right:4px;
    }

    .food-db-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .food-db-card h4{
      margin:0 0 8px;
      font-size:16px;
      letter-spacing:-.02em;
    }

    .food-db-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:8px 0;
    }

    .food-db-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:5px 8px;
      font-size:11px;
      font-weight:900;
    }

    @media(max-width:980px){
  
    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .food-db-grid{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:720px){
  
    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
        grid-template-columns:1fr;
      }
    }

    .admin-tabs{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin:18px 0;
    }

    .admin-tabs button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .admin-tabs button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .admin-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
    }

    .admin-field{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .admin-field label{
      margin-bottom:8px;
    }

    .admin-field textarea{
      min-height:84px;
    }

    .admin-field.full{
      grid-column:1 / -1;
    }

    @media(max-width:720px){
      .admin-grid{
        grid-template-columns:1fr;
      }
    }

    .creator-access-btn{
      border:1px solid var(--line);
      background:#fff;
      color:var(--greenDark);
      border-radius:999px;
      padding:10px 12px;
      font-size:13px;
      font-weight:950;
      min-height:42px;
      white-space:nowrap;
    }

    .creator-access-btn:hover{
      background:var(--greenSoft);
    }

    .modal-backdrop{
      position:fixed;
      inset:0;
      z-index:100;
      background:rgba(16,32,27,.42);
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
    }

    .modal-backdrop.active{
      display:flex;
    }

    .modal-card{
      width:min(430px,100%);
      background:#fff;
      border-radius:24px;
      box-shadow:0 24px 70px rgba(0,0,0,.24);
      border:1px solid var(--line);
      overflow:hidden;
    }

    .modal-card .card-header,
    .modal-card .card-body{
      padding:20px;
    }

    .modal-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
      margin-top:14px;
    }

    .error-text{
      display:none;
      color:var(--red);
      font-weight:850;
      font-size:13px;
      margin-top:10px;
    }

    .error-text.active{
      display:block;
    }

    .mobile-nav{display:grid}
      .app-shell{padding-left:14px;padding-right:14px}
      .hero,.layout,.support-hero{grid-template-columns:1fr}
      .cart{position:static}
    }

    @media (max-width:720px){
      :root{--radius:20px}
      .topbar-inner{padding:10px 14px}
      .brand-subtitle{max-width:190px}
      main{padding-top:18px}
      h1{font-size:42px}
      h2{font-size:31px}
      .lead{font-size:16px}
      .grid-3,.grid-2,.meal-grid,.video-grid{grid-template-columns:1fr}
      .home-benefits-grid{grid-template-columns:1fr}
      .card-header,.card-body,.card.pad{padding:18px}
      .actions{display:grid;grid-template-columns:1fr}
      .actions .btn{width:100%}
      .meal-meta{grid-template-columns:repeat(3, minmax(0,1fr))}
      .chip{min-height:44px}
      .timeline-item{align-items:flex-start;flex-direction:column}
      .mobile-nav button{min-height:50px}
      .mobile-nav span:last-child{display:none}
      .quote{font-size:21px}
    }

    @media (max-width:380px){
      .brand-title{font-size:19px}
      .logo{width:40px;height:40px;border-radius:14px}
      h1{font-size:37px}
      .app-shell{padding-left:12px;padding-right:12px}
  



    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:14px;
      margin-top:16px;
    }

    .food-db-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin-top:14px;
      max-height:520px;
      overflow:auto;
      padding-right:4px;
    }

    .food-db-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .food-db-card h4{
      margin:0 0 8px;
      font-size:16px;
      letter-spacing:-.02em;
    }

    .food-db-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:8px 0;
    }

    .food-db-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:5px 8px;
      font-size:11px;
      font-weight:900;
    }

    @media(max-width:980px){
  
    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .food-db-grid{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:720px){
  
    .food-page-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      margin:18px 0;
    }

    .food-filter-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .food-filter-row button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .food-filter-row button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .food-public-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin-top:18px;
    }

    .food-public-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .food-public-card h3{
      font-size:18px;
      margin-bottom:8px;
    }

    .food-public-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0;
    }

    .food-public-meta span{
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      padding:6px 9px;
      font-size:11px;
      font-weight:900;
    }

    .food-warning{
      border-left:4px solid var(--amber);
      padding-left:10px;
      margin-top:10px;
      color:#5d3a05;
      font-size:13px;
      line-height:1.45;
    }

    @media(max-width:980px){
      .food-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:720px){
      .food-public-grid{
        grid-template-columns:1fr;
      }
    }

    .food-suggestions-grid{
        grid-template-columns:1fr;
      }
    }

    .admin-tabs{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin:18px 0;
    }

    .admin-tabs button{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:10px 13px;
      font-weight:900;
    }

    .admin-tabs button.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .admin-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
    }

    .admin-field{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .admin-field label{
      margin-bottom:8px;
    }

    .admin-field textarea{
      min-height:84px;
    }

    .admin-field.full{
      grid-column:1 / -1;
    }

    @media(max-width:720px){
      .admin-grid{
        grid-template-columns:1fr;
      }
    }

    .creator-access-btn{
      border:1px solid var(--line);
      background:#fff;
      color:var(--greenDark);
      border-radius:999px;
      padding:10px 12px;
      font-size:13px;
      font-weight:950;
      min-height:42px;
      white-space:nowrap;
    }

    .creator-access-btn:hover{
      background:var(--greenSoft);
    }

    .modal-backdrop{
      position:fixed;
      inset:0;
      z-index:100;
      background:rgba(16,32,27,.42);
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
    }

    .modal-backdrop.active{
      display:flex;
    }

    .modal-card{
      width:min(430px,100%);
      background:#fff;
      border-radius:24px;
      box-shadow:0 24px 70px rgba(0,0,0,.24);
      border:1px solid var(--line);
      overflow:hidden;
    }

    .modal-card .card-header,
    .modal-card .card-body{
      padding:20px;
    }

    .modal-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
      margin-top:14px;
    }

    .error-text{
      display:none;
      color:var(--red);
      font-weight:850;
      font-size:13px;
      margin-top:10px;
    }

    .error-text.active{
      display:block;
    }

    .mobile-nav{left:8px;right:8px}
      .meal-meta{grid-template-columns:1fr}
    }


    .ai-panel{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
      align-items:start;
      margin-top:18px;
    }

    .ai-bubble{
      border:1px solid var(--line);
      background:var(--mint);
      border-radius:22px;
      padding:18px;
      box-shadow:0 8px 22px rgba(16,32,27,.04);
    }

    .ai-bubble strong{
      color:var(--greenDark);
      display:block;
      margin-bottom:8px;
    }

    .ai-summary-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:16px;
    }

    .ai-summary-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:19px;
      padding:15px;
    }

    .ai-summary-card span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:900;
      margin-bottom:5px;
    }

    .ai-summary-card strong{
      color:var(--greenDark);
      font-size:17px;
      line-height:1.25;
    }

    .ai-recommendation-list{
      display:grid;
      gap:10px;
      margin-top:14px;
    }

    .ai-recommendation-item{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
    }

    .ai-recommendation-item strong{
      display:block;
      color:var(--greenDark);
      margin-bottom:5px;
    }

    .profile-validation-note{
      margin-top:16px;
      display:none;
    }
    .profile-validation-note.active{display:flex;}

    @media(max-width:980px){
      .ai-panel,.ai-summary-grid{grid-template-columns:1fr;}
    }

  
    /* ===== Correctif V25 — Étape 4 Repas responsive et centrée ===== */
    #repas {
      font-family:var(--font-app);
      max-width: 1180px;
      margin-left: auto;
      margin-right: auto;
    }

    #repas .eyebrow{
      color:var(--green);
      font-size:12px;
      line-height:1.35;
      font-weight:800;
      letter-spacing:.04em;
    }

    #repas h2{
      font-size:32px;
      line-height:1.16;
      letter-spacing:0;
      font-weight:760;
      margin-bottom:10px;
    }

    #repas .lead{
      max-width:820px;
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    #repas .card-header h3,
    #repas .meal-library-title h3{
      font-size:18px;
      line-height:1.35;
      letter-spacing:0;
      font-weight:720;
    }

    #repas .card-header .muted,
    #repas .card-body .muted,
    #repas .meal-library-title .small{
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    #repas .btn{
      font-size:15px;
      line-height:1.35;
      font-weight:720;
      letter-spacing:0;
    }

    #repas .meals-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr) !important;
      gap: 18px;
      align-items: start;
      justify-content: center;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
    }

    #repas .meals-layout > * {
      min-width: 0;
    }

    #repas .meal-grid {
      width: 100%;
      max-width: 820px;
      margin-left: auto;
      margin-right: auto;
      display: grid;
      grid-template-columns: 1fr;
      gap: 20px;
    }

    #repas .cart {
      width: 100%;
      max-width: 420px;
      justify-self: center;
    }

    #repas .cart-action-only{
      background:transparent;
      border:0;
      border-radius:0;
      box-shadow:none;
      padding:0;
      overflow:visible;
    }

    #repas .cart-action-only .success{
      margin-top:12px;
    }

    #repas .card,
    #repas .meal-card,
    #repas .mini {
      max-width: 100%;
    }

    #repas .meal-meta {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #repas .food-suggestions-grid {
      width: 100%;
      justify-content: center;
    }

    @media (max-width: 980px) {
      #repas .meals-layout {
        grid-template-columns: minmax(0, 760px) !important;
        justify-content: center;
      }

      #repas .cart {
        position: static;
        top: auto;
        max-width: 760px;
        justify-self: center;
      }

      #repas .meal-grid {
        max-width: 760px;
      }
    }

    @media (max-width: 720px) {
      #repas {
        text-align: left;
      }

      #repas .lead,
      #repas .eyebrow,
      #repas h2 {
        text-align: left;
      }

      #repas .meals-layout {
        grid-template-columns: 1fr !important;
        gap: 14px;
      }

      #repas .meal-grid {
        grid-template-columns: 1fr !important;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
      }

      #repas .meal-card,
      #repas .cart,
      #repas > .card {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
      }

      #repas .meal-meta {
        grid-template-columns: 1fr !important;
      }

      #repas .card-header,
      #repas .card-body {
        padding-left: 16px;
        padding-right: 16px;
      }

      #repas .cart-item {
        grid-template-columns: 1fr;
      }

      #repas .cart-item button {
        justify-self: start;
      }

      #repas .food-suggestions-grid {
        grid-template-columns: 1fr !important;
      }
    }

    @media (max-width: 380px) {
      #repas .card-header,
      #repas .card-body {
        padding-left: 14px;
        padding-right: 14px;
      }

      #repas .meal-meta div {
        padding: 9px;
      }
    }

  
    /* ===== V26 — Choix du format de box + menus par journée ===== */
    .box-choice-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:22px;
      padding:18px;
      margin-top:16px;
    }

    .box-choice-card h3{
      margin-bottom:8px;
    }

    .box-format-preview{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:10px;
      margin-top:14px;
    }

    .box-format-preview .mini{
      box-shadow:none;
    }

    .caremeal-day-card{
      border:1px solid var(--line);
      border-radius:22px;
      background:#fff;
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .caremeal-day-card .day-header{
      padding:17px 18px;
      border-bottom:1px solid var(--line);
      background:linear-gradient(135deg, #ffffff, var(--mint));
    }

    .caremeal-day-card .day-header h3{
      margin-top:8px;
    }

    .day-menu-list{
      display:grid;
      gap:10px;
      padding:16px;
    }

    .day-menu-row{
      display:grid;
      grid-template-columns:110px 1fr;
      gap:12px;
      align-items:start;
      border:1px solid var(--line);
      border-radius:17px;
      background:#fff;
      padding:12px;
    }

    .day-menu-row .slot{
      display:inline-flex;
      justify-content:center;
      align-items:center;
      min-height:34px;
      border-radius:999px;
      background:var(--greenSoft);
      color:var(--greenDark);
      font-size:12px;
      font-weight:950;
      text-align:center;
      padding:7px 10px;
    }

    .day-menu-row strong{
      display:block;
      line-height:1.25;
    }

    .day-menu-row .muted{
      margin-top:4px;
      display:block;
    }

    .box-summary-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
      gap:12px;
      margin:16px 0 18px;
    }

    .box-summary-grid .mini{
      box-shadow:none;
    }

    .box-summary-grid .mini-detail{
      margin:8px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.45;
      font-weight:520;
    }

    #repas .box-summary-grid{
      gap:10px;
      margin:22px 0 28px;
    }

    #repas .box-summary-grid .mini,
    #repas .box-summary-grid .mini.green,
    #repas .box-summary-grid .mini.sand{
      background:#fff;
      border-color:#eadfce;
      border-radius:18px;
      padding:18px;
      box-shadow:none;
    }

    #repas .box-summary-grid .mini .muted{
      color:var(--brown);
      font-size:13px;
      font-weight:740;
      letter-spacing:.01em;
    }

    #repas .box-summary-grid .mini h3{
      margin:7px 0 0;
      font-size:22px;
      line-height:1.18;
      font-weight:680;
    }

    #repas .box-plan-overview{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:18px;
      margin:22px 0 30px;
      padding:22px;
      background:#fff;
      border:1px solid #eadfce;
      border-radius:20px;
      box-shadow:none;
    }

    #repas .box-plan-overview .overview-label{
      display:block;
      color:var(--green);
      font-size:13px;
      line-height:1.2;
      font-weight:720;
      letter-spacing:.01em;
      margin-bottom:8px;
    }

    #repas .box-plan-overview h3{
      margin:0;
      font-size:24px;
      line-height:1.18;
      font-weight:680;
      letter-spacing:0;
    }

    #repas .box-plan-overview p{
      margin:8px 0 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.5;
      font-weight:450;
    }

    #repas .box-plan-overview .overview-chip{
      flex:0 0 auto;
      max-width:270px;
      border:1px solid #eadfce;
      border-radius:999px;
      background:#fffaf2;
      color:#4f615d;
      font-size:13px;
      line-height:1.35;
      font-weight:540;
      padding:10px 14px;
      text-align:center;
    }

    #repas .caremeal-day-card{
      border-color:#eadfce;
      border-radius:20px;
      box-shadow:none;
    }

    #repas .caremeal-day-card .day-header{
      background:var(--green);
      border-bottom:0;
      padding:16px 22px;
    }

    #repas .caremeal-day-card .day-header .pill{
      background:#fffaf2;
      border:1px solid #eadfce;
      color:var(--brown);
      font-size:12px;
      font-weight:760;
    }

    #repas .caremeal-day-card .day-header .day-title{
      margin:0;
      color:#fff;
      font-size:18px;
      line-height:1.25;
      font-weight:720;
      letter-spacing:0;
    }

    #repas .caremeal-day-card:nth-child(3n + 2) .day-header{
      background:var(--brown);
    }

    #repas .caremeal-day-card:nth-child(3n + 3) .day-header{
      background:var(--greenDark);
    }

    #repas .day-menu-list{
      gap:0;
      padding:0;
    }

    #repas .day-menu-row{
      grid-template-columns:132px 1fr;
      gap:18px;
      border:0;
      border-bottom:1px solid #efe5d5;
      border-radius:0;
      background:#fff;
      padding:18px 22px;
    }

    #repas .day-menu-row:last-child{
      border-bottom:0;
    }

    #repas .day-menu-row .slot{
      justify-content:flex-start;
      min-width:0;
      min-height:auto;
      border-radius:0;
      background:transparent;
      color:var(--brown);
      padding:0;
      text-align:left;
      font-size:13px;
      font-weight:760;
      white-space:normal;
    }

    #repas .day-menu-row strong{
      font-size:16px;
      line-height:1.35;
      font-weight:650;
    }

    #repas .day-menu-row .muted{
      display:block;
      margin-top:4px;
      font-size:14px;
      line-height:1.45;
    }

    #repas .meal-slot-stack{
      display:grid;
      gap:12px;
    }

    #repas .meal-slot-item + .meal-slot-item{
      padding-top:12px;
      border-top:1px solid #f0e6d8;
    }

    #repas .meal-moment-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      padding:22px;
      background:#fff;
    }

    #repas .meal-moment-card{
      min-height:145px;
      padding:18px;
      border:1px solid #eadfce;
      border-radius:18px;
      background:#fffaf2;
      box-shadow:none;
    }

    #repas .meal-moment-card span{
      display:block;
      color:var(--brown);
      font-size:12px;
      line-height:1.2;
      font-weight:720;
      letter-spacing:.01em;
    }

    #repas .meal-moment-card h4{
      margin:14px 0 0;
      color:var(--ink);
      font-size:17px;
      line-height:1.35;
      font-weight:620;
      letter-spacing:0;
    }

    #repas .meal-moment-card p{
      margin:10px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.45;
      font-weight:430;
    }

    #repas .meal-library-section{
      margin-top:32px;
      border-color:#eadfce;
      box-shadow:none;
      background:#fff;
    }

    #repas .meal-library-title{
      margin-bottom:18px;
    }

    #repas .meal-library-grid{
      gap:14px;
    }

    #repas .meal-library-item{
      border-color:#eadfce;
      box-shadow:none;
      gap:14px;
    }

    #repas .meal-library-item .pill,
    #repas .meal-score,
    #repas .meal-tag-list span{
      background:#fffaf2;
      border-color:#eadfce;
      color:var(--brown);
    }

    #repas .meal-library-meta{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    @media(max-width:720px){
      #repas .day-menu-row{
        grid-template-columns:1fr;
        gap:8px;
        padding:16px 18px;
      }

      #repas .day-menu-row .slot{
        width:auto;
        max-width:100%;
      }

      #repas .box-summary-grid{
        margin:18px 0 22px;
      }

      #repas .box-plan-overview{
        display:grid;
        gap:14px;
        margin:18px 0 22px;
        padding:18px;
      }

      #repas .box-plan-overview .overview-chip{
        max-width:100%;
        justify-self:start;
        text-align:left;
      }

      #repas .meal-moment-grid{
        grid-template-columns:1fr;
        padding:18px;
      }

      #repas .meal-moment-card{
        min-height:auto;
      }
    }

    #boxPlanChips{
      margin-top:10px;
    }

    .meal-library-section{
      margin-top:24px;
      border:1px solid var(--line);
      border-radius:22px;
      background:#fff;
      box-shadow:var(--shadow);
      padding:20px;
    }

    .meal-library-title{
      max-width:760px;
      margin-bottom:18px;
    }

    .meal-library-title h3{
      margin:4px 0 8px;
      font-size:clamp(24px, 3vw, 34px);
    }

    .meal-library-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:16px;
    }

    .meal-library-item{
      display:flex;
      flex-direction:column;
      gap:13px;
      min-width:0;
      border:1px solid var(--line);
      border-radius:18px;
      background:linear-gradient(180deg, #ffffff, #fbf8f1);
      padding:17px;
    }

    .meal-library-head{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-start;
    }

    .meal-library-head h3{
      margin:9px 0 0;
      font-size:20px;
      line-height:1.22;
    }

    .meal-score{
      flex:0 0 auto;
      border:1px solid var(--greenSoft);
      border-radius:999px;
      color:var(--greenDark);
      background:var(--mint);
      font-size:12px;
      font-weight:900;
      padding:7px 10px;
      white-space:nowrap;
    }

    .meal-library-meta{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:9px;
    }

    .meal-library-meta div{
      min-width:0;
      border:1px solid var(--line);
      border-radius:14px;
      background:#fff;
      padding:10px;
    }

    .meal-library-meta span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:800;
    }

    .meal-library-meta strong{
      display:block;
      margin-top:3px;
      line-height:1.2;
      overflow-wrap:anywhere;
    }

    .meal-tag-list{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }

    .meal-tag-list span{
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      color:var(--ink);
      font-size:12px;
      font-weight:850;
      padding:7px 9px;
    }

    .meal-library-actions{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }

    .meal-detail-section{
      min-width:0;
    }

    .meal-detail-section h4{
      margin:0 0 7px;
      font-size:14px;
    }

    .meal-detail-section ul{
      margin:0;
      padding-left:18px;
      color:var(--muted);
      line-height:1.55;
    }

    .meal-detail-section p{
      margin:0;
      color:var(--muted);
      line-height:1.55;
    }

    .meal-safety-note{
      margin-top:auto;
      box-shadow:none;
    }

    @media(max-width:980px){
      .box-format-preview,
      .box-summary-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }

      .meal-library-grid{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:720px){
      .box-format-preview,
      .box-summary-grid{
        grid-template-columns:1fr;
      }

      .day-menu-row{
        grid-template-columns:1fr;
      }

      .day-menu-row .slot{
        justify-content:flex-start;
        width:max-content;
        max-width:100%;
      }

      .meal-library-section{
        padding:16px;
      }

      .meal-library-head{
        display:grid;
        grid-template-columns:1fr;
      }

      .meal-library-meta{
        grid-template-columns:1fr;
      }
    }

    .ai-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}

  
    /* ===== V27 — Assistant IA allégé ===== */
    #assistant .ai-summary-grid{
      grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
      gap:10px;
    }

    #assistant .ai-bubble{
      background:#fff;
      color:var(--ink);
      border:1px solid rgba(255,255,255,.28);
      border-radius:18px;
      padding:15px;
      margin-bottom:14px;
    }

    #assistant .notice{
      color:#5d3a05;
    }

    #assistant .notice.green{
      color:var(--greenDark);
    }

    #assistant .actions{
      margin-top:16px;
    }

  
    /* ===== V29 — Suite après programmation de précommande ===== */
    .order-layout{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:18px;
      align-items:start;
      margin-top:22px;
    }

    .order-summary-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:22px;
      padding:18px;
      box-shadow:var(--shadow);
    }

    .order-summary-card h3{
      margin-bottom:8px;
    }

    .order-steps{
      display:grid;
      gap:10px;
      margin-top:14px;
    }

    .order-step{
      display:grid;
      grid-template-columns:38px 1fr auto;
      gap:12px;
      align-items:center;
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:12px;
    }

    .order-step .order-num{
      width:34px;
      height:34px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:var(--greenSoft);
      color:var(--greenDark);
      font-weight:950;
    }

    .order-step.done .order-num{
      background:var(--green);
      color:#fff;
    }

    .order-step.current{
      border-color:#89cdb3;
      background:#f2fbf7;
    }

    .order-step.current .order-num{
      background:#d9f4e8;
      color:var(--greenDark);
      box-shadow:0 0 0 3px rgba(15, 109, 82, .08);
    }

    .order-step.pending{
      opacity:.74;
    }

    .order-choice-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
    }

    .order-choice{
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      padding:13px;
      cursor:pointer;
      font-weight:850;
    }

    .order-choice.active{
      border-color:var(--green);
      background:var(--greenSoft);
      color:var(--greenDark);
    }

    .order-confirmation-box{
      display:none;
      border:1px solid #caebdb;
      background:var(--greenSoft);
      color:var(--greenDark);
      border-radius:20px;
      padding:16px;
      margin-top:16px;
    }

    .order-confirmation-box.active{
      display:block;
    }

    .order-success-screen{
      max-width:1080px;
      margin:0 auto;
    }

    .order-success-hero{
      display:grid;
      grid-template-columns:auto minmax(0, 1fr) auto;
      gap:20px;
      align-items:center;
      border:1px solid #caebdb;
      border-radius:28px;
      padding:26px;
      background:linear-gradient(135deg, var(--greenSoft), #fffaf2);
    }

    .order-success-hero h2{
      margin-bottom:8px;
    }

    .order-success-hero .lead{
      margin:0;
      max-width:680px;
    }

    .order-success-icon{
      width:58px;
      height:58px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:var(--green);
      color:#fff;
      font-size:30px;
      font-weight:950;
      box-shadow:0 10px 24px rgba(15, 109, 82, .2);
    }

    .order-success-reference{
      min-width:170px;
      display:flex;
      flex-direction:column;
      gap:5px;
      border:1px solid rgba(15, 109, 82, .18);
      border-radius:18px;
      padding:14px 16px;
      background:rgba(255,255,255,.82);
    }

    .order-success-reference span,
    .order-success-details span{
      color:var(--muted);
      font-size:12px;
      font-weight:850;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .order-success-reference strong{
      color:var(--greenDark);
      font-size:20px;
    }

    .order-success-card-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
      margin-top:20px;
    }

    .order-success-card{
      margin:0;
      height:100%;
    }

    .order-success-details{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:16px;
    }

    .order-success-details > div{
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width:0;
    }

    .order-success-details strong{
      color:var(--greenDark);
      line-height:1.45;
      overflow-wrap:anywhere;
    }

    .order-success-payment{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:10px;
    }

    .order-success-payment > strong{
      color:var(--greenDark);
      font-size:19px;
    }

    .order-success-payment p{
      margin:0;
    }

    .order-success-sync-status{
      border-radius:14px;
      padding:10px 12px;
      background:var(--greenSoft);
      color:var(--greenDark);
      font-size:13px;
      line-height:1.5;
    }

    .order-success-sync-status.is-warning{
      background:#fff3dc;
      color:#7a4b00;
    }

.order-success-retry-button{
  margin-top:2px;
  width:100%;
}

.order-success-retry-button[hidden]{
  display:none;
}

    .order-success-menu-card{
      margin-top:20px;
    }

    .order-success-menu-list{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
      gap:14px;
    }

    .order-success-menu-item{
      min-width:0;
      border:1px solid #e6ded1;
      border-radius:18px;
      padding:16px;
      background:#fffdf9;
    }

    .order-success-menu-item-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      color:var(--brown);
      font-size:12px;
      font-weight:800;
      letter-spacing:.05em;
      text-transform:uppercase;
    }

    .order-success-menu-item-head strong{
      color:var(--greenDark);
      white-space:nowrap;
    }

    .order-success-menu-item h4{
      margin:8px 0 0;
      color:var(--greenDark);
      font-size:17px;
      line-height:1.35;
    }

    .order-success-menu-item > p{
      margin:7px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }

    .order-success-menu-allergens{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin-top:12px;
    }

    .order-success-menu-allergens > span:first-child{
      flex-basis:100%;
      color:var(--muted);
      font-size:12px;
      font-weight:700;
    }

    .order-success-menu-allergens .pill{
      padding:5px 8px;
      background:#fff3dc;
      color:#7a4b00;
      font-size:11px;
    }

    .order-success-menu-no-allergen{
      font-size:12px !important;
    }

    .order-success-menu-detail{
      margin-top:14px;
      border-top:1px solid #e6ded1;
      padding-top:12px;
    }

    .order-success-menu-detail summary{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      list-style:none;
      cursor:pointer;
      color:var(--greenDark);
      font-size:13px;
      font-weight:800;
    }

    .order-success-menu-detail summary::-webkit-details-marker{
      display:none;
    }

    .order-success-menu-detail-icon{
      display:grid;
      place-items:center;
      width:28px;
      height:28px;
      border-radius:50%;
      background:var(--greenSoft);
      font-size:18px;
      transition:transform .18s ease;
    }

    .order-success-menu-detail[open] .order-success-menu-detail-icon{
      transform:rotate(180deg);
    }

    .order-success-menu-detail-body{
      display:grid;
      gap:14px;
      margin-top:14px;
    }

    .order-success-menu-facts{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:8px;
    }

    .order-success-menu-facts div{
      display:grid;
      gap:3px;
      border-radius:12px;
      padding:9px 10px;
      background:var(--greenSoft);
    }

    .order-success-menu-facts span{
      color:var(--muted);
      font-size:11px;
      font-weight:700;
    }

    .order-success-menu-facts strong{
      color:var(--greenDark);
      font-size:13px;
      overflow-wrap:anywhere;
    }

    .order-success-menu-detail-grid{
      display:grid;
      gap:14px;
    }

    .order-success-menu-detail-section h5{
      margin:0 0 6px;
      color:var(--greenDark);
      font-size:13px;
    }

    .order-success-menu-detail-section ul,
    .order-success-menu-detail-section ol{
      margin:0;
      padding-left:19px;
      color:var(--muted);
      font-size:12px;
      line-height:1.5;
    }

    .order-success-menu-detail-section p,
    .order-success-menu-detail-empty{
      margin:0;
      color:var(--muted);
      font-size:12px;
      line-height:1.5;
    }

    .order-success-menu-safety{
      margin:0;
      padding:10px 11px;
      font-size:12px;
    }

    .order-success-menu-empty{
      margin:0;
      border-radius:14px;
      padding:14px 16px;
      background:var(--greenSoft);
      color:var(--greenDark);
      line-height:1.5;
    }

    .order-success-progress-card{
      margin-top:20px;
    }

    .order-status-history{
      margin-top:20px;
      padding-top:18px;
      border-top:1px solid var(--line);
    }

    .order-status-history-head{
      display:grid;
      gap:4px;
    }

    .order-status-history-head strong{
      color:var(--greenDark);
      font-size:16px;
    }

    .order-status-history-head span{
      color:var(--muted);
      font-size:13px;
    }

    .order-status-history-list{
      display:grid;
      gap:0;
      margin-top:14px;
    }

    .order-status-history-item{
      position:relative;
      display:grid;
      grid-template-columns:18px minmax(0, 1fr);
      gap:11px;
      padding:0 0 16px;
    }

    .order-status-history-item:not(:last-child)::after{
      content:"";
      position:absolute;
      left:7px;
      top:16px;
      bottom:0;
      width:2px;
      background:#cfe7dc;
    }

    .order-status-history-dot{
      position:relative;
      z-index:1;
      width:16px;
      height:16px;
      margin-top:2px;
      border:3px solid #cfe7dc;
      border-radius:50%;
      background:#fff;
    }

    .order-status-history-item.current .order-status-history-dot{
      border-color:var(--green);
      background:var(--green);
    }

    .order-status-history-copy{
      display:grid;
      gap:3px;
    }

    .order-status-history-copy strong{
      color:var(--greenDark);
      font-size:14px;
    }

    .order-status-history-copy span{
      color:var(--muted);
      font-size:12px;
    }

    .order-success-actions{
      justify-content:center;
      margin-top:22px;
    }

    .order-detail-refresh-message{
      margin:12px auto 0;
      color:var(--greenDark);
      font-size:13px;
      font-weight:700;
      text-align:center;
    }

    .order-detail-refresh-message.is-error{
      color:#9f2d20;
    }

    .order-detail-refresh-message[hidden]{
      display:none;
    }

    @media(max-width:980px){
      .order-success-hero{
        grid-template-columns:auto minmax(0, 1fr);
        padding:20px;
      }

      .order-success-reference{
        grid-column:1 / -1;
        min-width:0;
      }

      .order-success-card-grid,
      .order-success-details,
      .order-success-menu-list{
        grid-template-columns:1fr;
      }

      .order-success-icon{
        width:48px;
        height:48px;
        font-size:25px;
      }

      .order-success-actions .btn{
        width:100%;
      }
    }

    .order-menu-mini{
      display:grid;
      gap:12px;
      margin-top:16px;
      max-height:none;
      overflow:visible;
      padding-right:0;
    }

    .order-menu-mini .mini-day{
      border:1px solid #e8ded1;
      border-radius:18px;
      background:#fff;
      padding:16px 18px;
    }

    .order-menu-mini .mini-day strong{
      color:var(--greenDark);
      font-size:18px;
      font-weight:800;
      line-height:1.2;
    }

    .order-menu-mini .mini-day p{
      margin:8px 0 0;
      color:var(--muted);
      font-size:15px;
      font-weight:500;
      line-height:1.45;
    }

    .mini-meal-grid{
      display:grid;
      gap:10px;
      margin-top:14px;
    }

    .mini-meal-moment{
      border-top:1px solid #eee5d8;
      padding-top:10px;
    }

    .mini-meal-moment:first-child{
      border-top:0;
      padding-top:0;
    }

    .mini-meal-moment small{
      display:block;
      color:var(--muted);
      font-size:13px;
      font-weight:700;
      line-height:1.25;
      margin-bottom:5px;
    }

    .mini-meal-moment div{
      display:grid;
      gap:8px;
    }

    .mini-meal-moment span{
      color:var(--ink);
      font-size:15px;
      font-weight:550;
      line-height:1.35;
    }

    .order-menu-line{
      display:block;
      padding:0;
    }

    .order-menu-line strong{
      display:block;
      color:var(--ink);
      font-size:16px;
      font-weight:650;
      line-height:1.35;
    }

    .order-menu-line p{
      margin:4px 0 0;
      color:var(--muted);
      font-size:14px;
      font-weight:500;
      line-height:1.45;
    }

    .order-menu-accordion{
      margin-top:16px;
      border:1px solid #e8ded1;
      border-radius:18px;
      background:#fff;
      overflow:hidden;
    }

    .order-menu-accordion summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:18px;
      color:var(--greenDark);
      font-size:18px;
      font-weight:800;
    }

    .order-menu-accordion summary::-webkit-details-marker{
      display:none;
    }

    .order-menu-accordion .accordion-icon{
      display:grid;
      place-items:center;
      width:34px;
      height:34px;
      border-radius:50%;
      background:var(--sand);
      color:var(--greenDark);
      flex:0 0 auto;
      transition:transform .18s ease;
    }

    .order-menu-accordion[open] .accordion-icon{
      transform:rotate(180deg);
    }

    .order-menu-accordion .order-menu-mini{
      margin-top:0;
      padding:0 18px 18px;
    }

    @media(max-width:980px){
      .order-layout{
        grid-template-columns:1fr;
      }

      .order-choice-grid{
        grid-template-columns:1fr;
      }

      .order-step{
        grid-template-columns:34px 1fr;
      }

      .order-step .pill{
        grid-column:2;
        justify-self:start;
      }
    }
    #précommande .error-text.active{
      display:block;
    }

    #précommande .box-summary-grid{
      grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
    }

    @media(max-width:720px){
      .weekday-grid{
        grid-template-columns:1fr;
      }
    }
/* ===== V31 — Correction créneau cliquable ===== */
    #deliverySlotSelect{
      position:relative;
      z-index:5;
      cursor:pointer;
      background:#fff;
      appearance:auto;
      -webkit-appearance:menulist;
      pointer-events:auto;
    }

    #précommande select,
    #précommande input,
    #précommande textarea,
    #précommande button{
      pointer-events:auto;
      touch-action:manipulation;
    }

    /* ===== V37 — Compte personnel utilisateur ===== */
    .account-access-btn{
      border:1px solid var(--line);
      background:#fff;
      color:var(--greenDark);
      border-radius:999px;
      padding:10px 14px;
      font-weight:950;
      cursor:pointer;
      white-space:nowrap;
      box-shadow:0 10px 24px rgba(16,24,40,.06);
    }

    .account-access-btn.active{
      background:var(--green);
      color:#fff;
      border-color:var(--green);
    }

    .account-message{
      margin-bottom:18px;
    }

    .account-summary{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      padding:16px;
      border:1px solid var(--line);
      border-radius:22px;
      background:#fff;
      margin-bottom:16px;
    }

    .account-summary strong{
      display:block;
      margin-top:4px;
      color:var(--ink);
      word-break:break-word;
    }

    .account-auth-layout{
      align-items:start;
    }

    .account-auth-layout.login-first .account-login-card{
      order:-1;
    }

    .account-auth-layout.login-first .account-create-card{
      order:1;
    }

    .account-page-hero{
      max-width:900px;
      margin-bottom:22px;
      padding:24px;
      border:1px solid var(--line);
      border-radius:24px;
      background:#fff;
      box-shadow:none;
    }

    .account-page-hero h2{
      max-width:780px;
      margin-bottom:14px;
    }

    .account-page-hero .lead{
      margin-bottom:0;
    }

    .account-connected-panel{
      border:1px solid var(--line);
      border-radius:28px;
      background:#fff;
      padding:24px;
    }

    .account-connected-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:18px;
      padding-bottom:22px;
      border-bottom:1px solid #eadfce;
    }

    .account-connected-head h3{
      margin:8px 0 10px;
      font-size:clamp(30px, 4vw, 48px);
      line-height:1.02;
      letter-spacing:0;
      color:var(--ink);
    }

    .account-connected-label{
      margin:0 0 10px;
      color:var(--green);
      font-size:14px;
      font-weight:800;
      letter-spacing:0;
    }

    .account-connected-head p{
      max-width:660px;
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.55;
    }

    .account-connected-email{
      display:block;
      color:var(--brown);
      font-size:13px;
      font-weight:800;
      line-height:1.3;
      overflow-wrap:anywhere;
    }

    .account-logout-btn{
      flex:0 0 auto;
      min-width:auto;
    }

    .account-footer-actions{
      display:flex;
      justify-content:flex-end;
      margin-top:18px;
    }

    .account-footer-actions .account-logout-btn{
      min-width:180px;
    }

    .account-main-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:22px;
    }

    .account-main-actions .btn{
      flex:1 1 210px;
      min-width:0;
    }

    .account-info-list{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:24px;
    }

    .account-info-list > div{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:12px;
      min-height:150px;
      padding:20px;
      border:1px solid #e8dccb;
      border-radius:22px;
      background:#fffaf2;
    }

    .account-info-list strong{
      color:var(--brown);
      font-size:13px;
      font-weight:850;
      line-height:1.35;
      letter-spacing:.05em;
      text-transform:uppercase;
    }

    .account-info-list span{
      color:var(--greenDark);
      font-size:15px;
      line-height:1.55;
      font-weight:600;
    }

    .account-info-list > .account-order-card{
      grid-column:1 / -1;
      min-height:auto;
    }

    .account-order-heading{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .account-info-list .account-order-status{
      color:var(--greenDark);
      font-size:12px;
      line-height:1.2;
      letter-spacing:0;
      text-transform:none;
    }

    .account-order-status[hidden],
    .account-order-actions[hidden],
    .account-order-refresh-message[hidden]{
      display:none;
    }

    .account-order-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }

    .account-info-list .account-order-refresh-message{
      color:var(--muted);
      font-size:13px;
      font-weight:600;
      line-height:1.4;
    }

    .account-info-list .account-order-refresh-message.is-error{
      color:#9f2d20;
    }

    .account-order-history{
      margin-top:18px;
      padding:20px;
      border:1px solid #dcebe4;
      border-radius:22px;
      background:#f8fcfa;
    }

    .account-order-history[hidden]{
      display:none;
    }

    .account-order-history-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
    }

    .account-order-history-head > div{
      display:grid;
      gap:4px;
    }

    .account-order-history-head strong{
      color:var(--greenDark);
      font-size:17px;
    }

    .account-order-history-head > div > span{
      color:var(--muted);
      font-size:13px;
    }

    .account-order-history-list{
      display:grid;
      gap:10px;
      margin-top:16px;
    }

    .account-order-history-item{
      display:grid;
      grid-template-columns:minmax(0, 1fr) auto;
      gap:12px 18px;
      align-items:center;
      padding:15px 16px;
      border:1px solid #dce7e1;
      border-radius:17px;
      background:#fff;
    }

    .account-order-history-main{
      display:grid;
      gap:5px;
      min-width:0;
    }

    .account-order-history-main strong{
      color:var(--greenDark);
      overflow-wrap:anywhere;
    }

    .account-order-history-main span{
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }

    .account-order-history-item .pill.red{
      color:#9f2d20;
      background:#ffebe8;
    }

    .account-order-history-actions{
      display:flex;
      align-items:flex-end;
      flex-direction:column;
      gap:9px;
    }

    .account-caregiver-result{
      margin-top:14px;
    }

    .account-order-status-notice{
      display:grid;
      grid-template-columns:auto minmax(0, 1fr) auto;
      gap:14px;
      align-items:center;
      margin-top:18px;
      padding:16px 18px;
      border:1px solid #a9dbc6;
      border-radius:18px;
      background:#edf9f3;
    }

    .account-order-status-notice[hidden]{
      display:none;
    }

    .account-order-status-notice.is-cancelled{
      border-color:#efb9b1;
      background:#fff1ef;
    }

    .account-order-status-notice-icon{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:50%;
      color:#fff;
      background:var(--green);
      font-weight:900;
    }

    .account-order-status-notice.is-cancelled .account-order-status-notice-icon{
      background:#b63c2f;
    }

    .account-order-status-notice strong{
      color:var(--greenDark);
    }

    .account-order-status-notice p{
      margin:4px 0 0;
      color:var(--muted);
      line-height:1.45;
    }

    .account-caregiver-result:empty{
      display:none;
    }

    .account-caregiver-actions{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }

    @media(max-width:680px){
      .account-caregiver-actions{
        grid-template-columns:1fr;
      }
    }

    .account-hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
    }

    .account-hero-points span{
      display:inline-flex;
      align-items:center;
      min-height:34px;
      border:1px solid #e8dccb;
      border-radius:999px;
      padding:7px 11px;
      color:var(--greenDark);
      background:#fffefa;
      font-size:12px;
      font-weight:850;
    }

    .account-mini-grid{
      margin-top:0;
    }

    .account-privacy-panel{
      margin-top:16px;
      border:1px solid #e2e6e3;
      border-radius:18px;
      background:#fff;
      overflow:hidden;
    }

    .account-privacy-panel summary{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:14px;
      padding:14px 16px;
      cursor:pointer;
      list-style:none;
    }

    .account-privacy-panel summary::-webkit-details-marker{
      display:none;
    }

    .account-privacy-summary{
      display:grid;
      gap:4px;
    }

    .account-privacy-summary strong{
      color:#344054;
      font-size:16px;
      font-weight:750;
      line-height:1.3;
    }

    .account-privacy-summary span{
      color:var(--muted);
      font-size:13px;
      font-weight:500;
      line-height:1.45;
    }

    .account-privacy-content{
      padding:16px;
      border-top:1px solid #e2e6e3;
      background:#fff;
    }

    .account-privacy-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:12px;
    }

    .account-privacy-header h3{
      margin:2px 0 0;
    }

    .privacy-consent-row{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:12px;
      border:1px solid var(--line);
      border-radius:14px;
      background:#fff;
      color:var(--ink);
      font-weight:800;
      line-height:1.35;
      cursor:pointer;
    }

    .privacy-consent-row input{
      width:18px;
      height:18px;
      margin-top:2px;
      accent-color:var(--green);
      flex:0 0 auto;
    }

    .privacy-action-message{
      margin-top:12px;
      margin-bottom:0;
    }

    .privacy-actions{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
      margin-top:14px;
    }

    .privacy-actions .btn{
      min-height:48px;
      padding:12px 14px;
      border-radius:16px;
      font-size:14px;
      font-weight:750;
    }

    .privacy-danger-panel{
      margin-top:14px;
      border-top:1px solid #e2e6e3;
      padding-top:12px;
    }

    .privacy-danger-panel summary{
      display:inline-flex;
      padding:0;
      color:#9b1c1c;
      font-size:14px;
      font-weight:750;
      cursor:pointer;
      list-style:none;
    }

    .privacy-danger-panel summary::-webkit-details-marker{
      display:none;
    }

    .privacy-delete-confirmation{
      margin-top:12px;
      margin-bottom:0;
    }

    .privacy-delete-confirmation input{
      background:#fff;
      border-color:#ffd1cc;
    }

    .btn.ghost{
      background:#fff;
      color:#667085;
      border:1px solid var(--line);
      box-shadow:none;
    }

    .btn.ghost.danger{
      color:#9b1c1c;
      border-color:#ffd1cc;
      background:#fff7f5;
    }

    .legal-screen{
      font-family:var(--font-app);
    }

    .privacy-hero .lead{
      max-width:860px;
    }

    .privacy-control-card{
      display:grid;
      grid-template-columns:1fr auto;
      align-items:center;
      gap:24px;
      margin-top:26px;
      padding:26px;
      border:1px solid #eadfce;
      border-radius:28px;
      background:#fffaf2;
    }

    .privacy-control-card h3{
      margin:8px 0 10px;
      font-size:24px;
      line-height:1.25;
      letter-spacing:0;
      color:var(--ink);
    }

    .privacy-control-card p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.7;
    }

    .privacy-control-card .btn{
      min-width:220px;
    }

    .privacy-principles-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:16px;
      margin-top:18px;
    }

    .privacy-principle-card{
      padding:24px;
      border:1px solid var(--line);
      border-radius:26px;
      background:#fff;
    }

    .privacy-principle-card span{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:44px;
      height:44px;
      border-radius:999px;
      background:#f3eadc;
      color:#9a672c;
      font-weight:800;
      margin-bottom:18px;
    }

    .privacy-principle-card h3{
      margin:0 0 12px;
      font-size:21px;
      line-height:1.25;
      letter-spacing:0;
      color:var(--ink);
    }

    .privacy-principle-card p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.7;
    }

    .privacy-security-panel{
      display:grid;
      grid-template-columns:minmax(0, .9fr) minmax(0, 1.3fr);
      gap:28px;
      margin-top:18px;
      padding:28px;
      border:1px solid #dce9e2;
      border-radius:28px;
      background:#f8fbf8;
    }

    .privacy-security-panel h3{
      margin:8px 0 0;
      font-size:28px;
      line-height:1.18;
      letter-spacing:0;
      color:var(--ink);
    }

    .privacy-security-list{
      display:grid;
      gap:0;
      border-top:1px solid #dbe5dc;
    }

    .privacy-security-list div{
      display:grid;
      grid-template-columns:170px 1fr;
      gap:18px;
      padding:18px 0;
      border-bottom:1px solid #dbe5dc;
    }

    .privacy-security-list strong{
      color:var(--ink);
      font-size:16px;
      line-height:1.45;
    }

    .privacy-security-list span{
      color:var(--muted);
      font-size:16px;
      line-height:1.65;
    }

    .legal-grid,
    .legal-card,
    .legal-rights-card,
    .legal-list,
    .legal-rights-grid,
    .legal-contact-notice{
      margin-top:0;
    }

    @media(max-width:720px){
      .account-access-btn{
        padding:9px 11px;
        font-size:12px;
      }

      .account-summary{
        flex-direction:column;
      }

      .account-connected-panel{
        padding:18px;
      }

      .account-connected-head{
        flex-direction:column;
      }

      .account-main-actions .btn{
        flex-basis:100%;
      }

      .account-footer-actions{
        justify-content:stretch;
      }

      .account-footer-actions .account-logout-btn{
        width:100%;
      }

      .account-info-list{
        grid-template-columns:1fr;
      }

      .account-info-list > div{
        min-height:auto;
        gap:10px;
      }

      .account-order-history-head,
      .account-order-history-item{
        grid-template-columns:1fr;
      }

      .account-order-history-head{
        flex-direction:column;
      }

      .account-order-history-actions{
        align-items:stretch;
      }

      .account-order-status-notice{
        grid-template-columns:auto minmax(0, 1fr);
      }

      .account-order-status-notice .btn{
        grid-column:1 / -1;
        width:100%;
      }

      .account-privacy-header{
        flex-direction:column;
      }

      .account-privacy-panel summary{
        flex-direction:column;
      }

      .privacy-actions{
        grid-template-columns:1fr;
      }

      .privacy-control-card,
      .privacy-principles-grid,
      .privacy-security-panel{
        grid-template-columns:1fr;
      }

      .privacy-control-card .btn{
        width:100%;
        min-width:0;
      }

      .privacy-security-list div{
        grid-template-columns:1fr;
        gap:6px;
      }
    }

  
    /* ===== V38 — Étape 3 simplifiée : recommandation CareMeal ===== */
    .recommendation-screen{
      font-family:var(--font-app);
    }

    .recommendation-screen h2{
      font-size:32px;
      line-height:1.16;
      letter-spacing:0;
      font-weight:760;
      margin-bottom:0;
    }

    .recommendation-screen .card-header h3{
      font-size:18px;
      line-height:1.35;
      letter-spacing:0;
      font-weight:720;
    }

    .recommendation-screen .lead{
      max-width:820px;
    }

    .recommendation-layout{
      display:grid;
      grid-template-columns:1fr;
      gap:18px;
      margin-top:28px;
      max-width:980px;
    }

    .recommendation-chip-list{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }

    .recommendation-chip{
      border:1px solid var(--line);
      background:#fff;
      color:#344054;
      border-radius:999px;
      padding:8px 11px;
      font-size:15px;
      font-weight:560;
      line-height:1.35;
    }

    .recommendation-result{
      display:grid;
      gap:12px;
    }

    .recommendation-choice-card{
      border:1px solid rgba(15,107,79,.18);
      background:var(--greenSoft);
      border-radius:22px;
      padding:18px;
    }

    .recommendation-choice-card span,
    .recommendation-detail-item span{
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.45;
      font-weight:560;
      margin-bottom:6px;
    }

    .recommendation-choice-card strong{
      display:block;
      color:var(--greenDark);
      font-size:18px;
      line-height:1.4;
      font-weight:720;
    }

    .recommendation-choice-card p{
      margin:8px 0 0;
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    .recommendation-detail-list{
      display:grid;
      gap:0;
      border:1px solid var(--line);
      border-radius:22px;
      overflow:hidden;
      background:#fff;
    }

    .recommendation-detail-item{
      padding:15px 18px;
      border-bottom:1px solid var(--line);
    }

    .recommendation-detail-item:last-child{
      border-bottom:0;
    }

    .recommendation-detail-item strong{
      display:block;
      color:var(--greenDark);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    .next-step-card{
      border:0;
      background:transparent;
      border-radius:0;
      box-shadow:none;
      overflow:visible;
    }

    .next-step-card .card-body{
      padding:0;
    }

    .next-step-simple{
      display:grid;
      gap:16px;
    }

    .next-step-simple h3{
      margin:0;
      color:var(--greenDark);
      font-size:18px;
      line-height:1.35;
      font-weight:720;
    }

    .next-step-simple .actions{
      margin-top:0;
    }

    .recommendation-screen .notice span{
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    .recommendation-screen .btn{
      font-size:15px;
      font-weight:720;
      letter-spacing:0;
    }

  
    /* ===== V40 — Choix d’achat visible dans le profil ===== */
    .purchase-choice-card{
      margin:18px 0 18px;
      border-color:rgba(15,107,79,.20);
      background:#fff;
    }

    .profile-flow-card{
      border-color:#eadfce;
      border-radius:24px;
      box-shadow:none;
      background:#fff;
    }

    .profile-flow-card + .profile-flow-card,
    .profile-flow-card-spaced{
      margin-top:22px;
    }

    .profile-flow-header{
      display:flex;
      align-items:flex-start;
      gap:14px;
      border-bottom:0;
      padding:28px 28px 12px;
      background:#fff;
    }

    .profile-flow-header h3{
      margin:0;
      font-size:clamp(23px, 2.6vw, 31px);
      line-height:1.12;
      letter-spacing:0;
    }

    .profile-flow-header p{
      margin:8px 0 0;
      font-size:16px;
      line-height:1.55;
      max-width:720px;
    }

    .profile-flow-number{
      display:none;
    }

    .profile-flow-card .card-body{
      padding:22px 28px 28px;
    }

    #symptomes{
      font-family:var(--font-app);
    }

    #symptomes .eyebrow{
      color:var(--brown);
      font-size:12px;
      line-height:1.35;
      font-weight:800;
      letter-spacing:.04em;
    }

    #symptomes h2{
      font-size:32px;
      line-height:1.16;
      letter-spacing:0;
      font-weight:760;
      margin-bottom:10px;
    }

    #symptomes .lead{
      max-width:820px;
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    #symptomes .profile-flow-header{
      padding:24px 26px 10px;
    }

    #symptomes .profile-flow-header h3{
      font-size:18px;
      line-height:1.35;
      letter-spacing:0;
      font-weight:720;
    }

    #symptomes .profile-flow-header p{
      max-width:680px;
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    #symptomes .profile-flow-card .card-body{
      padding:20px 26px 26px;
    }

    #profil .profile-flow-card .form-group,
    #symptomes .profile-flow-card .form-group{
      margin-bottom:22px;
      padding:18px;
      border:1px solid #eee5d8;
      border-radius:20px;
      background:#fff;
    }

    #profil .profile-flow-card .form-group:nth-child(odd),
    #symptomes .profile-flow-card .form-group:nth-child(odd){
      background:#fff;
      border-color:var(--caremealCreamLine);
    }

    #profil .profile-flow-card .form-group:nth-child(even),
    #symptomes .profile-flow-card .form-group:nth-child(even){
      background:#fff;
      border-color:var(--caremealCreamLine);
    }

    #profil .profile-flow-card .form-group:last-child,
    #symptomes .profile-flow-card .form-group:last-child{
      margin-bottom:0;
    }

    #profil .profile-flow-card .form-group label,
    #symptomes .profile-flow-card .form-group label{
      margin-bottom:13px;
      color:var(--greenDark);
      font-size:17px;
      font-weight:650;
      line-height:1.35;
      letter-spacing:0;
    }

    #profil .profile-flow-card .form-group .muted,
    #profil .profile-flow-card .card-body > .muted,
    #symptomes .profile-flow-card .form-group .muted,
    #symptomes .profile-flow-card .card-body > .muted{
      font-size:15px;
      line-height:1.6;
    }

    #profil .profile-flow-card .chips,
    #symptomes .profile-flow-card .chips{
      gap:11px 12px;
    }

    #profil .profile-flow-card .chip,
    #symptomes .profile-flow-card .chip{
      min-height:46px;
      padding:11px 15px;
      border-color:#e5ddd0;
      background:#fff;
      color:#33443b;
      font-size:15px;
      font-weight:600;
      line-height:1.25;
      box-shadow:none;
    }

    #profil .profile-flow-card .chip.active,
    #symptomes .profile-flow-card .chip.active{
      border-color:var(--green);
      background:var(--green);
      color:#fff;
      box-shadow:none;
    }

    #profil .profile-flow-card input,
    #profil .profile-flow-card textarea,
    #profil .profile-flow-card select,
    #symptomes .profile-flow-card input,
    #symptomes .profile-flow-card textarea,
    #symptomes .profile-flow-card select{
      font-size:16px;
      font-weight:500;
      border-color:#e5ddd0;
      background:#fff;
    }

    #symptomes .grid-3{
      gap:10px;
      margin:20px 0 4px;
    }

    #symptomes .mini{
      border-color:#eadfce;
      background:#fffaf2;
      box-shadow:none;
    }

    #symptomes .mini span{
      font-size:14px;
      line-height:1.45;
      font-weight:560;
    }

    #symptomes .mini h3{
      margin:5px 0 0;
      color:var(--greenDark);
      font-size:20px;
      line-height:1.2;
      font-weight:720;
      letter-spacing:0;
    }

    #symptomes .actions{
      margin-top:22px;
    }

    #symptomes .btn{
      font-size:15px;
      line-height:1.35;
      font-weight:720;
      letter-spacing:0;
    }

    .profile-details-flow{
      display:flex;
      flex-direction:column;
      gap:22px;
      margin-top:22px;
    }

    .profile-food-flow{
      order:1;
      display:grid;
      grid-template-columns:1fr;
      gap:22px;
    }

    .profile-treatment-flow{
      order:2;
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
      gap:22px;
    }

    .profile-identity-card{
      order:3;
    }

    .profile-food-flow .profile-flow-card-spaced{
      margin-top:0;
    }

    .profile-treatment-flow .profile-flow-card-spaced{
      margin-top:0;
    }

    .delivery-planning-summary{
      border-color:#eadfce;
      background:#fbf7ef;
      padding:20px;
    }

    .delivery-planning-summary h3{
      margin:8px 0 8px;
      font-size:clamp(25px, 3vw, 34px);
      line-height:1.08;
      letter-spacing:0;
    }

    .delivery-planning-summary .small{
      font-size:15px;
      line-height:1.55;
    }

    @media(max-width:860px){
      .profile-treatment-flow{
        grid-template-columns:1fr;
      }
    }

.purchase-choice-chips{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:10px;
}

.purchase-choice-chips .chip{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}

.purchase-choice-chips .chip small{
  color:var(--muted);
  font-size:12px;
  font-weight:650;
  line-height:1.2;
}

.purchase-choice-chips .chip.active small{
  color:#fff;
  opacity:.9;
}

    .purchase-choice-chips .chip{
      width:100%;
      min-height:54px;
      justify-content:center;
      font-weight:950;
      border-radius:18px;
      text-align:center;
      pointer-events:auto;
      touch-action:manipulation;
    }

    @media(max-width:860px){
      .purchase-choice-chips{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }

    @media(max-width:520px){
      .purchase-choice-chips{
        grid-template-columns:1fr;
      }
    }

  
    /* ===== V41 — Menu mobile bas plus compact et non bloquant ===== */
    @media(max-width:980px){
      body{
        padding-bottom:96px !important;
      }

      main{
        padding-bottom:110px !important;
      }

      .screen{
        padding-bottom:118px !important;
      }

      .mobile-nav{
        height:58px !important;
        min-height:58px !important;
        max-height:58px !important;
        padding:5px 8px calc(5px + env(safe-area-inset-bottom)) !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:6px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        white-space:nowrap !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:none !important;
      }

      .mobile-nav::-webkit-scrollbar{
        display:none !important;
      }

      .mobile-nav button,
      .mobile-nav .nav-btn,
      .mobile-nav .nav-item{
        flex:0 0 auto !important;
        width:auto !important;
        min-width:54px !important;
        height:46px !important;
        min-height:46px !important;
        max-height:46px !important;
        padding:5px 8px !important;
        border-radius:16px !important;
        font-size:10px !important;
        line-height:1.05 !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:2px !important;
      }

      .mobile-nav button span:first-child,
      .mobile-nav .nav-btn span:first-child,
      .mobile-nav .nav-item span:first-child{
        font-size:17px !important;
        line-height:1 !important;
      }

      .mobile-nav button span:last-child,
      .mobile-nav .nav-btn span:last-child,
      .mobile-nav .nav-item span:last-child{
        font-size:9.5px !important;
        line-height:1 !important;
        max-width:58px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
      }

      .mobile-nav .active{
        transform:none !important;
      }

      .scroll-handle{
        right:10px;
        bottom:calc(var(--bottomNav) + env(safe-area-inset-bottom) + 12px);
        padding:5px;
        gap:6px;
      }

      .scroll-handle button{
        width:38px;
        height:38px;
        font-size:18px;
      }

      .fab,
      .floating-button,
      .floating-action{
        bottom:74px !important;
      }
    }

    @media(max-width:390px){
      .mobile-nav{
        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;
        padding-top:4px !important;
      }

      .mobile-nav button,
      .mobile-nav .nav-btn,
      .mobile-nav .nav-item{
        min-width:50px !important;
        height:43px !important;
        min-height:43px !important;
        max-height:43px !important;
        padding:4px 7px !important;
      }

      .mobile-nav button span:last-child,
      .mobile-nav .nav-btn span:last-child,
      .mobile-nav .nav-item span:last-child{
        font-size:9px !important;
      }
    }

  
    /* ===== V42 — Box journée complète ===== */
    .day-menu-row .slot{
      min-width:145px;
      text-align:left;
      white-space:normal;
    }

    @media(max-width:560px){
      .day-menu-row{
        align-items:flex-start;
      }

      .day-menu-row .slot{
        min-width:0;
        width:100%;
      }
    }

  
    /* ===== V47 — Espace aidants et podcasts ===== */
    .aidant-hero{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      margin-top:18px;
      align-items:start;
    }

    .aidant-dashboard{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
      margin-top:14px;
    }

    .aidant-stat{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:12px;
    }

    .aidant-stat span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:850;
      margin-bottom:5px;
    }

    .aidant-stat strong{
      color:var(--greenDark);
      font-size:15px;
    }

    .aidant-key-points{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }

    .aidant-key-points div{
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px;
      background:#fff;
    }

    .aidant-key-points span{
      display:block;
      font-size:25px;
      margin-bottom:8px;
    }

    .aidant-key-points strong{
      display:block;
      color:var(--ink);
      margin-bottom:5px;
    }

    .aidant-key-points p{
      color:var(--muted);
      font-size:13px;
      margin:0;
    }

    .aidants-screen h2{
      max-width:760px;
    }

    .aidants-screen .card{
      box-shadow:none;
    }

    .aidant-intro-panel{
      margin-top:12px;
      border:1px solid var(--line);
      border-radius:28px;
      background:#fff;
      padding:18px;
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:14px;
      align-items:start;
    }

    .aidant-intro-panel.simple{
      grid-template-columns:1fr;
    }

    .aidant-intro-panel h3{
      margin:0 0 10px;
      color:var(--ink);
      font-size:24px;
      line-height:1.16;
      letter-spacing:-.02em;
    }

    .aidant-intro-panel p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.7;
    }

    .aidant-principles{
      display:grid;
      gap:10px;
    }

    .aidant-principles span{
      display:block;
      border:1px solid rgba(159,105,43,.22);
      background:#fffaf1;
      border-radius:16px;
      padding:12px 14px;
      color:var(--greenDark);
      font-weight:850;
      line-height:1.35;
    }

    .aidant-entry-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      margin-top:12px;
    }

    .aidant-entry-card .card-body{
      display:grid;
      gap:14px;
    }

    .caregiver-acceptance-copy h3{
      margin:0 0 6px;
      color:var(--ink);
      font-size:22px;
      letter-spacing:-.02em;
    }

    .caregiver-empty-state{
      display:grid;
      gap:14px;
    }

    .caregiver-empty-state p{
      margin:0;
      color:var(--muted);
      line-height:1.6;
    }

    .aidant-connected-area{
      display:grid;
      gap:18px;
      margin-top:18px;
    }

    .caregiver-training-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
    }

    .caregiver-module{
      border:1px solid var(--line);
      border-radius:24px;
      background:#fff;
      padding:16px;
      display:flex;
      flex-direction:column;
      gap:10px;
      min-height:100%;
    }

    .caregiver-module.done{
      border-color:rgba(15,107,79,.28);
      background:linear-gradient(180deg,#fff 0%,#fbfffd 100%);
    }

    .caregiver-module-head{
      display:flex;
      justify-content:space-between;
      gap:8px;
      align-items:center;
    }

    .module-badge,
    .module-duration{
      border-radius:999px;
      padding:6px 9px;
      font-size:11px;
      font-weight:950;
    }

    .module-badge{
      background:var(--greenSoft);
      color:var(--greenDark);
    }

    .module-duration{
      background:#f2f4f7;
      color:#475467;
    }

    .caregiver-module h3{
      margin:0;
      color:var(--ink);
      font-size:17px;
    }

    .caregiver-module p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.5;
    }

    .caregiver-module ul{
      margin:0;
      padding-left:18px;
      color:#475467;
      font-size:13px;
      line-height:1.5;
      flex:1;
    }

    .caregiver-module .btn{
      width:100%;
      margin-top:auto;
    }

    @media(max-width:980px){
      .aidant-hero,
      .caregiver-training-grid{
        grid-template-columns:1fr;
      }

      .aidant-dashboard,
      .aidant-key-points{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:760px){
      .aidant-intro-panel,
      .aidant-entry-grid{
        grid-template-columns:1fr;
      }

      .aidant-intro-panel{
        padding:20px;
      }
    }

  
    /* ===== V48 — Accès Aidants plus visible ===== */
    .aidant-home-cta{
      border-color:rgba(15,107,79,.22);
      background:#fff;
      color:var(--greenDark);
    }

    .aidant-home-card{
      cursor:pointer;
      border-color:rgba(15,107,79,.20);
      transition:transform .18s ease, box-shadow .18s ease;
    }

    .aidant-home-card:hover{
      transform:translateY(-2px);
      box-shadow:0 14px 30px rgba(16,24,40,.08);
    }

    .aidant-profile-access{
      margin:16px 0 12px;
    }

    .mobile-aidant-shortcut{
      display:none;
    }

    @media(max-width:760px){
      .mobile-aidant-shortcut{
        display:flex;
        position:fixed;
        right:12px;
        bottom:72px;
        z-index:2000;
        border:1px solid rgba(15,107,79,.22);
        background:var(--green);
        color:#fff;
        border-radius:999px;
        padding:10px 12px;
        font-weight:950;
        box-shadow:0 14px 28px rgba(16,24,40,.18);
        cursor:pointer;
        align-items:center;
        gap:6px;
        touch-action:manipulation;
      }

      body[data-screen="aidants"] .mobile-aidant-shortcut{
        display:none;
      }

      .aidant-home-cta{
        width:100%;
      }
    }

  
    /* V48 — le menu bas garde l’onglet Aidant accessible */
    @media(max-width:760px){
      .mobile-nav button{
        min-width:48px !important;
      }

      .mobile-nav button span:last-child{
        max-width:52px !important;
      }
    }

  
    /* ===== V49 — Invitation + compte aidant séparé ===== */
    .caregiver-invite-result{
      display:grid;
      gap:14px;
    }

    .invite-preview{
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:16px;
      display:grid;
      gap:14px;
    }

    .invite-preview-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
    }

    .invite-preview-kicker{
      display:block;
      color:var(--brown);
      font-size:12px;
      font-weight:800;
      line-height:1.35;
      letter-spacing:.05em;
      text-transform:uppercase;
      margin-bottom:6px;
    }

    .invite-preview-header strong{
      display:block;
      color:var(--greenDark);
      font-size:18px;
      line-height:1.35;
      font-weight:750;
    }

    .invite-preview-header p{
      margin-top:6px;
    }

    .invite-message-preview{
      border:1px solid #e8dccb;
      border-radius:18px;
      background:#fffaf2;
      overflow:hidden;
    }

    .invite-message-preview span{
      display:block;
      color:var(--brown);
      font-size:12px;
      font-weight:800;
      line-height:1.35;
      letter-spacing:.04em;
      text-transform:uppercase;
      padding:14px 16px 0;
      margin-bottom:0;
    }

    .invite-message-card{
      display:grid;
      gap:10px;
      padding:12px 16px 16px;
    }

    .invite-message-card p{
      margin:0;
      color:var(--greenDark);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
    }

    .invite-message-card .invite-greeting{
      font-weight:720;
    }

    .invite-code-inline{
      display:inline-block;
      border-radius:10px;
      padding:2px 7px;
      background:#e7f2ec;
      color:var(--greenDark);
      font-weight:780;
      white-space:nowrap;
    }

    .caregiver-flow-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:14px;
    }

    .caregiver-flow-step{
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px;
      background:#fff;
    }

    .caregiver-flow-step span{
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--green);
      color:#fff;
      font-weight:950;
      margin-bottom:8px;
    }

    .caregiver-flow-step strong{
      display:block;
      color:var(--ink);
      margin-bottom:4px;
    }

    .caregiver-flow-step p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }

    .caregiver-acceptance-card{
      border:1px solid rgba(15,107,79,.18);
      border-radius:22px;
      padding:16px;
      background:#fbfffd;
      margin-top:14px;
    }

    .caregiver-acceptance-form{
      display:grid;
      grid-template-columns:1fr auto;
      gap:10px;
      margin-top:12px;
    }

    .invite-permissions-box{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:14px;
      margin:12px 0;
    }

    .invite-permissions-box ul{
      margin:8px 0 0;
      padding-left:18px;
      color:#475467;
      line-height:1.6;
    }

    .caregiver-linked-box{
      border:1px solid rgba(15,107,79,.24);
      background:var(--greenSoft);
      border-radius:20px;
      padding:14px;
      margin-bottom:14px;
    }

    .caregiver-linked-box strong{
      color:var(--greenDark);
    }

    .caregiver-authorized-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:10px;
    }

    .caregiver-authorized-card{
      border:1px solid var(--line);
      border-radius:18px;
      padding:12px;
      background:#fff;
    }

    .caregiver-authorized-card.allowed{
      border-color:rgba(15,107,79,.26);
      background:#fbfffd;
    }

    .caregiver-authorized-card.locked{
      opacity:.72;
      background:#f9fafb;
    }

    .caregiver-authorized-card span{
      display:block;
      font-size:20px;
      margin-bottom:6px;
    }

    .caregiver-authorized-card strong{
      display:block;
      color:var(--ink);
      margin-bottom:5px;
      font-size:13px;
    }

    .caregiver-authorized-card p{
      margin:0;
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }

    @media(max-width:860px){
      .caregiver-flow-grid,
      .caregiver-authorized-grid{
        grid-template-columns:1fr;
      }

      .caregiver-acceptance-form{
        grid-template-columns:1fr;
      }
    }

  
    /* ===== V50 — Podcasts aidants ===== */
    .podcast-aidant-note{
      max-width:980px;
      margin:16px 0 0;
    }

    .podcast-module{
      position:relative;
      overflow:hidden;
    }

    .podcast-player-mock{
      display:flex;
      align-items:center;
      gap:12px;
      border:1px solid rgba(15,107,79,.18);
      background:var(--greenSoft);
      border-radius:20px;
      padding:12px;
    }

    .podcast-play{
      width:42px;
      height:42px;
      border-radius:50%;
      border:0;
      background:var(--green);
      color:#fff;
      font-weight:950;
      display:grid;
      place-items:center;
      cursor:pointer;
      flex:0 0 auto;
      box-shadow:0 10px 20px rgba(15,107,79,.18);
    }

    .podcast-wave{
      flex:1;
      display:flex;
      align-items:center;
      gap:5px;
      min-height:34px;
    }

    .podcast-wave span{
      flex:1;
      max-width:18px;
      border-radius:999px;
      background:rgba(15,107,79,.30);
      display:block;
    }

    .podcast-wave span:nth-child(1){height:12px;}
    .podcast-wave span:nth-child(2){height:22px;}
    .podcast-wave span:nth-child(3){height:30px;}
    .podcast-wave span:nth-child(4){height:18px;}
    .podcast-wave span:nth-child(5){height:26px;}
    .podcast-wave span:nth-child(6){height:14px;}

    .podcast-summary{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:12px;
      flex:1;
    }

    .podcast-summary strong{
      display:block;
      color:var(--ink);
      margin-bottom:6px;
      font-size:13px;
    }

    .podcast-summary ul{
      margin:0;
      padding-left:18px;
      color:#475467;
      font-size:13px;
      line-height:1.5;
    }

    .caregiver-module.done .podcast-play{
      background:#98a2b3;
    }

    .caregiver-module.done .podcast-player-mock{
      background:#f9fafb;
    }

  
    /* ===== V51 — Administration des podcasts aidants ===== */
    .admin-caregiver-podcast-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:12px;
    }

    .admin-caregiver-podcast-head h3{
      margin:0;
    }

    .danger-lite{
      color:#b42318 !important;
      border-color:#fecdca !important;
      background:#fff5f5 !important;
      box-shadow:none !important;
    }

    @media(max-width:720px){
      .admin-caregiver-podcast-head{
        align-items:flex-start;
        flex-direction:column;
      }
    }

  
    /* ===== V52 — Espace aidant réservé au compte aidant ===== */
    .caregiver-account-entry{
      grid-column:1 / -1;
      margin-bottom:18px;
      border-color:rgba(15,107,79,.18);
      background:linear-gradient(180deg,#fff 0%,#fbfffd 100%);
    }

    .caregiver-access-view,
    .caregiver-connected-view{
      display:grid;
      gap:24px;
    }

    .caregiver-space-header{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:18px;
      border-bottom:0;
      padding-bottom:0;
    }

    .caregiver-space-header h2{
      margin:0;
      max-width:760px;
    }

    .caregiver-space-header p{
      margin:10px 0 0;
      color:var(--muted);
      font-size:18px;
      line-height:1.55;
      max-width:680px;
    }

    .caregiver-logout-button{
      flex:0 0 auto;
      min-width:180px;
      padding:14px 18px;
      font-size:15px;
    }

    .caregiver-space-hero{
      display:grid;
      grid-template-columns:minmax(260px, .78fr) minmax(0, 1.22fr);
      gap:18px;
      align-items:stretch;
    }

    .caregiver-patient-card{
      border:1px solid rgba(159,105,43,.24);
      background:#fff;
      border-radius:24px;
      padding:26px;
      display:grid;
      align-content:center;
      gap:12px;
    }

    .caregiver-patient-card span{
      color:var(--brown);
      font-size:13px;
      font-weight:800;
      letter-spacing:.05em;
      text-transform:uppercase;
    }

    .caregiver-patient-card strong{
      color:var(--ink);
      font-size:28px;
      line-height:1.15;
      font-weight:750;
    }

    .caregiver-patient-card p{
      color:var(--muted);
      margin:4px 0 0;
      font-size:16px;
      line-height:1.55;
    }

    .caregiver-space-hero .aidant-dashboard{
      margin-top:0;
      height:100%;
    }

    .caregiver-quick-actions{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }

    .caregiver-action-card{
      background:#fff;
      border:1px solid rgba(159,105,43,.20);
      border-radius:22px;
      padding:18px;
      display:grid;
      gap:7px;
      text-align:left;
      color:var(--ink);
      cursor:pointer;
      font:inherit;
      transition:background .18s ease, border-color .18s ease;
    }

    .caregiver-action-card:hover{
      background:#fffaf2;
      border-color:rgba(159,105,43,.38);
    }

    .caregiver-action-card:focus-visible{
      outline:3px solid rgba(15,107,79,.22);
      outline-offset:2px;
    }

    .caregiver-action-card.disabled{
      cursor:not-allowed;
      opacity:.56;
    }

    .caregiver-action-card.disabled:hover{
      background:#fff;
      border-color:rgba(159,105,43,.20);
    }

    .caregiver-action-card span,
    .caregiver-section-label{
      color:var(--brown);
      font-size:12px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .caregiver-action-card strong{
      color:var(--ink);
      font-size:19px;
      line-height:1.22;
      font-weight:760;
    }

    .caregiver-action-card small{
      color:var(--muted);
      font-size:14px;
      line-height:1.45;
      font-weight:500;
    }

    .caregiver-permission-summary{
      display:grid;
      gap:18px;
      border:1px solid rgba(15,107,79,.16);
      background:#fff;
      border-radius:24px;
      padding:24px;
    }

    .caregiver-permission-summary h3{
      margin:7px 0 0;
      color:var(--ink);
      font-size:25px;
      line-height:1.18;
      font-weight:760;
    }

    .caregiver-permission-summary p{
      margin:8px 0 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.55;
    }

    .caregiver-permission-list{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }

    .caregiver-permission-list span{
      border:1px solid rgba(159,105,43,.24);
      background:#fffaf2;
      color:var(--ink);
      border-radius:999px;
      padding:10px 14px;
      font-size:14px;
      line-height:1.2;
      font-weight:650;
    }

    .caregiver-connected-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:18px;
    }

    .caregiver-connected-grid .card{
      background:#fff;
      box-shadow:none;
    }

    .caregiver-podcast-card{
      grid-column:1 / -1;
    }

    .caregiver-podcast-card .caregiver-training-grid{
      grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .caregiver-training-offer{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(210px, .36fr);
      gap:30px;
      align-items:center;
      margin:0 0 26px;
      padding:26px 0;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }

    .caregiver-training-copy{
      display:grid;
      gap:12px;
    }

    .caregiver-training-kicker{
      color:var(--brown);
      font-size:12px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .caregiver-training-copy h4{
      margin:0;
      color:var(--ink);
      font-size:25px;
      line-height:1.2;
      font-weight:730;
    }

    .caregiver-training-copy p,
    .caregiver-training-status p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
    }

    .caregiver-training-benefits{
      display:flex;
      flex-wrap:wrap;
      gap:0;
      margin-top:4px;
    }

    .caregiver-training-benefits span{
      color:var(--greenDark);
      font-size:14px;
      font-weight:650;
      padding-right:14px;
      margin-right:14px;
      border-right:1px solid var(--line);
    }

    .caregiver-training-benefits span:last-child{
      padding-right:0;
      margin-right:0;
      border-right:0;
    }

    .caregiver-training-purchase{
      display:grid;
      gap:8px;
      padding-left:24px;
      border-left:1px solid var(--line);
    }

    .caregiver-training-purchase > strong{
      color:var(--ink);
      font-size:29px;
      line-height:1.1;
      font-weight:760;
    }

    .caregiver-training-purchase > span,
    .caregiver-training-purchase > small{
      color:var(--muted);
      font-size:13px;
      line-height:1.4;
    }

    .caregiver-training-purchase .btn{
      width:100%;
      margin-top:5px;
    }

    .caregiver-training-status{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      margin:0 0 24px;
      padding:18px 0;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }

    .caregiver-training-status > div{
      display:grid;
      gap:5px;
    }

    .caregiver-training-status strong{
      color:var(--ink);
      font-size:20px;
      line-height:1.25;
    }

    .caregiver-training-status.unlocked strong{
      color:var(--greenDark);
    }

    .caregiver-training-error{
      margin:-10px 0 22px;
      color:#9b1c1c;
      font-size:14px;
      line-height:1.45;
    }

    body[data-screen="aidants"] .aidant-home-cta{
      display:none;
    }

    @media(max-width:980px){
      .caregiver-space-header,
      .caregiver-space-hero{
        grid-template-columns:1fr;
        flex-direction:column;
      }

      .caregiver-logout-button{
        width:100%;
        min-width:0;
      }

      .caregiver-connected-grid,
      .caregiver-podcast-card .caregiver-training-grid,
      .caregiver-quick-actions{
        grid-template-columns:1fr;
      }

      .caregiver-training-offer{
        grid-template-columns:1fr;
        gap:22px;
      }

      .caregiver-training-purchase{
        padding:20px 0 0;
        border-left:0;
        border-top:1px solid var(--line);
      }

      .caregiver-training-status{
        align-items:flex-start;
        flex-direction:column;
      }
    }

  
    /* ===== V53 — Précommande repas par l’aidant autorisé ===== */
    .caregiver-order-card{
      border-color:rgba(15,107,79,.20);
      background:linear-gradient(180deg,#fff 0%,#fbfffd 100%);
    }

    .caregiver-order-intro{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      border:1px solid rgba(15,107,79,.18);
      background:var(--greenSoft);
      border-radius:22px;
      padding:16px;
      margin-bottom:14px;
    }

    .caregiver-order-intro h3{
      margin:4px 0 4px;
      color:var(--greenDark);
    }

    .caregiver-snapshot-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin:14px 0;
    }

    .caregiver-snapshot-grid > div{
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px;
      background:#fff;
    }

    .caregiver-snapshot-grid strong{
      display:block;
      color:var(--ink);
      margin-bottom:8px;
      font-size:14px;
    }

    .caregiver-snapshot-chips{
      display:flex;
      flex-wrap:wrap;
      gap:7px;
    }

    .caregiver-snapshot-chip{
      border:1px solid rgba(15,107,79,.18);
      background:#fbfffd;
      color:var(--greenDark);
      border-radius:999px;
      padding:7px 9px;
      font-size:12px;
      font-weight:850;
    }

    .caregiver-snapshot-chip.muted-chip{
      background:#f9fafb;
      color:#667085;
      border-color:var(--line);
    }

    .caregiver-order-choice{
      border:1px solid var(--line);
      border-radius:24px;
      padding:24px;
      background:#fff;
      margin-bottom:18px;
    }

    .caregiver-order-copy{
      margin-bottom:20px;
    }

    .caregiver-order-copy span{
      display:block;
      color:var(--brown);
      font-size:12px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:8px;
    }

    .caregiver-order-copy > strong{
      display:block;
      color:var(--ink);
      font-size:24px;
      line-height:1.16;
      margin-bottom:10px;
    }

    .caregiver-order-copy p{
      margin:0;
      color:#667085;
      font-size:16px;
      line-height:1.55;
    }

    .caregiver-order-plan-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }

    .caregiver-order-plan-card{
      border:1px solid #e1d7c8;
      background:#fff;
      color:var(--ink);
      border-radius:18px;
      padding:16px;
      text-align:left;
      cursor:pointer;
      touch-action:manipulation;
      min-height:96px;
      position:relative;
      overflow:hidden;
    }

    .caregiver-order-plan-card::before{
      content:"";
      position:absolute;
      inset:0 auto 0 0;
      width:6px;
      background:#d8b27a;
    }

    .caregiver-order-plan-card span{
      display:block;
      font-size:18px;
      font-weight:800;
      line-height:1.25;
      margin-bottom:8px;
    }

    .caregiver-order-plan-card small{
      display:block;
      color:#667085;
      font-size:14px;
      line-height:1.35;
    }

    .caregiver-order-plan-card.active{
      background:var(--green);
      border-color:var(--green);
    }

    .caregiver-order-plan-card.active span,
    .caregiver-order-plan-card.active small{
      color:#fff;
    }

    .caregiver-order-plan-card.active small{
      opacity:.9;
    }

    .caregiver-order-summary{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-top:18px;
      padding:14px 16px;
      border:1px solid #eadfce;
      border-radius:16px;
      background:#fff8ec;
    }

    .caregiver-order-summary span{
      color:#667085;
      font-size:15px;
    }

    .caregiver-order-summary strong{
      color:var(--green);
      font-size:17px;
      text-align:right;
    }

    .caregiver-order-submit{
      margin-top:22px;
    }

    @media(max-width:860px){
      .caregiver-snapshot-grid,
      .caregiver-order-plan-grid{
        grid-template-columns:1fr;
      }

      .caregiver-order-choice{
        padding:20px;
      }

      .caregiver-order-summary{
        align-items:flex-start;
        flex-direction:column;
      }

      .caregiver-order-intro{
        flex-direction:column;
      }
    }

  
    /* ===== V54 — Autorisation commander visible ===== */
    .helper-order-permission-note{
      margin-top:12px;
    }

    #helperAccessChips .chip{
      min-height:44px;
    }

    #helperAccessChips .chip[onclick*="orders"],
    #helperAccessChips button[onclick*="orders"]{
      border-color:rgba(15,107,79,.32) !important;
      box-shadow:0 8px 18px rgba(15,107,79,.08);
    }

  
    /* ===== V55 — Autorisations aidant détaillées ===== */
    .caregiver-realtime-card{
      border-color:rgba(15,107,79,.18);
      background:linear-gradient(180deg,#fff 0%,#fbfffd 100%);
    }

    .caregiver-realtime-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      border:1px solid rgba(15,107,79,.18);
      background:var(--greenSoft);
      border-radius:22px;
      padding:16px;
      margin-bottom:14px;
    }

    .caregiver-realtime-head h3{
      margin:4px 0 0;
      color:var(--greenDark);
    }

    #helperAccessChips{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:10px;
      margin-top:18px;
    }

    #helperAccessChips + .helper-order-permission-note,
    #helperAccessChips{
      clear:both;
    }

    #profil .profile-flow-card .form-group:has(#helperAccessChips) > label{
      display:block;
      margin-bottom:18px;
    }

    .caregiver-permissions-group > label{
      display:block !important;
      margin-bottom:0 !important;
    }

    .caregiver-permissions-group #helperAccessChips{
      margin-top:0 !important;
      padding-top:26px !important;
    }

    #helperAccessChips .chip{
      justify-content:flex-start;
      text-align:left;
      min-height:52px;
    }

    @media(max-width:720px){
      #helperAccessChips{
        grid-template-columns:1fr;
      }

      .caregiver-realtime-head{
        flex-direction:column;
      }
    }

  
    /* ===== V56 — Alertes aidant en temps réel ===== */
    .caregiver-notifications-card{
      border-color:rgba(15,107,79,.20);
      background:linear-gradient(180deg,#fff 0%,#fbfffd 100%);
    }

    .caregiver-notifications-head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      margin-bottom:12px;
    }

    .caregiver-notification-list{
      display:grid;
      gap:10px;
    }

    .caregiver-notification{
      display:flex;
      justify-content:space-between;
      gap:12px;
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:13px;
    }

    .caregiver-notification.unread{
      border-color:rgba(15,107,79,.28);
      background:var(--greenSoft);
    }

    .caregiver-notification strong{
      display:block;
      color:var(--ink);
      margin-bottom:4px;
    }

    .caregiver-notification p{
      margin:0 0 6px;
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }

    .caregiver-notification span{
      color:#667085;
      font-size:12px;
      font-weight:800;
    }

    .caregiver-notification em{
      align-self:flex-start;
      background:var(--green);
      color:#fff;
      border-radius:999px;
      padding:5px 8px;
      font-size:11px;
      font-style:normal;
      font-weight:950;
      white-space:nowrap;
    }

    .nav-alert-badge{
      display:inline-grid;
      place-items:center;
      min-width:20px;
      height:20px;
      border-radius:999px;
      background:var(--green);
      color:#fff;
      font-size:11px;
      padding:0 6px;
      margin-left:4px;
    }

    .mobile-nav button span:first-child{
      position:relative;
      display:grid;
      place-items:center;
      color:inherit;
    }

    .mobile-nav .nav-icon{
      width:20px;
      height:20px;
      display:block;
      fill:none;
      stroke:currentColor;
      stroke-width:1.9;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .mobile-nav button:not(.active) span:first-child{
      color:#5f6f6a;
    }

    .mobile-nav button.active .nav-icon{
      stroke:#fff;
    }

    .mobile-alert-dot{
      position:absolute;
      top:-8px;
      right:-12px;
      min-width:17px;
      height:17px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:#f97316;
      color:#fff;
      font-size:10px;
      padding:0 5px;
      font-style:normal;
      font-weight:950;
    }

    @media(max-width:720px){
      .caregiver-notifications-head,
      .caregiver-notification{
        flex-direction:column;
        align-items:flex-start;
      }
    }

    /* Identite header CareMeal */
    .topbar{
      background:#fff;
    }

    .brand{
      gap:12px;
    }

    .brand-copy{
      min-width:0;
    }

    .brand-mark{
      width:54px;
      height:54px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:#fff;
      border:1px solid #e6dccd;
      box-shadow:0 14px 30px rgba(16,32,27,.08);
      flex:0 0 auto;
      overflow:hidden;
      padding:6px;
    }

    .brand-mark .brand-logo{
      width:100%;
      height:100%;
      display:block;
      background-image:url("../site/assets/caremeal-logo-white.png");
      background-position:center;
      background-repeat:no-repeat;
      background-size:contain;
      border:0;
      border-radius:0;
      background-color:transparent;
      box-shadow:none;
      flex:initial;
    }

    .brand-title{
      font-family:var(--font-app);
      font-size:24px;
      font-weight:700;
      letter-spacing:0;
    }

    /* Header desktop : identite et actions sur une ligne, navigation lisible en dessous. */
    @media(min-width:981px){
      .topbar{
        border-bottom:0;
        box-shadow:0 8px 26px rgba(16,32,27,.07);
      }

      .topbar-inner{
        display:grid;
        grid-template-columns:auto minmax(28px, 1fr) auto auto auto;
        grid-template-rows:54px auto;
        column-gap:10px;
        row-gap:10px;
        padding:13px 18px 10px;
      }

      .topbar-inner > .brand{
        grid-column:1;
        grid-row:1;
        align-self:center;
      }

      .topbar-actions{
        display:contents;
      }

      .topbar-actions > .connection-status{
        grid-column:3;
        grid-row:1;
        align-self:center;
      }

      .topbar-actions > .pwa-install-button{
        grid-column:4;
        grid-row:1;
        align-self:center;
      }

      .topbar-actions > .account-access-btn{
        grid-column:5;
        grid-row:1;
        align-self:center;
        min-height:42px;
        padding-inline:17px;
      }

      .desktop-nav{
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        min-width:0;
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:nowrap;
        gap:4px;
        padding:5px;
        border:1px solid var(--caremealMintLine);
        border-radius:18px;
        background:linear-gradient(90deg, #f7fbf9 0%, #fffaf2 100%);
      }

      .desktop-nav .nav-btn{
        min-height:38px;
        padding:8px 14px;
        border-radius:14px;
        font-size:13px;
      }

      .desktop-nav .nav-btn:not(.active):hover,
      .desktop-nav .nav-btn:not(.active):focus-visible{
        color:var(--greenDark);
        background:#fff;
        outline:0;
      }
    }

    @media(min-width:981px) and (max-width:1080px){
      .desktop-nav .nav-btn{
        padding-inline:10px;
        font-size:12px;
      }
    }

    .creator-private-entry[hidden]{
      display:none !important;
    }

    @media(max-width:720px){
      .brand-mark{
        width:48px;
        height:48px;
        padding:5px;
      }

      .brand-title{
        font-size:21px;
      }
    }

    @media(max-width:340px){
      .topbar-inner{
        gap:8px;
        padding-inline:10px;
      }

      .brand{
        gap:8px;
      }

      .brand-mark{
        width:40px !important;
        height:40px !important;
      }

      .brand-title{
        font-size:18px !important;
      }

      .topbar-actions{
        gap:6px;
      }

      .account-access-btn{
        padding:8px 9px;
        font-size:11px;
      }
    }

    /* Typographie globale CareMeal */
    body main .screen p:not(.eyebrow):not(.section-kicker),
    body main .screen li,
    body main .screen dd,
    body main .screen dt,
    body main .screen .muted:not(.eyebrow):not(.section-kicker),
    body main .screen .lead,
    body main .screen .notice span,
    body main .screen .card-body .muted,
    body main .screen .card-header .muted,
    body main .screen .form-group .muted{
      font-family:var(--font-app);
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
      font-weight:520;
      letter-spacing:0;
    }

    main .screen .lead{
      max-width:820px;
    }

    main .screen :where(h1, h2, h3, h4, h5, h6, label, button, input, select, textarea){
      font-family:var(--font-app);
    }

    main .screen :where(input, select, textarea){
      color:var(--ink);
      font-weight:500;
      letter-spacing:0;
    }
