.course-shell{display:grid;grid-template-columns:290px 1fr;min-height:calc(100vh - 92px);background:#f6fbff}.course-sidebar{background:#f1f7fd;border-right:1px solid #d9e7f5;padding:28px 22px 30px}.course-main{padding:28px}.course-app-icon{background:linear-gradient(135deg,#dbf5ea,#bfe8ff);color:#1f6f6c}.course-side-nav a.active{background:#e2f3eb;color:#115c4b}.course-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0 24px}.course-home-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:20px;margin-bottom:20px}.course-list,.recipe-list,.trip-list{display:grid;gap:12px}.course-row,.recipe-card,.trip-card{border:1px solid #deebf8;border-radius:16px;padding:14px 16px;background:#fff}.course-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.course-row small,.recipe-card small,.trip-card small{display:block;color:#7288a6}.course-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#edf8f2;color:#1f7a54;font-size:.86rem;font-weight:700}.course-badge.warn{background:#fff3e8;color:#c86a1d}.course-badge.info{background:#eef5ff;color:#295aa8}.recipe-card h3,.trip-card h3{margin:0 0 6px}.recipe-card .recipe-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag-mini{padding:5px 9px;border-radius:999px;background:#eef5ff;color:#2d5ca3;font-size:.82rem;font-weight:600}.tag-mini.missing{background:#fff1f0;color:#c45656}.course-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-field{display:flex;flex-direction:column;gap:6px}.course-field label{font-weight:700;color:#173b77}.course-field input,.course-field select,.course-field textarea{border:1px solid #cfe0f2;border-radius:14px;padding:12px 14px;font:inherit;color:#173b77;background:#fff}.course-field textarea{min-height:112px;resize:vertical}.course-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.course-table-wrap{overflow:auto}.course-table{width:100%;border-collapse:collapse}.course-table th,.course-table td{padding:12px;border-bottom:1px solid #ebf2fa;text-align:left;vertical-align:middle}.course-table th{color:#6b84a6;font-size:.92rem}.course-table input[type='number'],.course-table input[type='text'],.course-table select{width:100%;border:1px solid #d3e0ef;border-radius:10px;padding:8px 10px;font:inherit}.course-table .tiny-check{width:18px;height:18px}.helper-note{padding:14px 16px;border-radius:16px;background:#f8fbff;border:1px dashed #cfe0f2;color:#6680a4;line-height:1.55}.suggestion-panel{display:grid;gap:12px}.suggestion-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #e3eef8;border-radius:16px;background:#fff}.suggestion-line b{display:block;margin-bottom:4px}.shopping-trip-items{display:grid;gap:10px;margin:10px 0 0}.trip-item-row{display:grid;grid-template-columns:2fr .8fr .8fr .8fr auto;gap:10px;align-items:center}.trip-item-row input,.trip-item-row select{border:1px solid #d4e1ef;border-radius:10px;padding:9px 10px}.trip-item-row button{padding:9px 10px;border:none;border-radius:10px;background:#fff0f0;color:#d44d4d;font-weight:700;cursor:pointer}.course-inline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.empty-state-box{padding:18px;border:1px dashed #cfe0f2;border-radius:16px;background:#f9fcff;color:#7087a6}.cta-course-box{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(135deg,#f3fbf7,#edf6ff);border:1px solid #d8e8f3}.course-hero-illustration{display:grid;place-items:center;padding:18px;border-radius:24px;background:linear-gradient(135deg,#eff8ff,#f4fbf6);border:1px solid #d9e7f5}.course-hero-illustration img{max-width:100%;border-radius:18px}.recipe-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:700;background:#edf8f2;color:#197a53}.recipe-status.near{background:#fff7e9;color:#af7419}.page-split{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.subtle{color:#6b84a6}.course-mini-stat{display:grid;gap:2px}.course-mini-stat b{font-size:1.18rem;color:#173b77}.course-app-card-image{max-height:70px;object-fit:contain;margin-bottom:8px}@media(max-width:1100px){.course-summary-grid,.course-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-home-grid,.page-split{grid-template-columns:1fr}}@media(max-width:900px){.course-shell{grid-template-columns:1fr}.course-sidebar{display:none}.course-main{padding:18px}.course-summary-grid{grid-template-columns:1fr 1fr}.course-form-grid{grid-template-columns:1fr}.trip-item-row{grid-template-columns:1fr 1fr}.trip-item-row button{grid-column:1/-1}}@media(max-width:560px){.course-summary-grid,.course-inline-grid{grid-template-columns:1fr}.cta-course-box{flex-direction:column;align-items:flex-start}}
.essential-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;border:1px solid #dceaf6;border-radius:16px;background:#f8fcff}.essential-details[hidden]{display:none}.essential-toggle{display:flex;align-items:center;gap:8px}.row-essential-detail[hidden],.row-nonessential-detail[hidden]{display:none}.shopping-period-choice{display:flex;align-items:center;gap:8px;font-weight:700;color:#173b77}.shopping-period-choice select{border:1px solid #cfe0f2;border-radius:10px;padding:8px 10px;font:inherit;color:#173b77;background:#fff}@media(max-width:700px){.essential-details{grid-template-columns:1fr}.shopping-period-choice{width:100%;justify-content:space-between}}
.course-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.course-tab{border:1px solid #cfe0f2;background:#fff;color:#17447f;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.course-tab.active{background:#e5f4ed;border-color:#b9dfd0;color:#16634f}.course-tab-panel[hidden]{display:none}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-card{border:1px solid #dfeaf6;border-radius:16px;padding:14px;background:#fff}.member-card h3{margin:0 0 5px}.member-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.stock-secondary{display:block;color:#6c84a5;font-size:.84rem;margin-top:3px}.stock-total{display:block;color:#17447f;font-size:.84rem;font-weight:700;margin-top:3px}.consumption-card{border:1px solid #dfeaf6;border-radius:16px;padding:16px;background:#fff;margin-bottom:12px}.consumption-grid{display:grid;grid-template-columns:1.1fr repeat(3,minmax(100px,.8fr));gap:12px;align-items:center}.member-consumption-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:12px}.member-consumption-grid label{display:grid;gap:5px;color:#526b8c;font-size:.9rem}.member-consumption-grid input{border:1px solid #d3e0ef;border-radius:10px;padding:9px 10px}.restriction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guest-list{display:grid;gap:10px}.guest-row{display:grid;grid-template-columns:1fr 1.3fr 1.3fr auto;gap:10px;align-items:center}.guest-row input{border:1px solid #d3e0ef;border-radius:10px;padding:10px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-card{border:1px solid #dfeaf6;border-radius:18px;padding:16px;background:#fff}.quick-card h3{margin:0 0 6px}.quick-time{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef8f2;color:#1e7b58;font-size:.82rem;font-weight:800}.warning-note{padding:14px 16px;border-radius:14px;background:#fff8ea;border:1px solid #f0dfae;color:#7a5a15;line-height:1.45}.stock-form-note{grid-column:1/-1;color:#6d84a5;font-size:.9rem}.inline-radio{display:flex;gap:16px;flex-wrap:wrap}.inline-radio label{display:flex;align-items:center;gap:7px;font-weight:700}.shopping-count{font-size:1.6rem;font-weight:800;color:#173b77}.course-table .nowrap{white-space:nowrap}@media(max-width:1000px){.family-grid,.restriction-grid,.event-grid,.quick-grid{grid-template-columns:1fr 1fr}.consumption-grid{grid-template-columns:1fr 1fr}.member-consumption-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.family-grid,.restriction-grid,.event-grid,.quick-grid,.consumption-grid,.member-consumption-grid{grid-template-columns:1fr}.guest-row{grid-template-columns:1fr}.course-tabs{display:grid;grid-template-columns:1fr}.course-tab{text-align:center}}

.inline-input-unit{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.inline-input-unit span{padding:12px 14px;border-radius:12px;background:#eef6fc;color:#466587;font-weight:700;white-space:nowrap}.shopping-category{border:1px solid #dce9f5;border-radius:18px;padding:14px;background:#fbfdff}.shopping-category h3{margin:0 0 10px;color:#173b77;font-size:1.08rem}.shopping-category .suggestion-line{border:0;border-top:1px solid #e7eff8;border-radius:0;padding:11px 4px;background:transparent}.shopping-category .suggestion-line:first-of-type{border-top:0}.shopping-qty-text{font-weight:800;color:#173b77;text-align:right;white-space:nowrap}.export-actions{padding-top:4px}.course-table td small{display:block;color:#7288a6;margin-top:4px}.course-table td input{min-width:90px}@media(max-width:700px){.shopping-qty-text{white-space:normal}.inline-input-unit{grid-template-columns:1fr}}

/* Mockup-inspired visual refresh for ASAP Courses & Repas */
.mockup-shell{background:linear-gradient(180deg,#f2f8ff 0%,#eef6ff 100%)}
.mockup-sidebar{background:#fff;border-right:1px solid #dbe8f6;padding:18px 18px 22px}
.mockup-app-header{align-items:center;margin-bottom:18px}.mockup-pot-icon{background:linear-gradient(180deg,#4d9dff,#257ffb)}
.mockup-app-header h2{line-height:1.05;font-size:1.25rem}
.mockup-nav a{padding:14px 14px;border-radius:16px;font-weight:700}.mockup-nav a.active,.mockup-nav a:hover{background:#e8f2ff;color:#1f76e8}
.sidebar-soft-card{margin-top:auto;padding:18px;border-radius:22px;background:linear-gradient(180deg,#eef6ff,#f5fbff);border:1px solid #dbe8f6;color:#45648d;display:grid;gap:10px}.leaf-illustration{width:42px;height:42px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:1.2rem;border:1px solid #dbe8f6}
.mockup-main{padding:18px 22px 28px}
.mockup-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.mockup-search{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe8f6;border-radius:18px;padding:14px 16px;box-shadow:0 10px 24px rgba(20,53,111,.04);color:#7892b2}.mockup-search input,.shopping-search input{border:0;outline:none;background:transparent;flex:1;font:inherit;color:#173b77}.mockup-top-actions{display:flex;align-items:center;gap:14px}.mockup-family-pill{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dbe8f6;border-radius:18px;padding:11px 14px;box-shadow:0 10px 24px rgba(20,53,111,.04)}.mockup-family-pill span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#edf4ff;color:#2b7ae8}.mockup-family-pill b{display:block;color:#173b77}.mockup-family-pill small{display:block;color:#7b91ad}.mockup-bell{width:46px;height:46px;display:grid;place-items:center;background:#fff;border:1px solid #dbe8f6;border-radius:50%;box-shadow:0 10px 24px rgba(20,53,111,.04)}
.course-dashboard-hero{padding:8px 2px 10px}.course-dashboard-hero h1{margin:0 0 8px;font-size:3.35rem;line-height:1;letter-spacing:-.05em;color:#12356d}.course-dashboard-hero p{margin:0;color:#627b9c;font-size:1.18rem;line-height:1.5;max-width:760px}.meals-hero{padding-top:4px}.meals-hero h1{font-size:4rem}
.mockup-summary-grid{margin-top:18px}.mockup-course-home{grid-template-columns:1.15fr .85fr}.emphasis-panel .panel-title h2,.illustration-panel .panel-title h2{font-size:1.9rem}.course-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.mini-link-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #dbe8f6;border-radius:18px;background:#fbfdff}.mini-link-card:hover{background:#f3f8ff}.mini-link-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eef5ff;color:#2d78e9;font-size:1.15rem;flex:0 0 auto}.mini-link-card b{display:block;color:#173b77;margin-bottom:5px}.mini-link-card span{display:block;color:#6d84a5;line-height:1.4}
.mockup-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mockup-filter-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.mockup-chip{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:16px;border:1px solid #dbe8f6;background:#fff;color:#4a668e;font-weight:700;box-shadow:0 10px 24px rgba(20,53,111,.04)}.mockup-chip.active{background:#1f82ff;color:#fff;border-color:#1f82ff}.visual-tabs{margin-bottom:18px}.visual-tabs .course-tab{border-radius:16px;padding:12px 18px;font-weight:800;border:1px solid #dbe8f6;background:#fff;color:#365681;box-shadow:0 10px 24px rgba(20,53,111,.04)}.visual-tabs .course-tab.active{background:#e9f2ff;border-color:#cfe1fb;color:#1f76e8}
.selector-panel,.results-panel{margin-bottom:18px}.meal-member-grid{display:flex;flex-wrap:wrap;gap:10px}.meal-member-grid label{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #dbe8f6;border-radius:14px;background:#fff;font-weight:700;color:#3f5e88;box-shadow:0 8px 18px rgba(20,53,111,.03)}.meal-member-grid input{accent-color:#2d7ef3}.recipe-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recipe-card-mock{border:1px solid #dfeaf6;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 28px rgba(20,53,111,.05)}.recipe-visual{height:180px;padding:16px;display:flex;justify-content:space-between;align-items:flex-start;color:#12356d}.recipe-emoji{font-size:3rem;filter:drop-shadow(0 12px 18px rgba(20,53,111,.18))}.recipe-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.88);font-size:.86rem;font-weight:800;color:#177652;border:1px solid rgba(255,255,255,.8)}.recipe-badge.near{color:#bf7519}.recipe-body{padding:16px 16px 18px}.recipe-body h3{margin:0 0 10px;font-size:1.3rem;letter-spacing:-.03em;color:#14356f}.recipe-meta{display:flex;flex-wrap:wrap;gap:14px;color:#6f86a4;font-size:.92rem;margin-bottom:12px}.recipe-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.tag-mini{padding:7px 10px;border-radius:999px;background:#eef5ff;color:#355f9f;font-size:.82rem;font-weight:700}.tag-mini.missing{background:#fff1ee;color:#c65a46}.recipe-note{display:block;color:#6c83a4;line-height:1.45}
.shopping-hero-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.shopping-hero-header h1{margin:0 0 8px;font-size:3.35rem;letter-spacing:-.05em;color:#12356d}.shopping-hero-header p{margin:0;color:#627b9c;font-size:1.15rem}.shopping-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shopping-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe8f6;border-radius:18px;padding:14px 16px;min-width:320px;box-shadow:0 10px 24px rgba(20,53,111,.04);color:#7892b2}.shopping-top-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.shopping-layout{display:grid;grid-template-columns:1.25fr .55fr;gap:20px;align-items:start}.shopping-main-column,.shopping-side-column{display:grid;gap:18px}.shopping-side-card{background:#fff;border:1px solid #dbe8f6;border-radius:24px;padding:18px;box-shadow:0 12px 28px rgba(20,53,111,.04)}.side-card-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.side-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eef5ff}.shopping-side-card h3{margin:0;font-size:1.7rem;letter-spacing:-.04em;color:#14356f}.shopping-side-card p{margin:0 0 14px;color:#647d9f;line-height:1.55}.budget-link-visual{border:1px solid #e0eaf6;border-radius:18px;overflow:hidden;background:#f8fbff;margin:16px 0}.budget-link-visual img{width:100%;height:180px;object-fit:contain;padding:10px}.budget-link-footnote{margin-top:12px;color:#6d84a5;font-size:.92rem;line-height:1.45}.summary-breakdown{display:grid;gap:10px}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:700;color:#4f698f}.summary-line .label{display:flex;align-items:center;gap:10px}.summary-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.shopping-total-box{margin-top:18px;padding-top:16px;border-top:1px solid #e7eff8}.shopping-total-box small{display:block;color:#7288a6;margin-bottom:8px}.shopping-total-box b{display:block;font-size:2.25rem;color:#14356f;letter-spacing:-.04em}.summary-breakdown-empty{padding:14px;border:1px dashed #d6e4f3;border-radius:16px;background:#f9fcff;color:#6f86a4}
.shopping-panel-title h2{font-size:1.9rem}.shopping-mockup-panel{display:grid;gap:16px}.shopping-category{border:1px solid #dce9f5;border-radius:24px;padding:0;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(20,53,111,.04)}.shopping-category h3{margin:0;padding:18px 20px;background:linear-gradient(180deg,#fffdf7,#f8fbff);color:#173b77;font-size:1.2rem;border-bottom:1px solid #e7eff8;display:flex;justify-content:space-between;align-items:center}.shopping-category .category-count{font-size:.9rem;color:#6a82a0;font-weight:700}.shopping-category .suggestion-line{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px 18px;border:0;border-top:1px solid #eef4fb;background:transparent}.shopping-category .suggestion-line:first-of-type{border-top:0}.shopping-check{width:22px;height:22px;border-radius:7px;border:2px solid #bfd1e7;background:#fff}.shopping-line-main b{display:block;color:#173b77;margin-bottom:4px}.shopping-line-main small{display:block;color:#6e85a5;line-height:1.4}.shopping-qty-text{font-weight:800;color:#173b77;text-align:right}.trip-history-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;gap:14px}.trip-card{border:1px solid #dfeaf6;border-radius:18px;padding:16px;background:#fbfdff}.trip-card h3{margin:0 0 8px;color:#173b77;font-size:1.05rem}
.quick-card{border:1px solid #dfeaf6;border-radius:22px;padding:18px;background:#fff;box-shadow:0 14px 28px rgba(20,53,111,.04)}.quick-card h3{margin:10px 0 8px;color:#173b77;font-size:1.15rem}.quick-card small{display:block;color:#6b84a6;line-height:1.45;margin-bottom:12px}.quick-time{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eaf8f1;color:#1e7b58;font-size:.82rem;font-weight:800}
@media(max-width:1200px){.mockup-course-home,.shopping-layout,.recipe-card-grid,.mockup-recipe-grid,.trip-history-grid{grid-template-columns:1fr 1fr}.course-dashboard-hero h1,.shopping-hero-header h1,.meals-hero h1{font-size:3rem}}
@media(max-width:900px){.mockup-topbar,.shopping-hero-header{flex-direction:column;align-items:stretch}.mockup-top-actions,.shopping-hero-actions{justify-content:space-between}.shopping-search{min-width:0}.mockup-shell{grid-template-columns:1fr}.mockup-sidebar{display:none}.mockup-main{padding:16px}.shopping-layout,.mockup-course-home,.recipe-card-grid,.mockup-recipe-grid,.trip-history-grid{grid-template-columns:1fr}.course-link-grid{grid-template-columns:1fr}.course-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.course-summary-grid,.mockup-filter-row,.shopping-top-tabs{grid-template-columns:1fr}.mockup-filter-row,.shopping-top-tabs{display:grid}.mockup-chip,.shopping-search,.mockup-search,.mockup-family-pill{width:100%}.course-dashboard-hero h1,.shopping-hero-header h1,.meals-hero h1{font-size:2.4rem}}

/* V1.5.16 - moteur repas enrichi */
.context-row{margin-top:-4px}.context-chip{border:1px solid #cfe0f3;background:#fff;color:#325782;border-radius:16px;padding:11px 17px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(20,53,111,.035)}.context-chip:hover{background:#f3f8ff}.context-chip.active{background:#e8f2ff;border-color:#a9cdf8;color:#176fd8}
.meal-selector-panel{margin:18px 0}.meal-person-option{min-width:180px}.meal-person-option .person-avatar{flex:0 0 auto}.person-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#edf5ff,#dfeeff);color:#1f73dc;font-weight:800}.person-avatar.small{width:34px;height:34px;border-radius:12px}.meal-person-option span:last-child{display:flex;flex-direction:column}.meal-person-option small{color:#879ab4;font-weight:500}
.meal-results-section{margin-top:22px}.meal-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.meal-results-heading h2{margin:0 0 5px;font-size:2rem;letter-spacing:-.04em;color:#12356d}.meal-results-heading p{margin:0;color:#68809f}.recipe-library-count{padding:9px 12px;border-radius:999px;background:#eef5ff;color:#47709f;font-size:.88rem;font-weight:700}.near-section{padding-top:8px}
.recipe-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.recipe-card-mock{border-radius:22px;overflow:hidden}.recipe-photo{position:relative;height:180px;background:#eef5ff;overflow:hidden}.recipe-photo img{width:100%;height:100%;object-fit:cover}.recipe-photo .recipe-badge{position:absolute;left:12px;top:12px}.recipe-body{min-height:190px}.recipe-qualities{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.recipe-quality{font-size:.78rem;padding:6px 9px;border-radius:999px;background:#e9f5ee;color:#247354;font-weight:800}.recipe-tags{min-height:34px}.recipe-tags .tag-mini{font-size:.76rem}
.family-person-card{display:grid;gap:12px}.person-card-head{display:flex;align-items:center;gap:12px}.person-restrictions{display:grid;gap:7px;padding:12px;border-radius:14px;background:#f7fbff;color:#60799a;font-size:.92rem}.person-restrictions b{color:#244b7e}
.shopping-layout-single{grid-template-columns:1fr}.shopping-layout-single .shopping-main-column{width:100%}.compact-trip-row{display:grid;grid-template-columns:minmax(220px,1fr) 110px 130px auto;gap:10px;align-items:center}.compact-trip-row .trip-remove{height:44px;align-self:center}.modern-trip-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.modern-trip-card>div{display:grid;gap:6px}.trip-total{font-size:1.4rem;color:#14356f}.modern-trip-card button[disabled]{opacity:.65;cursor:default}
@media(max-width:1500px){.recipe-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.recipe-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-trip-row{grid-template-columns:1fr 90px 110px auto}}
@media(max-width:650px){.recipe-card-grid{grid-template-columns:1fr}.compact-trip-row{grid-template-columns:1fr 1fr}.compact-trip-row .trip-remove{grid-column:1/-1}.modern-trip-card{align-items:stretch;flex-direction:column}}

/* Harmonisation visuelle des écrans Stock / Famille / Paramètres */
body[data-course-page="stocks"],body[data-course-page="family"],body[data-course-page="settings"]{background:linear-gradient(180deg,#f3f8ff,#edf5ff)}
body[data-course-page="stocks"] .course-sidebar,body[data-course-page="family"] .course-sidebar,body[data-course-page="settings"] .course-sidebar{background:#fff;border-right:1px solid #dce8f6;box-shadow:8px 0 28px rgba(20,53,111,.035)}
body[data-course-page="stocks"] .course-side-nav a,body[data-course-page="family"] .course-side-nav a,body[data-course-page="settings"] .course-side-nav a{border-radius:15px;padding:14px 15px}
body[data-course-page="stocks"] .course-side-nav a.active,body[data-course-page="family"] .course-side-nav a.active,body[data-course-page="settings"] .course-side-nav a.active{background:#e8f2ff;color:#176fd8;box-shadow:inset 3px 0 0 #2d86f7}
body[data-course-page="stocks"] .page-header-panel,body[data-course-page="family"] .page-header-panel,body[data-course-page="settings"] .page-header-panel{background:linear-gradient(135deg,#fff,#f4f9ff);border:1px solid #dce8f6;border-radius:28px;box-shadow:0 14px 34px rgba(20,53,111,.05);padding:28px 30px}
body[data-course-page="stocks"] .budget-panel,body[data-course-page="family"] .budget-panel,body[data-course-page="settings"] .budget-panel{border-radius:26px;border:1px solid #dce8f6;box-shadow:0 14px 34px rgba(20,53,111,.05)}
body[data-course-page="family"] .family-grid{gap:18px}

/* v1.5.17 – panier, OCR ticket et illustrations repas */
.recipe-photo img{width:100%;height:100%;object-fit:cover;display:block}
.trip-card-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.btn-danger-soft{background:#fff2f2;border:1px solid #ffd0d0;color:#d74747}
.btn-danger-soft:hover{background:#ffe8e8}
.ocr-status{display:block;margin-top:8px;color:#657f9f;line-height:1.4}
.compact-trip-row{grid-template-columns:minmax(200px,1.4fr) minmax(90px,.45fr) minmax(110px,.5fr) auto;align-items:center;gap:10px}
.compact-trip-row .trip-remove{white-space:nowrap;justify-self:end}
@media(max-width:900px){.compact-trip-row{grid-template-columns:1fr 100px 120px}.compact-trip-row .trip-remove{grid-column:1/-1;justify-self:start}.trip-card-actions{justify-content:flex-start}}

/* ASAP Courses & Repas — visual system v1.5.23 */
.cr-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 88px);background:linear-gradient(180deg,#eef7ff 0,#f8fbff 100%)}
.cr-sidebar{position:sticky;top:88px;height:calc(100vh - 88px);padding:20px 14px;background:rgba(255,255,255,.96);border-right:1px solid #dbe8f6;display:flex;flex-direction:column;gap:20px}
.cr-logo{display:flex;align-items:center;gap:12px;padding:4px 10px 14px}.cr-logo-icon{width:50px;height:50px;border-radius:16px;background:linear-gradient(180deg,#55bb77,#268f58);display:grid;place-items:center;font-size:25px;box-shadow:0 10px 24px rgba(38,143,88,.16)}.cr-logo b{display:block;color:#12356f;font-size:1.75rem;line-height:1}.cr-logo span{display:block;color:#2e77d6;margin-top:4px;font-weight:700}
.cr-nav{display:grid;gap:7px}.cr-nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;color:#405f88;font-weight:700}.cr-nav a span{width:22px;text-align:center;font-size:1.05rem}.cr-nav a:hover,.cr-nav a.active{background:linear-gradient(135deg,#287ff1,#3f9cff);color:#fff;box-shadow:0 10px 20px rgba(40,127,241,.16)}
.cr-sidebar-note{margin-top:auto;padding:18px;border-radius:22px;background:linear-gradient(180deg,#eef8f1,#f7fcf8);border:1px solid #dbeee1;color:#24466e;display:grid;gap:8px;line-height:1.35}.cr-sidebar-note:first-letter{font-size:2rem}
.cr-main{min-width:0;padding:18px 22px 32px;overflow:hidden}.cr-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px}.cr-search{flex:1;max-width:720px;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #dbe8f6;background:#fff;border-radius:16px;box-shadow:0 10px 24px rgba(20,53,111,.04);color:#6780a1}.cr-search input{flex:1;border:0;outline:0;background:transparent;font:inherit;color:#173b77}.cr-user{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#fff;border:1px solid #dbe8f6;color:#173b77}.cr-user small{display:block;color:#7890ae}
.cr-hero{min-height:170px;padding:20px 14px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(100deg,#eff8ff 0,#f8fcff 55%,#eef9f0 100%);border-radius:28px;margin-bottom:16px;overflow:hidden}.cr-hero.compact{min-height:145px}.cr-hero span{font-size:.82rem;letter-spacing:.16em;color:#2f80ed;font-weight:800}.cr-hero h1{margin:6px 0 8px;font-size:3rem;line-height:1;letter-spacing:-.05em;color:#112f67}.cr-hero p{margin:0;color:#68809f;font-size:1.08rem;max-width:720px;line-height:1.5}.cr-landscape{min-width:300px;text-align:center;font-size:4rem;color:#2a6fb9}.cr-landscape em{display:block;margin-top:8px;font-size:1rem;line-height:1.35;color:#31588c;font-family:cursive}.cr-landscape.family{font-size:4.6rem}
.cr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.cr-kpis article{background:#fff;border:1px solid #dbe8f6;border-radius:20px;padding:16px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 24px rgba(20,53,111,.04)}.cr-kpis i{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-style:normal;font-size:1.3rem}.cr-kpis i.green{background:#e5f7ee;color:#1f9c66}.cr-kpis i.orange{background:#fff2df;color:#e99424}.cr-kpis i.blue{background:#e8f2ff;color:#2f80ed}.cr-kpis i.pink{background:#ffeaf0;color:#e85375}.cr-kpis small,.cr-kpis span{display:block;color:#7188a8}.cr-kpis strong{display:block;margin:3px 0;font-size:1.75rem;color:#12356f}
.cr-card,.meal-results-section{background:#fff;border:1px solid #dbe8f6;border-radius:22px;padding:18px;box-shadow:0 10px 24px rgba(20,53,111,.04);margin-bottom:16px}.cr-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.cr-card h2,.meal-results-heading h2{margin:0;color:#12356f;font-size:1.45rem}.cr-card p,.meal-results-heading p{margin:5px 0 0;color:#7188a8;line-height:1.45}.cr-home-grid{display:grid;grid-template-columns:1.7fr .9fr;gap:16px}.cr-wide{grid-column:auto}.cr-recipe-grid,.recipe-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-card,.recipe-card-mock{background:#fff;border:1px solid #dbe8f6;border-radius:18px;overflow:hidden;box-shadow:0 8px 18px rgba(20,53,111,.04)}.quick-food-photo,.recipe-photo img{width:100%;height:165px;object-fit:cover;display:block}.recipe-photo{position:relative}.recipe-badge{position:absolute;top:10px;left:10px;padding:7px 10px;border-radius:999px;background:#e8f7ef;color:#167a50;font-size:.8rem;font-weight:800}.recipe-badge.near{background:#fff2df;color:#b8721c}.recipe-body{padding:14px}.recipe-body h3{margin:0 0 8px;color:#12356f;font-size:1.08rem}.recipe-meta,.recipe-tags,.recipe-qualities{display:flex;gap:8px;flex-wrap:wrap;color:#6d84a5;font-size:.86rem}.tag-mini,.recipe-quality{padding:6px 9px;border-radius:999px;background:#eef5ff;color:#355f9f;font-size:.78rem;font-weight:700}.tag-mini.missing{background:#fff0ed;color:#cc5c49}.full{width:100%;display:flex;justify-content:center;margin-top:10px}.cr-callout,.cr-mini-links{padding:16px;border-radius:16px;background:#f5f9ff;color:#547094;line-height:1.5}.cr-mini-links{display:grid;gap:8px}.cr-mini-links a{font-weight:800;color:#2d78e9}
.cr-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cr-form label{display:grid;gap:7px;color:#173b77;font-weight:700}.cr-form input,.cr-form select,.period-select select{width:100%;padding:12px 13px;border:1px solid #cfe0f2;border-radius:12px;background:#fff;font:inherit;color:#173b77}.cr-form label small{color:#7389a8;font-weight:500}.cr-form .wide{grid-column:1/-1}.cr-form-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.auto-category{padding:11px 13px;border:1px solid #cfe0f2;border-radius:12px;background:#f5f9ff}.auto-category small{display:block}.inline-input-unit{display:flex;align-items:center;gap:8px}.product-name-cell{display:flex;align-items:center;gap:10px}.product-mini-icon{width:34px;height:34px;border-radius:10px;background:#f2f7fd;display:grid;place-items:center;flex:0 0 auto}.category-pill,.stock-real-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef5ff;color:#315e9f;font-weight:700}.stock-real-badge{background:#e8f8ee;color:#19724f}.icon-action{width:34px;height:34px;border-radius:10px;border:1px solid #d6e4f3;background:#fff;cursor:pointer}.icon-action.delete{color:#d84a4a}.cr-table{width:100%;min-width:980px}.cr-table th{background:#f3f8fd}.cr-table td,.cr-table th{padding:10px}
.family-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.family-cards .member-card{border:1px solid #dbe8f6;border-radius:18px;padding:14px;background:#fff}.person-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#2e78e6;font-size:1.3rem;font-weight:800}.person-card-head{display:flex;gap:10px;align-items:center}.person-restrictions{display:grid;gap:8px;margin:12px 0;color:#617b9e;font-size:.9rem}.cr-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cr-info-grid>div{padding:16px;background:#f7fbff;border:1px solid #dbe8f6;border-radius:16px}.cr-info-grid b,.cr-info-grid span{display:block}.cr-info-grid span{margin-top:5px;color:#7188a8}
.consumption-modern{display:grid;gap:12px;margin-top:14px}.consumption-card{display:grid;grid-template-columns:1fr 1.5fr;gap:18px;padding:14px;border:1px solid #dbe8f6;border-radius:16px;background:#fbfdff}.member-consumption-grid{display:flex;gap:10px;flex-wrap:wrap}.member-consumption-grid label{padding:10px;border:1px solid #dbe8f6;border-radius:12px;background:#fff}.meal-member-grid{display:flex;gap:12px;flex-wrap:wrap}.meal-person-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe8f6;border-radius:14px;background:#fff}.cr-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.cr-filter-row button{padding:11px 16px;border:1px solid #d6e4f3;border-radius:14px;background:#fff;color:#38587f;font-weight:800}.cr-filter-row button.active{background:#2e82ef;color:#fff;border-color:#2e82ef}.meal-results-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.cr-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.selection-counter{margin-left:auto;color:#5d7595}.shopping-mockup-panel{display:grid;gap:12px}.shopping-category{border:1px solid #dbe8f6;border-radius:18px;overflow:hidden}.shopping-category h3{margin:0;padding:13px 16px;background:#f5f9ff;display:flex;justify-content:space-between;color:#12356f}.suggestion-line.selectable{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid #eef3f8;cursor:pointer}.shopping-select{width:19px;height:19px;accent-color:#2e82ef}.shopping-line-main b,.shopping-line-main small{display:block}.shopping-line-main small{color:#7188a8;margin-top:3px}.validated-banner{padding:14px;border-radius:14px;background:#e8f8ee;color:#176a49;font-weight:700;margin-top:14px}.trip-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact-trip-row{display:grid;grid-template-columns:1fr 100px 110px auto;gap:8px;margin-top:8px}.compact-trip-row input,.compact-trip-row select{padding:10px;border:1px solid #cfe0f2;border-radius:10px}
@media(max-width:1100px){.cr-shell{grid-template-columns:210px 1fr}.cr-kpis{grid-template-columns:1fr 1fr}.cr-home-grid{grid-template-columns:1fr}.family-cards{grid-template-columns:1fr 1fr}.recipe-card-grid,.cr-recipe-grid{grid-template-columns:1fr 1fr}.cr-hero h1{font-size:2.4rem}}
@media(max-width:780px){.cr-shell{display:block}.cr-sidebar{position:static;height:auto}.cr-sidebar-note{display:none}.cr-nav{grid-template-columns:1fr 1fr}.cr-main{padding:12px}.cr-top,.cr-hero{flex-direction:column;align-items:stretch}.cr-landscape{min-width:0}.cr-kpis,.cr-form,.cr-info-grid,.family-cards,.recipe-card-grid,.cr-recipe-grid,.trip-history-grid{grid-template-columns:1fr}.consumption-card{grid-template-columns:1fr}.compact-trip-row{grid-template-columns:1fr 80px 100px}.compact-trip-row .trip-remove{grid-column:1/-1}}

/* v1.5.24 — Ma famille fidèle au mockup + catégories étendues */
.family-hero{min-height:185px;padding:22px 16px 20px;background:linear-gradient(105deg,#f1f8ff 0%,#f9fcff 55%,#eef9f0 100%)}
.family-hero-art{min-width:350px;text-align:center;position:relative;padding:8px 10px}.family-group{font-size:5.2rem;line-height:1;filter:drop-shadow(0 12px 18px rgba(20,53,111,.08))}.family-hero-art em{display:block;margin-top:8px;color:#24538c;font:600 1.05rem/1.4 cursive}
.family-kpis article{min-height:104px}.family-main-card>header{align-items:center}
.family-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.family-profile-card{position:relative;border:1px solid #dbe8f6;border-radius:20px;padding:14px;background:#fff;box-shadow:0 8px 18px rgba(20,53,111,.035);min-height:305px}.family-profile-head{display:flex;gap:12px;align-items:center;position:relative}.family-avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:2rem;flex:0 0 auto}.family-avatar.tone-1{background:linear-gradient(180deg,#d9edff,#eef7ff)}.family-avatar.tone-2{background:linear-gradient(180deg,#ffe2e0,#fff2ef)}.family-avatar.tone-3{background:linear-gradient(180deg,#e2efff,#f2f8ff)}.family-avatar.tone-4{background:linear-gradient(180deg,#f0e4ff,#faf6ff)}.family-profile-name h3{margin:0 0 5px;color:#12356f;font-size:1.18rem}.family-profile-name span{display:block;color:#6881a2;font-size:.88rem;margin-top:3px}.family-edit-icon{margin-left:auto;align-self:flex-start;width:34px;height:34px;border-radius:50%;border:0;background:#eef5ff;color:#2f80ed;font-size:1rem;cursor:pointer}.family-profile-divider{height:1px;background:#e7eff8;margin:12px 0}.family-profile-label{display:block;color:#5f7697;font-size:.88rem;margin-bottom:9px}.family-restriction-list{display:grid;gap:7px;min-height:92px}.family-restriction-chip{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;font-size:.82rem;font-weight:700}.family-restriction-chip.good{background:#e9f8ee;color:#247551}.family-restriction-chip.bad{background:#fff0ed;color:#c75747}.family-restriction-chip.allergy{background:#ffe9ed;color:#c74357}.family-restriction-chip.neutral{background:#eef3f9;color:#657d9d}.family-modify-btn{width:100%;margin-top:12px;padding:10px;border:0;border-radius:12px;background:#eaf3ff;color:#2d75dc;font-weight:800;cursor:pointer}.family-delete-link{display:block;margin:8px auto 0;border:0;background:transparent;color:#c75b5b;font-weight:700;cursor:pointer;font-size:.82rem}
.family-form-panel[hidden]{display:none}.family-form-panel{scroll-margin-top:100px}.family-form{grid-template-columns:repeat(3,minmax(0,1fr))}.family-form .wide{grid-column:1/-1}
.family-bottom-grid{display:grid;grid-template-columns:1.7fr .65fr;gap:16px}.family-summary-card,.family-advice-card{margin-bottom:0}.family-summary-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.family-summary-columns>div{padding:16px;border:1px solid #dbe8f6;border-radius:17px;background:#fbfdff}.family-summary-columns b,.family-summary-columns strong,.family-summary-columns span{display:block}.family-summary-columns strong{margin:6px 0 3px;font-size:1.7rem;color:#12356f}.family-summary-columns>div>span{color:#7188a8;font-size:.86rem}.summary-round{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;margin-bottom:9px}.summary-round.green{background:#e5f7ee}.summary-round.pink{background:#ffe9ef}.summary-round.orange{background:#fff0df}.summary-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.summary-chips span{padding:6px 9px;border-radius:999px;background:#edf5ff;color:#315d9a;font-weight:700;font-size:.78rem}.summary-chips.danger span{background:#fff0ed;color:#bc5a4c}.family-advice-list{display:grid;gap:14px}.family-advice-list>div{display:flex;gap:12px;align-items:flex-start}.family-advice-list i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef7ff;font-style:normal;flex:0 0 auto}.family-advice-list b,.family-advice-list small{display:block}.family-advice-list b{color:#12356f}.family-advice-list small{margin-top:4px;color:#7188a8;line-height:1.4}
.category-pill.cat-hygiene{background:#f1ecff;color:#6b4db3}.category-pill.cat-entretien{background:#e9f5ff;color:#2f6fa8}.category-pill.cat-maison{background:#fff2e5;color:#a66426}.category-pill.cat-sante{background:#ffecef;color:#bd5061}
@media(max-width:1200px){.family-profile-grid{grid-template-columns:1fr 1fr}.family-bottom-grid{grid-template-columns:1fr}.family-form{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.family-profile-grid,.family-summary-columns,.family-form{grid-template-columns:1fr}.family-hero-art{min-width:0}.family-group{font-size:4rem}}

/* v1.5.24 — cadre applicatif strictement calé sur les mockups */
.cr-shell{min-height:100vh}
.cr-sidebar{top:0;height:100vh}
.cr-logo{cursor:pointer}
.cr-user{cursor:pointer}

.recipe-photo.no-photo{background:linear-gradient(135deg,#eef7ff,#f9fbff);min-height:170px;display:flex;align-items:center;justify-content:center}
.recipe-photo-fallback{width:100%;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 22px;color:#173b77;background:radial-gradient(circle at 25% 20%,rgba(94,169,255,.18),transparent 35%),radial-gradient(circle at 80% 75%,rgba(63,194,131,.16),transparent 34%),linear-gradient(135deg,#f7fbff,#eff7ff)}
.recipe-photo-fallback .fallback-dish{font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#4280c9;margin-bottom:9px}.recipe-photo-fallback strong{font-size:1.08rem;line-height:1.25}.fallback-ingredients{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}.fallback-ingredients span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid #dce9f7;font-size:.74rem;color:#627c9c}


/* V1.5.28 — cartes repas uniformisées sans photos approximatives */
.recipe-card-uniform .recipe-photo.no-photo{height:190px;min-height:190px;background:linear-gradient(135deg,#eef7ff,#f9fbff);overflow:hidden}
.recipe-card-uniform .recipe-photo-fallback{height:100%;min-height:190px;padding:50px 18px 18px;box-sizing:border-box;justify-content:flex-start}
.recipe-card-uniform .recipe-photo-fallback .fallback-dish{margin:0 0 10px;font-size:.74rem}
.recipe-card-uniform .recipe-photo-fallback strong{display:block;width:100%;max-width:100%;font-size:1.02rem;line-height:1.28;overflow-wrap:anywhere;word-break:normal;text-align:center}
.recipe-card-uniform .fallback-ingredients{margin-top:12px;align-content:flex-start}
.recipe-card-uniform .recipe-body{min-height:115px;padding:14px 16px 16px}
.recipe-card-uniform .recipe-body h3{display:none}
.recipe-card-uniform .recipe-meta{margin:0 0 10px}
.recipe-card-uniform .recipe-qualities{margin-bottom:10px}
.recipe-card-uniform .recipe-tags{min-height:0;margin-bottom:0}


/* V1.5.55 - saisie Courses simplifiée */
.stock-entry-card{overflow:visible}.stock-simple-form{align-items:start}.field-title{display:block;color:#173b77;margin-bottom:10px}.category-visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-visual-card{border:1px solid #d8e6f4;background:linear-gradient(180deg,#fff,#f7fbff);border-radius:18px;min-height:128px;padding:15px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;text-align:left;cursor:pointer;color:#173b77;transition:.18s ease;box-shadow:0 8px 20px rgba(20,53,111,.035)}.category-visual-card:hover{transform:translateY(-2px);border-color:#91bfe8;box-shadow:0 12px 25px rgba(20,53,111,.08)}.category-visual-card.selected{background:linear-gradient(135deg,#e8f8ef,#eaf6ff);border:2px solid #38a889;box-shadow:0 10px 24px rgba(56,168,137,.13)}.category-visual-card>span{font-size:1.9rem}.category-visual-card b{font-size:1rem}.category-visual-card small{color:#7288a6;font-weight:500;line-height:1.3}.product-search-wrap{display:flex;align-items:center;border:1px solid #cfe0f2;border-radius:14px;background:#fff;padding:0 12px;gap:8px}.product-search-wrap:focus-within{border-color:#53a3dc;box-shadow:0 0 0 3px rgba(83,163,220,.11)}.product-search-wrap input{border:0!important;box-shadow:none!important;padding-left:0!important}.favorite-check{align-self:end;padding:11px 13px;border:1px solid #dbe8f6;border-radius:14px;background:#fbfdff}.favorite-check>span{display:flex;gap:8px;align-items:center}.favorite-check input{width:auto}.price-history-preview{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 14px;border-radius:14px;background:#f3f9f6;border:1px solid #d5eadf;color:#315f53}.price-history-preview small{width:100%}.stock-secondary{display:block;color:#758aa8;font-size:.82rem;margin-top:3px}
.trip-items-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.trip-items-head small{display:block;color:#7389a8;font-weight:500;margin-top:4px}.shopping-trip-items{display:grid;gap:12px}.modern-trip-item-row{display:grid;grid-template-columns:1.05fr 1.6fr .6fr .8fr .75fr .75fr auto;gap:10px;align-items:end;border:1px solid #dfeaf6;border-radius:16px;padding:12px;background:#fbfdff}.modern-trip-item-row label{display:grid;gap:5px}.modern-trip-item-row label span{font-size:.76rem;color:#7086a5;font-weight:700}.modern-trip-item-row input,.modern-trip-item-row select{width:100%;padding:10px;border:1px solid #cfe0f2;border-radius:10px;background:#fff;color:#173b77;font:inherit}.modern-trip-item-row .trip-remove{height:42px;white-space:nowrap}.shopping-line-main .price-hint{display:inline-block;margin-top:4px;color:#18805f;font-weight:700}
@media(max-width:1200px){.category-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modern-trip-item-row{grid-template-columns:1fr 1.4fr .6fr .8fr}.modern-trip-item-row .trip-pack-content,.modern-trip-item-row label:has(.trip-price),.modern-trip-item-row .trip-remove{grid-row:2}.modern-trip-item-row .trip-remove{justify-self:start}}
@media(max-width:780px){.category-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-items-head{align-items:stretch;flex-direction:column}.modern-trip-item-row{grid-template-columns:1fr 1fr}.modern-trip-item-row .trip-product-field{grid-column:1/-1}.modern-trip-item-row .trip-remove{grid-column:1/-1;grid-row:auto}.modern-trip-item-row .trip-pack-content,.modern-trip-item-row label:has(.trip-price){grid-row:auto}}
@media(max-width:460px){.category-visual-grid{grid-template-columns:1fr}}

/* v1.5.56 — Mes courses faites */
.purchase-meta-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.purchase-meta-fields label{display:grid;gap:5px;color:#173b77;font-weight:700;font-size:.82rem}.purchase-meta-fields input{min-width:150px;padding:10px 11px;border:1px solid #cfe0f2;border-radius:10px;font:inherit;color:#173b77;background:#fff}.purchase-draft-groups{display:grid;gap:14px}.purchase-category-group{border:1px solid #dce9f5;border-radius:18px;overflow:hidden;background:#fff}.purchase-category-group h3{margin:0;padding:13px 16px;background:linear-gradient(180deg,#f8fcff,#f2f8ff);display:flex;justify-content:space-between;align-items:center;color:#173b77}.purchase-category-group h3 span{font-size:.82rem;color:#6f86a5;font-weight:700}.purchase-draft-table{overflow-x:auto}.purchase-draft-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 90px 130px 120px 120px 48px;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid #edf3f9;color:#31506f}.purchase-draft-row.head{background:#fbfdff;color:#6d84a3;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.purchase-draft-row b{color:#173b77}.purchase-draft-row small{display:block;margin-top:3px;color:#7a8fa9}.purchase-grand-total{margin-top:16px;padding:17px 20px;border-radius:16px;background:linear-gradient(135deg,#eef9f4,#edf6ff);display:flex;align-items:center;justify-content:space-between;color:#315f53}.purchase-grand-total strong{font-size:1.75rem;color:#173b77}.purchase-validation-note{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;border:1px solid #f0dfb3;background:#fffaf0;border-radius:14px;color:#715a20}.purchase-validation-note>b{font-size:1.3rem}.purchase-validation-note div{display:grid;gap:4px}.purchase-validation-note small{color:#866e35;line-height:1.45}.purchase-history-card{display:grid;gap:12px}.purchase-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.purchase-history-card details{border-top:1px solid #e8eff7;padding-top:10px}.purchase-history-card summary{cursor:pointer;color:#315e9f;font-weight:700}.purchase-history-lines{display:grid;gap:7px;margin-top:10px}.purchase-history-lines>div{display:flex;justify-content:space-between;gap:14px;font-size:.86rem;color:#607996}.purchase-history-lines>div span:last-child{text-align:right}.purchase-entry-card .category-visual-card{min-height:118px}
@media(max-width:900px){.purchase-draft-row{grid-template-columns:minmax(180px,1.3fr) 80px 110px 110px 110px 44px}.purchase-meta-fields{width:100%}.purchase-meta-fields label{flex:1}.purchase-history-lines>div{flex-direction:column;gap:3px}.purchase-history-lines>div span:last-child{text-align:left}}
@media(max-width:650px){.purchase-draft-row.head{display:none}.purchase-draft-row{grid-template-columns:1fr 1fr;padding:14px}.purchase-draft-row>span:first-child{grid-column:1/-1}.purchase-draft-row>span:last-child{justify-self:end}.purchase-grand-total{align-items:flex-start}.purchase-meta-fields{flex-direction:column}.purchase-meta-fields label,.purchase-meta-fields input{width:100%}}


/* v1.5.57 — stock de référence, favoris et recherche depuis le stock */
.stock-qty-edit{display:flex;gap:8px;flex-wrap:wrap}.stock-qty-edit label{display:grid;gap:3px;min-width:90px}.stock-qty-edit input{width:86px}.icon-action.favorite{font-size:1.2rem;color:#8aa0bb}.icon-action.favorite.active{color:#e85d75;background:#fff0f3;border-color:#f5c3ce}.shopping-stock-picker{margin-bottom:18px}.shopping-stock-picker .cr-form{margin-top:8px}
@media(max-width:700px){.stock-qty-edit{flex-direction:column}.stock-qty-edit input{width:100%}}

/* v1.5.58 — Suggestions stock visibles + suivi courses & prix */
.product-autocomplete{position:relative}.product-suggestions-box{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #cfe0f2;border-radius:14px;box-shadow:0 16px 34px rgba(28,67,117,.16);overflow:hidden;max-height:340px;overflow-y:auto}.product-suggestion-item{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:0;border-bottom:1px solid #edf3f8;background:#fff;text-align:left;cursor:pointer;color:#173b77;font:inherit}.product-suggestion-item:last-child{border-bottom:0}.product-suggestion-item:hover,.product-suggestion-item:focus{background:#f2f9ff}.product-suggestion-item span:first-child{display:grid;gap:3px}.product-suggestion-item small{color:#7188a5;font-size:.78rem}.product-suggestion-item span:last-child{text-align:right;color:#7188a5;font-size:.76rem;white-space:nowrap}.product-suggestion-item span:last-child strong{color:#18805f;font-size:.9rem}.product-suggestion-empty{padding:13px 14px;color:#6d83a0;background:#fbfdff;font-size:.86rem;line-height:1.45}
.tracking-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.tracking-kpis article{background:#fff;border:1px solid #dfeaf5;border-radius:18px;padding:17px 18px;display:grid;gap:6px;box-shadow:0 8px 24px rgba(24,60,105,.04)}.tracking-kpis small{color:#748aa7;font-weight:700}.tracking-kpis strong{font-size:1.65rem;color:#173b77}.tracking-kpis span{font-size:.82rem;color:#6d83a0}.tracking-change{display:inline-flex!important;align-items:center;gap:4px;font-weight:800!important}.tracking-change.down{color:#16865f!important}.tracking-change.up{color:#c84c4c!important}.tracking-change.neutral{color:#7388a5!important}.tracking-change.mini{font-size:.74rem!important;margin-top:4px}.monthly-comparison{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;align-items:stretch}.month-bars{display:grid;gap:14px}.month-bar-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.4fr) 100px;gap:14px;align-items:center}.month-bar-row>div:first-child{display:grid;gap:3px}.month-bar-row b{color:#173b77}.month-bar-row span{font-size:.78rem;color:#768aa6}.month-bar-track{height:14px;border-radius:999px;background:#edf3f8;overflow:hidden}.month-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7bb9e8,#4c8bd3);min-width:2px}.month-bar-row.current .month-bar-track i{background:linear-gradient(90deg,#55c69a,#2aa880)}.month-bar-row>strong{text-align:right;color:#173b77}.monthly-analysis{border-radius:16px;padding:16px 17px;display:grid;align-content:center;gap:7px;border:1px solid #dde8f2;background:#f8fbfe}.monthly-analysis.down{border-color:#cfeadc;background:#f3fbf7}.monthly-analysis.up{border-color:#f1d4d4;background:#fff7f7}.monthly-analysis b{color:#173b77}.monthly-analysis.down b{color:#16865f}.monthly-analysis.up b{color:#b84747}.monthly-analysis span{font-size:.84rem;line-height:1.5;color:#607996}.price-tracking-categories{display:grid;gap:12px}.price-category-accordion{border:1px solid #dce8f4;border-radius:16px;background:#fff;overflow:hidden}.price-category-accordion summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(180deg,#fbfdff,#f5f9fd);cursor:pointer;color:#173b77;list-style:none}.price-category-accordion summary::-webkit-details-marker{display:none}.price-category-accordion summary:after{content:'⌄';font-size:1.1rem;color:#7190ad;transition:.18s}.price-category-accordion[open] summary:after{transform:rotate(180deg)}.price-category-accordion summary span{display:flex;align-items:center;gap:8px}.price-category-accordion summary em{font-style:normal;font-size:.78rem;color:#748aa7;margin-left:auto}.price-category-content{display:grid}.price-track-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 120px 120px minmax(180px,.9fr) minmax(190px,1fr);gap:14px;align-items:center;padding:13px 16px;border-top:1px solid #edf3f8}.price-track-row:first-child{border-top:0}.price-track-row>div{display:grid;gap:3px}.price-track-row small{font-size:.74rem;color:#7a8fa9;font-weight:700}.price-track-row strong{color:#173b77}.price-track-name small{font-weight:500}.price-track-name b{color:#173b77}.price-track-row:hover{background:#fbfdff}
@media(max-width:1100px){.tracking-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-comparison{grid-template-columns:1fr}.price-track-row{grid-template-columns:minmax(200px,1.4fr) 110px 110px minmax(170px,1fr)}.price-track-row>div:last-child{grid-column:2/-1}}
@media(max-width:760px){.tracking-kpis{grid-template-columns:1fr}.month-bar-row{grid-template-columns:1fr 90px}.month-bar-track{grid-column:1/-1;grid-row:2}.price-track-row{grid-template-columns:1fr 1fr}.price-track-name{grid-column:1/-1}.price-track-row>div:last-child{grid-column:1/-1}.product-suggestion-item{align-items:flex-start}.product-suggestion-item span:last-child{white-space:normal}}
