:root{--ink:#202034;--muted:#777889;--line:#e7e8ee;--bg:#f7f7fa;--white:#fff;--accent:#c7434e;--accent2:#392c5e;--soft:#fbeff0;--green:#087f61;--blue:#274b8e}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(30px,3vw,42px);margin:10px 0 9px}h2{font-size:21px;margin:0 0 20px}h3{margin:6px 0;font-size:17px}p{margin:6px 0 12px}.top{height:auto;min-height:78px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:14px max(22px,calc((100vw - 1440px)/2));justify-content:space-between}.top-brand{display:flex;gap:10px;align-items:center;white-space:nowrap}.top-brand strong{display:block;font-size:19px;letter-spacing:-.03em}.top-brand small{display:block;color:var(--muted);font-size:12px}.brandmark{display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:26px;font-weight:bold;color:white;background:linear-gradient(145deg,var(--accent),var(--accent2));border-radius:14px;width:46px;height:46px;flex-shrink:0}.brandmark.big{width:65px;height:65px;font-size:40px}.top-meta{display:flex;gap:12px;font-size:12px;color:var(--muted);flex-wrap:wrap}.top-meta span{background:#f6f6fa;border:1px solid var(--line);padding:7px 10px;border-radius:30px}.top-user{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted)}.top-user form{margin:0}.text-button{background:none;border:none;color:var(--accent);cursor:pointer;padding:7px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1440px;margin:0 auto;min-height:calc(100vh - 80px)}.sidebar{padding:32px 16px;border-right:1px solid var(--line);background:#fff}.sidebar>a{display:flex;gap:12px;padding:13px 15px;margin-bottom:6px;border-radius:12px;font-weight:650;color:#595968;align-items:center}.sidebar>a:hover,.sidebar>a.active{background:var(--soft);color:var(--accent)}.sidebar-note{margin:28px 12px 0;font-size:12px;color:#8a8891;line-height:1.6;border-top:1px solid var(--line);padding-top:17px}.content{padding:34px clamp(20px,4vw,58px) 70px;min-width:0}.hero{display:flex;gap:25px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#27253e,#49304a);color:white;border-radius:22px;padding:34px 38px;margin-bottom:26px}.hero h1{color:#fff}.hero p{color:#e4dce5;max-width:600px}.hero .eyebrow{color:#e9c1d0}.hero-status{text-align:right;flex-shrink:0}.hero-status strong{display:block;font-size:50px;font-weight:850}.hero-status span{font-size:12px;color:#dfcfde}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-weight:800}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:23px}.page-heading p{color:var(--muted)}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 35px}.kpi{background:white;border:1px solid var(--line);padding:19px;border-radius:16px;transition:transform .15s}.kpi:hover,.recipe-card:hover,.action-card:hover{transform:translateY(-2px)}.kpi small,.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:31px;margin:5px 0}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:30px}.action-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;font-weight:700}.action-card span{display:block;color:var(--muted);font-size:12px;font-weight:400}.panel{background:white;border:1px solid var(--line);padding:26px;border-radius:18px;margin-bottom:24px;min-width:0}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px}.status-row,.list-line{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}.list-line:last-child,.status-row:last-of-type{border-bottom:0}.list-line small{display:block;color:var(--muted);font-size:12px}.clickable:hover{color:var(--accent)}.count{font-size:13px;color:var(--muted)}.badge{display:inline-block;padding:4px 9px;border-radius:30px;font-size:11px;white-space:nowrap;font-weight:750}.badge.green{background:#e4f4ed;color:#087351}.badge.neutral{background:#eeeeef;color:#55566a}.badge.blue{background:#e4edfc;color:#3151a0}.alert{border-radius:12px;padding:13px 16px;margin-bottom:20px}.alert.success{background:#e5f7ed;color:#0a6a46}.alert.error{background:#ffe9e6;color:#9a2d23}.alert.warning{background:#fff3d9;color:#7b5505}.note,.hint,.muted,.empty{font-size:13px;color:var(--muted)}.hint{display:block;margin-top:3px}.note{padding-top:6px}.empty{padding:30px 10px;text-align:center}.subtle{background:#f7f7fa;color:#68697b;font-size:12px;padding:17px;border-radius:11px;margin-top:25px}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;min-height:43px;border-radius:11px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;white-space:normal;text-align:center}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:#8c2345}.btn.outline{background:white;border-color:#d8d7df;color:var(--accent2)}.btn.outline:hover{border-color:var(--accent)}.btn.tiny{padding:5px 11px;min-height:36px}.btn:disabled{opacity:.45;cursor:not-allowed}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mini{font-size:12px;color:var(--accent);font-weight:750;white-space:nowrap}label{display:block;margin:12px 0;font-size:13px;font-weight:700}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #dedfe7;background:#fff;border-radius:10px;padding:11px 12px;font:inherit;color:var(--ink);font-weight:400;font-size:15px;margin-top:6px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #cd88a6;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #ba7799;outline-offset:2px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.ingredient-list{max-height:750px;overflow:auto}.price{color:#474961;font-size:12px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recipe-card{min-height:165px;background:white;border:1px solid var(--line);border-radius:17px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.recipe-card h3{font-size:18px}.recipe-code{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:800}.recipe-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:10px}.search-form{display:flex;gap:9px;margin:0 0 22px}.search-form input{margin:0}.recipe-editor{max-width:950px}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 155px 100px;gap:8px;align-items:center;margin:9px 0}.ingredient-row input,.ingredient-row select{margin:0}.recipe-editor h2{margin-top:20px}.recipe-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.data-table th{font-size:12px;color:var(--muted);font-weight:700}.data-table th,.data-table td{padding:10px 7px;border-bottom:1px solid var(--line)}.data-table th:last-child,.data-table td:last-child{text-align:right;white-space:nowrap}.steps p{display:flex;gap:8px;align-items:flex-start;margin-bottom:12px}.step-num{border-radius:50%;width:24px;height:24px;background:var(--soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:800}.recipe-notes{background:#f8f8fb;padding:16px;border-radius:12px;margin:18px 0}.portion-form{display:flex;gap:15px;align-items:end;margin-bottom:18px}.portion-form label{display:flex;align-items:center;gap:10px;margin:0}.portion-form input{width:100px;margin:0}.date-pick{display:flex;align-items:end;gap:8px}.date-pick label{margin:0}.date-pick input{margin:0}.progress-box{background:white;padding:16px 20px;border-radius:13px;margin:0 0 20px;display:flex;gap:20px;align-items:center;border:1px solid var(--line)}.progress-track{height:10px;border-radius:10px;background:#efeff4;flex:1;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--green);border-radius:10px}.production-line{display:flex;gap:15px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0}.production-line.done{opacity:.65}.production-line h3{max-width:330px}.sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.sheet-slot{border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}.sheet-slot.printed{background:#f1f1f5}.sheet-slot.prepared{border-color:#b6c8ea}.sheet-slot.free{border-color:#c4dfd5}.slot-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.slot-number{font-weight:800;font-size:12px}.sheet-slot .field-grid{gap:8px}.sheet-slot label{font-size:12px}.sheet-actions{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.sheet-actions form{margin:0}.install{max-width:550px;margin:clamp(20px,6vh,80px) auto;padding:0 20px}.login-card{text-align:left}.install .card{background:#fff;border:1px solid var(--line);padding:30px;border-radius:22px}.install h1{font-size:30px}.install h2{margin-top:25px}.install .btn{width:100%;margin-top:13px}.company-form{max-width:900px}.print-page{background:white;color:black}.a4-recipe{width:190mm;max-width:100%;margin:15mm auto;padding:10mm;border:1px solid #eee}.print-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px;border-bottom:2px solid #333;padding-bottom:15px}.print-heading .brandmark{background:#28253f}.print-heading h1{font-size:28px}.print-tools{display:flex;gap:12px;justify-content:center;padding:15px}.label-print-header{max-width:900px;margin:18px auto;text-align:center}.paper-a4{width:210mm;height:297mm;margin:12px auto;background:#fff;box-shadow:0 0 0 1px #bbb;padding:8mm}.paper-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);height:100%;width:100%}.paper-cell{overflow:hidden;padding:3mm;min-width:0}.label-header{display:flex;align-items:center;gap:3mm;margin-bottom:2mm}.label-logo{font-family:Georgia,serif;background:#30304e;color:white;font-weight:800;border-radius:50%;width:9mm;height:9mm;font-size:17px;flex-shrink:0;text-align:center;line-height:9mm}.label-header strong{display:block;font-size:9px;line-height:1.3}.label-header small{display:block;color:#666;font-size:7px}.label-body{font-size:7.1px;line-height:1.25}.label-body p{margin:1.5mm 0 0}.print-page .alert{margin:15px auto;max-width:900px}
@media(max-width:1000px){.top-user span{display:none}.shell{grid-template-columns:76px 1fr}.sidebar>a span,.sidebar-note{display:none}.sidebar>a{font-size:20px;text-align:center;justify-content:center;padding:15px 8px}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}
@media(max-width:640px){.top{padding:12px 17px;gap:10px}.top-meta{display:none}.shell{display:block}.sidebar{display:flex;position:sticky;top:0;z-index:2;overflow:auto;border-right:none;border-bottom:1px solid var(--line);padding:5px;gap:2px}.sidebar>a{flex:1;min-width:48px;font-size:17px;margin:0;padding:7px 5px}.content{padding:20px 15px 70px}.hero{padding:23px;gap:8px}.hero-status strong{font-size:28px}.hero-status span{font-size:10px}.page-heading{display:block}.page-heading .button-row{margin:12px 0}.kpi-row{gap:9px}.kpi{padding:14px}.kpi strong{font-size:26px}.action-grid{grid-template-columns:1fr}.recipe-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.panel{padding:18px}.ingredient-row{grid-template-columns:minmax(0,1fr) 88px;gap:7px}.ingredient-row .btn{grid-column:1 / -1}.recipe-detail-grid{grid-template-columns:1fr}.portion-form,.production-line{flex-wrap:wrap}.sheet-grid{grid-template-columns:1fr}.search-form{flex-wrap:wrap}.date-pick{margin-top:15px}.paper-a4{transform-origin:top left;transform:scale(.45);margin-bottom:-155mm}.label-print-header{text-align:left;padding:12px}.a4-recipe{width:100%;margin:0;padding:20px;border:0}}
@media print{@page{size:A4;margin:0}html,body{background:#fff!important;margin:0!important;padding:0!important;color:#000!important}.no-print,.label-print-header,.print-tools,.print-page>.alert{display:none!important}.paper-a4{width:210mm!important;height:297mm!important;margin:0!important;box-shadow:none!important;transform:none!important;padding:8mm!important;page-break-after:avoid}.paper-grid{height:100%!important}.paper-cell{break-inside:avoid}.a4-recipe{width:190mm!important;max-width:none!important;margin:10mm auto!important;padding:0!important;border:0!important}.a4-recipe .recipe-detail-grid{grid-template-columns:1fr 1fr!important}.print-page{margin:0!important}.brandmark{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.pwa-install-btn{white-space:nowrap;cursor:pointer}.pwa-install-btn[hidden]{display:none!important}

.restore-area{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.restore-area summary{font-weight:700;cursor:pointer}.restore-area form{margin-top:10px}.sidebar a{white-space:nowrap}

/* FaD Manager — identité visuelle officielle (03/11/2026) */
:root{--fad-rouge:#c7434e;--fad-violet:#392c5e;}
.brandmark.brandmark-logo{background:transparent;color:inherit;box-shadow:none;border-radius:0;padding:1px;display:inline-flex;}
.brandmark.brandmark-logo img{display:block;width:100%;height:100%;object-fit:contain;}
.login-brand-logo{display:block;margin:0 auto 12px;width:min(190px,60%);height:auto;}
.top-brand strong{color:var(--fad-violet);}
.hero{background:linear-gradient(115deg,var(--fad-violet),#443054);}
