:root{--ink:#17243a;--muted:#64748b;--line:#dbe5f0;--red:#d92d42;--orange:#dc7900;--green:#15805c;--blue:#075bcc;--cyan:#27b9ee;--card:#fff;--soft:#f3f7fb;--shadow:0 8px 28px #12315a12}
*{box-sizing:border-box}html{background:#eef4fa;color-scheme:light}
body{margin:0;background:linear-gradient(180deg,#fff 0,#f5f9fd 32%,#edf4fa 100%);color:var(--ink);font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;padding-bottom:92px}
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 50% 10%,#ddecff 0,#f7fbff 42%,#eaf2f9 100%)}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 22px;box-shadow:0 22px 70px #12315a24}.login-logo{width:82px;height:82px;display:block;margin:0 auto 20px;border-radius:20px;object-fit:cover;box-shadow:0 9px 30px #075bcc30}.login-card .eyebrow,.login-card h1{text-align:center}.login-card label{display:grid;gap:7px;color:#53677c;font-size:.86rem;font-weight:700;margin:14px 0}.login-card input{width:100%;min-height:52px;border:1px solid #bdcddd;border-radius:11px;background:#fff;color:var(--ink);padding:0 13px;outline:none}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #075bcc18}.login-card button{margin-top:8px}.login-error{min-height:1.4em;margin:12px 0 0;text-align:center;color:var(--red);font-size:.84rem}.head-actions{display:flex;gap:7px}.notification-bell{position:relative;display:grid;place-items:center}.notification-bell svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:99px;background:var(--red);color:#fff;font-size:.68rem;line-height:16px;font-weight:900;text-align:center}
.password-field{position:relative}.password-field input{padding-right:92px}.password-field button{position:absolute;right:7px;top:7px;bottom:7px;margin:0;border:0;border-radius:8px;background:#edf5fd;color:#0752aa;padding:0 11px;font-size:.78rem;font-weight:800}
button,input,textarea{font:inherit}button{cursor:pointer}
.app-head{height:72px;padding:env(safe-area-inset-top) 18px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#ffffffee;backdrop-filter:blur(14px);z-index:20;box-shadow:0 3px 14px #193b6110}
.brand{display:flex;align-items:center;gap:11px}.brand strong{display:block;font-size:1.12rem}.brand small{display:block;color:var(--muted);font-size:.78rem}.app-logo{width:48px;height:48px;border-radius:12px;object-fit:cover;box-shadow:0 3px 12px #075bcc25}
main{max-width:720px;margin:0 auto;padding:22px 16px}.view{display:none}.view.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.3;transform:translateY(5px)}}
h1{font-size:1.72rem;line-height:1.12;margin:3px 0 20px;letter-spacing:-.025em}h2{font-size:1.06rem;margin:0}.eyebrow{color:var(--blue);font-size:.76rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;margin:0}
.hero-row{display:flex;justify-content:space-between;align-items:end;gap:12px}.scan-shortcut{border:0;background:linear-gradient(135deg,#075bcc,#00a7e8);color:white;font-weight:800;border-radius:11px;padding:11px 13px;white-space:nowrap;margin-bottom:19px;box-shadow:0 6px 18px #075bcc28}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:108px;padding:15px;background:var(--card);border:1px solid var(--line);border-radius:15px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.stat:after{content:"";position:absolute;width:54px;height:54px;border-radius:50%;right:-16px;top:-16px;background:currentColor;opacity:.09}.stat b{display:block;font-size:2rem;line-height:1;margin:10px 0 6px}.stat span{font-size:.82rem;color:var(--muted)}.stat.red{color:var(--red);border-color:#f1c7ce}.stat.orange{color:var(--orange);border-color:#f0d4ad}.stat.green{color:var(--green)}.stat.blue{color:var(--blue)}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:27px 2px 11px}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:750;padding:8px}.section-actions{display:flex;align-items:center;gap:4px}.print-list-shortcut{min-height:38px;border:0;border-bottom:3px solid #003f82;border-radius:8px;background:#005bab;color:#fff;padding:0 11px;font-size:.78rem;font-weight:850;white-space:nowrap}.print-list-shortcut:active{transform:translateY(1px);border-bottom-width:2px}.print-list-shortcut:disabled{border-bottom-color:#aab8c5;background:#d9e2ea;color:#667789;cursor:not-allowed;transform:none}
.card-list{display:grid;gap:10px}.empty{border:1px dashed #aebfd0;background:#f8fbfe;border-radius:14px;padding:25px 18px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:4px}
.product-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:8px 1fr auto;gap:12px;align-items:start;box-shadow:var(--shadow);cursor:pointer}.product-card:active{transform:scale(.995)}.status-bar{height:100%;min-height:62px;border-radius:6px;background:var(--green)}.status-bar.red{background:var(--red)}.status-bar.orange{background:var(--orange)}.status-bar.gray{background:#8493a5}.product-card h3{font-size:.98rem;margin:0 0 5px;line-height:1.25}.product-card p{margin:0;color:var(--muted);font-size:.82rem}.product-card .days{text-align:right;font-weight:900;white-space:nowrap}.product-card .days small{display:block;font-weight:500;color:var(--muted);font-size:.72rem}.product-card button{grid-column:2/4;border:0;background:#edf5fd;color:#0752aa;border-radius:8px;padding:9px;text-align:left;font-weight:700}
.quality-panel,.print-panel,.source-card,.settings-card,.scan-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.quality-panel{border-radius:15px;padding:15px}.quality-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.quality-row:last-child{border:0}.quality-row span{color:var(--muted)}.quality-row b.warn{color:var(--orange)}
.print-panel{margin-top:13px;border-radius:15px;padding:14px;display:grid;gap:9px}.print-panel>div{margin-bottom:2px}.print-panel strong,.print-panel span{display:block}.print-panel span{color:var(--muted);font-size:.78rem}.print-action{min-height:47px;border-radius:10px;font-weight:850;text-align:left;padding:0 14px}.red-print{border:1px solid #efbcc5;background:#fff1f3;color:#b91d35}.orange-print{border:1px solid #efd0a4;background:#fff7e9;color:#ae5f00}
.all-print{border:1px solid #0753b7;background:#0753b7;color:#fff}
.visible-print{border:1px solid #0753b7;background:#e9f3ff;color:#064c9f}
.upload-card{min-height:190px;border:2px dashed #a6bdd2;background:#f7fbff;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;cursor:pointer}.upload-card:active{border-color:var(--blue)}.upload-card strong{font-size:1.05rem;margin:8px}.upload-card span:last-of-type{color:var(--muted);font-size:.82rem}.upload-icon{display:grid;place-items:center;width:54px;height:62px;background:linear-gradient(135deg,#075bcc,#23b9ef);color:white;font-size:.78rem;font-weight:900;border-radius:7px}
.progress-box{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:14px}.progress-box p{margin:2px 0 0;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.spinner{width:31px;height:31px;border:3px solid #d8e4ef;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;flex:0 0 auto}@keyframes spin{to{transform:rotate(360deg)}}.hidden,.release-hidden{display:none!important}.import-success{background:#effbf7;border:1px solid #a8dfcb;border-radius:14px;margin-top:14px;padding:15px}.import-success strong{display:block;color:var(--green)}.import-failures{background:#fff5f5;border:1px solid #efb8c0;border-radius:14px;margin-top:10px;padding:15px;color:#7e1d2d}.import-failures>strong{display:block;color:#b91d35}.import-failures ul{list-style:none;margin:10px 0 0;padding:0}.import-failures li{display:grid;gap:2px;padding:9px 0;border-top:1px solid #f2cdd3;overflow-wrap:anywhere}.import-failures li span{font-size:.82rem;color:#7a4650}
.source-card{border-radius:14px;padding:14px}.source-card strong{display:block}.source-card p{margin:4px 0;color:var(--muted);font-size:.82rem}
.search-row{display:grid;grid-template-columns:1fr 48px;gap:9px}.search-row input,.settings-card input,#productForm input,textarea{width:100%;min-height:48px;border:1px solid #bdcddd;border-radius:11px;background:white;color:var(--ink);padding:0 13px;outline:none}.search-row input:focus,input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #075bcc18}.square-btn{border:0;border-radius:11px;background:var(--blue);color:white;font-weight:900;font-size:1.25rem}
.chips{display:flex;gap:8px;overflow:auto;margin:14px -16px 7px;padding:0 16px 5px;scrollbar-width:none}.chip{white-space:nowrap;border:1px solid #c8d6e4;background:white;color:#516479;border-radius:99px;padding:8px 12px;font-size:.82rem}.chip.active{background:var(--blue);border-color:var(--blue);color:white;font-weight:800}.list-meta{color:var(--muted);font-size:.79rem;margin:10px 2px}
.scanner-shell{height:min(55vh,440px);background:#101820;border:1px solid #c6d4e1;border-radius:18px;position:relative;overflow:hidden;margin-bottom:12px}.scanner-shell video{width:100%;height:100%;object-fit:cover;display:none}.scanner-shell.running video{display:block}.scanner-shell.running #cameraEmpty{display:none}.scan-frame{position:absolute;inset:22% 12%;z-index:2}.scan-frame i{position:absolute;width:38px;height:38px;border-color:#28bbf0;border-style:solid}.scan-frame i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px}.scan-frame i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0}.scan-frame i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px}.scan-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0}.scanner-shell:not(.running) .scan-frame{display:none}#cameraEmpty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:#bdc8d1}#cameraEmpty span{font-size:3rem;color:#31c2f4}#cameraEmpty strong{color:white;margin:9px}#cameraEmpty small{max-width:260px}
.scan-mode{background:#eaf4ff;border:1px solid #a9cef4;color:#084d98;border-radius:12px;padding:11px 13px;margin:-8px 0 13px;font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:10px}.scan-mode span{display:block;margin-top:3px;font-size:.78rem;font-weight:600;line-height:1.35}.scan-mode button{border:1px solid #8ebbe5;background:white;color:#084d98;border-radius:7px;padding:8px 10px;font-weight:800}
.primary,.secondary,.danger{min-height:48px;border-radius:11px;padding:0 15px;font-weight:800}.primary{border:0;background:linear-gradient(135deg,#075bcc,#00a7e8);color:white}.secondary{border:1px solid #b5c9dd;background:#edf5fd;color:#0752aa}.danger{border:1px solid #edbdc6;background:#fff0f2;color:#b91d35}.wide{width:100%}.manual-scan{margin-top:18px}.manual-scan>span{display:block;text-align:center;color:var(--muted);font-size:.78rem;margin-bottom:10px}
.scan-card{margin-top:15px;border-radius:16px;padding:17px}.scan-card .big-days{font-size:2.1rem;font-weight:900;margin:8px 0}.scan-card.red{border-color:var(--red)}.scan-card.orange{border-color:var(--orange)}.scan-actions{display:grid;gap:8px;margin-top:14px}.scan-actions .next-product{background:white}.scan-barcode-status{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #9ed8c4;background:#f2fbf7;color:#147552;border-radius:8px;padding:11px 12px}.scan-barcode-status span{font-size:.82rem;font-weight:750;color:#436458;overflow-wrap:anywhere}
.settings-card{border-radius:15px;padding:16px;margin-bottom:13px}.settings-card label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0}.settings-card label+label{border-top:1px solid var(--line)}.settings-card input[type=number]{width:68px;min-height:41px;padding:0 8px}.settings-card h2{margin-bottom:12px}.settings-card p{color:var(--muted);font-size:.85rem}.settings-card .wide+.wide{margin-top:9px}.file-label{display:flex!important;justify-content:center!important;padding:11px!important}.danger-zone{border-color:#efc4ca}.version{text-align:center;color:var(--muted);font-size:.78rem}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:76px;padding:6px max(3px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(3px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(6,1fr);background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -5px 20px #173b6512;z-index:30}.bottom-nav button{border:0;background:transparent;color:#718196;font-size:.63rem;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 2px}.bottom-nav span{font-size:1.18rem;line-height:1.2}.bottom-nav button.active{color:var(--blue)}
.icon{width:43px;height:43px;border-radius:10px;font-size:1.3rem}.ghost{border:1px solid #c7d6e4;background:white;color:#41566d}
dialog{border:0;border-radius:18px;background:white;color:var(--ink);padding:0;width:min(560px,calc(100% - 24px));max-height:92vh;box-shadow:0 24px 80px #17395d35}dialog::backdrop{background:#14283e80;backdrop-filter:blur(3px)}#productForm{padding:18px;overflow:auto;max-height:92vh}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}#productForm>label{display:grid;gap:6px;color:#53677c;font-size:.82rem;margin:11px 0}textarea{padding-top:12px!important;resize:vertical}.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.notification-dialog{width:min(620px,calc(100% - 24px))}.notification-panel,.notification-alert-panel{padding:19px;overflow:auto;max-height:92vh}.notification-summary{margin:0 0 13px;color:var(--muted);font-size:.875rem}.notification-list{display:grid;gap:9px;max-height:60vh;overflow:auto;padding-right:2px}.notification-item{border:1px solid var(--line);border-left:5px solid #8ea5bb;border-radius:11px;padding:12px;background:#fff}.notification-item.unread{border-left-color:var(--blue);background:#f5f9ff}.notification-item.alert{border-left-color:var(--red)}.notification-item.read{opacity:.72}.notification-item-head{display:flex;justify-content:space-between;gap:10px}.notification-item-head span{color:var(--blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.notification-item.alert .notification-item-head span{color:var(--red)}.notification-item time,.notification-item small{color:var(--muted);font-size:.75rem}.notification-item h3{margin:6px 0 3px;font-size:1rem}.notification-item p{margin:0;color:#42566c;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.notification-item button{margin-top:10px;border:0;border-radius:7px;background:#e7f1fd;color:#0752aa;padding:8px 10px;font-size:.8rem;font-weight:800}.notification-panel>.secondary{margin-top:12px}.notification-alert-dialog{border-top:7px solid var(--red);width:min(500px,calc(100% - 24px))}.notification-alert-label{display:inline-block;border-radius:6px;background:#fff0f2;color:#b91d35;padding:5px 8px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.notification-alert-panel h2{margin:13px 0 7px;font-size:1.3rem}.notification-alert-panel>p{margin:0;color:#3f5369;white-space:pre-wrap}.notification-alert-panel>small{display:block;margin-top:11px;color:var(--muted)}.admin-action-form{padding:19px;overflow:auto;max-height:92vh}.admin-action-form>label:not(.admin-upload){display:grid;gap:6px;margin:12px 0;color:#53677c;font-size:.875rem;font-weight:750}.admin-action-form input,.admin-action-form select,.admin-action-form textarea{width:100%;min-height:48px;border:1px solid #bdcddd;border-radius:10px;background:#fff;color:var(--ink);padding:0 12px}.admin-action-form textarea{padding-top:11px}.admin-upload{display:block;border:2px dashed #9eb9d0;border-radius:12px;background:#f4f9fd;padding:18px;text-align:center;cursor:pointer}.admin-upload strong,.admin-upload span{display:block}.admin-upload strong{color:var(--blue)}.admin-upload span{margin-top:4px;color:var(--muted);font-size:.8rem}.admin-import-summary{margin-top:10px;border-radius:9px;background:#f2f5f8;color:var(--muted);padding:11px 12px;font-size:.84rem}.admin-import-summary.ready{background:#edf9f4;color:#126849}.admin-import-summary.error{background:#fff1f3;color:#a7192f}
.field-action{display:grid;grid-template-columns:1fr auto;gap:8px}.field-action .secondary{white-space:nowrap}.expiry-editor{border:1px solid var(--line);background:#f8fbfe;border-radius:13px;padding:13px;margin:14px 0}.expiry-editor>div:first-child{display:flex;justify-content:space-between;gap:10px}.expiry-editor>div:first-child span{color:var(--muted);font-size:.78rem}.lot-list{display:grid;gap:7px;margin:10px 0}.lot-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:white;border:1px solid var(--line);border-radius:10px;padding:9px}.lot-row p,.lot-row span{display:block;margin:2px 0 0;font-size:.76rem;color:var(--muted)}.lot-row strong{font-size:.9rem}.lot-row button{border:0;background:#edf5fd;color:#0752aa;border-radius:8px;padding:7px 9px;font-size:.78rem}.lot-row button.lot-checked{background:#e8f7f1;color:#147552}.lot-row.checked{opacity:.65}.lot-row.checked strong{text-decoration:line-through}
.lot-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lot-actions .throw{background:#fff0f2;color:#b91d35}.lot-actions .zero{background:#f1f3f5;color:#4d5966}.lot-row.checked-lot{border-color:#9ed8c4;background:#f2fbf7}.loss-product{background:#f3f8fd;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}.loss-product strong,.loss-product span{display:block}.loss-product span{color:var(--muted);font-size:.8rem;margin-top:3px}.period-presets{display:flex;gap:7px;overflow:auto;margin:12px 0}.period-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:white;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}.period-picker label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}.period-picker .secondary{grid-column:1/3}.loss-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.loss-stat{background:white;border:1px solid var(--line);border-radius:14px;padding:14px}.loss-stat b{display:block;font-size:1.7rem;color:var(--red)}.loss-stat span{font-size:.78rem;color:var(--muted)}.loss-list{display:grid;gap:14px;margin-top:18px}.loss-month h2{font-size:1rem;margin:0 0 8px;text-transform:capitalize}.loss-row{background:white;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:11px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:7px}.loss-row+.loss-row{margin-top:7px}.loss-row strong,.loss-row span{display:block}.loss-row span{color:var(--muted);font-size:.76rem;margin-top:3px}.loss-qty{font-size:1.1rem;font-weight:900;color:var(--red);white-space:nowrap}#lossForm{padding:18px}#lossForm>label{display:grid;gap:6px;color:#53677c;font-size:.82rem;margin:11px 0}
.toast{position:fixed;left:16px;right:16px;bottom:92px;max-width:500px;margin:auto;background:#17243a;color:white;padding:13px 15px;border-radius:11px;box-shadow:0 12px 40px #0004;transform:translateY(25px);opacity:0;pointer-events:none;transition:.2s;z-index:50;font-weight:700}.toast.show{transform:none;opacity:1}
@media(min-width:760px){body{padding-bottom:25px}.app-head{padding-left:calc((100% - 700px)/2);padding-right:calc((100% - 700px)/2)}main{padding-top:30px}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:700px;border:1px solid var(--line);border-radius:16px 16px 0 0}.summary{grid-template-columns:repeat(4,1fr)}.toast{bottom:95px}}
@media(max-width:390px){.bottom-nav button{font-size:.6rem}.summary{gap:7px}.stat{padding:12px}.stat b{font-size:1.7rem}.field-action{grid-template-columns:1fr}.field-action .secondary{width:100%}.alert-section-head{align-items:flex-start}.section-actions{gap:1px}.print-list-shortcut{padding:0 8px}}

/* Interface opérationnelle inspirée des codes visuels Action */
:root{--ink:#10233f;--muted:#5d6e82;--line:#d5e0ea;--blue:#0050a4;--cyan:#00a9e0;--soft:#f2f6f9;--card:#fff;--shadow:0 3px 12px #003b7810}
html{background:#eef3f7}body{background:#f4f7fa;color:var(--ink)}
.app-head{height:76px;background:linear-gradient(105deg,#003f86 0%,#005cab 72%,#00a9e0 160%);border:0;box-shadow:0 3px 14px #003b7830;padding-left:16px;padding-right:16px}
.brand strong{color:#fff;font-size:1.08rem;letter-spacing:-.01em}.brand small{color:#dceeff;font-size:.76rem}.app-logo{width:50px;height:50px;border:2px solid #fff;border-radius:9px;box-shadow:none}.app-head .ghost{background:#ffffff12;border-color:#ffffff65;color:#fff}
main{padding:20px 16px 24px}.eyebrow{color:#0061ad;font-weight:900;letter-spacing:.13em}h1{font-size:1.65rem;margin-bottom:18px}.hero-row{align-items:center}.hero-row h1{margin-bottom:17px}
.scan-shortcut,.primary{background:#005bab;border:0;border-bottom:3px solid #003f82;border-radius:8px;box-shadow:none}.scan-shortcut:active,.primary:active{transform:translateY(1px);border-bottom-width:2px}.secondary{background:#eef6fc;border-color:#9ec8e4;color:#004f98;border-radius:8px}
.summary{gap:9px}.stat{min-height:96px;padding:14px;border-radius:9px;box-shadow:none;border:1px solid #d6e0e9;border-top:5px solid currentColor;background:#fff}.stat:after{display:none}.stat b{font-size:1.85rem;margin:4px 0 8px}.stat span{font-size:.78rem;line-height:1.25;font-weight:650}.stat.red{border-color:#d92d42;border-width:5px 1px 1px}.stat.orange{border-color:#dc7900;border-width:5px 1px 1px}.stat.green{border-color:#16805d;border-width:5px 1px 1px}.stat.blue{border-color:#005bab;border-width:5px 1px 1px}
.section-head{margin-top:25px;border-bottom:2px solid #dfe7ee;padding:0 0 8px}.section-head h2{font-weight:850}.link-btn{padding:4px 0;color:#005bab}
.card-list{gap:8px}.product-card{border-radius:9px;box-shadow:none;border:1px solid #d6e0e9;padding:13px;grid-template-columns:6px 1fr auto;gap:11px}.status-bar{border-radius:3px}.product-card h3{font-size:.96rem}.product-card button{border-radius:6px;background:#e9f4fb;color:#004f98}.empty{border-radius:9px;background:#fff;border-color:#afc3d4}
.quality-panel,.print-panel,.source-card,.settings-card,.scan-card{border-radius:9px;box-shadow:none}.quality-row{padding:10px 0}.print-action,.upload-card,.progress-box,.search-row input,.square-btn,.chip,.scanner-shell,.scan-card,.settings-card input,#productForm input,textarea{border-radius:8px}.upload-card{background:#fff;border-color:#8db8d8}.upload-icon{border-radius:5px;background:#005bab}
.chip{border-color:#b9cad8}.chip.active{background:#005bab;border-color:#005bab}.square-btn{background:#005bab}.scan-mode{border-radius:7px}.threshold-card h2{color:#004f98}.threshold-card .primary{margin-top:12px}
.bottom-nav{height:78px;background:#fff;border-top:3px solid #00a9e0;box-shadow:0 -4px 15px #003b7818}.bottom-nav button{position:relative;color:#637487;font-weight:750}.bottom-nav button.active{color:#005bab}.bottom-nav button.active:before{content:"";position:absolute;top:-9px;width:28px;height:4px;background:#005bab;border-radius:0 0 3px 3px}
dialog{border-radius:10px}.expiry-editor,.lot-row,.loss-product,.period-picker,.loss-stat,.loss-row{border-radius:8px}.toast{background:#003f86;border-radius:7px}
@media(max-width:390px){main{padding-left:13px;padding-right:13px}.summary{gap:7px}.stat{min-height:91px}.stat b{font-size:1.65rem}.stat span{font-size:.73rem}.product-card{grid-template-columns:5px 1fr}.product-card .days{grid-column:2;text-align:left}.product-card button{grid-column:2}}

/* ZebraDLC 6.1 : tableau de bord simplifié, import structuré et lecture d'étiquettes */
.summary-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}
.summary-alerts .stat{min-height:112px;padding:17px}.summary-alerts .stat b{font-size:2.2rem}
.dlc-chart{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;margin-top:12px}
.chart-rate{display:flex;align-items:baseline;gap:9px;padding-bottom:12px;border-bottom:1px solid #e1e8ef}.chart-rate strong{font-size:1.65rem;color:#c9273d}.chart-rate span{color:var(--muted);font-weight:700}
.chart-plot{height:230px;display:flex;align-items:flex-end;justify-content:center;gap:16px;position:relative;padding:30px 14px 48px;margin-top:8px;background:repeating-linear-gradient(to top,#eef3f7 0,#eef3f7 1px,transparent 1px,transparent 25%)}
.chart-column{width:29%;max-width:116px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;position:relative;z-index:2}.chart-column>span{position:absolute;top:calc(100% + 8px);width:122%;font-size:.74rem;font-weight:800;line-height:1.15;color:#53677c;text-align:center}.chart-column>span small{display:block;margin-top:2px;color:#7b8a99;font-size:.66rem;font-weight:700}
.chart-bar{width:100%;min-height:18px;display:flex;align-items:flex-start;justify-content:center;border-radius:6px 6px 2px 2px;transition:height .35s ease}.chart-bar b{color:#fff;padding-top:7px;font-size:1rem}.chart-bar.green{background:#16805d}.chart-bar.amber{background:#bb6500}.chart-bar.blue{background:#005bab}
.success-line{position:absolute;left:12px;right:12px;height:2px;background:#d5253f;z-index:3}.success-line.control-line{right:34%}.success-line:before{content:"";position:absolute;left:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:#d5253f}.success-line span{position:absolute;right:0;bottom:4px;background:#fff;color:#c9273d;font-size:.72rem;font-weight:900;padding:1px 4px}
.chart-note{margin:12px 0 0;padding:10px 11px;border-radius:8px;background:#eef6fc;color:#50677d;font-size:.74rem;line-height:1.4;font-weight:650}
.import-section{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:0 14px 14px}.import-section .section-head{margin-top:0;padding-top:15px}.history-section{margin-bottom:20px}.section-count{font-size:.78rem;font-weight:800;color:#005bab;background:#e8f3fb;padding:5px 8px;border-radius:5px}.import-section .source-card{background:#f8fafc;border-left:4px solid #00a9e0}
.unknown-product{border-top:5px solid #00a9e0}.unknown-product>strong{display:block;font-size:1.2rem;color:#10233f}.unknown-product p{line-height:1.5}.scan-help{display:block;margin-top:10px;color:#5d6e82;line-height:1.45}
@media(max-width:390px){.chart-plot{gap:9px;padding-left:8px;padding-right:8px}.chart-column{width:30%}.chart-column>span{font-size:.66rem}.chart-column>span small{font-size:.6rem}.summary-alerts .stat{padding:14px}.summary-alerts .stat b{font-size:1.9rem}}

@media(max-width:380px){.app-head{padding-left:10px;padding-right:10px}.app-logo{width:42px;height:42px}.brand{gap:7px}.brand strong{font-size:1rem}.brand small{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head-actions{gap:4px}.head-actions .icon{width:39px;height:39px}}

/* ZebraDLC 7.0 : suivi anticipé, contrôle groupé, scan continu et administration */
.remember-row{display:flex!important;align-items:flex-start!important;gap:11px!important;margin:12px 0 18px!important;font-weight:500!important}.remember-row input{width:20px!important;min-height:20px!important;margin:2px 0 0;accent-color:var(--blue);flex:0 0 auto}.remember-row span{display:grid;gap:2px}.remember-row strong{font-size:.86rem;color:var(--ink)}.remember-row small{font-size:.74rem;color:var(--muted);line-height:1.35}
.status-bar.blue{background:var(--blue)}.upcoming-card{border-color:#b8d5ed;background:#f9fcff}.upcoming-card .days{color:var(--blue)}
.group-filter{display:grid;grid-template-columns:auto minmax(150px,230px);align-items:center;justify-content:end;gap:10px;margin:11px 0 0;color:var(--muted);font-size:.875rem;font-weight:750}.group-filter select{min-height:42px;border:1px solid #b9cad8;border-radius:8px;background:#fff;color:var(--ink);padding:0 34px 0 11px}
.verification-card{background:#fffaf0;border:1px solid #e4bd78;border-left:6px solid var(--orange);border-radius:9px;padding:15px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.verification-card.selectable{grid-template-columns:auto minmax(0,1fr) auto}.verification-card.selected{border-color:var(--blue);background:#f1f7ff;box-shadow:0 0 0 2px #005bab18}.verification-select{width:21px;height:21px;margin:2px 0;accent-color:var(--blue);align-self:start}.verification-card h3{margin:7px 0 3px;font-size:1rem}.verification-card p{margin:0;color:var(--muted);font-size:.8rem}.verification-card ul{margin:9px 0 0;padding-left:18px;color:#755018;font-size:.82rem}.verification-card li+li{margin-top:3px}.verification-badge{display:inline-block;background:#fff0d2;color:#8a5300;border-radius:5px;padding:4px 7px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.verification-actions{display:grid;gap:7px;min-width:160px}.verification-actions button{min-height:40px}.verification-banner{background:#fff6e5;border:1px solid #e6c181;border-radius:8px;padding:11px 12px;color:#744c0d;font-size:.82rem;margin-bottom:10px}.verification-banner strong{display:block;color:#5b3a07;margin-bottom:3px}
.verification-spaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 20px}.verification-space{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:14px 12px;border:2px solid var(--line);border-radius:9px;background:var(--card);text-align:left;color:var(--ink)}.verification-space>span{font-size:.875rem;font-weight:800;overflow-wrap:anywhere}.verification-space>strong{font-size:1.25rem;color:var(--blue)}.verification-space>small{grid-column:1/-1;font-size:.875rem;line-height:1.4;color:var(--muted)}.verification-space.active{border-color:var(--blue);background:#eaf4ff}.verification-space:focus-visible{outline:3px solid #00a9e0;outline-offset:3px}#verificationHeading{margin:12px 2px 0}#filterHelp{font-size:.875rem;line-height:1.5}
.doubtful-cleanup,.stale-cleanup{display:grid;gap:11px;margin:12px 0 4px;padding:13px 14px;border-radius:9px}.doubtful-cleanup{border:1px solid #efbdc5;border-left:5px solid var(--red);background:#fff5f6}.stale-cleanup{border:1px solid #e4bd78;border-left:5px solid var(--orange);background:#fffaf0}.doubtful-cleanup-summary,.stale-cleanup-summary{display:flex;align-items:center;justify-content:space-between;gap:14px}.doubtful-cleanup-summary>div,.stale-cleanup-summary>div{min-width:0;flex:1}.doubtful-cleanup strong,.doubtful-cleanup span,.stale-cleanup strong,.stale-cleanup span{display:block}.doubtful-cleanup strong{color:#a7192f;font-size:.9rem}.stale-cleanup-summary strong{color:#7a4a00;font-size:.9rem}.doubtful-cleanup-summary span,.stale-cleanup-summary span{margin-top:3px;font-size:.8rem;line-height:1.4}.doubtful-cleanup-summary span{color:#6f4b52}.stale-cleanup-summary span{color:#755018}.stale-sort{display:grid;gap:5px;min-width:230px;color:#6b4b17;font-size:.875rem;font-weight:800}.stale-sort select{min-height:42px;border:1px solid #d5ae6b;border-radius:8px;background:#fff;color:var(--ink);padding:0 34px 0 11px;font-size:.875rem}.doubtful-cleanup .danger{min-height:42px;white-space:nowrap}.doubtful-cleanup .danger:disabled,.stale-cleanup .danger:disabled{opacity:.52;cursor:not-allowed}.verification-selection-toolbar{display:flex;align-items:center;gap:11px;padding-top:11px}.doubtful-selection-toolbar{border-top:1px solid #efcfd4}.stale-selection-toolbar{border-top:1px solid #ead5ad}.verification-selection-toolbar label{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:#4c5968;font-size:.875rem;font-weight:800}.verification-selection-toolbar input{width:20px;height:20px;margin:0;accent-color:var(--blue);flex:0 0 auto}.verification-selection-toolbar>strong{color:var(--blue);white-space:nowrap}.verification-selection-toolbar .danger{min-height:40px}
.lot-select{display:flex;align-items:flex-start;gap:9px}.lot-select input{width:19px!important;min-height:19px!important;margin:2px 0 0;padding:0!important;accent-color:var(--blue);flex:0 0 auto}.bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#eef6fc;border:1px solid #c7dce9;border-radius:8px;padding:9px;margin:9px 0}.bulk-toolbar label{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;padding:0!important;color:#34536e!important;font-size:.78rem!important;font-weight:800}.bulk-toolbar label input{width:18px!important;min-height:18px!important;padding:0!important;accent-color:var(--blue)}.bulk-actions{display:flex;gap:6px;flex-wrap:wrap}.bulk-actions button{min-height:36px;padding:0 10px;font-size:.76rem}.bulk-actions .zero-all{border:1px solid #c6cbd1;background:#fff;color:#4d5966}.lot-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.lot-row .lot-select+div{min-width:0}
.scan-view #scanResult:empty{display:none}.scan-view.has-result .scan-stage{display:none}.scan-result-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid var(--line)}.scan-result-head .next-product{min-height:42px;white-space:nowrap}.scan-result-head small{display:block;color:var(--muted);font-size:.72rem}.scan-inline-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;padding:11px;background:#f2f7fb;border:1px solid #d6e3ed;border-radius:8px}.scan-inline-add label{display:grid;gap:4px;color:var(--muted);font-size:.72rem;font-weight:800}.scan-inline-add input{width:100%;min-height:44px;border:1px solid #b8cada;border-radius:7px;padding:0 10px;background:#fff}.scan-inline-add button{align-self:end;min-height:44px}.scan-card{margin-top:0}.scan-card .bulk-toolbar{margin-top:13px}.scanner-view.barcode-mode .scan-stage{display:block}.scanner-view.barcode-mode #scanResult{display:none}.scanner-view.has-result>h1{margin-bottom:10px}
.admin-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.admin-toolbar input{min-height:48px;border:1px solid #b9cad8;border-radius:8px;padding:0 13px}.admin-selection-bar{position:sticky;top:88px;z-index:10;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:9px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;box-shadow:0 5px 18px #003b7812}.admin-selection-bar>div{display:flex;gap:8px;flex-wrap:wrap}.admin-selection-bar button:disabled{opacity:.48;cursor:not-allowed}.admin-store-list{display:grid;gap:9px}.admin-store-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.admin-store-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px #005bab18}.admin-store-card>input{width:21px;height:21px;margin:2px 0;accent-color:var(--blue)}.admin-store-card h2{font-size:1rem;margin:0 0 4px}.admin-store-card p{margin:0;color:var(--muted);font-size:.78rem}.admin-store-card .admin-users{margin-top:4px;color:#244866;font-weight:750}.admin-store-card dl{margin:8px 0 0;display:flex;gap:12px;flex-wrap:wrap}.admin-store-card dt{display:none}.admin-store-card dd{margin:0;background:#eef5fa;color:#34536e;padding:4px 7px;border-radius:5px;font-size:.7rem;font-weight:750}.admin-store-card .admin-id{font-size:.76rem;color:var(--blue);font-weight:850}.dialog-note{color:var(--muted);font-size:.84rem;margin:-2px 0 14px}#adminSettingsForm{padding:18px;overflow:auto;max-height:92vh}#adminSettingsForm .settings-card{box-shadow:none;background:#f8fbfd}#adminSettingsForm .modal-actions{position:sticky;bottom:-18px;background:#fff;padding:12px 0 18px}
.admin-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 15px;font-weight:800;cursor:pointer;text-align:center}.admin-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.admin-card-actions button{min-height:36px;border:1px solid #b7ccdf;border-radius:8px;background:#f3f8fc;color:#0752aa;padding:0 10px;font-size:.74rem;font-weight:850}.admin-card-actions button:disabled{opacity:.48;cursor:not-allowed}.admin-store-card dd.admin-badge-danger{background:#fff0f2;color:#ad1930}.admin-store-card dd.admin-badge-warning{background:#fff6e7;color:#9b5700}.admin-store-card dd.admin-badge-ok{background:#edf9f4;color:#126849}.admin-wide-dialog{width:min(880px,calc(100% - 24px))}.admin-alert-list,.admin-backup-list{display:grid;gap:9px;max-height:58vh;overflow:auto;padding-right:3px}.admin-alert-row{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:10px;padding:11px;background:#fff}.admin-alert-row.red,.admin-alert-row.expired{border-left-color:var(--red)}.admin-alert-row.expired{background:#fff7f8}.admin-alert-level{font-size:.75rem;font-weight:900;text-transform:uppercase;color:#995500}.admin-alert-row.red .admin-alert-level,.admin-alert-row.expired .admin-alert-level{color:#b91d35}.admin-alert-row strong{display:block}.admin-alert-row p{margin:3px 0 0;color:var(--muted);font-size:.8rem}.admin-alert-control{border-radius:6px;padding:5px 7px;font-size:.72rem;font-weight:850;white-space:nowrap}.admin-alert-control.done{background:#e8f7ef;color:#126849}.admin-alert-control.pending{background:#edf4fa;color:#405c76}.admin-backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.admin-dialog-heading{font-size:.9rem;margin:0 0 9px}.admin-backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px;background:#f9fbfd}.admin-backup-row strong,.admin-backup-row span{display:block}.admin-backup-row span{margin-top:3px;color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}.admin-backup-row>div:last-child{display:flex;gap:6px}.admin-backup-row button{min-height:38px;padding:0 10px;font-size:.75rem}.admin-backup-loading{border:1px dashed #afc1d1;border-radius:10px;padding:20px;text-align:center;color:var(--muted)}.password-policy{margin:4px 0 11px;color:var(--muted);font-size:.78rem}.admin-password-tools{display:grid;grid-template-columns:1fr auto;gap:8px}.admin-password-tools button{min-height:42px}.admin-action-form>.modal-actions:last-child{position:sticky;bottom:-19px;background:#fff;padding:12px 0 2px}
body.admin-mode{padding-bottom:0}body.admin-mode main{max-width:1180px}body.admin-mode .app-head{position:sticky}

@media(max-width:620px){.verification-card{grid-template-columns:1fr}.verification-card.selectable{grid-template-columns:auto minmax(0,1fr)}.verification-card.selectable .verification-actions{grid-column:2}.verification-actions{grid-template-columns:1fr 1fr}.group-filter{grid-template-columns:1fr}.group-filter select{width:100%}.doubtful-cleanup-summary,.stale-cleanup-summary{align-items:stretch;flex-direction:column}.doubtful-cleanup-summary .danger{width:100%}.stale-sort{min-width:0}.stale-sort select{width:100%}.verification-selection-toolbar{display:grid;grid-template-columns:1fr auto}.verification-selection-toolbar .danger{grid-column:1/-1;width:100%}.bulk-toolbar{align-items:flex-start}.bulk-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.lot-row{grid-template-columns:auto minmax(0,1fr)}.lot-row .lot-actions{grid-column:2}.scan-result-head{align-items:flex-start}.scan-result-head .next-product{font-size:.78rem;padding:0 10px}.scan-inline-add{grid-template-columns:1fr}.admin-toolbar{grid-template-columns:1fr}.admin-selection-bar{align-items:flex-start;flex-direction:column}.admin-selection-bar>div{width:100%;display:grid;grid-template-columns:1fr}.admin-store-card{grid-template-columns:auto 1fr}.admin-store-card .admin-id{grid-column:2}.admin-settings-scope{max-width:none}}

@media(min-width:1000px){
  body.authenticated:not(.admin-mode){padding:0 0 0 250px;min-height:100vh}
  body.authenticated:not(.admin-mode) .app-head{position:fixed;left:0;top:0;bottom:0;width:250px;height:auto;padding:24px 18px;display:block;background:linear-gradient(165deg,#003f86 0%,#005cab 67%,#00a9e0 150%)}
  body.authenticated:not(.admin-mode) .brand{align-items:flex-start}.brand small{max-width:150px;line-height:1.3;margin-top:3px}
  body.authenticated:not(.admin-mode) .head-actions{position:absolute;left:18px;right:18px;bottom:20px;display:grid;grid-template-columns:repeat(3,1fr)}.head-actions .icon{width:100%}
  body.authenticated:not(.admin-mode) .bottom-nav{position:fixed;left:0;top:105px;bottom:auto;transform:none;width:250px;height:auto;padding:16px 12px;display:grid;grid-template-columns:1fr;gap:4px;border:0;background:transparent;box-shadow:none}
  body.authenticated:not(.admin-mode) .bottom-nav button{min-height:50px;display:grid;grid-template-columns:30px 1fr;align-items:center;text-align:left;color:#dceeff;font-size:.84rem;padding:0 13px;border-radius:8px}.bottom-nav span{font-size:1.25rem}.bottom-nav button.active{color:#fff;background:#ffffff1c}.bottom-nav button.active:before{left:0;top:10px;bottom:10px;width:4px;height:auto;border-radius:0 4px 4px 0;background:#38c5f1}
  body.authenticated:not(.admin-mode) main{max-width:1320px;margin:0;padding:36px 42px 52px}
  body.authenticated:not(.admin-mode) .card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.authenticated:not(.admin-mode) #sourceList{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.authenticated:not(.admin-mode) #settingsView.active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}body.authenticated:not(.admin-mode) #settingsView>.eyebrow,body.authenticated:not(.admin-mode) #settingsView>h1,body.authenticated:not(.admin-mode) #settingsView>.version{grid-column:1/-1}body.authenticated:not(.admin-mode) #settingsView .settings-card{margin:0;height:100%}
  body.authenticated:not(.admin-mode) #scannerView.active:not(.has-result){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:0 24px}body.authenticated:not(.admin-mode) #scannerView>.eyebrow,body.authenticated:not(.admin-mode) #scannerView>h1,body.authenticated:not(.admin-mode) #scannerView>#scanModeBanner{grid-column:1/-1}body.authenticated:not(.admin-mode) #scannerView .scan-stage{grid-column:1;max-width:760px}body.authenticated:not(.admin-mode) #scannerView #scanResult{grid-column:2;grid-row:3}
  .scanner-view.has-result .scan-stage{display:none}.scanner-view.has-result #scanResult{max-width:900px}
  .scanner-shell{height:min(65vh,600px)}
  body.admin-mode main{padding:34px 30px 60px}.admin-store-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-selection-bar{top:88px}
}

.feed-help{font-size:.875rem;color:var(--muted);margin:0 2px 12px}.control-status{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:5px;font-size:.875rem;font-weight:750}.control-status.done{background:#e7f6ef;color:#116644}.control-status.pending{background:#eaf4ff;color:#00519c}.dlc-feed-card .days small{font-size:.875rem}
@media(max-width:620px){.admin-alert-row{grid-template-columns:1fr}.admin-alert-control{justify-self:start}.admin-backup-actions{grid-template-columns:1fr}.admin-backup-row{grid-template-columns:1fr}.admin-backup-row>div:last-child{display:grid;grid-template-columns:1fr 1fr}.admin-password-tools{grid-template-columns:1fr}.admin-card-actions{display:grid;grid-template-columns:1fr}.admin-card-actions button{width:100%}}

/* ZebraDLC 9.1 : rapports hebdomadaires par magasin */
.admin-report-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.admin-report-schedule>div{border:1px solid #b9d3e7;border-left:5px solid var(--blue);border-radius:10px;background:#f4f9fd;padding:11px 12px}.admin-report-schedule strong,.admin-report-schedule span{display:block}.admin-report-schedule strong{color:#084f9f;font-size:.86rem}.admin-report-schedule span{margin-top:3px;color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}
.admin-report-config{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:end;border:1px solid var(--line);border-radius:11px;background:#fbfdff;padding:12px;margin-bottom:17px}.admin-report-config>label:first-child{margin:0!important}.admin-report-config>button{min-height:48px}.admin-report-toggle{grid-column:1/-1!important;display:flex!important;align-items:flex-start!important;gap:9px!important;margin:2px 0!important}.admin-report-toggle input{width:20px!important;min-height:20px!important;margin:2px 0 0!important;padding:0!important;accent-color:var(--blue);flex:0 0 auto}.admin-report-toggle span,.admin-report-toggle strong,.admin-report-toggle small{display:block}.admin-report-toggle small{margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}.admin-report-config>p{margin:0;align-self:center;color:var(--muted);font-size:.78rem;line-height:1.4}
.admin-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.admin-report-toolbar h3{margin:0}.admin-report-toolbar button{min-height:42px;font-size:.78rem}.admin-report-help{margin:0 0 10px;color:var(--muted);font-size:.76rem;line-height:1.45}.admin-report-list{display:grid;gap:10px;max-height:48vh;overflow:auto;padding-right:3px}.admin-report-row{border:1px solid var(--line);border-radius:11px;background:#fff;padding:12px}.admin-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-report-head strong,.admin-report-head span{display:block}.admin-report-head>div>span{margin-top:3px;color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}.admin-report-status{border-radius:6px;padding:5px 7px;font-size:.7rem;font-weight:900;white-space:nowrap}.admin-report-status.ready{background:#eaf4ff;color:#0752aa}.admin-report-status.sent{background:#e9f8f1;color:#126849}.admin-report-status.failed{background:#fff0f2;color:#ad1930}.admin-report-status.missing{background:#fff6e7;color:#925200}.admin-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}.admin-report-metrics span{border-radius:8px;background:#f2f6fa;padding:8px;color:var(--muted);font-size:.68rem}.admin-report-metrics b{display:block;color:var(--ink);font-size:1rem}.admin-report-note,.admin-report-error{margin:8px 0;border-radius:7px;padding:8px 9px;font-size:.74rem;line-height:1.4}.admin-report-note{background:#fff7e9;color:#7a4a00}.admin-report-error{background:#fff0f2;color:#a7192f}.admin-report-actions{display:flex;justify-content:flex-end;gap:7px}.admin-report-actions button{min-height:38px;padding:0 11px;font-size:.74rem}.admin-report-actions button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:620px){.admin-report-schedule{grid-template-columns:1fr}.admin-report-config{grid-template-columns:1fr}.admin-report-config>p{grid-row:auto}.admin-report-toolbar{align-items:stretch;flex-direction:column}.admin-report-toolbar button{width:100%}.admin-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-report-head{flex-direction:column}.admin-report-actions{display:grid;grid-template-columns:1fr 1fr}.admin-report-actions button{width:100%}}

/* ZebraDLC 9.2 : centre de pilotage administrateur */
body.admin-mode{background:#f1f5f9;color:#132238}
body.admin-mode .app-head{height:76px;background:#0b1f3a;border-bottom:1px solid #203a5b;box-shadow:0 6px 24px #0b1f3a24}
body.admin-mode main{width:100%;max-width:1380px;padding:28px 28px 64px}
.admin-view{--admin-navy:#0b1f3a;--admin-blue:#0869c7;--admin-cyan:#22b7e8;--admin-surface:#f5f8fb;--admin-border:#d8e3ec}
.zebra-test-banner{position:sticky;top:76px;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,calc((100% - 1260px)/2));border-bottom:1px solid #bfddf5;background:#eaf7ff;color:#0a477b;box-shadow:0 8px 22px #15375414}.zebra-test-banner>div{display:flex;align-items:center;gap:10px}.zebra-test-banner>div>span{display:grid;place-items:center;min-width:46px;height:30px;border-radius:8px;background:#0b66b8;color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.08em}.zebra-test-banner p,.zebra-test-banner strong,.zebra-test-banner small{display:block;margin:0}.zebra-test-banner small{margin-top:1px;color:#537a98}.zebra-test-banner button{min-height:38px;padding:0 14px;border:1px solid #89b9df;border-radius:9px;background:#fff;color:#0757a7;font-weight:850}.zebra-test-banner.hidden{display:none}
.admin-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;min-height:210px;padding:34px 36px;border-radius:22px;background:linear-gradient(125deg,#081b34 0%,#0b3765 68%,#0869c7 145%);color:#fff;box-shadow:0 20px 50px #0b1f3a20}
.admin-hero:after{content:"";position:absolute;right:-70px;top:-130px;width:330px;height:330px;border:65px solid #22b7e81f;border-radius:50%;pointer-events:none}
.admin-hero>div{position:relative;z-index:1}.admin-hero-kicker{margin:0 0 10px;color:#5dd2f6;font-size:.8rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.admin-hero h1{max-width:650px;margin:0 0 12px;color:#fff;font-size:2.25rem;line-height:1.06;letter-spacing:-.04em}.admin-hero>div>p:last-child{max-width:670px;margin:0;color:#c9d9ea;font-size:.95rem;line-height:1.55}
.admin-live-status{display:flex;align-items:center;gap:11px;min-width:245px;padding:14px 16px;border:1px solid #ffffff26;border-radius:14px;background:#ffffff0f;backdrop-filter:blur(8px)}.admin-live-status>span{width:11px;height:11px;border:3px solid #ffffff30;border-radius:50%;background:#43d39e;box-shadow:0 0 0 4px #43d39e20}.admin-live-status strong,.admin-live-status small{display:block}.admin-live-status strong{font-size:.86rem}.admin-live-status small{margin-top:3px;color:#afc4d9;font-size:.76rem}
.admin-test-launch{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;margin:18px 0;padding:20px 22px;border:1px solid #b9d9ef;border-radius:18px;background:linear-gradient(120deg,#f4fbff,#e9f6ff);box-shadow:0 10px 28px #1537540c}.admin-test-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(145deg,#0b3765,#079fd4);color:#fff;font-size:.82rem;font-weight:950}.admin-test-copy .eyebrow{font-size:.66rem}.admin-test-copy h2{margin:2px 0 4px;color:#102b49;font-size:1.2rem}.admin-test-copy>p:last-child{max-width:680px;margin:0;color:#587087;font-size:.8rem;line-height:1.45}.admin-test-meta{text-align:right}.admin-test-meta span,.admin-test-meta small{display:block}.admin-test-meta span{color:#0757a7;font-size:.78rem;font-weight:900}.admin-test-meta small{margin-top:3px;color:#70869a;font-size:.7rem}.admin-test-launch>button{min-height:44px;padding:0 18px;white-space:nowrap}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.admin-kpi-grid article{display:flex;align-items:center;gap:15px;min-width:0;padding:19px;border:1px solid var(--admin-border);border-radius:16px;background:#fff;box-shadow:0 8px 25px #1839550a}.admin-kpi-grid article>div{min-width:0}.admin-kpi-grid small,.admin-kpi-grid strong,.admin-kpi-grid p{display:block}.admin-kpi-grid small{color:#587087;font-size:.78rem;font-weight:800}.admin-kpi-grid strong{margin:3px 0 1px;color:var(--admin-navy);font-size:1.75rem;line-height:1}.admin-kpi-grid p{margin:0;color:#7a8b9d;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-kpi-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:#eaf4ff;color:var(--admin-blue);font-size:.9rem;font-weight:950}.admin-kpi-icon.catalog{background:#e9f8fc;color:#087ca2}.admin-kpi-icon.urgent{background:#fff0f2;color:#c52841}.admin-kpi-icon.reports{background:#ebf8f2;color:#147354}
.admin-control-center{padding:24px;border:1px solid var(--admin-border);border-radius:20px;background:#fff;box-shadow:0 12px 36px #1537540c}.admin-directory-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.admin-directory-head .eyebrow{font-size:.72rem}.admin-directory-head h2{margin:4px 0 0;font-size:1.32rem;letter-spacing:-.02em}.admin-directory-head>span{padding:7px 10px;border-radius:99px;background:#edf4fa;color:#47627b;font-size:.78rem;font-weight:800}
.admin-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0 0 12px}.admin-search-field{position:relative;display:block}.admin-search-field>span{position:absolute;left:15px;top:50%;z-index:1;transform:translateY(-50%);color:#6f8295;font-size:1.3rem}.admin-toolbar .admin-search-field input{width:100%;min-height:52px;padding:0 16px 0 45px;border:1px solid #c7d6e2;border-radius:12px;background:#f8fafc;color:var(--admin-navy);font-size:.9rem;outline:none}.admin-toolbar .admin-search-field input:focus{border-color:var(--admin-blue);background:#fff;box-shadow:0 0 0 4px #0869c714}.admin-toolbar #adminSelectAll{min-height:52px;border-color:#c2d4e3;border-radius:12px;background:#eef5fb;padding:0 18px;font-size:.84rem}
.admin-selection-bar{position:relative;top:auto;z-index:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:13px 15px;border:1px solid #c7def0;border-left:4px solid var(--admin-blue);border-radius:12px;background:#f0f7fd;box-shadow:none}.admin-selection-bar>div{display:block}.admin-selection-bar small,.admin-selection-bar strong{display:block}.admin-selection-bar small{color:#657c91;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-selection-bar strong{margin-top:1px;color:#0b4e91;font-size:.9rem}.admin-selection-bar p{margin:0;color:#5b7288;font-size:.78rem}
.admin-action-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:12px 0 22px}.admin-action-card,.admin-action-grid .admin-file-button{display:block;min-width:0;min-height:86px;margin:0;padding:11px;border:1px solid #cbd9e5;border-radius:13px;background:#fff;color:var(--admin-navy);text-align:left;box-shadow:none;cursor:pointer}.admin-action-card>span{display:grid;place-items:center;width:27px;height:27px;margin-bottom:8px;border-radius:8px;background:#eaf4ff;color:var(--admin-blue);font-size:.73rem;font-weight:950}.admin-action-card strong,.admin-action-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-action-card strong{font-size:.83rem}.admin-action-card small{margin-top:2px;color:#728498;font-size:.7rem}.admin-action-card:hover{border-color:#86b7df;background:#f8fbfe;transform:translateY(-1px)}.admin-action-card:focus-visible{outline:3px solid #22b7e85c;outline-offset:2px}.admin-action-card:disabled{opacity:.44;cursor:not-allowed;transform:none}.admin-action-card.primary-action{border-color:#0869c7;background:#0869c7;color:#fff}.admin-action-card.primary-action>span{background:#ffffff22;color:#fff}.admin-action-card.primary-action small{color:#d5eaff}
#adminRefreshStores strong,#adminRefreshStores small{overflow:visible;white-space:normal;line-height:1.15}
.admin-store-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-store-list>.empty{grid-column:1/-1}.admin-store-card{position:relative;display:block;overflow:hidden;min-width:0;padding:0;border:1px solid var(--admin-border);border-top:4px solid #39a77d;border-radius:16px;background:#fff;box-shadow:0 7px 24px #173b5c0a;transition:border-color .16s,box-shadow .16s,transform .16s}.admin-store-card.warning{border-top-color:#e29a2e}.admin-store-card.danger{border-top-color:#d73b52}.admin-store-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px #173b5c14}.admin-store-card.selected{border-color:var(--admin-blue);border-top-color:var(--admin-blue);box-shadow:0 0 0 3px #0869c716,0 13px 30px #173b5c12}
.admin-store-check{display:flex;align-items:center;gap:7px;padding:9px 14px;border-bottom:1px solid #e5edf3;background:#f8fafc;color:#62768a;font-size:.72rem;font-weight:800;cursor:pointer}.admin-store-check input{width:18px;height:18px;margin:0;accent-color:var(--admin-blue)}.admin-store-content{padding:15px}.admin-store-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-store-identity{display:flex;align-items:center;gap:11px;min-width:0}.admin-store-avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:linear-gradient(145deg,#0b3765,#0876d5);color:#fff;font-size:.78rem;font-weight:950}.admin-store-identity>div{min-width:0}.admin-store-card h3{margin:0;color:var(--admin-navy);font-size:1rem;line-height:1.25}.admin-store-card p{margin:3px 0 0;color:#697d91;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-store-card p strong{color:#33516c}.admin-health{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:5px 7px;border-radius:99px;background:#ebf8f2;color:#147354;font-size:.68rem;font-weight:900}.admin-health i{width:6px;height:6px;border-radius:50%;background:currentColor}.admin-health.warning{background:#fff6e8;color:#995b00}.admin-health.danger{background:#fff0f2;color:#b51e35}
.admin-store-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:15px 0}.admin-store-metrics>div{min-width:0;padding:9px 7px;border-radius:10px;background:#f3f7fa;text-align:center}.admin-store-metrics strong,.admin-store-metrics span{display:block}.admin-store-metrics strong{color:#17314d;font-size:1rem;line-height:1.1}.admin-store-metrics span{margin-top:3px;color:#6e8193;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-store-metrics>div.urgent{background:#fff0f2}.admin-store-metrics>div.urgent strong{color:#bf253d}
.admin-store-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 0;border-top:1px solid #e6edf3;border-bottom:1px solid #e6edf3}.admin-store-info span{min-width:0;color:#63778a;font-size:.7rem;line-height:1.4}.admin-store-info b{display:block;color:#314d67;font-size:.68rem}.admin-report-destination{display:flex;align-items:center;gap:9px;margin-top:11px;padding:9px 10px;border-radius:10px;background:#edf8f4}.admin-report-destination>span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:8px;background:#cfeadd;color:#147354;font-size:.7rem;font-weight:950}.admin-report-destination>div{min-width:0}.admin-report-destination small,.admin-report-destination strong{display:block}.admin-report-destination small{color:#608073;font-size:.64rem}.admin-report-destination strong{overflow:hidden;color:#225f4a;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.admin-report-destination.missing{background:#fff6e8}.admin-report-destination.missing>span{background:#f6dfb7;color:#925600}.admin-report-destination.missing small,.admin-report-destination.missing strong{color:#86591a}
.admin-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:11px}.admin-card-actions button{width:100%;min-height:38px;padding:0 6px;border:1px solid #c9d9e5;border-radius:9px;background:#f5f9fc;color:#0757a7;font-size:.7rem;font-weight:850}.admin-card-actions button:hover{border-color:#82b4dc;background:#eaf4ff}.admin-card-actions button:disabled{opacity:.45}
body.admin-mode dialog{border-radius:20px;box-shadow:0 28px 90px #0b1f3a42}body.admin-mode dialog::backdrop{background:#07182b99;backdrop-filter:blur(5px)}body.admin-mode .admin-action-form{padding:24px}body.admin-mode .modal-head{padding-bottom:13px;border-bottom:1px solid #e0e8ef}body.admin-mode .modal-head h2{margin-top:3px;font-size:1.25rem}body.admin-mode .dialog-note{font-size:.875rem;line-height:1.5}body.admin-mode .admin-wide-dialog{width:min(940px,calc(100% - 28px))}
body.admin-mode .admin-report-schedule{gap:11px}body.admin-mode .admin-report-schedule>div{padding:14px;border-radius:12px;background:#f1f7fc}body.admin-mode .admin-report-schedule strong{font-size:.9rem}body.admin-mode .admin-report-schedule span{font-size:.82rem}body.admin-mode .admin-report-config{padding:15px;border-radius:13px;background:#f8fafc}body.admin-mode .admin-report-help{font-size:.82rem}body.admin-mode .admin-report-list{gap:12px}body.admin-mode .admin-report-row{padding:15px;border-radius:14px;background:#fbfdff}body.admin-mode .admin-report-head>div>span{font-size:.8rem}body.admin-mode .admin-report-status{padding:6px 9px;font-size:.73rem}body.admin-mode .admin-report-metrics{gap:9px;margin:13px 0}body.admin-mode .admin-report-metrics span{padding:11px;font-size:.74rem}body.admin-mode .admin-report-metrics b{font-size:1.18rem}body.admin-mode .admin-report-note,body.admin-mode .admin-report-error{font-size:.8rem}body.admin-mode .admin-report-actions button{min-height:42px;font-size:.8rem}
@media(min-width:760px){body.admin-mode .app-head{padding-left:max(28px,calc((100% - 1324px)/2));padding-right:max(28px,calc((100% - 1324px)/2))}}
@media(max-width:1040px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.admin-mode main{padding:18px 14px 42px}.admin-hero{grid-template-columns:1fr;min-height:0;padding:26px 22px}.admin-hero h1{font-size:1.8rem}.admin-live-status{min-width:0}.admin-test-launch{grid-template-columns:auto 1fr}.admin-test-meta{text-align:left}.admin-test-launch>button{width:100%}.admin-control-center{padding:17px}.admin-store-list{grid-template-columns:1fr}.admin-selection-bar{align-items:flex-start;flex-direction:column;gap:5px}.admin-selection-bar p{font-size:.74rem}.admin-store-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.zebra-test-banner{top:70px;padding:9px 14px}.zebra-test-banner p small{display:none}}
@media(max-width:520px){.admin-kpi-grid{gap:9px}.admin-kpi-grid article{align-items:flex-start;padding:14px}.admin-kpi-icon{width:36px;height:36px;border-radius:10px}.admin-kpi-grid strong{font-size:1.45rem}.admin-kpi-grid p{display:none}.admin-test-launch{grid-template-columns:1fr}.admin-test-icon{width:44px;height:44px}.admin-directory-head{align-items:flex-start;flex-direction:column;gap:9px}.admin-toolbar{grid-template-columns:1fr}.admin-toolbar #adminSelectAll{width:100%}.admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-action-card,.admin-action-grid .admin-file-button{min-height:88px}.admin-store-head{align-items:flex-start}.admin-health{font-size:.62rem}.admin-store-info{grid-template-columns:1fr}.admin-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card-actions button{font-size:.75rem}.zebra-test-banner>div>span{display:none}.zebra-test-banner button{padding:0 10px;font-size:.72rem}}

/* ZebraDLC 9.3 : parcours magasin fluide et orienté action */
:root{
  --ink:#12243d;
  --muted:#607187;
  --line:#d8e3ed;
  --blue:#0868c9;
  --cyan:#10addf;
  --red:#d72f48;
  --orange:#e18012;
  --green:#13805f;
  --soft:#f3f7fb;
  --card:#fff;
  --shadow:0 12px 34px rgba(30,67,104,.09);
}

.head-actions .icon svg,
.scan-shortcut svg,
.dashboard-action svg,
.feed-reveal svg,
.bottom-nav svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.auth-gate{
  background:
    radial-gradient(circle at 18% 12%,rgba(16,173,223,.18),transparent 34%),
    radial-gradient(circle at 86% 85%,rgba(8,104,201,.15),transparent 38%),
    linear-gradient(145deg,#eef7ff,#f8fbfe 58%,#eaf1f8);
}
.login-card{
  border-color:rgba(166,190,213,.72);
  border-radius:26px;
  padding:30px 28px;
  box-shadow:0 28px 80px rgba(15,48,81,.18);
}
.login-card h1{font-size:1.85rem;margin-bottom:24px}.login-card .primary{box-shadow:0 10px 24px rgba(8,104,201,.22)}

body.authenticated:not(.admin-mode){
  min-height:100vh;
  background:
    radial-gradient(circle at 88% 0,rgba(16,173,223,.08),transparent 25rem),
    #f3f7fb;
}
body.authenticated:not(.admin-mode) main{width:100%}
body.authenticated:not(.admin-mode) .view.active{animation:store-view-in .25s ease both}
@keyframes store-view-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
body.authenticated:not(.admin-mode) h1{color:#10233e;font-size:2rem;letter-spacing:-.04em}
body.authenticated:not(.admin-mode) h2{color:#172b46;letter-spacing:-.018em}
body.authenticated:not(.admin-mode) small{font-size:.78rem}
body.authenticated:not(.admin-mode) button:focus-visible,
body.authenticated:not(.admin-mode) input:focus-visible,
body.authenticated:not(.admin-mode) select:focus-visible,
body.authenticated:not(.admin-mode) textarea:focus-visible{
  outline:3px solid rgba(16,173,223,.3);
  outline-offset:2px;
}

body.authenticated:not(.admin-mode) .app-head{
  background:rgba(255,255,255,.92);
  border-color:#d9e5ee;
  box-shadow:0 5px 24px rgba(19,54,87,.07);
}
body.authenticated:not(.admin-mode) .app-logo{border-radius:14px;box-shadow:0 7px 18px rgba(8,104,201,.22)}
body.authenticated:not(.admin-mode) .brand strong{color:#102642;letter-spacing:-.025em}
body.authenticated:not(.admin-mode) .ghost{border-color:#d3e0ea;background:#fff;color:#31516e}
body.authenticated:not(.admin-mode) .head-actions .icon{display:grid;place-items:center}

.dashboard-view{max-width:1260px;margin:0 auto}
.dashboard-welcome{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:172px;
  padding:30px 32px 48px;
  border-radius:24px;
  background:linear-gradient(125deg,#09284c 0%,#075cae 64%,#079fd4 145%);
  color:#fff;
  box-shadow:0 20px 48px rgba(13,67,119,.2);
}
.dashboard-welcome:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-82px;
  top:-136px;
  width:350px;
  height:350px;
  border:70px solid rgba(255,255,255,.07);
  border-radius:50%;
}
.dashboard-welcome-copy{max-width:680px}.dashboard-welcome .eyebrow{color:#67dcff}
.dashboard-welcome h1{margin:5px 0 9px!important;color:#fff!important;font-size:2.35rem!important}
.dashboard-welcome-copy>p:last-child{margin:0;color:#d8eafd;font-size:.98rem}
.scan-shortcut{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:142px;
  min-height:50px;
  margin:0;
  border:1px solid rgba(255,255,255,.45);
  border-radius:13px;
  background:#fff;
  color:#0759a8;
  padding:0 18px;
  box-shadow:0 12px 28px rgba(3,38,76,.2);
  transition:transform .18s ease,box-shadow .18s ease;
}
.scan-shortcut:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(3,38,76,.27)}

.dashboard-view .summary-alerts{
  position:relative;
  z-index:2;
  max-width:720px;
  margin:-28px 0 0 26px;
  gap:12px;
}
.dashboard-view .summary-alerts .stat{
  min-height:116px;
  padding:20px;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 36px rgba(17,57,94,.14);
}
.dashboard-view .summary-alerts .stat:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;border-radius:0 6px 6px 0;background:currentColor}
.dashboard-view .summary-alerts .stat:after{width:76px;height:76px;right:-24px;top:-25px}
.dashboard-view .summary-alerts .stat b{margin:5px 0 8px;font-size:2.35rem;letter-spacing:-.06em}
.dashboard-view .summary-alerts .stat span{color:#617287;font-size:.83rem;font-weight:750}
.summary-alert-card{width:100%;font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.summary-alert-card:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(17,57,94,.19)!important}
.summary-alert-card:active{transform:translateY(-1px)}
.summary-alert-card:focus-visible{outline:3px solid rgba(16,173,223,.42);outline-offset:3px}
.summary-alert-card .stat-link{display:flex;align-items:center;gap:6px;margin-top:9px;color:currentColor;font-size:.75rem;font-style:normal;font-weight:850}
.summary-alert-card .stat-link span{color:currentColor;font-size:1rem;line-height:1}

.dashboard-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:20px 0;
}
.dashboard-action{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:82px;
  padding:14px;
  border:1px solid #d7e3ed;
  border-radius:17px;
  background:#fff;
  color:#15304d;
  text-align:left;
  box-shadow:0 8px 24px rgba(22,61,98,.06);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dashboard-action:hover{transform:translateY(-2px);border-color:#9fc5e6;box-shadow:0 14px 30px rgba(22,61,98,.1)}
.dashboard-action .action-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf4ff;color:#0870d4}
.dashboard-action>span:nth-child(2){min-width:0}.dashboard-action strong,.dashboard-action small{display:block}
.dashboard-action strong{font-size:.9rem}.dashboard-action small{margin-top:3px;color:#697a8d;line-height:1.3}
.dashboard-action small b{color:#0870d4;font-size:inherit}.dashboard-action .action-arrow{color:#7290aa;font-size:1.55rem}
.dashboard-action.primary-action{border-color:#0b68c6;background:linear-gradient(135deg,#075daf,#0878d9);color:#fff}
.dashboard-action.primary-action .action-icon{background:rgba(255,255,255,.16);color:#fff}
.dashboard-action.primary-action small{color:#d9ecff}.dashboard-action.primary-action .action-arrow{color:#fff}

.dashboard-panel,.feed-disclosure{
  border:1px solid #d8e3ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(20,57,91,.06);
}
.dashboard-panel{padding:22px}.dashboard-panel>.section-head{margin:0 0 16px}
.section-kicker{margin:0 0 3px;color:#0870cf;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.section-subtitle{display:block;margin-top:4px;color:#738398;font-size:.78rem}
.alert-section-head{align-items:flex-start}
.alert-section-head .print-list-shortcut{min-height:40px;border:1px solid #c5d9eb;border-bottom:3px solid #0753a4;background:#eaf4ff;color:#0753a4}
.alert-preview-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.alert-preview-list .product-card{min-width:0;grid-template-columns:6px minmax(0,1fr) auto;padding:15px;border-radius:14px;box-shadow:none}
.alert-preview-list .product-card button{grid-column:2/4}
.panel-more{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:48px;
  margin-top:13px;
  border:1px solid #c8daea;
  border-radius:12px;
  background:#f2f7fc;
  color:#075ab0;
  padding:0 15px;
  font-size:.86rem;
  font-weight:850;
}
.panel-more:hover{background:#e8f3fd;border-color:#9fc3e3}

.feed-disclosure{margin:16px 0;overflow:visible}
.feed-reveal{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:92px;
  border:0;
  border-radius:20px;
  background:#fff;
  color:var(--ink);
  padding:16px 20px;
  text-align:left;
}
.feed-reveal:hover{background:#f9fcff}
.feed-reveal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#e8f4ff,#dff8ff);color:#0871ce}
.feed-reveal-copy>span,.feed-reveal-copy>strong,.feed-reveal-copy>small{display:block}
.feed-reveal-copy>strong{font-size:1.05rem}.feed-reveal-copy>small{margin-top:3px;color:#687a8e}
.feed-reveal-meta{display:flex;align-items:center;gap:10px;color:#075aad;font-weight:850}
.feed-reveal-meta .section-count{white-space:nowrap}.feed-toggle-label{font-size:.82rem}
.feed-reveal-meta>svg{width:19px;height:19px;transition:transform .2s ease}
.feed-reveal[aria-expanded="true"]{border-radius:20px 20px 0 0;background:#f8fbfe}
.feed-reveal[aria-expanded="true"] .feed-reveal-meta>svg{transform:rotate(180deg)}
.feed-panel{overflow:visible;border-top:1px solid #e1e9f0;padding:16px 20px 20px;animation:feed-open .22s ease both}
@keyframes feed-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.feed-panel #dlcFeed{overflow:visible;max-height:none}
.feed-panel .dlc-feed-card{box-shadow:none}

.dashboard-insights{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}
.dashboard-print .print-panel{margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.dashboard-print .print-panel>div{padding:12px 13px;border-radius:12px;background:#f3f7fb}
.dashboard-performance .dlc-chart{margin:0;padding:0;border:0;box-shadow:none}
.dashboard-performance .chart-plot{height:210px;border-radius:13px}

body.authenticated:not(.admin-mode) .product-card,
body.authenticated:not(.admin-mode) .source-card,
body.authenticated:not(.admin-mode) .settings-card,
body.authenticated:not(.admin-mode) .scan-card,
body.authenticated:not(.admin-mode) .quality-panel,
body.authenticated:not(.admin-mode) .import-section,
body.authenticated:not(.admin-mode) .loss-stat,
body.authenticated:not(.admin-mode) .period-picker{
  border-color:#d8e3ec;
  border-radius:16px;
  box-shadow:0 9px 26px rgba(24,61,96,.06);
}
body.authenticated:not(.admin-mode) .product-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
body.authenticated:not(.admin-mode) .product-card:hover{border-color:#aac9e3;box-shadow:0 13px 28px rgba(24,61,96,.1);transform:translateY(-1px)}
body.authenticated:not(.admin-mode) .product-card button{min-height:40px;border-radius:10px;text-align:center}
body.authenticated:not(.admin-mode) .chips{flex-wrap:wrap;overflow:visible;margin:15px 0 8px;padding:0}
body.authenticated:not(.admin-mode) .chip{min-height:40px;border-radius:11px;padding:0 14px;font-size:.84rem}
body.authenticated:not(.admin-mode) .chip.active{box-shadow:0 7px 16px rgba(8,104,201,.18)}
body.authenticated:not(.admin-mode) .search-row input,
body.authenticated:not(.admin-mode) .group-filter select,
body.authenticated:not(.admin-mode) .settings-card input,
body.authenticated:not(.admin-mode) #productForm input,
body.authenticated:not(.admin-mode) textarea{
  border-color:#c6d7e5;
  border-radius:12px;
}
body.authenticated:not(.admin-mode) .upload-card{border-radius:20px;background:linear-gradient(145deg,#fff,#f3f9ff);box-shadow:0 10px 30px rgba(24,61,96,.06)}
body.authenticated:not(.admin-mode) .stale-cleanup{border-radius:14px;background:#fff9ef}
body.authenticated:not(.admin-mode) .scanner-shell{border-radius:22px;box-shadow:0 18px 42px rgba(7,28,48,.18)}
body.authenticated:not(.admin-mode) .primary{background:linear-gradient(135deg,#075cae,#0788d9);box-shadow:0 7px 16px rgba(8,104,201,.17)}
body.authenticated:not(.admin-mode) .secondary{background:#edf5fc}

body.authenticated:not(.admin-mode) .bottom-nav button{font-size:.75rem}
body.authenticated:not(.admin-mode) .bottom-nav button>span{display:grid;place-items:center}
body.authenticated:not(.admin-mode) .bottom-nav svg{width:21px;height:21px}

@media(min-width:1000px){
  body.authenticated:not(.admin-mode){padding-left:272px}
  body.authenticated:not(.admin-mode) .app-head{
    width:272px;
    padding:28px 20px;
    background:linear-gradient(165deg,#07294e 0%,#075daa 68%,#079ed3 145%);
    border:0;
    box-shadow:12px 0 35px rgba(10,48,83,.13);
  }
  body.authenticated:not(.admin-mode) .brand strong{color:#fff;font-size:1.18rem}
  body.authenticated:not(.admin-mode) .brand small{color:#cde6fb;font-size:.8rem}
  body.authenticated:not(.admin-mode) .app-logo{width:52px;height:52px;border:2px solid rgba(255,255,255,.32)}
  body.authenticated:not(.admin-mode) .head-actions{left:20px;right:20px;bottom:22px;gap:8px}
  body.authenticated:not(.admin-mode) .head-actions .icon{height:44px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff}
  body.authenticated:not(.admin-mode) .notification-badge{border-color:#075ba9}
  body.authenticated:not(.admin-mode) .bottom-nav{top:119px;width:272px;padding:10px 14px;gap:6px}
  body.authenticated:not(.admin-mode) .bottom-nav button{
    grid-template-columns:38px minmax(0,1fr);
    min-height:54px;
    border-radius:12px;
    padding:0 14px;
    color:#d3e8f9;
    font-size:.88rem;
  }
  body.authenticated:not(.admin-mode) .bottom-nav button>span{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08)}
  body.authenticated:not(.admin-mode) .bottom-nav button.active{background:rgba(255,255,255,.15);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
  body.authenticated:not(.admin-mode) .bottom-nav button.active>span{background:#fff;color:#0762b7}
  body.authenticated:not(.admin-mode) .bottom-nav button.active:before{display:none}
  body.authenticated:not(.admin-mode) main{max-width:1500px;padding:42px 48px 68px}
  body.authenticated:not(.admin-mode) #dashboardView{max-width:1260px}
  body.authenticated:not(.admin-mode) .view:not(.dashboard-view){max-width:1160px;margin:0 auto}
  body.authenticated:not(.admin-mode) #settingsView.active{max-width:1260px}
  body.authenticated:not(.admin-mode) .card-list{gap:12px}
  body.authenticated:not(.admin-mode) #dlcFeed{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1120px) and (min-width:760px){
  .alert-preview-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .alert-preview-list .product-card:nth-child(3){grid-column:1/-1}
  .dashboard-actions{grid-template-columns:1fr}
  .dashboard-insights{grid-template-columns:1fr}
}

@media(max-width:759px){
  body.authenticated:not(.admin-mode){padding-bottom:92px}
  body.authenticated:not(.admin-mode) main{padding:18px 14px 32px}
  body.authenticated:not(.admin-mode) h1{font-size:1.75rem}
  body.authenticated:not(.admin-mode) .app-head{height:68px;padding-left:14px;padding-right:14px}
  body.authenticated:not(.admin-mode) .app-logo{width:44px;height:44px}
  body.authenticated:not(.admin-mode) .head-actions .icon{width:40px;height:40px;border:0;background:#f1f6fb}
  .dashboard-welcome{min-height:178px;padding:23px 21px 42px;border-radius:21px;align-items:flex-start}
  .dashboard-welcome h1{font-size:1.9rem!important;max-width:210px}
  .dashboard-welcome-copy>p:last-child{max-width:240px;font-size:.88rem}
  .dashboard-welcome .scan-shortcut{min-width:50px;width:50px;padding:0;border-radius:14px}
  .dashboard-welcome .scan-shortcut span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .dashboard-view .summary-alerts{margin:-24px 12px 0;gap:9px}
  .dashboard-view .summary-alerts .stat{min-height:104px;padding:16px}
  .dashboard-view .summary-alerts .stat b{font-size:2rem}
  .dashboard-actions{grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}
  .dashboard-action{grid-template-columns:38px minmax(0,1fr);min-height:78px;padding:12px;gap:10px}
  .dashboard-action.primary-action{grid-column:1/-1;grid-template-columns:40px minmax(0,1fr) auto}
  .dashboard-action .action-icon{width:38px;height:38px;border-radius:11px}.dashboard-action .action-icon svg{width:20px;height:20px}
  .dashboard-action:not(.primary-action) .action-arrow{display:none}
  .dashboard-action strong{font-size:.84rem}.dashboard-action small{font-size:.75rem!important}
  .dashboard-panel{padding:17px;border-radius:17px}.dashboard-panel>.section-head{margin-bottom:13px}
  .alert-preview-list{grid-template-columns:1fr!important}
  .alert-preview-list .product-card:nth-child(3){grid-column:auto}
  .alert-preview-list .product-card{grid-template-columns:5px minmax(0,1fr)}
  .alert-preview-list .product-card .days{grid-column:2;text-align:left}
  .alert-preview-list .product-card button{grid-column:2}
  .feed-reveal{grid-template-columns:42px minmax(0,1fr) auto;min-height:88px;padding:14px;gap:11px;border-radius:17px}
  .feed-reveal-icon{width:42px;height:42px;border-radius:12px}
  .feed-reveal-copy>small{display:none}.feed-reveal-meta{gap:5px}.feed-toggle-label{display:none}.feed-reveal-meta .section-count{font-size:.72rem;padding:4px 6px}
  .feed-panel{padding:12px 13px 15px}
  .dashboard-insights{grid-template-columns:1fr;gap:14px}
  body.authenticated:not(.admin-mode) .bottom-nav{height:82px;padding-top:7px;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}
  body.authenticated:not(.admin-mode) .bottom-nav button{gap:4px}
  body.authenticated:not(.admin-mode) .bottom-nav button.active>span{width:34px;height:30px;border-radius:10px;background:#e8f3fd}
}

@media(max-width:430px){
  body.authenticated:not(.admin-mode) .brand small{max-width:112px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.authenticated:not(.admin-mode) .head-actions{gap:2px}
  body.authenticated:not(.admin-mode) .head-actions .icon{width:37px;height:37px}
  .dashboard-actions{grid-template-columns:1fr}
  .dashboard-action.primary-action{grid-column:auto}
  .dashboard-action:not(.primary-action){grid-template-columns:38px minmax(0,1fr) auto}
  .dashboard-action:not(.primary-action) .action-arrow{display:block}
  .dashboard-welcome h1{max-width:190px}
  .dashboard-view .summary-alerts{margin-left:7px;margin-right:7px}
  .dashboard-view .summary-alerts .stat span{font-size:.76rem}
  .feed-reveal-copy>strong{font-size:.96rem}
}

/* ZebraDLC 9.10 : photo produit prioritaire après enregistrement */
.product-photo-editor{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center;margin:4px 0 17px;padding:12px;border:1px solid #cfe0ed;border-radius:15px;background:linear-gradient(135deg,#f4f9fd 0%,#fff 100%)}
.product-photo-visual{display:grid;justify-items:center;gap:4px;width:88px}.product-photo-editor.photo-preview-active{grid-template-columns:132px minmax(0,1fr)}.product-photo-editor.photo-preview-active .product-photo-visual,.product-photo-editor.photo-preview-active .product-photo-frame{width:132px}
.product-photo-frame{position:relative;overflow:hidden;display:grid;place-items:center;width:88px;aspect-ratio:1;padding:0;border:1px solid #c6d8e6;border-radius:12px;background:#eaf2f8;color:inherit;box-shadow:none;cursor:default}
.product-photo-frame.has-photo{cursor:zoom-in}.product-photo-frame.has-photo:hover,.product-photo-frame.has-photo:focus-visible{border-color:#0870cf;box-shadow:0 0 0 3px #0870cf22}.product-photo-frame:disabled{opacity:1}
.product-photo-preview{width:100%;height:100%;object-fit:cover;background:#fff}
.product-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#6b8398}
.product-photo-placeholder svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.product-photo-placeholder.loading svg{animation:photo-pulse 1.1s ease-in-out infinite}
.product-photo-expand{position:absolute;right:5px;bottom:5px;padding:3px 6px;border-radius:999px;background:#071b2ddd;color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.02em}
.product-photo-edit-link{min-height:28px;padding:2px 4px;border:0;background:transparent;color:#0752aa;font-size:.72rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.product-photo-edit-link:hover,.product-photo-edit-link:focus-visible{color:#003f82}
.product-photo-content{display:grid;gap:9px;min-width:0}.product-photo-content strong,.product-photo-content span{display:block}.product-photo-content strong{color:#17314d;font-size:.92rem}.product-photo-content>div>span{margin-top:3px;color:#65798d;font-size:.76rem;line-height:1.4}
.product-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.product-photo-picker{min-height:42px;padding:5px 8px;border-radius:9px;font-size:.73rem;font-weight:850;line-height:1.15;text-align:center}
.product-photo-picker{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #b9cede;background:#fff;color:#0752aa;cursor:pointer}.product-photo-picker svg{flex:0 0 auto;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.product-photo-picker.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.product-photo-save-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.product-photo-save-actions button{min-height:41px;padding:0 11px;border-radius:9px;font-size:.76rem;font-weight:850}
.product-photo-viewer{width:min(980px,calc(100% - 18px));height:min(90vh,860px);height:min(90dvh,860px);max-height:calc(100dvh - 18px);border-radius:20px;background:#061321;color:#fff;overflow:hidden;box-shadow:0 28px 100px #0009}.product-photo-viewer::backdrop{background:#02070dcc;backdrop-filter:blur(6px)}
.product-photo-viewer-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}.product-photo-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #ffffff18}.product-photo-viewer-head span{display:block;color:#82caff;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.product-photo-viewer-head h2{margin:3px 0 0;color:#fff;font-size:1.05rem;line-height:1.25}.product-photo-viewer-head p{margin:2px 0 0;color:#b8c8d6;font-size:.72rem}.product-photo-viewer-close{flex:0 0 auto;width:44px;height:44px;padding:0;border:1px solid #ffffff2e;border-radius:50%;background:#ffffff14;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.product-photo-viewer-close:hover,.product-photo-viewer-close:focus-visible{background:#fff;color:#07182b}
.product-photo-viewer-stage{display:grid;place-items:center;min-height:0;padding:12px;background:radial-gradient(circle at center,#17324c 0%,#02070d 72%)}.product-photo-viewer-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:5px;box-shadow:0 12px 45px #0008}.product-photo-viewer-help{margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));color:#b8c8d6;font-size:.72rem;text-align:center}
.scan-product-photo{position:relative;overflow:hidden;display:grid;place-items:center;width:100%;height:clamp(150px,34vw,230px);margin:12px 0 15px;padding:0;border:1px solid #c9dae7;border-radius:13px;background:#edf4f9;color:inherit;box-shadow:none}.scan-product-photo.loaded{cursor:zoom-in}.scan-product-photo.loaded:hover,.scan-product-photo.loaded:focus-visible{border-color:#0870cf;box-shadow:0 0 0 3px #0870cf22}.scan-product-photo:disabled{opacity:1;cursor:default}.scan-product-photo img{width:100%;height:100%;object-fit:cover}.scan-product-photo>div{display:flex;align-items:center;gap:9px;color:#61778a;font-size:.8rem;font-weight:800}.scan-product-photo>div span{width:18px;height:18px;border:2px solid #b7c9d7;border-top-color:#0870cf;border-radius:50%;animation:spin .8s linear infinite}.scan-product-photo-expand{position:absolute;right:8px;bottom:8px;padding:5px 9px;border-radius:999px;background:#071b2ddd;color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.02em;pointer-events:none}
.scan-photo-block{display:grid;justify-items:center;margin:12px 0 15px}.scan-photo-block>.scan-product-photo{margin:0 0 6px}.scan-photo-edit-link{margin:0 auto;min-height:32px}
.scan-photo-editor{display:grid;gap:11px;margin:12px 0 15px;padding:12px;border:1px solid #c9dce9;border-radius:14px;background:linear-gradient(135deg,#f3f9fd 0%,#fff 100%)}.scan-photo-editor>.scan-product-photo{margin:0}.scan-photo-empty-copy{display:flex;align-items:center;gap:10px;min-width:0}.scan-photo-empty-copy>div{display:grid;gap:2px}.scan-photo-empty-copy strong{color:#17314d;font-size:.86rem}.scan-photo-empty-copy small{color:#62798d;font-size:.72rem;line-height:1.35}.scan-photo-empty-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:#e3f1fb;color:#0870cf}.scan-photo-empty-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scan-photo-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}.scan-photo-status{margin:0;color:#60768a;font-size:.74rem;line-height:1.4;text-align:center}.scan-photo-save-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:8px}.scan-photo-save-actions button{min-height:43px;padding:7px 10px;border-radius:10px;font-size:.76rem;font-weight:850}.scan-photo-change{display:grid;gap:9px;width:100%;padding-top:5px}.scan-photo-cancel-link{justify-self:center;min-height:31px;padding:2px 8px;border:0;background:transparent;color:#536b80;font-size:.72rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.scan-photo-draft{border-color:#acd1ec;box-shadow:0 7px 22px #144d7610}.scan-photo-draft .scan-photo-status{color:#315e7d;font-weight:700}
@keyframes photo-pulse{50%{opacity:.36;transform:scale(.92)}}

@media(max-width:430px){
  .product-photo-editor{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px}.product-photo-visual,.product-photo-frame{width:76px}.product-photo-editor.photo-preview-active{grid-template-columns:112px minmax(0,1fr)}.product-photo-editor.photo-preview-active .product-photo-visual,.product-photo-editor.photo-preview-active .product-photo-frame{width:112px}.product-photo-content{gap:8px}.product-photo-content>div>span{font-size:.73rem}.product-photo-actions{gap:5px}.product-photo-picker{min-height:44px;padding:5px;font-size:.68rem}.product-photo-picker svg{width:15px;height:15px}.product-photo-save-actions{display:grid;grid-template-columns:1fr 1fr}.product-photo-save-actions button{width:100%;padding:0 7px;font-size:.71rem}.product-photo-expand{right:4px;bottom:4px;padding:2px 5px;font-size:.52rem}.product-photo-edit-link{font-size:.68rem}
  .product-photo-viewer{width:calc(100% - 10px);height:calc(100vh - 10px);height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);border-radius:16px}.product-photo-viewer-head{padding:13px 14px}.product-photo-viewer-stage{padding:8px}.product-photo-viewer-help{font-size:.68rem}
  .scan-photo-editor{padding:10px;gap:9px}.scan-photo-source-actions{gap:6px}.scan-photo-source-actions .product-photo-picker{min-height:46px}.scan-photo-save-actions{grid-template-columns:1fr 1fr}.scan-photo-save-actions button{font-size:.71rem}.scan-photo-empty-copy small{font-size:.69rem}
}

@media(prefers-reduced-motion:reduce){
  body.authenticated:not(.admin-mode) .view.active,.feed-panel{animation:none}
  body.authenticated:not(.admin-mode) *{scroll-behavior:auto!important;transition-duration:.01ms!important}.product-photo-placeholder.loading svg,.scan-product-photo>div span{animation:none}
}

/* ZebraDLC 9.13 : interface terrain, retours d'action et densité maîtrisée */
:root{--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--touch:46px;--focus:0 0 0 3px #0788d933}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #0788d9;outline-offset:3px}
.sync-state{display:flex;align-items:center;gap:8px;min-height:42px;padding:5px 10px;border:1px solid #bdd3e5;border-radius:12px;background:#f5f9fd;color:#31546f;text-align:left;box-shadow:none}.sync-state>span:last-child,.sync-state strong,.sync-state small{display:block}.sync-state strong{font-size:.76rem;line-height:1.15}.sync-state small{margin-top:2px;color:#6a7f91;font-size:.66rem;line-height:1.15}.sync-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#1b8b65;box-shadow:0 0 0 4px #1b8b6518}.sync-state.syncing .sync-dot{background:#0878c9;animation:sync-pulse 1s ease-in-out infinite}.sync-state.offline .sync-dot,.sync-state.pending .sync-dot{background:#d17a00}.sync-state.error .sync-dot{background:#c82d43}.sync-state.error{border-color:#ecc3ca;background:#fff7f8}.sync-state.offline,.sync-state.pending{border-color:#edd2a7;background:#fffaf1}@keyframes sync-pulse{50%{opacity:.35;transform:scale(.72)}}
.import-review{margin-top:15px;padding:18px;border:1px solid #bcd5e8;border-radius:18px;background:#fff;box-shadow:0 12px 34px #173b6510}.import-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line)}.import-review-head h2{margin-top:3px;font-size:1.18rem}.import-store-badge{padding:7px 10px;border-radius:999px;background:#e8f4ff;color:#0758a9;font-size:.78rem;font-weight:850;white-space:nowrap}.import-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.import-review-summary>div{padding:11px;border-radius:11px;background:#f1f6fa}.import-review-summary strong,.import-review-summary span{display:block}.import-review-summary strong{font-size:1.24rem;color:#0758a9}.import-review-summary span{margin-top:2px;color:#60758a;font-size:.72rem;line-height:1.25}.import-review-files{display:grid;gap:8px}.import-review-files>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px;border:1px solid var(--line);border-radius:11px}.import-review-files strong,.import-review-files span{display:block}.import-review-files span,.import-review-files p{margin:3px 0 0;color:#61768a;font-size:.76rem}.import-review-files p{text-align:right}.import-review-note{margin:13px 0;color:#526a7e;font-size:.82rem}.import-review-actions{display:grid;grid-template-columns:.75fr 1.25fr;gap:9px}.import-review-actions button{min-height:var(--touch)}
.product-card-main{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.product-card-thumb{position:relative;overflow:hidden;display:grid;place-items:center;width:54px;height:54px;border:1px solid #cfdee9;border-radius:11px;background:#eef4f8;color:#7890a4}.product-card-thumb img{display:none;width:100%;height:100%;object-fit:cover}.product-card-thumb.loaded img{display:block}.product-card-thumb.loaded svg{display:none}.product-card-thumb svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}.product-card-thumb.loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid #bfd0dd;border-top-color:#0878c9;border-radius:50%;animation:spin .8s linear infinite}.product-card-thumb.loading svg{opacity:.18}.product-catalog-card{grid-template-columns:6px minmax(0,1fr) auto}.product-catalog-card:focus-visible{border-color:#0788d9;box-shadow:var(--focus),var(--shadow)}
.scan-next-sticky{position:sticky;bottom:91px;z-index:14;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin:10px 0 12px;border:0;border-radius:14px;background:linear-gradient(135deg,#075cae,#0788d9);color:#fff;font-weight:900;box-shadow:0 12px 30px #075ba944}.torch-button{position:absolute;right:12px;top:12px;z-index:4;min-height:42px;padding:0 13px;border:1px solid #ffffff55;border-radius:999px;background:#061725cc;color:#fff;font-size:.78rem;font-weight:850}.torch-button[aria-pressed="true"]{background:#fff;color:#0b3457}.scan-recovery{margin:11px 0;padding:13px;border:1px solid #ebc78d;border-left:5px solid #d17a00;border-radius:12px;background:#fff9ef}.scan-recovery strong{display:block;color:#825000}.scan-recovery p{margin:4px 0 10px;color:#73562a;font-size:.84rem}.scan-recovery>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scan-recovery button{min-height:44px}
.loss-search{display:grid;gap:6px;margin:14px 0;color:#52677b;font-size:.82rem;font-weight:800}.loss-search input{width:100%;min-height:48px;border:1px solid #bfd0df;border-radius:12px;background:#fff;padding:0 13px;color:var(--ink)}
.settings-intro{margin:-9px 0 16px;color:#5d7286;font-size:.9rem;line-height:1.5}.settings-section{overflow:hidden;margin:0 0 12px;border:1px solid #d4e1eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px #173b650a}.settings-section>summary{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:13px 16px;cursor:pointer;list-style:none}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary:after{content:"+";display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#edf5fc;color:#0758a9;font-size:1.2rem;font-weight:700}.settings-section[open]>summary:after{content:"−"}.settings-section>summary strong,.settings-section>summary small{display:block}.settings-section>summary strong{font-size:.98rem}.settings-section>summary small{margin-top:2px;color:#687d90;font-size:.76rem}.settings-section-body{display:grid;gap:11px;padding:0 12px 12px;border-top:1px solid #e3ebf2}.settings-section-body>.settings-card{margin:11px 0 0;box-shadow:none}.smart-import-card{border-color:#b7d3e8;background:linear-gradient(145deg,#f4faff,#fff)}.smart-import-detected{display:grid;gap:2px;margin-top:10px;padding:11px;border-radius:10px;background:#edf9f4;color:#176a4e}.smart-import-detected span{font-size:.78rem}.progress-box.compact{margin-top:10px;padding:11px}.maintenance-section>summary{color:#8c2435}.maintenance-section>summary:after{background:#fff0f2;color:#ad1930}
.more-menu-dialog{width:min(520px,calc(100% - 18px));margin:auto auto max(10px,env(safe-area-inset-bottom));border-radius:22px}.more-menu-panel{padding:18px}.more-menu-actions{display:grid;gap:9px}.more-menu-actions>button{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:70px;padding:10px 12px;border:1px solid #d3e0e9;border-radius:14px;background:#f8fbfd;color:var(--ink);text-align:left}.more-menu-actions>button>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7f3fd;color:#0864b9;font-size:1.2rem}.more-menu-actions strong,.more-menu-actions small{display:block}.more-menu-actions small{margin-top:2px;color:#64798c;font-size:.76rem}.more-menu-actions b{color:#0870c8;font-size:1.3rem}
.toast{display:flex!important;align-items:center;justify-content:space-between;gap:12px;max-width:min(520px,calc(100% - 24px));min-height:50px;padding:10px 11px 10px 15px}.toast:not(.show){pointer-events:none}.toast #toastMessage{min-width:0}.toast button{flex:0 0 auto;min-height:36px;border:1px solid #ffffff66;border-radius:9px;background:#fff;color:#0758a9;padding:0 11px;font-size:.78rem;font-weight:900}.toast[data-tone="error"]{background:#9f2034}
#productForm .modal-actions{position:sticky;bottom:-18px;z-index:3;margin-left:-18px;margin-right:-18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dce6ee;background:#fff}
.admin-store-details{margin-top:10px;border-top:1px solid #e0e8ef}.admin-store-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 2px 0;list-style:none;color:#0758a9;font-size:.78rem;font-weight:850;cursor:pointer}.admin-store-details>summary::-webkit-details-marker{display:none}.admin-store-details>summary b{transition:transform .18s ease}.admin-store-details[open]>summary b{transform:rotate(180deg)}.admin-store-details-body{display:grid;gap:10px;padding-top:9px}.admin-store-summary>div:nth-child(3) strong{font-size:.86rem}.admin-store-summary>div:nth-child(4) strong{font-size:.76rem}
.admin-action-card span{font-family:inherit;font-size:1.05rem}
body.authenticated:not(.admin-mode) .product-card button,body.authenticated:not(.admin-mode) .chip,.product-photo-edit-link,.scan-photo-cancel-link,.notification-item button,.admin-card-actions button{min-height:44px}
body.authenticated:not(.admin-mode) .product-card p,.source-card p,.settings-card p,.scan-result-head small,.scan-inline-add label,.scan-photo-status{font-size:max(.8rem,13px)}
.product-photo-edit-link,.scan-photo-cancel-link{padding-left:9px;padding-right:9px;font-size:.8rem}
.bottom-nav{grid-template-columns:repeat(5,1fr)}.bottom-nav .scan-nav>span{display:grid;place-items:center;width:42px;height:38px;margin-top:-14px;border-radius:13px;background:linear-gradient(135deg,#075cae,#0788d9);color:#fff;box-shadow:0 8px 20px #075ba94a}.bottom-nav .scan-nav.active>span{background:linear-gradient(135deg,#054d94,#0578c5);color:#fff!important}
@media(min-width:760px){.settings-section-body{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-section-body>.smart-import-card,.settings-section-body>.danger-zone{grid-column:1/-1}}
@media(min-width:1000px){body.authenticated:not(.admin-mode) .sync-state{position:absolute;left:20px;right:20px;bottom:83px;color:#e4f2fd;border-color:#ffffff24;background:#ffffff12}.sync-state small{color:#c5ddf0}.sync-state .sync-dot{box-shadow:0 0 0 4px #ffffff18}body.authenticated:not(.admin-mode) #settingsView.active{display:block;max-width:1160px}.bottom-nav .scan-nav>span{margin:0;width:32px;height:32px;box-shadow:none}.bottom-nav{grid-template-columns:1fr}}
@media(max-width:759px){.sync-state{margin-left:auto;padding:5px 8px}.sync-state small{display:none}.sync-state strong{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-head #refreshBtn{display:none}.scan-next-sticky{bottom:91px}.import-review-summary{grid-template-columns:1fr 1fr}.import-review-files>article{grid-template-columns:1fr}.import-review-files p{text-align:left}.admin-store-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-store-summary>div:nth-child(n+3){display:none}}
@media(max-width:430px){.app-head{gap:6px}.brand{gap:7px}.brand strong{font-size:1rem}.app-logo{width:40px!important;height:40px!important}.sync-state>span:last-child{display:none}.sync-state{width:38px;min-height:38px;justify-content:center;padding:0}.sync-dot{width:10px;height:10px}.head-actions .icon{width:40px!important;height:40px!important}.import-review{padding:14px}.import-review-head{align-items:flex-start;flex-direction:column}.import-review-actions{grid-template-columns:1fr}.product-catalog-card{grid-template-columns:5px minmax(0,1fr)}.product-catalog-card .days{grid-column:2;text-align:left}.product-catalog-card>button{grid-column:2}.product-card-main{grid-template-columns:48px minmax(0,1fr)}.product-card-thumb{width:48px;height:48px}.scan-recovery>div{grid-template-columns:1fr}.settings-section>summary{padding:12px 13px}.more-menu-panel{padding:15px}}
@media(prefers-reduced-motion:reduce){.sync-state.syncing .sync-dot,.product-card-thumb.loading:after{animation:none}}

/* Distinct expired state: never merged with approaching deadlines. */
.stat.expired{background:#16191e;color:#fff;border-color:#16191e}.stat.expired span,.stat.expired em{color:#fff}.status-bar.expired{background:#111}.scan-card.expired{border:2px solid #111}.scan-card.expired .big-days{color:#111}.lot-row.expired{border-left:5px solid #111}.lot-row.expired strong{background:#111;color:#fff;padding:3px 6px;border-radius:4px}.admin-alert-row.expired{border-left-color:#111;background:#f1f2f3}.admin-alert-row.expired .admin-alert-level{background:#111;color:#fff;padding:6px;border-radius:4px}.expired-print{background:#111;color:white;border-color:#111}.admin-health.expired{background:#111;color:#fff}.admin-store-card.expired{border-top:4px solid #111}.chip[data-filter="expired"].active{background:#111;color:#fff;border-color:#111}.summary{grid-template-columns:repeat(3,minmax(0,1fr))}.stat span{display:block;overflow-wrap:anywhere}.admin-report-note{line-height:1.5}.chart-note{line-height:1.5}@media(max-width:480px){.summary{grid-template-columns:1fr 1fr}.summary .stat.expired{grid-column:1/-1;min-height:90px}}

.admin-kpi-icon.expired{background:#111;color:#fff}

/* Readable control totals, independent of catalogue size and bar height. */
.control-workspace{margin:16px 0 24px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.control-overview-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.control-overview h3{font-size:1.05rem;margin:0 0 6px}.control-overview-head p{font-size:.875rem;color:#4d6074;margin:0;line-height:1.5}.control-percent{flex-shrink:0;white-space:nowrap;font-size:1.8rem;color:#126849;font-variant-numeric:tabular-nums}.control-progress{height:12px;background:#e0e8ed;border-radius:8px;overflow:hidden;margin:18px 0 12px}.control-progress span{display:block;height:100%;background:#18835e}.control-equation{line-height:1.6;font-size:1rem;color:#233c51}.control-equation b{display:block;font-size:1.25rem}.control-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.control-metric{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;min-width:0;min-height:138px;padding:16px;border:1px solid #cbd8e2;border-radius:12px;background:#f8fbfd;color:#172d42;cursor:pointer}.control-metric strong{font-size:2.6rem;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.control-metric span{font-size:1rem;font-weight:750;line-height:1.4}.control-metric small{font-size:.875rem}.control-metric.pending{background:#fff5e7;border-color:#ddad60}.control-metric.done{background:#edf8f2;border-color:#98cbb3}.control-next{font-size:.875rem;line-height:1.5;color:#465a6e}.control-catalog,.control-definition{border-top:1px solid #dce4eb;padding:13px 0;font-size:.875rem;line-height:1.6}.control-overview summary{cursor:pointer;min-height:32px}.control-overview details p{color:#4d6074}.control-queue-group{margin:22px 0}.control-queue-group>h3{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:1.05rem;line-height:1.5}.control-queue-group>h3 span{font-size:.875rem;font-weight:600}.control-task{padding:16px;border:1px solid #d6e0e9;border-left:5px solid #287e60;border-radius:12px;background:#fff}.control-task.expired{border-left-color:#111}.control-task.red{border-left-color:#c9273d}.control-task.orange{border-left-color:#ba6e00}.control-task-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.control-task-heading strong{font-size:1rem;line-height:1.5}.control-task-heading>span{font-size:.875rem;white-space:nowrap}.control-task.expired .control-task-heading>span{background:#111;color:#fff;padding:4px 8px;border-radius:5px}.control-task>p{font-size:.875rem;color:#4d6074;margin:6px 0 12px}.control-task-date{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;align-items:center}.control-task-date b{font-size:1.25rem}.control-task-date span{font-size:1rem}.control-task-action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.control-task-action button{min-height:44px}.control-metric:focus-visible{outline:3px solid #0071bb;outline-offset:3px}@media(max-width:480px){.control-workspace{padding:14px}.control-overview-head{align-items:flex-start;flex-wrap:wrap}.control-percent{font-size:1.65rem}.control-metric{padding:12px}.control-metric strong{font-size:2.25rem}.control-task-heading{flex-direction:column}.control-task-action button{width:100%}}@media(max-width:340px){.control-metrics{grid-template-columns:1fr}}

.control-workspace .control-progress,.control-workspace .control-next{display:none}.control-workspace .control-metric{min-height:116px}.control-workspace .control-overview-head h3::after{content:" · magasin entier";display:block;font-size:.875rem;font-weight:500;color:#4d6074;margin-top:5px}.control-queue-group>.card-list{display:grid;gap:12px}

/* Compact working surface, overrides previous decorative dashboard cascade. */
.dashboard-view .dashboard-welcome{min-height:0;padding:8px 0 16px;margin:0;background:none;box-shadow:none;border-radius:0;color:#17334d;isolation:auto}.dashboard-view .dashboard-welcome::before,.dashboard-view .dashboard-welcome::after{display:none}.dashboard-view .dashboard-welcome h1{font-size:1.6rem!important;color:#17334d!important;margin:0!important}.dashboard-welcome .eyebrow{display:none}.dashboard-welcome .scan-shortcut{min-width:48px;min-height:44px;box-shadow:none;border:1px solid #cbd8e2;padding:8px 12px}.dashboard-view .summary-alerts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin:0 0 18px;gap:0;border:1px solid #d5e0e9;border-radius:12px;overflow:hidden;background:#fff}.dashboard-view .summary-alerts .stat{grid-column:auto;min-height:86px;padding:12px 5px;border:0;border-radius:0;border-right:1px solid #e0e7ed;box-shadow:none!important;text-align:center;transform:none;background:#fff}.dashboard-view .summary-alerts .stat:last-child{border-right:0}.dashboard-view .summary-alerts .stat::before,.dashboard-view .summary-alerts .stat::after{display:none}.dashboard-view .summary-alerts .stat b{font-size:1.8rem;line-height:1.2;margin:0 0 6px;letter-spacing:0;color:inherit}.dashboard-view .summary-alerts .stat span{font-size:.875rem;line-height:1.4;color:inherit;overflow-wrap:normal}.dashboard-view .summary-alerts .stat.expired{background:#16191e;color:#fff}.dashboard-view .summary-alerts .stat .stat-link{display:none}.dashboard-view .dashboard-performance{padding:16px;margin:0 0 14px;box-shadow:none;border-radius:12px}.dashboard-performance>.section-head{display:none}.control-overview-head h3{font-size:1rem}.control-overview-head p{font-size:.875rem}.control-metric{min-height:96px!important;padding:12px;gap:4px;background:#fff!important;border:0;border-radius:0}.control-metric.pending{border-right:1px solid #d5dfe8}.control-metric strong{font-size:2rem}.control-metric small,.control-next{display:none}.control-metrics{gap:0;border:1px solid #d5dfe8;border-radius:10px;overflow:hidden}.control-equation{margin:10px 0;font-size:.875rem}.control-equation b{font-size:1rem}.control-catalog,.control-definition{padding:8px 0;border-top:0}.dashboard-tools{border-bottom:1px solid #d5dfe8;padding:10px 0}.dashboard-tools>summary{min-height:44px;display:list-item;align-content:center;font-size:1rem;font-weight:650;cursor:pointer}.dashboard-tools .dashboard-panel{box-shadow:none;border-radius:0;margin:8px 0;padding:10px 0}.dashboard-actions{display:flex;flex-wrap:wrap;margin:8px 0;gap:8px}.dashboard-actions .dashboard-action{display:flex;justify-content:space-between;gap:12px;min-height:44px;box-shadow:none;border-radius:8px;flex:1;padding:10px}.dashboard-tools .dashboard-insights{display:block;margin:0}.feed-disclosure{margin:12px 0;box-shadow:none}.feed-reveal{box-shadow:none!important;border-radius:8px!important}.feed-reveal .section-kicker,.feed-reveal-copy small{display:none}.control-workspace{background:none;border:0;padding:0!important;margin:8px 0 16px}.control-workspace p{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0;font-size:.875rem;color:#506276}.control-workspace b{color:#17334d}.primary-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#e9eff5;border-radius:10px;padding:4px}.primary-filters .chip{width:100%;margin:0;padding:10px 4px;min-height:44px;font-size:.875rem;border:0;border-radius:7px;box-shadow:none;white-space:normal}.filter-navigation{margin:12px 0}.additional-filters{margin:6px 0}.additional-filters>summary,.category-disclosure>summary{cursor:pointer;min-height:44px;align-content:center;font-size:.875rem;color:#365875}.secondary-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0}.secondary-filters .chip{margin:0;font-size:.875rem;padding:10px;min-height:44px}.category-disclosure{margin:4px 0}.category-disclosure .group-filter{margin:4px 0}#filterHelp:empty{display:none}.control-queue-group{margin:16px 0}.control-task{border-radius:6px;box-shadow:none}.control-task-action button{min-height:44px}.control-task-heading>span{font-size:.8rem}.app-head #storeLabel{color:#40586e}

/* Compare only DLC in the configured threshold; catalogue size has its own line. */
.control-chart{display:grid;gap:10px;margin:18px 0 12px}.control-chart-row{display:grid;grid-template-columns:minmax(96px,7.5rem) minmax(0,1fr) minmax(3ch,auto);align-items:center;gap:10px;width:100%;min-height:44px;padding:0;border:0;background:transparent;color:#263e54;text-align:left;cursor:pointer}.control-chart-label{font-size:.9rem;font-weight:650;line-height:1.3}.control-chart-track{display:block;height:22px;overflow:hidden;border-radius:6px;background:#e7edf2}.control-chart-track>span{display:block;height:100%;min-width:0;border-radius:6px;background:#18835e}.control-chart-row.pending .control-chart-track>span{background:#bf7100}.control-chart-row strong{font-size:1.15rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.control-chart-row:focus-visible{outline:3px solid #0071bb;outline-offset:3px;border-radius:5px}.control-chart-row:hover .control-chart-label{text-decoration:underline}.control-overview .control-equation{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:10px 0 12px;font-size:.875rem;line-height:1.45}.control-overview .control-equation b{display:inline;font-size:.875rem}.control-overview .control-equation span{color:#4d6074}@media(max-width:380px){.control-chart-row{grid-template-columns:minmax(85px,6.2rem) minmax(0,1fr) minmax(3ch,auto);gap:6px}.control-chart-label{font-size:.875rem}}

@media(min-width:521px){.admin-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-toolbar .admin-search-field{grid-column:1/-1}.admin-toolbar>button{min-height:48px}}

.bl-model-preview-scroll{overflow-x:auto;max-height:360px;overflow-y:auto;margin-top:12px}.bl-model-preview-table{width:100%;border-collapse:collapse;font-size:.8rem}.bl-model-preview-table th,.bl-model-preview-table td{padding:8px;border:1px solid #cbd8e3;text-align:left;overflow-wrap:anywhere}.bl-model-preview-table th{background:#eef5fb}

/* Global management console */
body.admin-mode.global-admin{background:#f3f5f8}
body.admin-mode.global-admin main{max-width:none;margin:0 0 0 228px;padding:28px 30px 52px}
.global-admin .console-sidebar{position:fixed;left:0;top:72px;bottom:0;width:228px;background:#11253e;color:#e4edf8;padding:27px 16px;z-index:18;display:flex;flex-direction:column;border-right:1px solid #223853}
.console-sidebar-title{padding:0 14px 24px}.console-sidebar-title strong{display:block;font-size:1.22rem;letter-spacing:-.025em}.console-sidebar-title>span{display:block;color:#a6b7cc;font-size:.77rem;margin-top:4px}
.console-sidebar nav{display:grid;gap:5px}.console-sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid transparent;background:transparent;color:#c7d5e7;border-radius:9px;min-height:47px;padding:10px 12px;font-size:.83rem;font-weight:650}.console-sidebar nav button>span{font-size:.73rem;color:#8da4c0;width:23px;text-align:center}.console-sidebar nav button:hover{background:#1d3551}.console-sidebar nav button.active{background:#245885;color:white;border-color:#3678a6}.console-sidebar nav button.active>span{color:#b6e9ff}.console-sidebar-footer{margin-top:auto;padding:22px 12px 0;font-size:.74rem;color:#b2c5dc}.console-sidebar-footer p{font-size:.68rem;color:#889eb9;margin:7px 0}.console-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#52bcb0;margin-right:5px}
.console-page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.console-page-header h1{margin:7px 0 8px;font-size:1.85rem}.console-page-header p:not(.eyebrow){color:#637288;font-size:.9rem;margin:0}.console-page-header>.primary{min-width:112px;min-height:43px}.console-main{min-width:0}
.global-admin .admin-hero{display:none}.global-admin .admin-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}.global-admin .admin-kpi-grid article{border:1px solid #dce3eb;border-radius:11px;box-shadow:0 2px 5px #12315a05;padding:17px 14px}.global-admin .admin-kpi-grid strong{font-size:1.9rem}.global-admin .admin-kpi-grid small{font-size:.72rem}.global-admin .admin-kpi-grid p{font-size:.68rem}.global-admin .admin-kpi-icon{width:34px;height:34px;font-size:.9rem}
.console-panel,.console-card{background:#fff;border:1px solid #dce3eb;border-radius:12px;padding:23px;box-shadow:0 2px 5px #12315a05}.console-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.console-section-heading h2{font-size:1.04rem;letter-spacing:-.015em}.console-section-heading p{font-size:.84rem;color:#66758a;margin:6px 0 0}.console-section-heading>button{flex-shrink:0}.console-panel h3,.console-card h3{font-size:1rem;margin:0 0 9px}.console-note{font-size:.8rem;color:#65748a;line-height:1.6;margin:12px 0 18px}
.console-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.console-network-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:21px 0}.console-network-counts strong{display:block;font-size:1.8rem;line-height:1.15;color:#16385c;letter-spacing:-.025em}.console-network-counts span{display:block;font-size:.73rem;color:#728198;margin-top:5px}.console-task-list{display:grid;margin-top:13px}.console-task-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:#34445b;border:0;border-bottom:1px solid #e5ebf1;padding:13px 0;text-align:left;font-size:.83rem}.console-task-list button:hover{color:var(--blue)}.console-task-list b{background:#eff4fa;border-radius:7px;padding:3px 9px;color:#22517e;font-size:.87rem}.console-priorities{grid-column:1/-1}.console-priority-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid #e6ebf1;gap:15px}.console-priority-row strong,.console-priority-row small{display:block}.console-priority-row strong{font-size:.87rem}.console-priority-row small{font-size:.75rem;color:#a64237;margin-top:4px}
.console-brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:17px}.console-brand-grid .console-card{box-shadow:none}.console-brand-heading{display:flex;align-items:center;gap:13px}.console-brand-avatar{width:44px;height:44px;border-radius:10px;background:#edf3fb;color:#215b91;display:grid;place-items:center;font-size:.86rem;font-weight:850;flex-shrink:0}.console-brand-heading h3{margin:0 0 5px}.console-inline-actions{display:flex;gap:8px;flex-wrap:wrap}.console-inline-actions>button,.console-table button{font-size:.76rem;min-height:34px;padding:7px 10px;border-radius:7px}
.console-table-scroll{max-width:100%;overflow:auto;border:1px solid #e0e6ee;border-radius:9px;background:#fff}.console-table{width:100%;border-collapse:collapse;min-width:780px;text-align:left;font-size:.81rem}.console-table caption{text-align:left;font-size:.74rem;color:#718096;padding:11px 15px;border-bottom:1px solid #e5ebf1}.console-table th{font-size:.69rem;font-weight:750;letter-spacing:.035em;color:#64748b;background:#f7f9fc;padding:12px 14px;white-space:nowrap}.console-table td{padding:14px;vertical-align:middle;border-top:1px solid #e7ecf2;line-height:1.4}.console-table td>strong,.console-table td>small{display:block}.console-table td>strong{font-size:.84rem;color:#263d59}.console-table td>small{font-size:.72rem;color:#78879b;margin-top:4px;max-width:245px}.console-table td>button{margin:2px 4px 2px 0;white-space:nowrap}.console-table tbody tr:hover{background:#f9fbfd}.console-table input[type=checkbox]{width:18px;height:18px;accent-color:#075bcc;cursor:pointer}.console-badge{display:inline-block;border:1px solid transparent;border-radius:6px;padding:3px 7px;font-size:.69rem;font-weight:650;line-height:1.5;margin:2px 3px 2px 0}.console-badge.ready{background:#eaf7ef;color:#25734d;border-color:#d5eddf}.console-badge.error{background:#fff0ee;color:#b44434;border-color:#f7d6cf}.console-badge.warning{background:#fff7e7;color:#966519;border-color:#f2e4bd}.console-badge.notice{background:#edf4fc;color:#406b92;border-color:#dbe6f2}.console-badge.muted{background:#f0f2f5;color:#758295;border-color:#e0e5ec}.console-version{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.76rem;background:#edf2f8;color:#49627d;padding:3px 7px;border-radius:5px}
.console-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.console-filters label,.console-log-search{display:grid;gap:6px;color:#65748a;font-size:.76rem;font-weight:650}.console-filters label:first-child{flex:1;min-width:220px}.console-filters input,.console-filters select,.console-log-search input{font:inherit;font-size:.84rem;color:#253b56;border:1px solid #cbd6e3;background:#fff;border-radius:7px;min-height:42px;padding:9px 12px}.console-log-search{margin:16px 0;max-width:550px}.console-creation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.console-creation-grid article{border:1px solid #dce5ef;border-radius:10px;padding:23px;background:#fbfcfe;display:flex;flex-direction:column;align-items:start}.console-step{font-size:.77rem;font-weight:850;color:#3b719f;background:#e8f1fc;border-radius:7px;padding:6px 10px;margin-bottom:18px}.console-creation-grid h3{font-size:1.13rem}.console-creation-grid p{font-size:.84rem;color:#64748b;line-height:1.65;flex:1;margin-bottom:24px}.console-onboarding{margin-top:24px;padding:20px;border-left:4px solid #6a94b8;background:#f3f7fc;border-radius:7px}.console-onboarding p{font-size:.83rem;color:#60728a;max-width:850px;line-height:1.6}
.console-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.console-health-grid article{border:1px solid #dce5ed;background:#f8fafd;border-radius:9px;padding:15px}.console-health-grid span{display:block;font-size:.74rem;color:#697c93}.console-health-grid strong{display:block;font-size:1.6rem;margin-top:8px;color:#214b70}.console-maintenance-tools{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.console-maintenance-tools>div{padding:19px;background:#f5f8fc;border:1px solid #e1e7ef;border-radius:8px}.console-maintenance-tools p{font-size:.82rem;color:#63738a;line-height:1.6}.console-dossier-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:23px}.console-dossier-grid article{padding:18px;background:#f7f9fc;border:1px solid #e0e7ef;border-radius:9px}.console-dossier-grid h3{font-size:.92rem;margin:0 0 8px}.console-dossier-grid p{font-size:.81rem;color:#63748c;line-height:1.6}.console-dossier-grid button{font-size:.75rem;padding:8px 10px;margin:3px 3px 3px 0}.console-issue-list{margin:12px 0 21px}.console-issue-list>div{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid #e7edf4;padding:8px 0}.console-issue-list button{font-size:.75rem;padding:6px 9px}.console-panel button:focus-visible,.console-card button:focus-visible,.console-sidebar button:focus-visible,.console-page-header button:focus-visible{outline:3px solid #64b5f6;outline-offset:3px}
.global-admin .admin-control-center{border:1px solid #dce3eb;border-radius:12px;padding:23px;box-shadow:0 2px 5px #12315a05}.global-admin .admin-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.global-admin .admin-search-field{flex:1;min-width:260px}.global-admin .admin-toolbar>label:not(.admin-search-field){display:grid;gap:5px;min-width:145px;font-size:.74rem;color:#63768c}.global-admin .admin-toolbar select{border:1px solid #c9d5e3;border-radius:7px;background:white;color:#324d6b;min-height:43px;font:inherit;font-size:.8rem;padding:7px 11px}.global-admin .admin-toolbar>button{min-height:43px;font-size:.76rem;padding:8px 12px}.global-admin .admin-selection-bar{position:static;top:auto;border-left-width:3px;box-shadow:0 3px 9px #11325008;margin-top:17px}.global-admin .admin-action-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.global-admin .admin-action-card{min-height:95px;padding:12px;border-radius:9px}.global-admin .admin-action-card strong{font-size:.76rem}.global-admin .admin-action-card small{font-size:.67rem;line-height:1.4}.global-admin .admin-store-list{display:block}.global-admin #adminTestLaunch{margin-top:25px}
@media(min-width:1600px){body.admin-mode.global-admin main{padding-left:45px;padding-right:45px}.console-main{max-width:1500px;margin:auto}}
@media(max-width:1150px){.global-admin .admin-kpi-grid{grid-template-columns:repeat(3,1fr)}.global-admin .admin-action-grid{grid-template-columns:repeat(3,1fr)}.console-creation-grid{grid-template-columns:1fr}.console-creation-grid article{display:block}.console-creation-grid p{margin-bottom:15px}.console-health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){body.admin-mode.global-admin main{margin:0;padding:0 14px 35px}.global-admin .console-sidebar{position:sticky;top:72px;width:auto;padding:8px 0;border:0;border-bottom:1px solid #dce5ef;background:#fff;margin:0 -14px 22px;display:block;z-index:16}.console-sidebar-title,.console-sidebar-footer{display:none}.console-sidebar nav{display:flex;overflow:auto;gap:5px;padding:0 12px}.console-sidebar nav button{white-space:nowrap;min-height:40px;padding:8px 11px;font-size:.77rem;color:#65778e;border-radius:7px;flex-shrink:0}.console-sidebar nav button>span{display:none}.console-sidebar nav button.active{background:#e7f1ff;border-color:#d5e5fa;color:#075bcc}.console-sidebar nav button:hover{background:#edf3fa}.console-page-header{margin-top:15px}.console-page-header h1{font-size:1.55rem}.console-page-header .eyebrow{font-size:.64rem}.console-page-header p:not(.eyebrow){font-size:.8rem}.console-page-header>.primary{min-width:83px;font-size:.8rem}.global-admin .admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.global-admin .admin-kpi-grid article:last-child{grid-column:1/-1}.console-overview-grid,.console-maintenance-tools{grid-template-columns:1fr}.console-priorities{grid-column:auto}.console-panel,.console-card,.global-admin .admin-control-center{padding:17px}.console-section-heading{flex-wrap:wrap}.console-table{min-width:690px}.global-admin .admin-selection-bar{position:static;top:auto}.console-dossier-grid{grid-template-columns:1fr}.console-network-counts{gap:10px}.console-health-grid strong{font-size:1.25rem}.global-admin .admin-search-field{min-width:100%;}.console-inline-actions>button{flex-grow:1}.console-filters label{flex:1;min-width:135px}}

/* Keep the selection summary in document flow at every admin breakpoint. */
.global-admin .console-panel,.global-admin .console-main,.global-admin .admin-control-center{min-width:0}
.global-admin .admin-action-card strong,.global-admin .admin-action-card small{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
[data-console-action="brand-delete"],[data-console-action="store-delete"]{color:#b42335;border-color:#e4a8b0;background:#fff5f5}
@media(max-width:850px){
 .global-admin .admin-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .global-admin .admin-toolbar>label{min-width:0;max-width:100%}
 .console-brand-grid{grid-template-columns:minmax(0,1fr)}
 .global-admin .admin-selection-bar{width:100%;margin-top:12px;gap:6px}
 .global-admin .admin-action-card{min-height:120px}
 .global-admin .admin-action-card strong{line-height:1.4}
 .global-admin .console-card,.global-admin .console-panel{overflow-wrap:anywhere}
 .global-admin .modal-head{align-items:flex-start;gap:10px}
 .global-admin .modal-head h2{min-width:0;overflow-wrap:anywhere}
 .global-admin .modal-actions{flex-wrap:wrap;position:static}
 .global-admin .modal-actions button{flex:1;min-width:0;white-space:normal}
}
@media(max-width:520px){
 .global-admin .admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .global-admin .admin-toolbar>label:not(.admin-search-field){flex:1 1 100%}
 .global-admin .admin-toolbar select{width:100%;min-width:0}
 .global-admin .console-page-header{align-items:flex-start;gap:10px}
 .global-admin .admin-control-center{padding:14px}
 body.admin-mode.global-admin .admin-action-form{padding:16px}
}

/* Store dashboard: alerts, print, controls. */
#dashboardView .dashboard-welcome{min-height:0;padding:8px 0 20px;background:none;box-shadow:none;border-radius:0;color:var(--ink)}
#dashboardView .dashboard-welcome:after{display:none}
#dashboardView .dashboard-welcome h1{color:var(--ink)!important;font-size:1.8rem!important;margin:4px 0!important}
#dashboardView .dashboard-welcome .eyebrow{color:#60788d}
#dashboardView .scan-shortcut{background:#075daf;color:#fff;border:0;box-shadow:none}
#dashboardView .dashboard-priorities{margin-bottom:24px}
#dashboardView .dashboard-priorities>.section-head{margin-bottom:14px;flex-wrap:wrap;gap:6px}
#dashboardView .summary-alerts{max-width:none;margin:0;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
#dashboardView .summary-alerts .stat{padding:22px;min-height:150px;border:1px solid #dce5ed;box-shadow:0 5px 18px #15375408;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}
#dashboardView .summary-alerts .stat.expired{background:#192637;color:white;border-color:#192637}
#dashboardView .summary-alerts .stat.red{background:#fff3f4;color:#b6233c;border-color:#f5ced5}
#dashboardView .summary-alerts .stat.orange{background:#fff8ed;color:#a55f08;border-color:#f0dcb8}
#dashboardView .summary-alerts .stat:after{display:none}
#dashboardView .summary-alerts .stat:before{display:none}
#dashboardView .summary-alerts .stat b{font-size:2.6rem;margin:0 0 8px;line-height:1}
#dashboardView .summary-alerts .stat span{color:inherit}
#dashboardView .summary-alerts .stat .stat-link{margin-top:auto;padding-top:14px}
#dashboardView .dashboard-print-menu{margin:0 0 24px;border:1px solid #bed4e8;border-radius:16px;background:#f0f7fd;overflow:hidden}
.dashboard-print-menu>summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;list-style:none;color:#064d91;gap:16px}
.dashboard-print-menu>summary::-webkit-details-marker{display:none}
.dashboard-print-menu>summary strong,.dashboard-print-menu>summary small{display:block}
.dashboard-print-menu>summary strong{font-size:1.05rem}
.dashboard-print-menu>summary small{margin-top:5px;color:#58738a;font-weight:400}
.dashboard-print-menu>summary:focus-visible{outline:3px solid #0870cf;outline-offset:-4px}
.dashboard-print-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 24px}
.dashboard-print-options .print-action{height:auto;min-height:64px;padding:14px;text-align:left;border-radius:12px;line-height:1.4}
#dashboardView .dashboard-performance{margin:0 0 24px;padding:24px}
#dashboardView .dlc-chart{padding:0;border:0;margin:0;background:transparent}
.dashboard-rates{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dashboard-rate{padding:16px 0;color:#0870cf}
.dashboard-rate.refs{color:#16866b}
.dashboard-rate>span,.dashboard-rate>strong,.dashboard-rate>small{display:block}
.dashboard-rate>span{font-weight:800;font-size:.85rem}
.dashboard-rate>strong{font-size:2.4rem;margin:4px 0;line-height:1.2}
.dashboard-rate>small{color:#63798b;font-size:.8rem}
.dashboard-control-curves{width:100%;height:auto;max-height:280px;display:block;margin-top:8px}
.dashboard-control-curves text{fill:#657b8d;font-size:12px;font-family:inherit}
.dashboard-curve-legend{display:flex;justify-content:center;gap:24px;font-size:.8rem;font-weight:750;color:#506779}
.dashboard-curve-legend span:before{content:"";display:inline-block;width:20px;height:3px;vertical-align:middle;background:#0870cf;margin-right:7px}
.dashboard-curve-legend span:nth-child(2):before{background:#16866b}
.dashboard-curve-note{font-size:.8rem;color:#63798b;line-height:1.6;margin:16px 0}
.dashboard-control-details{border-top:1px solid #e1eaf1;padding-top:16px}
.dashboard-control-details>summary{cursor:pointer;color:#506779;font-size:.8rem;font-weight:700}
.dashboard-control-details .control-overview{margin-top:18px}
#dashboardView>.dashboard-tools,#dashboardView>.feed-disclosure{margin:14px 0}
@media(max-width:620px){
 #dashboardView .summary-alerts{gap:8px}
 #dashboardView .summary-alerts .stat{padding:16px 10px;min-height:132px;border-radius:12px}
 #dashboardView .summary-alerts .stat b{font-size:2rem}
 #dashboardView .summary-alerts .stat span{font-size:.75rem}
 #dashboardView .summary-alerts .stat .stat-link{font-size:.67rem;gap:3px}
 .dashboard-print-menu>summary{padding:18px}
 .dashboard-print-options{grid-template-columns:1fr;padding:0 18px 18px;gap:9px}
 #dashboardView .dashboard-performance{padding:18px}
 .dashboard-rates{gap:12px}.dashboard-rate>strong{font-size:2rem}
 .dashboard-rate>small{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){#dashboardView .summary-alert-card{transition:none}#dashboardView .summary-alert-card:hover{transform:none}}

/* Product catalogue: one clear action per priority card. */
#productList.product-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px}
#productList.product-grid>.empty{grid-column:1/-1}
#productList .product-catalog-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:0;padding:20px;border:1px solid #d6e2eb;border-top:5px solid #2f9a77;border-radius:16px;background:#fff;box-shadow:0 5px 18px #17395d08;cursor:default}
#productList .product-catalog-card .status-bar{display:none}
#productList .product-catalog-card.priority-expired{border-top-color:#192637;background:#f5f6f8}
#productList .product-catalog-card.priority-red{border-top-color:#c72a44;background:#fff8f9}
#productList .product-catalog-card.priority-orange{border-top-color:#d48616;background:#fffbf4}
#productList .product-catalog-card.priority-gray{border-top-color:#889baa}
#productList .catalog-reference{font-size:1.15rem;color:#19374f;margin:0;text-align:center;overflow-wrap:anywhere}
#productList .product-card-thumb{width:100%;height:150px;border:0;border-radius:10px;background:#edf3f7;flex:none}
#productList .product-card-thumb img{object-fit:contain;background:#fff}
#productList .product-card-thumb svg{width:40px;height:40px}
#productList .product-catalog-card .days{grid-column:auto;text-align:center;font-size:1.35rem;line-height:1.3;color:#188465;margin:0}
#productList .priority-expired .days{color:#192637}
#productList .priority-red .days{color:#b8233c}
#productList .priority-orange .days{color:#a56308}
#productList .priority-gray .days{color:#607588}
#productList .product-catalog-card .days small{font-size:.78rem;margin-top:4px;color:#63798b}
#productList .product-catalog-card>button{grid-column:auto;width:100%;min-height:44px;margin-top:auto;padding:10px 8px;border-radius:9px;border:1px solid #bcd4e7;background:#f0f7fc;color:#0759a2;font-size:.85rem}
#productList .product-catalog-card>button:focus-visible{outline:3px solid #0870cf;outline-offset:3px}
#productDialog{width:min(700px,calc(100% - 24px))}
#productForm>.expiry-editor{margin:20px 0;border:1px solid #c5d9e8;background:#f7fbfe;padding:16px;border-radius:14px}
#productForm>.expiry-editor>div:first-child{padding-bottom:10px}
.product-information{margin:20px 0 8px;border:1px solid #d9e5ed;border-radius:12px;overflow:hidden}
.product-information>summary{padding:16px;cursor:pointer;font-size:.9rem;font-weight:800;color:#234961}
.product-information>summary span{display:block;margin-top:5px;margin-left:17px;font-weight:400;font-size:.78rem;color:#6a7e8e}
.product-information-fields{padding:0 16px 16px;display:grid;gap:14px}
.product-information-fields>label{display:grid;gap:6px;color:#53677c;font-size:.82rem}
@media(min-width:1500px){#productList.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){#productList.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}#productList .product-catalog-card{padding:14px;gap:12px}#productList .product-card-thumb{height:125px}#productList .catalog-reference{font-size:1rem}#productList .product-catalog-card .days{font-size:1.1rem}}
@media(max-width:350px){#productList.product-grid{grid-template-columns:1fr!important}}

/* Secondary product names remain readable even on narrow screens. */
#productList .catalog-product-title{font-size:.78rem;line-height:1.4;font-weight:400;color:#607588;text-align:center;margin:-6px 0 0;overflow-wrap:anywhere}
#productForm .product-display-title{font-size:.8rem;line-height:1.45;font-weight:400;color:#536b80;margin:0 0 8px;overflow-wrap:anywhere}
#productForm .product-display-title:empty{display:none}

/* Loss dashboard: period, volume, trend, priorities and traceability. */
#lossesView{max-width:1240px;margin-inline:auto}
.loss-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 24px}
.loss-page-head h1{margin:4px 0 8px;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.04em}.loss-page-head p:not(.eyebrow){margin:0;color:#64798c;max-width:580px;font-size:.9rem;line-height:1.6}
.loss-page-head>button{flex:none;border-radius:12px;min-height:46px;border:1px solid #c5d8e7;background:#fff;padding:12px 18px;color:#145b91}
.loss-filter-panel{background:#fff;border:1px solid #d7e3ed;border-radius:18px;padding:20px;margin-bottom:20px;box-shadow:0 5px 20px #17395d04}
.loss-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.loss-filter-head>strong{font-size:.9rem;color:#24465f}.loss-filter-head .period-presets{margin:0;gap:6px}.loss-filter-head .chip{background:#f3f7fa;border-color:transparent;white-space:nowrap;min-height:40px}.loss-filter-head .chip.active{background:#075ca8;color:white;border-color:#075ca8}
.loss-filter-fields{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:end}.loss-filter-fields .period-picker{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;border:0;padding:0;margin:0;gap:10px;background:none}.loss-filter-fields .period-picker .primary{grid-column:auto;min-height:46px;border-radius:10px;padding-inline:18px}.loss-filter-fields input{min-width:0;width:100%;min-height:46px;border-radius:10px;border:1px solid #cedde8;background:#f9fbfd;color:#19374f;padding:10px;font:inherit}.loss-filter-fields label{font-size:.76rem;font-weight:700;gap:7px;color:#62788a}.loss-filter-fields .loss-search{margin:0}
#lossesView .loss-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}#lossesView .loss-stat{position:relative;padding:20px;border-radius:16px;border:1px solid #d7e3ed;background:#fff;min-width:0;box-shadow:none}#lossesView .loss-stat>span{font-size:.78rem;font-weight:700;color:#5a7288;display:block}#lossesView .loss-stat>b{font-size:2.2rem;line-height:1.2;letter-spacing:-.04em;margin:10px 0 6px;color:#183d5e}#lossesView .loss-stat>small{font-size:.72rem;color:#7a8d9c;display:block}#lossesView .loss-stat-primary{background:linear-gradient(135deg,#193b5a,#0b568b);border:0}#lossesView .loss-stat-primary>b{color:#fff}#lossesView .loss-stat-primary>span,#lossesView .loss-stat-primary>small{color:#d2e4f1}
.loss-analysis-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-bottom:28px}.loss-chart-panel,.loss-ranking-panel{min-width:0;background:#fff;border:1px solid #d7e3ed;border-radius:18px;padding:22px}.loss-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.loss-panel-head h2{font-size:1.08rem;letter-spacing:-.02em;margin:5px 0 0;color:#203f59}.loss-panel-head .eyebrow,.loss-history-head .eyebrow{font-size:.65rem;margin:0;color:#66849b;letter-spacing:.13em}.loss-unit-badge{font-size:.7rem;background:#f1f6fa;color:#51718a;border-radius:8px;padding:7px 10px;white-space:nowrap}
.loss-chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.73rem;color:#627b8f;margin-bottom:12px}.loss-chart-legend span{display:flex;align-items:center;gap:6px}.loss-chart-legend i{display:block;width:18px;height:3px;border-radius:3px;background:#c72a44}.loss-chart-legend i.average{background:#0878c9}.loss-trend-svg{display:block;width:100%;height:auto;overflow:visible}.loss-trend-svg text{font-size:11px;fill:#718697;font-family:inherit}.loss-chart-caption{font-size:.7rem;color:#748797;line-height:1.5;margin:6px 0 12px}.loss-chart-data summary{font-size:.74rem;color:#145b91;cursor:pointer;min-height:32px}.loss-data-scroll{max-height:200px;overflow:auto}.loss-data-scroll table{width:100%;border-collapse:collapse;font-size:.75rem}.loss-data-scroll th,.loss-data-scroll td{padding:7px;text-align:left;border-bottom:1px solid #e4ecf2}.loss-chart-empty{min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:#6c8395;font-size:.82rem;padding:20px}.loss-chart-empty>span{width:48px;height:48px;display:grid;place-items:center;background:#eaf6f0;color:#19815e;border-radius:50%;font-size:1.4rem}.loss-chart-empty strong{color:#254d66}.loss-chart-empty p{margin:0;line-height:1.6}
.loss-ranking{list-style:none;margin:0;padding:0;display:grid;gap:20px}.loss-ranking li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:start}.loss-rank{width:24px;height:24px;display:grid;place-items:center;background:#f1f5f9;border-radius:7px;color:#6c8295;font-size:.72rem;font-weight:800}.loss-ranking strong{display:block;font-size:.79rem;line-height:1.4;color:#29465c;overflow-wrap:anywhere}.loss-ranking li>div>span{display:block;font-size:.66rem;color:#718798;margin:4px 0 8px}.loss-ranking li>b{font-size:1rem;color:#a52c45;text-align:right}.loss-ranking small{display:block;font-size:.6rem;font-weight:400;color:#8294a2;margin-top:3px}.loss-rank-track{height:5px;background:#f2edf0;border-radius:5px;overflow:hidden}.loss-rank-track i{display:block;height:100%;background:linear-gradient(90deg,#edbac4,#bf3b56);border-radius:5px}.loss-ranking-empty{font-size:.82rem;line-height:1.7;color:#7a8d9b;padding:28px 0}
.loss-history-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.loss-history-head h2{font-size:1.18rem;color:#203f59;margin:5px 0 0}.loss-history-head>span{font-size:.72rem;color:#748b9e;background:#eaf1f7;border-radius:20px;padding:8px 12px}#lossesView .loss-list{gap:22px;margin-top:18px}#lossesView .loss-month h2{font-size:.84rem;color:#58738a;display:flex;align-items:center;gap:10px;margin:0 0 10px}#lossesView .loss-row{padding:16px 18px;gap:14px;border:1px solid #dce6ee;border-left:3px solid #d3a3af;border-radius:12px;background:#fff;align-items:center}#lossesView .loss-row strong{font-size:.86rem;line-height:1.45;color:#29465c;overflow-wrap:anywhere}#lossesView .loss-row span{font-size:.72rem;line-height:1.6;color:#758b9d;margin-top:5px}#lossesView .loss-qty{font-size:1rem;background:#fff2f4;padding:9px 12px;border-radius:9px;color:#ae334c}
@media(max-width:850px){.loss-analysis-grid{grid-template-columns:1fr}.loss-filter-fields{grid-template-columns:1fr}.loss-ranking{gap:16px}}
@media(max-width:580px){.loss-page-head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:18px}.loss-page-head>button{width:100%;min-height:44px}.loss-page-head h1{font-size:1.9rem}.loss-page-head p:not(.eyebrow){font-size:.8rem}.loss-filter-panel{padding:16px;border-radius:15px}.loss-filter-head{flex-direction:column;align-items:stretch;gap:12px}.loss-filter-head .period-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.loss-filter-head .chip{padding:9px 5px;font-size:.7rem;min-width:0}.loss-filter-fields .period-picker{grid-template-columns:1fr 1fr}.loss-filter-fields .period-picker .primary{grid-column:1/-1}.loss-filter-fields input{font-size:16px}#lossesView .loss-summary{grid-template-columns:1fr 1fr;gap:10px}#lossesView .loss-stat{padding:16px;border-radius:14px}#lossesView .loss-stat>b{font-size:1.9rem}#lossesView .loss-stat>span{font-size:.71rem}#lossesView .loss-stat>small{font-size:.65rem;line-height:1.5}.loss-chart-panel,.loss-ranking-panel{padding:16px;border-radius:15px}.loss-panel-head h2{font-size:1rem}.loss-chart-legend{gap:10px;font-size:.67rem}.loss-panel-head{margin-bottom:16px}.loss-history-head>span{font-size:.65rem;padding:7px 9px;white-space:nowrap}#lossesView .loss-row{padding:14px 12px}#lossesView .loss-qty{padding:8px;font-size:.9rem}.loss-chart-data summary{min-height:44px;padding-top:8px}}

/* Fast manual DLC entry, with optional native calendar. */
.quick-expiry-entry{margin-top:16px;padding:16px;border:1px solid #c7ddeb;border-radius:13px;background:#fff;min-width:0}
.quick-expiry-entry>label{display:block;color:#244d68;font-size:.82rem;font-weight:800;margin-bottom:10px}
.quick-expiry-controls{display:grid;grid-template-columns:minmax(0,1fr) 46px auto;align-items:stretch;gap:8px}
.quick-expiry-controls>input{min-width:0;width:100%;height:48px;font-size:16px;letter-spacing:.035em;border:1px solid #b7d1e3;border-radius:10px;padding:10px 12px;color:#153c5a;background:#f9fcfe}
.quick-expiry-controls>input:focus{outline:2px solid #0b83c7;outline-offset:2px}
.quick-expiry-controls>button{min-height:48px;border-radius:10px;padding:10px 16px;white-space:nowrap}
.quick-expiry-calendar{position:relative;display:grid!important;place-items:center;overflow:hidden;border:1px solid #c4d8e6;border-radius:10px;background:#edf5fb;color:#175d90;font-size:1.5rem;min-width:0;cursor:pointer}
.quick-expiry-calendar>input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0;border:0;padding:0}
.quick-expiry-calendar:focus-within{outline:2px solid #0b83c7;outline-offset:2px}
.quick-expiry-hint{font-size:.72rem!important;line-height:1.5;color:#718598;margin:10px 0 0!important;min-height:22px;overflow-wrap:anywhere}
.quick-expiry-hint.valid{color:#167750;font-weight:700}
@media(max-width:430px){.quick-expiry-entry{padding:12px}.quick-expiry-controls{grid-template-columns:minmax(0,1fr) 46px}.quick-expiry-controls>button{grid-column:1/-1;width:100%}.quick-expiry-hint{font-size:.7rem!important}}

/* Private Action user journal; never rendered in store or print layouts. */
.action-user-activity{margin:0 0 24px;padding:24px;background:#fff;border:1px solid #cbddeb;border-radius:18px;box-shadow:0 6px 24px #12344c08}
.action-user-activity .console-section-heading{gap:16px;align-items:flex-start}.action-user-activity h2{font-size:1.2rem;color:#224963;margin:6px 0}.action-user-activity .console-section-heading p{font-size:.8rem;color:#70889b;line-height:1.5}
.user-activity-filters{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr auto;gap:10px;align-items:end;margin:18px 0}.user-activity-filters label{display:grid;gap:6px;font-size:.75rem;color:#62798c}.user-activity-filters select,.user-activity-filters input{width:100%;min-width:0;padding:10px;min-height:44px;border:1px solid #c7dbe9;border-radius:10px;font:inherit;background:#f9fcfe;color:#234d69}.user-activity-filters button{min-height:44px}
.user-activity-summary{display:flex;justify-content:space-between;gap:12px;padding:14px;background:#eff6fb;border-radius:10px;margin-bottom:12px;font-size:.78rem;color:#37627f}.user-activity-summary span{color:#6c8395}
.user-activity-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid #e0eaf2}.user-activity-identity strong{display:block;font-size:.88rem;color:#204864;overflow-wrap:anywhere}.user-activity-identity small,.user-activity-identity time{display:block;color:#7b8fa0;font-size:.72rem;margin-top:6px}.user-activity-kind{display:inline-block;font-size:.72rem;font-weight:800;background:#edf3fa;color:#37678a;padding:6px 10px;border-radius:8px}.user-activity-kind.confirmed{background:#eaf6f0;color:#217951}.user-activity-row p{font-size:.8rem;color:#47667e;line-height:1.5;overflow-wrap:anywhere;margin:10px 0}.user-activity-row>div>small{font-size:.67rem;color:#8b9ba7}.user-activity-row details{font-size:.72rem;color:#58778d;margin-top:10px}.user-activity-row summary{cursor:pointer;min-height:30px}.user-activity-row pre{max-height:250px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#f4f7fa;border-radius:8px}.action-user-activity>button{margin-top:16px}
@media(max-width:800px){.user-activity-filters{grid-template-columns:1fr 1fr}.user-activity-filters button{grid-column:1/-1}.user-activity-row{grid-template-columns:1fr;gap:12px}.user-activity-summary{flex-direction:column;gap:5px}.action-user-activity{padding:16px}.user-activity-filters input,.user-activity-filters select{font-size:16px}.action-user-activity .console-section-heading{flex-wrap:wrap}.user-activity-row summary{min-height:44px;padding-top:8px}}
@media print{.action-user-activity{display:none!important}}
/* Individually authorized store activity dashboard */
.store-activity-entry{display:flex;align-items:center;justify-content:space-between;width:100%;gap:18px;padding:18px 22px;margin:0 0 25px;background:linear-gradient(110deg,#075da8,#087fb4);color:#fff;border:0;border-radius:19px;text-align:left;box-shadow:0 9px 24px #076aab22}
.store-activity-entry strong,.store-activity-entry small{display:block}.store-activity-entry strong{font-size:18px;font-weight:800}.store-activity-entry small{margin-top:5px;font-size:12px;font-weight:500;color:#d9f0ff}.store-activity-entry>span:last-child{font-size:27px}
.activity-hero{position:relative;overflow:hidden;padding:24px 28px 28px;margin-bottom:20px;background:linear-gradient(125deg,#102c4a,#086da9);border-radius:24px;color:white}.activity-hero h1{font-size:clamp(26px,4vw,40px);line-height:1.1;margin:18px 0 10px}.activity-hero .eyebrow{color:#a9daff;margin:18px 0 0}.activity-hero p{color:#daebf6}.activity-back{padding:7px 12px;border:1px solid #ffffff40;background:#ffffff0d;color:#fff;border-radius:10px;font-size:13px}.activity-access-badge{display:inline-block;padding:6px 11px;border:1px solid #64d8c766;border-radius:20px;color:#b9f4e9;font-size:11px;font-weight:700}
.activity-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px}.activity-date-range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.activity-date-range label{margin:0;font-size:12px;color:#526678}.activity-date-range input{margin-top:5px;padding:9px 11px;min-width:140px}.activity-date-range button{padding:10px 13px}.activity-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.activity-panel{min-width:0;background:white;border:1px solid #dce6ef;border-radius:21px;padding:23px;box-shadow:0 8px 26px #183f6706}.activity-panel h2{font-size:23px;line-height:1.25}.activity-chart-note{color:#617484;font-size:12px;line-height:1.6;margin:12px 0 17px}.activity-chart-tag{padding:7px 11px;border-radius:10px;color:#076bb0;background:#eaf5fd;font-size:12px;font-weight:800}.activity-chart-tag.loss{color:#b72643;background:#fff0f3}.activity-journal-filters{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.activity-journal-filters label{flex:1;min-width:160px;font-size:13px}.store-activity-view #storeActivityStatus{font-size:12px;color:#627589;margin:10px 0 18px}.store-activity-view .loss-stat-primary{background:linear-gradient(125deg,#086ba9,#1595b6)}.store-activity-view .loss-stat-primary small,.store-activity-view .loss-stat-primary span{color:#deeff9}.store-activity-view .user-activity-row{border-left:3px solid #e0ecf6;padding:17px 16px;margin-bottom:12px;border-radius:12px;background:#f8fafc}.store-activity-view .user-activity-row p{font-size:13px;overflow-wrap:anywhere}.activity-panel .section-head{margin:0}.activity-panel .loss-chart-data{margin-top:8px}.store-activity-view .loss-stat b{font-size:clamp(24px,3vw,35px)}
@media(max-width:760px){.activity-chart-grid{grid-template-columns:1fr;gap:16px}.activity-hero{padding:20px}.activity-panel{padding:18px}.activity-panel h2{font-size:21px}.activity-toolbar{display:block}.activity-date-range{margin-top:14px;display:grid;grid-template-columns:1fr 1fr}.activity-date-range input{width:100%;min-width:0}.activity-date-range button{grid-column:1/-1}.store-activity-entry{padding:16px 18px}.store-activity-entry strong{font-size:17px}.store-activity-entry small{font-size:11px}.store-activity-view .user-activity-row{grid-template-columns:1fr;gap:12px}.activity-journal-filters{gap:10px}.activity-journal-filters label{min-width:130px}}
/* Brand pilotage: overview, store workspaces, and scoped management. */
.brand-admin-mode .admin-view{display:block;max-width:1340px;margin:auto}.brand-admin-mode .console-main{margin:0;padding:0;min-width:0}.brand-admin-mode #adminStoreList{display:none}.brand-admin-mode #consolePanelstores .admin-toolbar>*{display:none}.brand-admin-mode #consolePanelstores .admin-toolbar>#adminSelectAll{display:block}.brand-admin-mode #consolePanelstores .admin-directory-head h2{font-size:19px}.brand-admin-mode #consolePanelstores .admin-directory-head .eyebrow{display:none}.brand-admin-mode #consolePanelstores .admin-directory-head h2::after{content:' · opérations groupées';font-weight:500;color:#6a7f90}.brand-admin-mode #consolePanelstores{margin-top:18px}.brand-admin-mode #adminStoreMeta{display:none}
.brand-pilot-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 34px;margin-bottom:20px;background:linear-gradient(118deg,#102d4b,#07659c 78%,#188cab);border:1px solid #ffffff30;border-radius:26px;color:white;box-shadow:0 16px 40px #184b7112}.brand-pilot-hero .eyebrow{color:#9ed7ff}.brand-pilot-hero h1{font-size:clamp(28px,4vw,43px);letter-spacing:-.04em;margin:8px 0}.brand-pilot-hero p{margin:7px 0 0;color:#d9eaf6;font-size:14px}.brand-pilot-hero button{flex-shrink:0;color:white;background:#ffffff12;border-color:#ffffff45}.brand-pilot-nav{display:flex;gap:6px;padding:6px;margin-bottom:20px;background:#e6edf5;border:1px solid #dce5ed;border-radius:15px;overflow:auto}.brand-pilot-nav button{flex:1;white-space:nowrap;min-height:45px;border:0;border-radius:10px;background:transparent;color:#52677b;font-weight:750;padding:10px 20px}.brand-pilot-nav button.active{color:#0c5e9e;background:#fff;box-shadow:0 4px 12px #17477010}.brand-period{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:15px}.brand-period .activity-date-range{margin:0}.brand-admin-workspace #brandPilotStatus{font-size:12px;color:#698193;margin:10px 0 20px}.brand-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 23px}.brand-metric{min-width:0;display:flex;flex-direction:column;gap:7px;padding:22px 24px;background:white;border:1px solid #dce5ee;border-radius:20px;box-shadow:0 7px 25px #233c5805}.brand-metric span{font-size:13px;font-weight:750;color:#536a7d}.brand-metric strong{font-size:clamp(27px,3.7vw,43px);line-height:1.2;color:#17374e;letter-spacing:-.04em}.brand-metric small{font-size:11px;color:#738694;line-height:1.5}.brand-metric-primary.primary-0{background:linear-gradient(130deg,#075daa,#087fb7);border-color:transparent}.brand-metric-primary.primary-1{background:linear-gradient(130deg,#1b7767,#299b7d);border-color:transparent}.brand-metric-primary strong{color:#fff}.brand-metric-primary span,.brand-metric-primary small{color:#def3fa}.brand-panel{min-width:0;padding:26px;background:white;border:1px solid #dce5ee;border-radius:22px;box-shadow:0 7px 30px #143b5c06;margin-bottom:20px}.brand-panel h2{font-size:23px;margin:0 0 15px;letter-spacing:-.025em}.brand-panel .section-head{margin:0}.brand-panel .section-head h2{margin-bottom:0}.brand-panel .loss-trend-svg{width:100%;height:auto;max-height:340px}.brand-admin-workspace .activity-chart-grid{gap:20px;margin-top:20px}.brand-admin-workspace .activity-chart-grid .brand-panel{margin:0}.brand-curve-legend{display:flex;gap:22px;margin:18px 0 8px;justify-content:center;color:#526b7e;font-size:13px;font-weight:750}.brand-curve-legend span{display:flex;align-items:center;gap:8px}.brand-curve-legend i{width:25px;height:3px;background:#0877c6;border-radius:3px}.brand-curve-legend i.refs{background:#218a72}.brand-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.brand-store-card{position:relative;min-width:0;width:100%;padding:23px;text-align:left;border:1px solid #d8e3ec;border-top:4px solid #2d947b;background:#fff;border-radius:20px;color:#19364d;box-shadow:0 8px 25px #23445e08;transition:transform .15s,box-shadow .15s}.brand-store-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #23445e13}.brand-store-card:focus-visible{outline:3px solid #0b79bd;outline-offset:4px}.brand-store-card.expired{border-top-color:#1d2c40}.brand-store-card.urgent{border-top-color:#ca2e4c}.brand-store-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.brand-store-code{font-size:11px;font-weight:800;letter-spacing:.04em;color:#527084}.brand-store-health{font-size:10px;padding:5px 8px;background:#eaf8f2;color:#287e64;border-radius:20px}.brand-store-card.expired .brand-store-health{background:#edf1f7;color:#223247}.brand-store-card.urgent .brand-store-health{background:#fff0f3;color:#bc2e48}.brand-store-card h3{font-size:19px;line-height:1.3;margin:16px 0 19px;overflow-wrap:anywhere}.brand-store-rate{display:flex;align-items:center;gap:14px}.brand-store-rate strong{font-size:32px;line-height:1.2;letter-spacing:-.05em;color:#1268a4;white-space:nowrap}.brand-store-rate span{font-size:11px;line-height:1.6;color:#6c7f8f}.brand-store-progress{height:5px;background:#eaf0f6;border-radius:20px;overflow:hidden;margin:15px 0 19px}.brand-store-progress i{display:block;height:100%;background:linear-gradient(90deg,#096fae,#33b6c5);border-radius:20px}.brand-store-foot{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#718392}.brand-store-foot strong{color:#126aa5}.brand-store-search{max-width:500px;font-size:12px;margin:18px 0}.brand-management-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.brand-management-actions button{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:21px 44px 21px 21px;min-height:100px;background:#fff;border:1px solid #d8e4ee;border-radius:17px;color:#1d4260;box-shadow:0 7px 18px #183f6504}.brand-management-actions button strong{font-size:15px}.brand-management-actions button small{font-size:11px;color:#718797;line-height:1.5}.brand-management-actions button>span{position:absolute;right:18px;top:20px;font-size:24px;color:#1873ab}.brand-store-detail-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:23px 0}.brand-store-detail-head h2{font-size:31px;letter-spacing:-.035em;margin:7px 0}.brand-delete-zone{margin-top:25px;padding:16px 20px;border:1px solid #eadce0;border-radius:14px;color:#667988}.brand-delete-zone summary{font-weight:700;cursor:pointer}.brand-delete-zone p{font-size:12px;line-height:1.6}.brand-admin-workspace .console-table-scroll{margin:16px 0 25px;border-radius:15px}.brand-admin-workspace .console-table button{font-size:11px;min-height:34px;padding:7px 10px}.brand-admin-workspace .console-table-scroll input[type=checkbox]{width:18px;height:18px;accent-color:#0874b6}.brand-admin-workspace .action-user-activity{margin-top:0}
@media(max-width:1000px){.brand-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-management-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.brand-pilot-hero{padding:23px 21px;align-items:flex-start;border-radius:20px}.brand-pilot-hero h1{font-size:30px}.brand-pilot-hero p{font-size:12px;line-height:1.5}.brand-pilot-hero button{padding:9px 11px;min-height:38px;font-size:11px}.brand-pilot-nav{gap:3px;margin-bottom:18px}.brand-pilot-nav button{padding:10px 11px;font-size:12px;min-height:42px}.brand-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-metric{padding:17px 16px;border-radius:16px}.brand-metric span{font-size:11px}.brand-metric strong{font-size:29px}.brand-metric small{font-size:10px}.brand-panel{padding:19px 17px;border-radius:18px}.brand-panel h2{font-size:21px}.brand-admin-workspace .activity-chart-grid{grid-template-columns:1fr;gap:15px}.brand-store-grid{grid-template-columns:1fr;gap:13px}.brand-store-card{padding:20px}.brand-store-card h3{margin:13px 0 15px;font-size:21px}.brand-store-rate strong{font-size:35px}.brand-store-foot{font-size:12px}.brand-store-code{font-size:12px}.brand-store-health{font-size:11px}.brand-management-actions{gap:10px}.brand-management-actions button{padding:17px 30px 17px 15px;min-height:105px;border-radius:14px}.brand-management-actions button strong{font-size:13px}.brand-management-actions button small{font-size:10px}.brand-management-actions button>span{right:12px;font-size:20px}.brand-store-detail-head{display:block}.brand-store-detail-head button{margin-top:12px}.brand-store-detail-head h2{font-size:27px}.brand-period{display:block}.brand-period .activity-date-range{display:grid;grid-template-columns:1fr 1fr;margin-top:13px}.brand-admin-mode #consolePanelstores .admin-directory-head h2{font-size:17px}}

/* Mobile layout: keep controls and their labels inside the viewport. */
select{font:inherit}
.activity-journal-filters select{display:block;width:100%;min-width:0;max-width:100%;margin-top:6px;padding:11px 12px;min-height:46px;border:1px solid #c7dbe9;border-radius:10px;background:#f9fcfe;color:#234d69;font:inherit}
.store-activity-view .loss-stat-primary b{color:#fff}
@media(max-width:850px){
 main, .view, .console-main, .console-panel, .brand-admin-workspace{min-width:0;max-width:100%}
 :where(main,dialog,.auth-gate) :where(section,article,form,label,fieldset,header,footer,div){min-width:0}
 :where(main,dialog,.auth-gate) :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-width:0;max-width:100%;width:100%;font-size:16px;box-sizing:border-box}
 :where(main,dialog) :where(h1,h2,h3,p,strong,small,span,a,button){overflow-wrap:anywhere}
 :where(main,dialog) pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
 :where(main,dialog) img,:where(main,dialog) svg{max-width:100%}
 :where(main,dialog) button{max-width:100%}
 .app-head .brand{min-width:0;flex:1}
 .app-head .brand>div{min-width:0}
 .app-head .brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-head .app-logo,.app-head .head-actions{flex-shrink:0}
 .console-table-scroll{overflow:visible}
 .console-table{display:block;min-width:0;width:100%;font-size:14px}
 .console-table caption{display:block;width:100%;padding:12px 14px}
 .console-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .console-table tbody{display:block;width:100%}
 .console-table tr{display:grid;grid-template-columns:minmax(0,1fr);padding:14px;gap:12px;border-top:1px solid #e0e8ef}
 .console-table td{display:block;padding:0;border:0;min-width:0;overflow-wrap:anywhere}
 .console-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:800;letter-spacing:.035em;color:#65778b;margin-bottom:5px}
 .console-table td>strong{font-size:14px}
 .console-table td>small{max-width:none;font-size:12px}
 .console-table td>button,.brand-admin-workspace .console-table button{min-height:44px;font-size:13px;white-space:normal;margin:3px 5px 3px 0}
 .loss-data-scroll,.bl-model-preview-scroll{max-width:100%;overflow-x:visible}
 .loss-data-scroll table,.bl-model-preview-table{table-layout:fixed;width:100%;min-width:0}
 .loss-data-scroll th,.loss-data-scroll td,.bl-model-preview-table th,.bl-model-preview-table td{overflow-wrap:anywhere;white-space:normal;padding:7px 4px}
 .activity-journal-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .activity-journal-filters label{min-width:0;width:100%}
 .activity-journal-filters select{font-size:16px}
 .user-activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .brand-pilot-nav,.console-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;width:100%}
 .brand-pilot-nav button,.console-sidebar nav button{min-width:0;white-space:normal;min-height:44px}
 .brand-period .loss-presets,.loss-presets{display:flex;flex-wrap:wrap;max-width:100%}
 .brand-period .activity-date-range,.activity-date-range,.period-picker,.dashboard-rates,.loss-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .modal-head h2,.section-head h2,.page-head>div,.brand-pilot-hero>div{min-width:0}
 .section-head,.page-head,.brand-pilot-hero,.loss-filter-head{flex-wrap:wrap;gap:12px}
 .modal-actions{flex-wrap:wrap}
 .modal-actions button{min-width:0;white-space:normal;flex:1}
 .import-review-files>article{grid-template-columns:minmax(0,1fr)}
 .bottom-nav button{min-width:0;padding-left:2px;padding-right:2px}
 .bottom-nav button span{font-size:clamp(10px,2.8vw,14px)}
}
@media(max-width:380px){
 main{padding-left:12px;padding-right:12px}
 .app-head{padding-left:12px;padding-right:12px;gap:6px}
 .app-head .brand{gap:7px}
 .app-head .brand strong{font-size:16px}
 .app-head .app-logo{width:38px;height:38px}
 .head-actions{gap:4px}
 .activity-panel,.brand-panel{padding:16px}
 .user-activity-filters,.activity-date-range,.brand-period .activity-date-range,.loss-filter-fields .period-picker{grid-template-columns:minmax(0,1fr)}
 .console-table tr{padding:12px}
}

/* Keep incremental-list controls full width on all catalogue layouts. */
.list-load-more{grid-column:1/-1;min-height:48px;margin:8px 0}
