:root{--bg:#f6f7fb;--card:#fff;--text:#171923;--muted:#73798a;--line:#e7e9f0;--primary:#e5484d;--primary-dark:#c9373c;--sidebar:#17171c;--success:#138a59;--danger:#c9373c;--warning:#c87913;--shadow:0 12px 35px rgba(20,24,40,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--sidebar);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 28px}.brand-mark{font-size:28px}.brand strong,.brand small{display:block}.brand small,.sidebar-user small{color:#999aa3;font-size:12px;margin-top:3px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px 14px;border-radius:11px;color:#bcbec7;display:flex;gap:13px;align-items:center;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#2a2a31;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid #303038;padding:18px 6px 0;display:flex;align-items:center;gap:10px}.sidebar-user>a{margin-left:auto;color:#aaa}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--primary);font-weight:800}.sidebar-user strong{display:block;font-size:13px}.main-content{margin-left:260px;width:calc(100% - 260px);padding:30px 36px 60px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:26px}.topbar h1{font-size:26px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted);font-size:14px}.menu-btn{display:none;border:0;background:transparent;font-size:23px}.alerts{display:grid;gap:10px;margin-bottom:18px}.alert{padding:12px 15px;border-radius:10px;background:#eef1f7;font-size:14px}.alert.success{background:#e8f8f0;color:#0c7147}.alert.danger{background:#ffeded;color:#a72c30}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card,.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat-card{padding:20px;display:flex;gap:15px;align-items:center}.stat-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#f4f4f7;font-size:22px}.stat-card small,.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:25px;margin:3px 0}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.action{display:flex;align-items:center;gap:14px;padding:17px 19px;border-radius:15px;color:#fff}.action b{font-size:25px}.action span strong,.action span small{display:block}.action span small{opacity:.8;font-size:12px;margin-top:3px}.production{background:#de514d}.transfer{background:#5b64c9}.sale{background:#168765}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{padding:22px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card-head h2{font-size:17px;margin:0}.card-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.card-head>a{font-size:12px;color:var(--primary);font-weight:700}.product-row,.timeline-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.product-row:first-child,.timeline-item:first-child{border-top:0}.product-symbol{width:38px;height:38px;background:#fff1ef;border-radius:10px;display:grid;place-items:center}.grow{flex:1}.grow strong,.grow small,.stock-number strong,.stock-number small,.timeline-meta strong,.timeline-meta small{display:block}.grow strong{font-size:13px}.grow small,.stock-number small,.timeline-meta small{font-size:11px;color:var(--muted);margin-top:4px}.stock-number{text-align:right}.stock-number.low strong{color:var(--danger)}.timeline-item{position:relative}.dot{width:9px;height:9px;background:var(--primary);border-radius:50%}.timeline-meta{text-align:right}.empty{text-align:center;color:var(--muted);padding:30px;font-size:13px}.form-card{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:8px;font-size:13px;font-weight:700}.form-grid label small{color:var(--muted);font-weight:400}.span-2{grid-column:span 2}input,select{width:100%;border:1px solid #dfe2ea;border-radius:10px;padding:11px 12px;background:#fff;font:inherit;color:var(--text);outline:none}input:focus,select:focus{border-color:#8d92dd;box-shadow:0 0 0 3px rgba(91,100,201,.12)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.btn{border:0;border-radius:10px;padding:11px 16px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.ghost{background:#f1f2f6;color:#363945}.btn.danger-outline{background:#fff1f1;color:var(--danger)}.btn.small{padding:8px 11px;font-size:11px}.btn.full{width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:12px 10px;border-top:1px solid var(--line)}th{color:var(--muted);font-weight:600;background:#fafbfc}.right{text-align:right}.qty{font-weight:800;font-size:14px}.negative{color:var(--danger)}.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#eef0f5;color:#5e6473;font-size:10px}.badge.success{background:#e6f7ef;color:#0d7a4b}.badge.muted{background:#eee;color:#777}.filters{display:flex;gap:10px;margin-bottom:16px}.filters select{max-width:230px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.compact-form{display:grid;gap:10px}.admin-section{margin-top:20px}.inline-form{display:flex;gap:7px}.inline-form input{width:90px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#fff0ed 0,#f6f7fb 42%)}.login-card{width:min(400px,100%);background:#fff;padding:38px;border-radius:20px;box-shadow:0 20px 60px rgba(30,30,50,.12);text-align:center;border:1px solid var(--line)}.login-brand{font-size:43px}.login-card h1{margin:12px 0 7px}.login-card p{color:var(--muted);font-size:14px}.pin-form{display:grid;gap:12px;margin-top:25px}.pin-form input{text-align:center;font-size:28px;letter-spacing:14px;padding-left:26px}.hint{display:block;color:var(--muted);margin-top:18px}.conditional.hidden{display:none}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;width:100%;padding:22px 16px 50px}.menu-btn{display:block}.stats-grid,.quick-actions,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.quick-actions{gap:10px}.card{padding:17px}.topbar h1{font-size:22px}.filters{display:grid}.filters select{max-width:none}}
.role-actions{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.loss-action{background:#9a5b22}.grocery{background:#7856a8}.quantity-grid{display:grid;gap:10px;margin:14px 0 24px}.quantity-row{display:flex!important;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:#fafbfc}.quantity-row span strong,.quantity-row span small{display:block}.quantity-row span small{font-size:11px;color:var(--muted);margin-top:4px}.quantity-row input{width:100px;text-align:center;font-weight:800}.field{display:grid;gap:8px;font-size:13px;font-weight:700}.danger-badge{background:#ffeded;color:#a72c30}h3{font-size:14px;margin:24px 0 10px}.login-card h1{color:#b62e32}.brand strong{letter-spacing:.2px}@media(max-width:600px){.quantity-row{padding:12px}.quantity-row input{width:82px}.role-actions{grid-template-columns:1fr}}
/* Red Ember V3 */
:root{--primary:#d7472f;--primary-dark:#ac2e20;--sidebar:#171210;--bg:#f8f5f2;--line:#eadfd8;--shadow:0 14px 38px rgba(67,35,25,.08)}
.brand-flame{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#ff7953,#b82418);color:#fff;transform:rotate(45deg);box-shadow:0 8px 22px rgba(215,71,47,.32)}
.brand-flame::first-letter{transform:rotate(-45deg)}
.sidebar nav a{transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar nav a:hover{transform:translateX(3px)}
.card,.stat-card{backdrop-filter:blur(8px)}.action{min-height:82px;transition:transform .18s ease,box-shadow .18s ease}.action:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(33,22,18,.14)}
.btn.primary{box-shadow:0 7px 18px rgba(215,71,47,.22)}
@media(max-width:760px){.topbar{position:sticky;top:0;z-index:20;background:rgba(248,245,242,.92);padding:10px 0;backdrop-filter:blur(12px)}.form-actions{position:sticky;bottom:0;background:#fff;padding:14px 0 4px}.quantity-row{min-height:68px}}

/* Red Ember V3.1 */
.brand-logo{width:62px;height:48px;object-fit:contain;flex:0 0 auto}.login-logo{width:190px;max-width:72%;height:auto;object-fit:contain;margin:0 auto 4px}.stat-icon{width:66px;height:66px;border-radius:18px;font-size:34px;flex:0 0 66px}.action b{width:62px;height:62px;border-radius:18px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:37px;line-height:1;flex:0 0 62px}.action{min-height:104px;padding:20px}.action span strong{font-size:15px}.action span small{font-size:12px;line-height:1.35}.info-box{display:flex;gap:10px;flex-direction:column;padding:14px 16px;border-radius:12px;background:#fff5ed;border:1px solid #f2d4bf;margin-bottom:20px}.info-box strong{color:#9b371f}.info-box span{font-size:13px;line-height:1.5;color:#6f554b}@media(max-width:760px){.brand-logo{width:56px;height:44px}.stat-icon{width:58px;height:58px;flex-basis:58px;font-size:30px}.action b{width:56px;height:56px;flex-basis:56px;font-size:33px}.action{min-height:94px}}

/* V3.2 — pictogrammes vectoriels réellement mis à l’échelle */
.stat-icon{width:72px;height:72px;flex:0 0 72px;padding:14px;color:var(--primary);overflow:visible}
.stat-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.stat-card:nth-child(2) .stat-icon{color:var(--warning)}
.stat-card:nth-child(3) .stat-icon{color:#5b64c9}
.stat-card:nth-child(4) .stat-icon{color:#168765}
@media(max-width:760px){.stat-icon{width:64px;height:64px;flex-basis:64px;padding:12px}}

/* V4 — planning, analytics, filters and timeline */
.production-plan{border:1px solid rgba(215,71,47,.22);background:linear-gradient(145deg,#fff,#fff8f4)}
.filter-grid{display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(150px,1fr)) repeat(2,minmax(145px,1fr)) auto auto;gap:10px;align-items:end}
.filter-grid input,.filter-grid select,.timeline-filter select,.period-form select{width:100%}
.event-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f0eeec;font-weight:700;font-size:.78rem;white-space:nowrap}
.event-badge.production{background:#e8f7ec;color:#24733a}.event-badge.market_sale,.event-badge.online_sale,.event-badge.grocery_sale{background:#fff0e8;color:#a74220}.event-badge.breakage,.event-badge.testing{background:#fff4d8;color:#8a5a00}.event-badge.audit{background:#eceaf8;color:#55489a}
.analytics-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:18px}.bar-chart{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr minmax(70px,100px);gap:12px;align-items:center}.bar-row>span{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row>strong{text-align:right;font-size:.88rem}.bar-track{height:12px;border-radius:99px;background:#f0eeec;overflow:hidden}.bar-track i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#d7472f,#ff7a37)}
.period-form{display:flex;justify-content:flex-end}.period-form label{display:flex;gap:10px;align-items:center;font-weight:700}.timeline-filter{display:flex;align-items:center;gap:18px}.timeline-filter select{max-width:380px}.timeline{position:relative;padding:8px 4px 8px 28px}.timeline:before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:#eaded7}.timeline-item{position:relative;margin:0 0 16px}.timeline-dot{position:absolute;left:-24px;top:18px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#d7472f;box-shadow:0 0 0 2px #d7472f}.timeline-card{padding:16px 18px;border:1px solid #eee3dc;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(39,26,20,.05)}.timeline-head{display:flex;justify-content:space-between;gap:12px}.timeline-head strong{color:#d7472f}.timeline-head time,.timeline-card small{color:#7b706a}.timeline-card h3{margin:7px 0 4px}.timeline-card p{margin:0 0 5px}.muted{color:#756b66}
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:650px){.filter-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:90px 1fr}.bar-row>strong{grid-column:2}.timeline-head{display:block}.timeline-head time{display:block;margin-top:3px}.period-form{justify-content:stretch}.period-form label{width:100%}}

/* V4.1 — statistiques détaillées et administration produits */
.statistics-summary .stat-icon{width:78px;height:78px;flex:0 0 78px;padding:10px;border-radius:20px}
.statistics-summary .stat-icon svg{width:100%;height:100%;stroke-width:1.75}
.statistics-summary .stat-card{min-height:126px}
.seller-ranking{display:grid;gap:12px}.seller-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.seller-row:first-child{border-top:0}.seller-row>.grow{display:grid;gap:6px}.seller-row>.grow small{margin:0}.seller-row>.grow .bar-track{height:9px}.seller-row>.grow .bar-track i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#d7472f,#ff7a37)}.rank{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#fff0e8;color:#b63a20;font-weight:800;flex:0 0 30px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.row-actions form{margin:0}
@media(max-width:760px){.statistics-summary .stat-icon{width:70px;height:70px;flex-basis:70px;padding:9px}.statistics-summary .stat-card{min-height:112px}.row-actions{justify-content:flex-start}}

/* V4.2 - Sélection mensuelle des statistiques */
.period-choice-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.4fr);gap:18px;align-items:end}
.month-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.month-form label{min-width:180px;flex:1}
.selected-period{margin-top:14px;padding:10px 14px;border-radius:12px;background:#f7efea;color:#6b5145}
@media(max-width:850px){.period-choice-grid{grid-template-columns:1fr}.month-form{align-items:stretch}.month-form .btn{width:100%;text-align:center}}

/* V4.3 — paramètres, performances et optimisation */
.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.settings-form textarea{resize:vertical;min-height:84px}.performance-overview{margin-top:18px}.performance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.performance-kpis>div{padding:18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#fff,#fff8f4);display:grid;gap:7px}.performance-kpis small{color:var(--muted)}.performance-kpis strong{font-size:1.45rem;color:var(--primary)}
@media(max-width:850px){.settings-form{grid-template-columns:1fr}.settings-form .span-2{grid-column:span 1}.performance-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.performance-kpis{grid-template-columns:1fr}}

.channel-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.channel-performance-card{border:1px solid var(--border);border-radius:18px;padding:1rem;background:var(--surface-2,rgba(255,255,255,.025))}.channel-performance-card h3{margin:0 0 .9rem}.channel-performance-card p{margin:.9rem 0 0;color:var(--muted)}.channel-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.channel-kpis>div{padding:.75rem;border-radius:13px;background:rgba(255,255,255,.035)}.channel-kpis small{display:block;color:var(--muted);margin-bottom:.25rem}.channel-kpis strong{font-size:1.12rem}.compact-performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.field-help{display:block;margin-top:.35rem;color:var(--muted)}@media(max-width:1000px){.channel-performance-grid{grid-template-columns:1fr}.compact-performance-kpis{grid-template-columns:1fr 1fr 1fr}}@media(max-width:620px){.channel-kpis,.compact-performance-kpis{grid-template-columns:1fr 1fr}}
.validation-message{margin:10px 0 0;font-size:12px}.danger-text{color:var(--danger)!important}.line-invalid{background:#fff0f0}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.health-item{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.health-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800}.health-item.ok .health-dot{background:#e6f7ef;color:#0d7a4b}.health-item.alerting .health-dot{background:#ffeded;color:#a72c30}.health-item strong,.health-item small{display:block}.health-item small{color:var(--muted);margin-top:4px}.badge.warning{background:#fff2dd;color:#9b5b09}@media(max-width:760px){.health-grid{grid-template-columns:1fr}}

/* V4.6 - dépenses et comptabilité */
.expense-stats-card{margin-top:18px}.expense-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-kpis>div:nth-child(1) strong,.expense-kpis>div:nth-child(2) strong,.expense-kpis>div:nth-child(3) strong{color:#9f4a25}.expense-analytics{margin-top:18px}.expense-entry-card{max-width:1050px}.expense-form select,.expense-form input{min-height:44px}.expense-voided{opacity:.55;text-decoration:line-through}.event-badge.expense{background:#fcebdc;color:#994719}.btn.secondary{background:#2f3543;color:#fff}.btn.secondary:hover{background:#222733}
@media(max-width:900px){.expense-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.expense-kpis{grid-template-columns:1fr}}

/* V4.7 — ateliers de cuisine et bons cadeaux */
.action.workshop{background:linear-gradient(135deg,#a83e27,#e46b34)}
.action.admin-action{background:linear-gradient(135deg,#45404f,#25232b)}
.workshop-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.workshop-stats-card{margin-top:18px;border-color:rgba(215,71,47,.22);background:linear-gradient(145deg,#fff,#fff9f5)}
.workshop-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.gift-entry-card{max-width:1050px}
.badge.warning{background:#fff2dd;color:#9b5b09}
@media(max-width:900px){.workshop-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-actions{grid-template-columns:1fr}}
@media(max-width:560px){.workshop-kpis{grid-template-columns:1fr}}
