:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:#141815;background:#f4f6f4;line-height:1.45;font-synthesis:none;--green:#0f7a45;--green-dark:#085a32;--muted:#67736c;--border:#dde5df;--danger:#a22b2b;--shadow:0 12px 34px rgba(18,46,29,.08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f6f4}button,input,select{font:inherit}.loading,.fatal{padding:3rem 1.25rem;text-align:center}.app-shell{max-width:760px;margin:0 auto;padding:env(safe-area-inset-top) 1rem calc(92px + env(safe-area-inset-bottom))}.page{padding-top:1rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.topbar h1{margin:.1rem 0 0;font-size:1.75rem}.eyebrow{margin:0;color:var(--green);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-pill{background:#dff3e7;color:var(--green-dark);padding:.42rem .68rem;border-radius:999px;font-size:.78rem;font-weight:700}.status-pill.offline{background:#fff0d8;color:#8a5a00}.hero-card,.card,.warning-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.hero-card{display:flex;gap:1rem;align-items:center;background:linear-gradient(145deg,#fff,#edf8f1)}.hero-card img{width:78px;height:78px;object-fit:contain;border-radius:18px;background:#fff}.hero-card span{color:var(--green);font-weight:700;font-size:.82rem}.hero-card h2{margin:.15rem 0}.hero-card p,.card p,.muted,.help{color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1rem}.metrics article{background:#fff;border:1px solid var(--border);border-radius:18px;padding:.85rem}.metrics span{display:block;color:var(--muted);font-size:.76rem}.metrics strong{display:block;margin-top:.3rem;font-size:1rem}.card-heading{display:flex;justify-content:space-between;align-items:start}.sequence-row{display:flex;justify-content:space-between;padding:.7rem 0;border-top:1px solid var(--border)}.sequence-row:first-of-type{margin-top:.5rem}.primary-button,.secondary-button,.text-button{border:0;border-radius:14px;cursor:pointer;font-weight:750}.primary-button{display:inline-block;background:var(--green);color:white;padding:.82rem 1rem}.primary-button:hover{background:var(--green-dark)}.secondary-button{display:inline-block;background:#eaf4ee;color:var(--green-dark);padding:.7rem .9rem}.text-button{background:transparent;color:var(--green);padding:.4rem}.form-section h2{font-size:1.1rem;margin-top:0}.field{display:block;margin:.85rem 0}.field>span{display:block;font-size:.83rem;font-weight:700;margin-bottom:.35rem}.field input,.field select{width:100%;border:1px solid #cad6ce;border-radius:13px;background:#fff;padding:.78rem}.field input:focus,.field select:focus{outline:3px solid rgba(15,122,69,.15);border-color:var(--green)}.error{display:block;color:var(--danger);min-height:1rem;margin-top:.2rem}.switch-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.switch-row small{display:block;color:var(--muted)}.switch-row input{width:22px;height:22px;accent-color:var(--green)}.image-field{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;border-top:1px solid var(--border);padding:.9rem 0}.image-field p{margin:.1rem 0;font-size:.8rem}.image-field img,.image-placeholder{grid-row:1/3;grid-column:2;width:74px;height:58px;border-radius:12px;object-fit:contain;border:1px solid var(--border);background:#fafafa}.image-placeholder{display:grid;place-items:center;font-size:.66rem;color:var(--muted);text-align:center}.danger-link{border:0;background:transparent;color:var(--danger);padding:0;text-align:left;cursor:pointer}.sequence-edit{display:grid;grid-template-columns:50px 1fr 1fr;gap:.55rem;align-items:end;border-top:1px solid var(--border);padding:.8rem 0}.sequence-edit label{font-size:.74rem}.sequence-edit input{width:100%;padding:.6rem;border:1px solid #cad6ce;border-radius:10px}.sequence-edit code{grid-column:1/-1;background:#f3f6f4;padding:.55rem;border-radius:9px}.sticky-actions{position:sticky;bottom:82px;display:flex;align-items:center;gap:.8rem;background:rgba(244,246,244,.94);backdrop-filter:blur(12px);padding:.8rem 0}.warning-card{background:#fff8e8;border-color:#efdba7}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--border);padding:.45rem max(.4rem,env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.4rem,env(safe-area-inset-left));z-index:10}.nav-item{border:0;background:transparent;color:#6f7a73;font-size:.67rem;padding:.25rem;display:grid;gap:.1rem;place-items:center}.nav-item span{font-size:1.25rem}.nav-item.active{color:var(--green);font-weight:800}.nav-item.add span{display:grid;place-items:center;background:var(--green);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.8rem;box-shadow:0 7px 20px rgba(15,122,69,.28)}.nav-item:disabled{opacity:.45}.file-button{cursor:pointer}@media(max-width:520px){.metrics{grid-template-columns:1fr}.hero-card{align-items:flex-start}.topbar h1{font-size:1.48rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.primary-icon{border:0;background:var(--green);color:#fff;width:44px;height:44px;border-radius:14px;font-size:1.6rem;cursor:pointer}.search-panel{display:flex;gap:.65rem;align-items:center;margin-bottom:.75rem}.search-panel input[type=search]{flex:1;border:1px solid var(--border);border-radius:15px;padding:.82rem;background:#fff}.compact-check{display:flex;gap:.35rem;align-items:center;font-size:.78rem;color:var(--muted)}.result-count{color:var(--muted);font-size:.82rem}.catalogue-grid{display:grid;gap:1rem}.model-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:1rem;box-shadow:var(--shadow)}.model-card.inactive{opacity:.68}.model-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:start}.model-card h2{font-size:1.18rem;margin:.4rem 0}.code-pill{display:inline-block;background:#e8f4ed;color:var(--green-dark);padding:.25rem .52rem;border-radius:8px;font-size:.72rem;font-weight:900;letter-spacing:.06em}.status-dot{font-size:.72rem;font-weight:800;color:var(--green)}.model-card.inactive .status-dot{color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.chip-row span{background:#f0f4f1;border:1px solid var(--border);border-radius:999px;padding:.3rem .55rem;font-size:.72rem;font-weight:700}.model-summary,.detail-list{margin:0}.model-summary>div,.detail-list>div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding:.58rem 0}.model-summary dt,.detail-list dt{color:var(--muted);font-size:.78rem}.model-summary dd,.detail-list dd{margin:0;text-align:right;font-weight:700;font-size:.82rem}.card-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.8rem}.model-quick{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid var(--border);background:transparent;padding:.8rem 0;text-align:left;cursor:pointer}.model-quick small{display:block;color:var(--muted);margin-top:.15rem}.model-quick b{font-size:1.4rem;color:var(--green)}.empty-state{text-align:center;background:#fff;border:1px dashed #b8c7bd;border-radius:22px;padding:2rem 1rem;color:var(--muted)}.model-hero{background:linear-gradient(145deg,#0f7a45,#07552f);color:#fff;border-radius:24px;padding:1.2rem;margin-bottom:1rem;box-shadow:var(--shadow)}.model-hero .code-pill{background:rgba(255,255,255,.18);color:#fff}.model-hero h2{margin:.55rem 0 .25rem}.model-hero p{opacity:.88}.model-hero .chip-row span{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}.component-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.55rem}.component-pair>div:not(.plus-sign){background:#f6f8f6;border:1px solid var(--border);border-radius:16px;padding:.8rem}.component-pair span,.component-pair small{display:block;color:var(--muted);font-size:.74rem}.component-pair strong{display:block;margin:.25rem 0}.plus-sign{font-size:1.4rem;color:var(--green);font-weight:900}.simulation-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.8rem}.simulation-grid label{font-size:.76rem;font-weight:700}.simulation-grid input,.simulation-grid select{width:100%;padding:.65rem;border:1px solid var(--border);border-radius:11px;margin-top:.25rem;background:#fff}.generated-lines{margin-top:.8rem;border:1px solid var(--border);border-radius:14px;overflow:hidden}.generated-lines>div{display:grid;grid-template-columns:65px 1fr auto;gap:.5rem;padding:.7rem;border-top:1px solid var(--border);align-items:center}.generated-lines>div:first-child{border-top:0}.generated-lines span{color:var(--muted);font-size:.72rem}.error-message,.form-errors{color:var(--danger)}.form-errors p{background:#fff0f0;border:1px solid #efcaca;border-radius:10px;padding:.6rem;margin:.4rem 0}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.choice-box input{position:absolute;opacity:0}.choice-box span{display:block;border:1px solid var(--border);border-radius:13px;padding:.7rem;text-align:center;font-size:.8rem;font-weight:750;background:#fff}.choice-box input:checked+span{background:#e5f4eb;border-color:var(--green);color:var(--green-dark)}textarea{width:100%;border:1px solid #cad6ce;border-radius:13px;background:#fff;padding:.78rem;font:inherit}.size-selector{margin:.9rem 0}.size-selector>strong{display:block;font-size:.8rem;margin-bottom:.45rem}.size-grid{display:flex;flex-wrap:wrap;gap:.4rem}.size-grid label:not(.custom-size) input{position:absolute;opacity:0}.size-grid label:not(.custom-size) span{display:grid;place-items:center;min-width:42px;height:38px;border:1px solid var(--border);border-radius:10px;font-size:.75rem;font-weight:800;background:#fff}.size-grid label:not(.custom-size) input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.custom-size input{width:75px;height:38px;border:1px dashed #aebdb4;border-radius:10px;padding:.5rem}.two-columns,.three-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.dynamic-row{display:grid;gap:.45rem;align-items:center;border-top:1px solid var(--border);padding:.65rem 0}.dynamic-row input{min-width:0;border:1px solid #cad6ce;border-radius:10px;padding:.62rem}.dynamic-row button{border:0;background:#fff0f0;color:var(--danger);border-radius:9px;width:34px;height:34px;font-size:1.2rem}.color-row{grid-template-columns:1fr 1fr auto auto}.color-row label{font-size:.72rem;white-space:nowrap}.pocket-row{grid-template-columns:1fr 85px auto}.level-summary{background:#edf7f1;border-radius:12px;padding:.65rem}.result-count{margin:.2rem 0 .8rem}@media(max-width:520px){.two-columns,.three-columns,.simulation-grid{grid-template-columns:1fr}.color-row{grid-template-columns:1fr 1fr}.color-row label,.color-row button{justify-self:start}.component-pair{grid-template-columns:1fr}.plus-sign{text-align:center}.generated-lines>div{grid-template-columns:1fr auto}.generated-lines span{grid-column:1/-1}}
textarea { width: 100%; border: 1px solid var(--border); border-radius: 14px; padding: 12px 14px; font: inherit; resize: vertical; background: #fff; color: var(--text); }
.form-errors { color: #a51d2d; margin: 10px 0; }
.form-errors p { margin: 4px 0; }
.header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.line-card{border:1px solid var(--border);border-radius:18px;padding:1rem;margin:.75rem 0;background:#fff}.line-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.line-card h3{margin:.45rem 0 .25rem}.line-card p{margin:.25rem 0 .8rem;color:var(--muted)}.line-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0}.line-metrics div{background:var(--surface-soft);padding:.65rem;border-radius:12px}.line-metrics dt{font-size:.72rem;color:var(--muted)}.line-metrics dd{margin:.15rem 0 0;font-weight:700}.totals-card{background:#111;color:#fff;border-radius:22px;padding:1rem;margin:1rem 0;box-shadow:var(--shadow)}.totals-card>div{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.totals-card>div:last-child{border-bottom:0}.totals-card .grand-total{font-size:1.18rem;color:#8fe6b2;padding-top:.85rem}.preview-line{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border)}.preview-line:last-child{border-bottom:0}.preview-line small{display:block;color:var(--muted);margin-top:.25rem}.add-line-panel{border:1px solid rgba(22,163,74,.25)}
@media(max-width:540px){.form-grid{grid-template-columns:1fr}.preview-line{grid-template-columns:1fr auto}.preview-line b{grid-column:2}.header-actions{justify-content:flex-end}.line-metrics{grid-template-columns:1fr 1fr}}
.quality-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.quality-list{list-style:none;padding:0;margin:.75rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.quality-list li{display:flex;gap:.45rem;align-items:center;padding:.55rem .65rem;border-radius:11px;font-size:.78rem}.quality-ok{background:#e8f6ee;color:#07552f}.quality-missing{background:#fff3dc;color:#8a5a00}.quality-list span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.75);font-weight:900}.payment-method-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;border-top:1px solid var(--border);padding:.85rem 0}.payment-method-row input,.payment-method-row select{width:100%;padding:.65rem;border:1px solid var(--border);border-radius:10px;background:#fff}.payment-method-row label{font-size:.76rem;display:flex;align-items:center;gap:.35rem}.payment-method-row .danger-link{justify-self:start}@media(max-width:540px){.quality-list,.payment-method-row{grid-template-columns:1fr}}
.payment-selection{border:1px solid #dbe3de;border-radius:14px;padding:14px;margin:16px 0}.payment-selection legend{font-weight:800;color:#0f7a45;padding:0 6px}

/* Correctifs V1.0 : formulaires iPhone et navigation */
.app-shell{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.topbar{position:sticky;top:0;z-index:20;background:rgba(244,246,244,.96);backdrop-filter:blur(16px);padding:.65rem 0;margin-bottom:.8rem}
.bottom-nav{grid-template-columns:repeat(6,1fr);padding:.22rem max(.25rem,env(safe-area-inset-right)) calc(.22rem + env(safe-area-inset-bottom)) max(.25rem,env(safe-area-inset-left))}
.nav-item{font-size:.6rem;padding:.12rem;min-height:48px}
.nav-item span{font-size:1.05rem}
.nav-item.add span{width:42px;height:42px;font-size:1.5rem}
.form-status-bar{min-height:2.5rem;padding:.5rem 0;color:var(--green);font-weight:700}
.inline-create-panel{margin-top:1rem;padding:1rem;border:1px dashed #9dc9ae;border-radius:16px;background:#f6fbf8}
.inline-create-panel h3{margin-top:0}
@media(max-width:540px){.topbar{align-items:flex-start}.topbar .header-actions{max-width:58%;gap:.3rem}.topbar .primary-button,.topbar .secondary-button{padding:.58rem .68rem;font-size:.75rem}.topbar .text-button{font-size:.74rem}.bottom-nav{grid-template-columns:repeat(6,1fr)}.nav-item{font-size:.55rem}}

/* Sprint 8.2.1 - ergonomie, confirmation et actions accessibles */
.app-shell{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.bottom-nav{min-height:54px;padding-top:.12rem}
.topbar{border-bottom:1px solid rgba(221,229,223,.75)}
.topbar .header-actions{margin-left:auto}
.topbar .primary-button{box-shadow:0 5px 16px rgba(15,122,69,.2)}
.success-card{background:#fff;border:1px solid #b9dfc7;border-radius:24px;padding:2rem 1.25rem;text-align:center;box-shadow:var(--shadow)}
.success-icon{width:62px;height:62px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:#dff3e7;color:var(--green);font-size:2rem;font-weight:900}
.success-card h2{margin:.25rem 0}.result-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem}
.single-seal{grid-template-columns:1fr!important;max-width:92mm;margin-left:auto;margin-right:auto}
@media(max-width:540px){.app-shell{padding-left:.7rem;padding-right:.7rem}.topbar{gap:.5rem}.topbar>div:first-child{min-width:0}.topbar h1{font-size:1.25rem}.topbar .header-actions{max-width:none;flex-wrap:nowrap}.topbar .header-actions .text-button{padding:.45rem .25rem}.topbar .header-actions .primary-button{padding:.58rem .75rem;font-size:.73rem}.card,.hero-card,.warning-card{border-radius:18px}.bottom-nav{min-height:50px}.nav-item{min-height:44px}.nav-item.add span{width:38px;height:38px}.page{padding-top:.35rem}}
.article-filters{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:.5rem}.article-filters select{border:1px solid var(--border);border-radius:15px;padding:.75rem;background:#fff;min-width:0}@media(max-width:620px){.article-filters{grid-template-columns:1fr 1fr}.article-filters input{grid-column:1/-1}}


/* RC1.1 - Centre de configuration adaptatif */
.settings-page{max-width:980px;margin:0 auto}.settings-tabs{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding:.25rem 0 .75rem;position:sticky;top:74px;z-index:18;background:rgba(244,246,244,.97);backdrop-filter:blur(14px)}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{flex:0 0 auto;border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:999px;padding:.62rem .82rem;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.settings-tabs button.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 5px 15px rgba(15,122,69,.18)}.settings-panel{display:none}.settings-panel.active{display:block;animation:settings-in .18s ease-out}.settings-page .form-section{max-width:760px;margin-left:auto;margin-right:auto}.settings-page textarea{min-height:86px}.coming-soon{border-style:dashed;background:linear-gradient(145deg,#fff,#f4faf6)}.coming-soon ul{columns:2;padding-left:1.1rem;color:var(--muted)}@keyframes settings-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:760px){.settings-page .payment-method-row{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-page .payment-method-row .danger-link{grid-column:1/-1}.settings-tabs{justify-content:center}}@media(max-width:540px){.settings-tabs{top:67px;margin:0 -.7rem;padding-left:.7rem;padding-right:.7rem}.settings-tabs button{padding:.56rem .72rem;font-size:.7rem}.settings-page .topbar small{display:block;max-width:180px}.coming-soon ul{columns:1}}

.app-toast{position:fixed;left:50%;top:max(14px,env(safe-area-inset-top));transform:translate(-50%,-12px);z-index:1200;max-width:min(92vw,520px);padding:.8rem 1rem;border-radius:14px;background:#103f2a;color:#fff;font-weight:800;box-shadow:0 14px 34px rgba(0,0,0,.24);opacity:0;pointer-events:none;transition:.2s ease}.app-toast.error{background:#9f2222}.app-toast.visible{opacity:1;transform:translate(-50%,0)}

/* RC1.1.2 - édition des lignes et confirmation de configuration */
.line-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.line-card.editing{border:2px solid var(--green,#0f7a45);box-shadow:0 0 0 3px rgba(15,122,69,.1)}.line-details{font-weight:700;color:#0f7a45;margin:.45rem 0 .8rem}.line-edit-banner{margin:0 0 1rem;padding:.8rem 1rem;border-radius:12px;background:#eef7f2;border:1px solid #b9dbc8;color:#173c28}.line-editor-active{border:2px solid #0f7a45;scroll-margin-top:16px}.result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.success-card{max-width:720px;margin:24px auto;text-align:center}.success-card .success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#0f7a45;color:white;font-size:34px;font-weight:900}@media(max-width:700px){.line-card-head{align-items:flex-start}.line-card-actions{width:100%;justify-content:flex-start}.line-card-actions button{min-height:42px}.result-actions>*{width:100%}}

/* RC1.1.3 - régularisations, BL, ordres de fabrication et rentabilité */
:root{--surface-soft:#f1f6f3;--text:#141815}
.reversal-row{background:#fff5f5;border-left:4px solid var(--danger);padding-left:.75rem}.reversal-row b{color:var(--danger)}
.credit-line-row,.production-line{border:1px solid var(--border);border-radius:18px;padding:1rem;margin:.8rem 0;background:#fff;box-shadow:0 6px 18px rgba(18,46,29,.04)}
.credit-line-row>div:first-child,.production-line>div:first-child{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.65rem}.credit-line-row h3,.production-line h3{margin:0;font-size:1rem}.credit-line-row p,.production-line p{margin:.2rem 0;color:var(--muted);font-size:.8rem}
.credit-line-row .field,.production-line .field{margin:.5rem 0}.credit-line-row input:disabled,.production-line input:disabled,.production-line select:disabled{background:#eef1ef;color:#5f6b64}
.compact-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.compact-actions .danger-link,.compact-actions .text-button{min-height:38px}
.three-columns,.two-columns{display:grid;gap:.7rem}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.production-line .line-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.75rem}.production-line .line-metrics div{background:var(--surface-soft);border:1px solid #e0e8e3}
.production-line select,.production-line input{width:100%;border:1px solid #cad6ce;border-radius:12px;background:#fff;padding:.7rem}
.card-actions{flex-wrap:wrap}.card-actions button{min-height:42px}
@media(max-width:700px){.three-columns,.two-columns,.production-line .line-metrics{grid-template-columns:1fr}.credit-line-row>div:first-child,.production-line>div:first-child{display:block}.preview-line{grid-template-columns:1fr}.preview-line b{grid-column:auto}.compact-actions{justify-content:flex-start}.card-actions{justify-content:stretch}.card-actions button{flex:1 1 100%}}

/* RC1.1.4 - catalogue intelligent, descriptions commerciales et aide contextuelle */
.article-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #b9cbbf;border-radius:16px;background:#fff;padding:.85rem 1rem;text-align:left;cursor:pointer;margin:.7rem 0}.article-picker-trigger span{min-width:0}.article-picker-trigger strong,.article-picker-trigger small{display:block}.article-picker-trigger small{color:var(--muted);margin-top:.18rem}.article-picker-trigger b{font-size:1.35rem;color:var(--green)}
.article-picker-panel{display:none;border:1px solid var(--border);border-radius:18px;background:#f8fbf9;padding:.75rem;margin:.5rem 0 1rem}.article-picker-panel.open{display:block}.article-picker-panel .field{margin:.15rem 0 .7rem}.article-picker-results{max-height:310px;overflow:auto;border-radius:12px;background:#fff;border:1px solid var(--border)}.article-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:0;border-bottom:1px solid var(--border);background:#fff;padding:.72rem .8rem;text-align:left;cursor:pointer}.article-result:last-child{border-bottom:0}.article-result:hover,.article-result.selected{background:#eef8f2}.article-result strong,.article-result small{display:block}.article-result small{color:var(--muted);margin-top:.15rem}.article-result b{color:var(--green);font-size:.76rem}.picker-empty{padding:1rem;margin:0;color:var(--muted)}
.internal-advice{border-left:4px solid #d69b18;background:#fff8e7;border-radius:12px;padding:.75rem .9rem;margin:.85rem 0}.internal-advice strong{display:block;color:#7b5400;font-size:.82rem}.internal-advice p{margin:.25rem 0 0;color:#69583a;font-size:.82rem}.description-preview{border:1px solid #b9dbc8;background:#eef8f2;border-radius:14px;padding:.8rem .9rem;margin:.9rem 0}.description-preview span{display:block;color:var(--green-dark);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.description-preview strong{display:block;margin-top:.28rem;line-height:1.45}.selection-hint{padding:.8rem 0;margin:0}
.favorites-panel{border:1px solid #c6dfd0;background:linear-gradient(145deg,#fff,#f3faf6)}.favorite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.favorite-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.55rem;border:1px solid var(--border);border-radius:15px;background:#fff;padding:.75rem;text-align:left;cursor:pointer;min-height:78px}.favorite-card:hover{border-color:#77b992;box-shadow:0 7px 18px rgba(15,122,69,.09)}.favorite-icon{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e7f5ec;color:var(--green);font-weight:900}.favorite-card strong{font-size:.85rem;align-self:end}.favorite-card small{color:var(--muted);font-size:.7rem;align-self:start}.custom-favorite{border-style:dashed}.all-models-row{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end;margin-top:.85rem}.all-models-row .field{margin:0}
.action-with-help{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:nowrap}.info-button{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #94b9a4;background:#f1f8f4;color:var(--green-dark);font-weight:900;font-family:Georgia,serif;cursor:pointer;flex:0 0 auto}.info-button:hover,.info-button:focus{background:var(--green);color:#fff;outline:none}.help-modal-backdrop{position:fixed;inset:0;background:rgba(7,31,19,.56);z-index:1500;display:grid;place-items:center;padding:1rem}.help-modal{position:relative;width:min(94vw,560px);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:1.35rem;box-shadow:0 24px 70px rgba(0,0,0,.32)}.help-modal h2{margin:.25rem 0 .55rem}.help-lead{font-size:1.03rem;color:#243b2d}.help-detail{border-top:1px solid var(--border);padding:.8rem 0}.help-detail p{margin:.25rem 0;color:var(--muted)}.help-modal-close{position:absolute;right:.8rem;top:.7rem;border:0;background:#eef3ef;border-radius:50%;width:34px;height:34px;font-size:1.35rem;cursor:pointer}
@media(max-width:620px){.favorite-grid{grid-template-columns:1fr}.all-models-row{grid-template-columns:1fr}.article-picker-results{max-height:260px}.action-with-help{width:100%;justify-content:flex-start}.action-with-help>button:not(.info-button){flex:1}.info-button{width:30px;height:30px}.help-modal{border-radius:19px;padding:1.1rem}.description-preview strong{font-size:.9rem}}


/* RC1.1.6 - navigation des paramètres, résumé et confirmation */
.settings-tabs-shell{position:sticky;top:74px;z-index:19;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:.4rem;align-items:center;background:rgba(244,246,244,.97);backdrop-filter:blur(14px);padding:.25rem 0 .75rem}.settings-tabs-shell .settings-tabs{position:static;top:auto;padding:0;background:transparent;backdrop-filter:none;justify-content:flex-start;scroll-behavior:smooth}.settings-scroll-button{height:38px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--green);font-size:1.45rem;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(18,46,29,.06)}.settings-scroll-button:active{transform:translateY(1px)}.settings-section-actions{max-width:760px;margin:1rem auto 1.4rem;display:grid;grid-template-columns:1fr minmax(220px,1.5fr) 1fr;gap:.65rem;position:sticky;bottom:82px;padding:.75rem;background:rgba(244,246,244,.95);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:18px;z-index:12;box-shadow:0 10px 26px rgba(18,46,29,.09)}.settings-section-actions button:disabled{opacity:.4;cursor:not-allowed}.success-icon-button{border:0;cursor:pointer;box-shadow:0 0 0 5px rgba(15,122,69,.12)}.success-icon-button:hover{transform:scale(1.04)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.summary-grid>div{border:1px solid var(--border);border-radius:14px;padding:.75rem;background:#fafcfb}.summary-grid span,.summary-row span{display:block;color:var(--muted);font-size:.76rem}.summary-grid strong,.summary-row strong{display:block;margin-top:.2rem;overflow-wrap:anywhere}.summary-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding:.7rem 0}.summary-row:first-of-type{border-top:0}.summary-row span,.summary-row strong{margin:0}.summary-navigation{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.summary-navigation button{flex:1 1 150px}@media(max-width:700px){.settings-tabs-shell{top:67px;grid-template-columns:38px minmax(0,1fr) 38px;margin:0 -.7rem;padding-left:.35rem;padding-right:.35rem}.settings-section-actions{grid-template-columns:1fr 1fr;bottom:78px}.settings-section-actions [data-save-settings-section]{grid-column:1/-1;grid-row:1}.summary-grid{grid-template-columns:1fr}.summary-row{display:block}.summary-row strong{margin-top:.25rem}}

/* RC1.1.8 - intégrité, conformité et dates de facture */
.status-pill.danger{background:#ffe3e3;color:#8c1d1d}.success-card{background:#edf9f1;border:1px solid #b8dfc7;border-radius:18px;padding:1rem;margin-bottom:1rem;color:#145c35}.invoice-draft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.compliance-list{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem}.compliance-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:.65rem;align-items:start;border:1px solid var(--border);border-radius:14px;padding:.7rem;background:#fafcfb}.compliance-item>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:900}.compliance-item.ok>span{background:#dff3e7;color:var(--green-dark)}.compliance-item.bad{border-color:#efbcbc;background:#fff5f5}.compliance-item.bad>span{background:#ffe1e1;color:#8c1d1d}.compliance-item strong{display:block;font-size:.86rem}.compliance-item small{display:block;color:var(--muted);margin-top:.2rem}.integrity-card code{display:block;overflow-wrap:anywhere;background:#f3f6f4;border-radius:11px;padding:.65rem;margin:.6rem 0}.integrity-valid{border-color:#b8dfc7}.integrity-invalid{border-color:#efbcbc;background:#fff8f8}.integrity-line{font-size:.78rem;font-weight:800}.integrity-line.ok{color:var(--green-dark)}.integrity-line.bad{color:var(--danger)}.compact-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.summary-row small{display:block;color:var(--muted);margin-top:.2rem}@media(max-width:620px){.invoice-draft-grid{grid-template-columns:1fr}.compliance-card .card-heading,.integrity-card .card-heading{gap:.6rem}}
.sequence-edit.protected-sequence{background:#f6f8f6;border-radius:14px;padding:.8rem;margin-top:.35rem}.sequence-edit.protected-sequence input{background:#e9eeeb;color:#59645d;cursor:not-allowed}.sequence-edit.protected-sequence small{grid-column:1/-1;color:var(--muted);font-size:.74rem}

/* RC1.1.9 - encaissements, echeanciers et livraisons partielles */
.schedule-editor{display:grid;gap:.75rem}.preset-row{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-row{display:grid;grid-template-columns:minmax(150px,1.5fr) 100px minmax(130px,1fr) minmax(130px,1fr) 40px;gap:.55rem;align-items:end;border:1px solid var(--border);border-radius:16px;padding:.75rem;background:#fafcfb}.schedule-row-head{display:grid;grid-template-columns:minmax(150px,1.5fr) 100px minmax(130px,1fr) minmax(130px,1fr) 40px;gap:.55rem;padding:0 .75rem;color:var(--muted);font-size:.72rem;font-weight:800}.schedule-amount-preview{display:block;color:var(--green-dark);font-size:.77rem;font-weight:800;margin-top:.2rem}.schedule-summary{display:grid;gap:.55rem}.schedule-summary-row{display:grid;grid-template-columns:minmax(160px,1.5fr) 70px 125px 120px;gap:.6rem;align-items:center;border-top:1px solid var(--border);padding:.7rem 0}.schedule-summary-row:first-child{border-top:0}.schedule-summary-row small{display:block;color:var(--muted);margin-top:.15rem}.schedule-summary-row em{font-style:normal;text-align:center;border-radius:999px;padding:.35rem .55rem;background:#eef3ef;color:var(--muted);font-size:.72rem;font-weight:800}.schedule-summary-row em.paid{background:#dff3e7;color:var(--green-dark)}.schedule-summary-row em.partially-paid{background:#fff0d8;color:#8a5a00}.schedule-summary-row em.overdue{background:#ffe3e3;color:#8c1d1d}.clickable-row{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.delivery-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.8rem 0}.delivery-progress-grid>div{border:1px solid var(--border);border-radius:14px;padding:.7rem;background:#fafcfb}.delivery-progress-grid span{display:block;color:var(--muted);font-size:.72rem}.delivery-progress-grid strong{display:block;margin-top:.2rem;font-size:1.05rem}.delivery-line-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px);gap:.8rem;align-items:center;border-top:1px solid var(--border);padding:.75rem 0}.delivery-line-editor:first-of-type{border-top:0}.delivery-line-editor small{display:block;color:var(--muted);margin-top:.2rem}.compact-field{margin:0}.delivery-progress-head,.delivery-progress-row{display:grid;grid-template-columns:minmax(180px,1.8fr) repeat(5,minmax(65px,.55fr));gap:.5rem;align-items:center;padding:.65rem 0}.delivery-progress-head{font-size:.72rem;color:var(--muted);font-weight:800;border-bottom:1px solid var(--border)}.delivery-progress-row{border-bottom:1px solid var(--border)}.delivery-progress-row:last-child{border-bottom:0}.delivery-progress-row small{display:block;color:var(--muted)}.delivery-progress-row>span,.delivery-progress-row>b{text-align:center}.preview-line button{flex:0 0 auto}.header-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}
@media(max-width:700px){.schedule-row-head{display:none}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row>*:first-child{grid-column:1/-1}.schedule-row .danger-link{align-self:center}.schedule-summary-row{grid-template-columns:1fr auto}.schedule-summary-row>b,.schedule-summary-row>em{justify-self:start}.delivery-progress-grid{grid-template-columns:1fr 1fr}.delivery-line-editor{grid-template-columns:1fr}.delivery-progress-head{display:none}.delivery-progress-row{grid-template-columns:1fr repeat(5,50px);font-size:.78rem}.delivery-progress-row>div{grid-column:1/-1}.topbar{align-items:flex-start}.header-actions{max-width:55%}}
@media(max-width:430px){.schedule-row{grid-template-columns:1fr}.schedule-row>*:first-child{grid-column:auto}.delivery-progress-grid{grid-template-columns:1fr 1fr}.delivery-progress-row{grid-template-columns:repeat(5,1fr)}.delivery-progress-row>div{grid-column:1/-1}.delivery-progress-row>span,.delivery-progress-row>b{font-size:.72rem}}

/* RC1.1.13 — Fiabilité, ergonomie et formulaires métiers */
.lock-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef7f1,#f8faf9)}
.lock-card{width:min(430px,100%);background:#fff;border:1px solid #d9e4dd;border-radius:24px;padding:28px;box-shadow:0 18px 55px rgba(15,73,44,.14);text-align:center}
.lock-card img{width:120px;height:84px;object-fit:contain;margin-bottom:8px}.lock-card form{text-align:left;margin:22px 0}.lock-card .primary-button{width:100%}
.pilotage-hero{min-height:150px;align-items:center}.pilotage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.pilotage-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:17px;border:1px solid #d7e3dc;border-radius:18px;background:#fff;text-align:left;box-shadow:0 6px 18px rgba(20,72,44,.06);color:inherit}
.pilotage-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf6ef;color:#0f7a45;font-size:21px}.pilotage-card strong,.pilotage-card small{display:block}.pilotage-card small{margin-top:3px;color:#5f6c65;line-height:1.35}.pilotage-card>b{font-size:24px;color:#0f7a45}
.home-pilotage-card{margin:14px 0}.report-filters{margin-top:12px}.report-summary-card{margin-top:12px}.table-card{padding:0;overflow:hidden}.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-table{width:100%;border-collapse:collapse;min-width:760px}.app-table th{background:#eef5f1;text-align:left;color:#31483a;font-size:12px;letter-spacing:.01em;padding:11px 10px;border-bottom:1px solid #d6e0da;white-space:nowrap}.app-table td{padding:10px;border-bottom:1px solid #e5ebe7;vertical-align:top}.app-table tr:last-child td{border-bottom:0}.app-table .num{text-align:right;white-space:nowrap}.negative{color:#ad2424!important}.status-pill.danger{background:#fee8e7;color:#9f1d1d}.report-summary-card .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.security-note{border-left:4px solid #0f7a45}.settings-panel[data-settings-panel="security"] .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.pilotage-grid{grid-template-columns:1fr}.report-summary-card .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters .form-grid,.settings-panel[data-settings-panel="security"] .choice-grid{grid-template-columns:1fr}.pilotage-card{padding:14px}.lock-card{padding:22px 18px}.app-table{min-width:680px}}
@media print{.bottom-nav,.report-filters,.card-actions,.header-actions,.text-button,.secondary-button,.primary-button{display:none!important}}

/* RC1.1.13 — Fiabilité, ergonomie et formulaires métiers */
.primary-button.is-busy,.secondary-button.is-busy,.text-button.is-busy{position:relative;cursor:wait;opacity:.82;pointer-events:none}
.primary-button.is-busy::before,.secondary-button.is-busy::before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.12em;animation:diasow-spin .75s linear infinite}
@keyframes diasow-spin{to{transform:rotate(360deg)}}
.profile-fields{border:1px solid #dbe7df;border-radius:16px;padding:.85rem;background:#fbfdfc;margin:.75rem 0}
.profile-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.35rem .6rem;border-radius:999px;background:#e9f5ee;color:#0b6338;font-size:.72rem;font-weight:800;margin:.35rem 0}
.profile-badge[data-profile="embroidery"]{background:#f1eefe;color:#5c3b9a}
.profile-badge[data-profile="epi"]{background:#fff2da;color:#80550b}
.profile-badge[data-profile="generic"]{background:#edf1f3;color:#44525a}
.help-inline{display:block;color:var(--muted);margin-top:.3rem;font-size:.75rem}
.description-preview{border-left:4px solid var(--green);background:#edf8f1;border-radius:14px;padding:.8rem;margin:.85rem 0}
.description-preview>span{display:block;color:var(--green-dark);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem}
.description-preview>strong{display:block;line-height:1.45}
.field[hidden]{display:none!important}
button:disabled{cursor:not-allowed}
@media(max-width:520px){.profile-fields{padding:.7rem}.profile-fields .form-grid{grid-template-columns:1fr}.description-preview{padding:.7rem}}

/* RC1.1.13 — Navigation guidée, corrections intelligentes et listes volumineuses */
.correction-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #e7ca7a;border-left:5px solid #c88b12;border-radius:16px;background:#fff8e5;box-shadow:0 8px 22px rgba(94,67,10,.08)}
.correction-banner strong{display:block;color:#6d4b07}.correction-banner p{margin:.2rem 0 0;color:#6d6046;font-size:.82rem}
.guided-highlight{position:relative;outline:4px solid rgba(201,139,18,.28)!important;outline-offset:4px;border-radius:15px;animation:diasow-guide-pulse 1.25s ease-in-out 3}
@keyframes diasow-guide-pulse{0%,100%{outline-color:rgba(201,139,18,.2)}50%{outline-color:rgba(15,122,69,.48)}}

/* Barre des paramètres réellement persistante avec progression */
.settings-navigation-sticky{position:sticky;top:0;z-index:30;margin:0 0 .85rem;padding:.35rem 0 .2rem;background:linear-gradient(180deg,rgba(244,246,244,.99) 78%,rgba(244,246,244,0));backdrop-filter:blur(16px)}
.settings-navigation-sticky .settings-tabs-shell{position:static;top:auto;padding:.25rem 0 .65rem;background:transparent;backdrop-filter:none}
.settings-progress{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:.65rem;align-items:center;padding:.25rem .2rem;font-size:.72rem;color:var(--muted);font-weight:750}
.settings-progress>div{height:6px;border-radius:999px;background:#dfe7e1;overflow:hidden}.settings-progress i{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.settings-progress strong{color:var(--green-dark)}
.settings-tabs button{display:inline-flex;align-items:center;gap:.35rem}.settings-tabs button>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#edf2ee;font-size:.66rem}.settings-tabs button.active>span{background:rgba(255,255,255,.2)}.settings-tabs button.dirty:not(.active){border-color:#d9a43c}.settings-tabs button>b{color:#d98c00;font-size:1.05rem;line-height:.6}

/* Liste compacte et paginée des documents */
.documents-page{max-width:1120px;margin:0 auto}.document-toolbar{padding:.85rem 1rem}.document-toolbar .field{margin:.25rem 0}.document-search-line{display:grid;grid-template-columns:minmax(260px,2fr) minmax(160px,.7fr);gap:.7rem}.document-filter-line{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr)) 88px auto;gap:.55rem;align-items:end;margin-top:.35rem}.document-filter-line .text-button{margin-bottom:.35rem;white-space:nowrap}.compact-page-size select{min-width:78px}.document-status-chips{display:flex;gap:.45rem;overflow-x:auto;padding:.1rem 0 .75rem;scrollbar-width:none}.document-status-chips::-webkit-scrollbar{display:none}.document-status-chips button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:#fff;color:#4f5d55;padding:.48rem .7rem;font:inherit;font-size:.74rem;font-weight:750;cursor:pointer}.document-status-chips button b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:.25rem;border-radius:999px;background:#edf2ee;color:var(--green-dark)}.document-status-chips button.active{background:var(--green);border-color:var(--green);color:#fff}.document-status-chips button.active b{background:rgba(255,255,255,.2);color:#fff}
.document-list-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.78rem}.document-list-heading .result-count{margin:.35rem 0}.document-list{display:grid;gap:.55rem}.document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.78rem .85rem;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(18,46,29,.045)}.document-row-main{min-width:0;display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(320px,1fr);gap:1rem;align-items:center}.document-row-title{display:flex;align-items:center;gap:.65rem;min-width:0}.document-row-title>div{min-width:0}.document-row-title strong,.document-row-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-row-title small{color:var(--muted);font-size:.75rem;margin-top:.12rem}.document-row-meta{display:grid;grid-template-columns:minmax(70px,.7fr) 95px minmax(90px,.85fr) minmax(125px,1fr);gap:.55rem;align-items:center;font-size:.76rem;color:var(--muted)}.document-row-meta>strong{text-align:right;color:#1f2b24;white-space:nowrap}.document-row-meta .status-pill{text-align:center;padding:.34rem .48rem}.document-row-actions{display:flex;gap:.4rem}.document-row-actions button{padding:.58rem .72rem;font-size:.76rem}.pagination-bar{display:grid;grid-template-columns:auto auto minmax(120px,1fr) auto auto;gap:.45rem;align-items:center;margin:1rem 0}.pagination-bar strong{text-align:center;color:var(--muted);font-size:.78rem}.pagination-bar button{padding:.58rem .72rem}

/* Assistant de saisie des documents */
.document-workflow-page{max-width:900px;margin:0 auto}.workflow-stepper{position:sticky;top:0;z-index:24;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:0 0 .8rem;padding:.5rem;background:rgba(244,246,244,.97);backdrop-filter:blur(15px);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px rgba(18,46,29,.07)}.workflow-stepper button{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:0 .5rem;align-items:center;border:1px solid transparent;border-radius:13px;background:transparent;color:#5d6a62;padding:.5rem;text-align:left;cursor:pointer}.workflow-stepper button>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e6ece8;color:#4d5d53;font-weight:900}.workflow-stepper b{font-size:.78rem}.workflow-stepper small{font-size:.64rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-stepper button.active{background:#fff;border-color:#a9d5ba;box-shadow:0 5px 15px rgba(15,122,69,.09);color:var(--green-dark)}.workflow-stepper button.active>span,.workflow-stepper button.done>span{background:var(--green);color:#fff}.workflow-stepper button.done{color:var(--green-dark)}.workflow-panel{display:none}.workflow-panel.active{display:block;animation:settings-in .18s ease-out}.workflow-actions{position:sticky;bottom:78px;z-index:22;display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1fr) minmax(150px,1fr);gap:.7rem;align-items:center;margin:1rem 0;padding:.75rem;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 12px 28px rgba(18,46,29,.12)}.workflow-actions>div{text-align:center}.workflow-actions strong,.workflow-actions small{display:block}.workflow-actions small{color:var(--muted);font-size:.7rem}.review-card{border-color:#b9ddc7;background:linear-gradient(145deg,#fff,#f1faf4)}.readiness-list{list-style:none;padding:0;margin:.8rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.readiness-list li{display:flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:12px;padding:.65rem;font-size:.78rem;font-weight:750;background:#fff}.readiness-list li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%}.readiness-list li.ok>span{background:#dff3e7;color:var(--green-dark)}.readiness-list li.bad{border-color:#efc0c0;background:#fff7f7}.readiness-list li.bad>span{background:#ffe1e1;color:var(--danger)}.review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.review-summary>div{padding:.7rem;border:1px solid var(--border);border-radius:12px;background:#fff}.review-summary span,.review-summary strong{display:block}.review-summary span{color:var(--muted);font-size:.7rem}.review-summary strong{margin-top:.2rem;font-size:.84rem}.review-lines{margin-top:.8rem;border-top:1px solid var(--border)}.review-lines>div{display:flex;justify-content:space-between;gap:.8rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.78rem}.review-lines small{display:block;margin-top:.45rem;color:var(--muted)}

/* Les blocages deviennent des actions de correction */
.compliance-item{grid-template-columns:30px minmax(0,1fr) auto}.compliance-fix-button{align-self:center;border:1px solid #e0a8a8;border-radius:11px;background:#fff;color:#8d2626;padding:.5rem .65rem;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer;white-space:nowrap}.compliance-fix-button:hover{background:#fff0f0}.compliance-item.bad:has(.compliance-fix-button){cursor:default}

@media(min-width:900px){.app-shell{max-width:1160px}.settings-page{max-width:1060px}.settings-page .form-section{max-width:850px}.settings-section-actions{max-width:850px}}
@media(max-width:900px){.document-filter-line{grid-template-columns:repeat(3,minmax(120px,1fr))}.document-row-main{grid-template-columns:1fr}.document-row-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.document-row-actions{align-self:end}}
@media(max-width:680px){.correction-banner{align-items:flex-start;flex-direction:column}.document-search-line,.document-filter-line{grid-template-columns:1fr 1fr}.document-filter-line .text-button{grid-column:1/-1}.document-row{grid-template-columns:1fr}.document-row-main{display:block}.document-row-meta{margin-top:.6rem;grid-template-columns:1fr 1fr}.document-row-meta>strong{text-align:left}.document-row-actions{justify-content:flex-end}.pagination-bar{grid-template-columns:1fr 1fr}.pagination-bar strong{grid-column:1/-1;grid-row:1}.pagination-bar button[data-document-page="first"],.pagination-bar button[data-document-page="last"]{display:none}.workflow-stepper{display:flex;overflow-x:auto;margin-left:-.45rem;margin-right:-.45rem;border-radius:14px;padding:.4rem;scrollbar-width:none}.workflow-stepper::-webkit-scrollbar{display:none}.workflow-stepper button{flex:0 0 150px}.workflow-actions{grid-template-columns:1fr 1fr;bottom:76px}.workflow-actions>div{grid-column:1/-1;grid-row:1}.readiness-list,.review-summary{grid-template-columns:1fr 1fr}.compliance-item{grid-template-columns:30px minmax(0,1fr)}.compliance-fix-button{grid-column:2;justify-self:start}}
@media(max-width:430px){.document-search-line,.document-filter-line{grid-template-columns:1fr}.document-row-meta{grid-template-columns:1fr 1fr}.document-row-title{align-items:flex-start}.document-row-actions button{flex:1}.workflow-actions{grid-template-columns:1fr 1fr;padding:.6rem}.workflow-actions button{padding:.7rem .55rem}.readiness-list,.review-summary{grid-template-columns:1fr}.settings-progress{grid-template-columns:auto 1fr}.settings-progress strong{display:none}}
@media print{.workflow-stepper,.workflow-actions,.document-toolbar,.document-status-chips,.pagination-bar,.correction-banner,.compliance-fix-button{display:none!important}}

/* RC1.1.13 — Recherche stable et protection administrateur */
.search-panel input[type=search]:focus{outline:3px solid rgba(15,122,69,.18);border-color:var(--green);box-shadow:0 0 0 1px rgba(15,122,69,.08)}
.security-option-block{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:18px;background:#f9fbf9}.security-option-block h3{margin:.15rem 0}.admin-security-block{border-color:#b8d9c5;background:linear-gradient(145deg,#f8fffa,#eef8f2)}
.pin-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:rgba(9,24,15,.62);backdrop-filter:blur(8px)}.pin-dialog{width:min(430px,100%);border:1px solid rgba(255,255,255,.35);border-radius:22px;background:#fff;padding:1.15rem;box-shadow:0 24px 70px rgba(0,0,0,.28)}.pin-dialog h2{margin:.2rem 0 .35rem}.pin-dialog p{color:var(--muted)}.pin-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.pin-dialog input{text-align:center;font-size:1.35rem;letter-spacing:.35em;font-weight:800}
@media(max-width:520px){.pin-dialog{align-self:end;margin-bottom:max(1rem,env(safe-area-inset-bottom));border-radius:22px}.pin-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.security-option-block{padding:.85rem}}
.admin-scope-list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .75rem 0 1rem;
}
.admin-scope-list strong {
  flex-basis: 100%;
}
.admin-scope-list span {
  padding: .4rem .65rem;
  border: 1px solid rgba(15, 122, 69, .22);
  border-radius: 999px;
  background: rgba(15, 122, 69, .07);
  font-size: .84rem;
}

/* RC1.1.14 — Affichage large, aperçus de contrôle et réactivité quotidienne */
@media(min-width:900px){
  .app-shell{max-width:1320px;padding-left:1.35rem;padding-right:1.35rem}
  .wide-data-page,.wide-detail-page{max-width:1220px;margin-left:auto;margin-right:auto}
}
.wide-data-page .topbar{align-items:flex-end}
.wide-data-page .document-toolbar{padding:1rem 1.05rem}
.client-filter-line{grid-template-columns:minmax(190px,1fr) 110px auto}
.invoice-filter-line{grid-template-columns:repeat(4,minmax(128px,1fr)) 88px auto}
.client-row-meta{grid-template-columns:minmax(150px,1.25fr) minmax(90px,.7fr) 84px minmax(95px,.8fr) minmax(98px,.8fr)}
.invoice-row-meta{grid-template-columns:minmax(78px,.7fr) 88px minmax(110px,.9fr) minmax(105px,.9fr) minmax(105px,.9fr) minmax(95px,.85fr)}
.client-row-meta>strong,.invoice-row-meta>strong{text-align:right;color:#1f2b24;white-space:nowrap}
.document-row.client-row,.document-row.invoice-row{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.document-row.client-row:hover,.document-row.invoice-row:hover{border-color:#a9d5ba;box-shadow:0 10px 24px rgba(15,122,69,.09);transform:translateY(-1px)}
.document-row.inactive{opacity:.72;background:#f7f8f7}
.integrity-mini{font-size:.68rem;font-weight:850;white-space:nowrap}.integrity-mini.ok{color:var(--green-dark)}.integrity-mini.bad{color:var(--danger)}
.invoice-balance.pending{color:#8b5a00}.invoice-balance.settled{color:var(--green-dark)}
.quality-issues{margin-top:.85rem;border:1px solid #efb4b4;border-radius:15px;background:#fff8f8;padding:.85rem}.quality-issues>strong{color:#8a1f1f}.quality-issues ul{list-style:none;padding:0;margin:.65rem 0;display:grid;gap:.45rem}.quality-issues li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:.55rem;align-items:start;border:1px solid #efd3d3;border-radius:11px;background:#fff;padding:.58rem}.quality-issues li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:900}.quality-issues li.blocking>span{background:#ffe1e1;color:#9c1f1f}.quality-issues li.advisory>span{background:#fff0c7;color:#735000}.quality-issues b,.quality-issues small{display:block}.quality-issues small{margin-top:.12rem;color:var(--muted)}.quality-ready{margin:.8rem 0 0;padding:.75rem;border:1px solid #b9ddc7;border-radius:13px;background:#f2fbf5;color:var(--green-dark)}
button.is-pressed:not(:disabled){transform:scale(.975);filter:brightness(.96)}
button.is-busy{cursor:progress!important;opacity:.82}.primary-button,.secondary-button,.text-button,.danger-link{transition:transform .12s ease,filter .12s ease,opacity .12s ease,box-shadow .12s ease}
button:disabled{cursor:not-allowed!important;opacity:.48!important}
.wide-detail-page .card,.wide-detail-page .model-hero,.wide-detail-page .totals-card{max-width:1040px;margin-left:auto;margin-right:auto}
@media(max-width:1050px){
  .invoice-filter-line{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .invoice-filter-line .text-button{grid-column:auto}
  .client-row-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .invoice-row-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .client-row-meta>strong,.invoice-row-meta>strong{text-align:left}
}
@media(max-width:680px){
  .client-filter-line,.invoice-filter-line{grid-template-columns:1fr 1fr}
  .client-row-meta,.invoice-row-meta{grid-template-columns:1fr 1fr}
  .pagination-bar button[data-client-page="first"],.pagination-bar button[data-client-page="last"],.pagination-bar button[data-invoice-page="first"],.pagination-bar button[data-invoice-page="last"]{display:none}
  .wide-data-page .topbar{align-items:flex-start}
  .wide-data-page .topbar>.primary-button{width:100%;margin-top:.4rem}
}
@media(max-width:430px){
  .client-filter-line,.invoice-filter-line{grid-template-columns:1fr}
  .client-row-meta,.invoice-row-meta{grid-template-columns:1fr}
}

/* RC1.1.15 — Autorisation administrateur à l’émission et protection contre les statuts obsolètes */

/* RC1.1.17 — Récupération PIN, navigation Paramètres et attente visuelle professionnelle */
.status-pill.warning{background:#fff1c9;color:#735000}
.data-list-row{display:grid;gap:.72rem;align-items:center;padding:.78rem .85rem;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(18,46,29,.045);min-width:0;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.data-list-row:hover{border-color:#a9d5ba;box-shadow:0 10px 24px rgba(15,122,69,.09);transform:translateY(-1px)}
.data-list-row.inactive{opacity:.72;background:#f7f8f7}
.client-data-row{grid-template-columns:minmax(260px,2fr) minmax(135px,1fr) minmax(82px,.62fr) minmax(78px,.58fr) minmax(118px,.85fr) auto}
.invoice-data-row{grid-template-columns:minmax(260px,1.8fr) minmax(88px,.62fr) minmax(105px,.75fr) minmax(92px,.66fr) minmax(120px,.86fr) minmax(155px,1.05fr) auto}
.production-data-row{grid-template-columns:minmax(280px,2fr) minmax(105px,.72fr) minmax(68px,.46fr) minmax(112px,.78fr) minmax(120px,.82fr) auto}
.data-primary{display:flex;align-items:center;gap:.65rem;min-width:0}
.data-primary>div{min-width:0}.data-primary strong,.data-primary small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-primary small{color:var(--muted);font-size:.73rem;margin-top:.12rem}
.data-cell{min-width:0;color:#34443a;font-size:.76rem}.data-cell>small{display:block;color:var(--muted);font-size:.64rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em;margin-bottom:.16rem}.data-cell>span,.data-cell>strong{display:block;min-width:0;overflow-wrap:anywhere}.data-cell>strong{font-size:.79rem}.data-cell .status-pill{display:inline-flex;justify-content:center;text-align:center;max-width:100%;white-space:normal;padding:.34rem .52rem}.activity-cell em{display:block;color:var(--muted);font-size:.68rem;font-style:normal;margin-top:.12rem}.amount-cell strong{white-space:nowrap}.payment-summary-cell span{color:var(--muted);font-size:.71rem}.payment-summary-cell strong{margin-top:.1rem;white-space:nowrap}
.data-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;min-width:0}.data-actions button{padding:.58rem .72rem;font-size:.76rem;white-space:nowrap}.data-actions .integrity-mini{flex:0 0 auto}
.production-filter-line{grid-template-columns:minmax(190px,1fr) 110px auto}
.compliance-item.advisory{border-color:#ead394;background:#fffaf0}.compliance-item.advisory>span{background:#fff0c7;color:#735000}.compliance-item.advisory .compliance-fix-button{border-color:#d9bd73;color:#6e5100}.compliance-item.advisory .compliance-fix-button:hover{background:#fff4d6}.compliance-note{display:block;margin-top:.22rem;color:#735000!important;font-weight:750}
.admin-fluidity-note{border-left:3px solid var(--green);padding:.55rem .7rem;background:#f4fbf6;border-radius:0 10px 10px 0}
@media(max-width:1120px){
  .client-data-row,.invoice-data-row,.production-data-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .data-primary{grid-column:1/-1}.data-actions{grid-column:1/-1}.amount-cell strong,.payment-summary-cell strong{white-space:normal}
}
@media(max-width:680px){
  .client-data-row,.invoice-data-row,.production-data-row{grid-template-columns:1fr 1fr}
  .data-primary,.data-actions{grid-column:1/-1}.data-actions{justify-content:stretch}.data-actions button{flex:1}.production-filter-line{grid-template-columns:1fr 1fr}
  .pagination-bar button[data-production-page="first"],.pagination-bar button[data-production-page="last"]{display:none}
}
@media(max-width:430px){
  .client-data-row,.invoice-data-row,.production-data-row,.production-filter-line{grid-template-columns:1fr}
  .data-primary,.data-actions{grid-column:1}.data-primary{align-items:flex-start}.data-primary .code-pill{flex:0 0 auto}.data-actions{display:grid;grid-template-columns:1fr 1fr}.production-data-row .data-actions{grid-template-columns:1fr}
}

/* RC1.1.17 — récupération PIN, navigation Paramètres et attente visuelle globale */
.diasow-global-wait{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1rem;background:rgba(244,246,244,.78);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.diasow-global-wait.visible{opacity:1;visibility:visible;pointer-events:all}.diasow-wait-card{min-width:min(300px,82vw);display:grid;justify-items:center;gap:.55rem;padding:1.2rem 1.35rem;border:1px solid rgba(15,122,69,.2);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(15,73,44,.18);text-align:center}.diasow-wait-card strong{color:var(--green-dark);font-size:1rem}.diasow-wait-card small{color:var(--muted);max-width:280px}.diasow-wait-spinner{position:relative;width:92px;height:92px;display:grid;place-items:center}.diasow-wait-ring{position:absolute;inset:0;border-radius:50%;border:5px solid rgba(15,122,69,.16);border-top-color:var(--green);border-right-color:#79bf48;animation:diasow-logo-ring-spin .9s linear infinite;box-shadow:0 0 0 1px rgba(15,122,69,.05) inset}.diasow-wait-logo{position:relative;z-index:1;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 4px 18px rgba(15,73,44,.12);overflow:hidden}.diasow-wait-logo img{width:58px;height:58px;object-fit:contain}@keyframes diasow-logo-ring-spin{to{transform:rotate(360deg)}}
.lock-recovery-actions{display:grid;gap:.55rem;margin:-.4rem 0 1rem}.lock-recovery-actions .text-button,.lock-recovery-actions .secondary-button{justify-self:center}.recovery-security-block{border-color:#c7ddcf;background:linear-gradient(145deg,#fbfffc,#eef8f2)}.recovery-code-card code{display:block;width:100%;margin:1rem 0;padding:.9rem;border:1px dashed var(--green);border-radius:14px;background:#f3faf6;color:var(--green-dark);font-size:1.05rem;font-weight:900;letter-spacing:.08em;text-align:center;user-select:all}.pin-dialog #security-recovery-code{font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.bottom-nav .nav-item:last-child{white-space:nowrap}
@media(max-width:420px){.bottom-nav .nav-item:last-child{font-size:.55rem}.diasow-wait-spinner{width:82px;height:82px}.diasow-wait-logo{width:58px;height:58px}.diasow-wait-logo img{width:51px;height:51px}}
@media(prefers-reduced-motion:reduce){.diasow-wait-ring{animation-duration:1.8s}}


/* RC1.1.18 — logo multi-appareil et saisie progressive des articles */
.article-entry-menu{border-color:#b8d9c5;background:linear-gradient(145deg,#fff,#f4fbf7);scroll-margin-top:88px}
.article-entry-intro{margin:.35rem 0 .65rem}
.article-entry-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.55rem 0 .2rem}
.article-entry-steps span{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.52rem .6rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--muted);font-size:.72rem;font-weight:800}
.article-entry-steps b{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#edf1ee;color:#536159}
.article-entry-steps span.active{border-color:#e0b35a;background:#fff9eb;color:#73530e}.article-entry-steps span.active b{background:#d79a1b;color:#fff}
.article-entry-steps span.done{border-color:#9acaae;background:#edf8f1;color:var(--green-dark)}.article-entry-steps span.done b{background:var(--green);color:#fff}
.article-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;align-items:end}.article-entry-grid .field{margin:.45rem 0}
.article-progressive-field[hidden]{display:none!important}
.article-entry-hint,.article-entry-selected{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin:.65rem 0;padding:.7rem .8rem;border-radius:13px;background:#f5f7f5;border:1px dashed #c9d4cc;color:#4f5c54}
.article-entry-hint strong,.article-entry-selected strong{color:#23362b}.article-entry-hint span,.article-entry-selected span,.article-entry-selected small{font-size:.76rem;color:var(--muted)}
.article-entry-selected{border-style:solid;border-color:#9cccae;background:#edf8f1}.article-entry-selected span{width:100%;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--green-dark)}
.article-entry-actions{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;margin-top:.65rem}
.guided-article-search{display:none;margin-top:.7rem;padding:.7rem;border:1px solid var(--border);border-radius:16px;background:#f8fbf9}.guided-article-search.open{display:block}.guided-article-search .field{margin:0 0 .6rem}
.article-entry-menu + #simple-article-panel .article-picker-trigger,.article-entry-menu + #simple-article-panel .article-picker-panel{display:none!important}
.article-entry-menu + #simple-article-panel{border-color:#9cccae}
@media(max-width:680px){.article-entry-grid{grid-template-columns:1fr}.article-entry-steps{grid-template-columns:1fr 1fr 1fr;gap:.3rem}.article-entry-steps span{display:grid;place-items:center;text-align:center;gap:.2rem;padding:.45rem .25rem;font-size:.62rem}.article-entry-steps b{width:20px;height:20px}.article-entry-actions{display:grid;grid-template-columns:1fr}.article-entry-actions button{width:100%}}
@media(max-width:430px){.article-entry-menu{padding:.85rem}.article-entry-intro{font-size:.78rem}.article-entry-steps span{font-size:.58rem}}

/* RC1.1.19 — centre de gestion et récupération des PIN */
.pin-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.pin-status-card{border:1px solid var(--border);border-radius:16px;background:#fff;padding:.85rem}.pin-status-card.is-locked{border-color:#efbcbc;background:#fff8f8}.pin-status-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.pin-status-heading small{display:block;color:var(--muted);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.12rem}.pin-status-heading strong{display:block;font-size:.9rem}.pin-status-card p{margin:.55rem 0 0;color:var(--muted);font-size:.78rem}.recovery-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;align-items:stretch}.recovery-actions .primary-button,.recovery-actions .secondary-button,.recovery-actions .text-button{width:100%;min-height:44px;text-align:center;display:flex;align-items:center;justify-content:center}.lockout-alert,.lockout-warning{display:grid;gap:.2rem;border-radius:14px;padding:.75rem .85rem;margin:.75rem 0}.lockout-alert{border:1px solid #efbcbc;background:#fff5f5;color:#8c1d1d}.lockout-warning{border:1px solid #efdba7;background:#fff8e8;color:#735000}.lockout-alert strong,.lockout-warning strong{font-size:.86rem}.lockout-alert span,.lockout-warning span{font-size:.76rem;line-height:1.4}.lock-recovery-actions>strong{font-size:.82rem;text-align:center;color:#31483a}.lock-recovery-actions .secondary-button{width:100%}
@media(max-width:620px){.pin-status-grid,.recovery-actions{grid-template-columns:1fr}}
/* RC1.1.22 — AAI : formulaires courts, lisibles et adaptés mobile */
.purchase-create-bar{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:0 0 1rem}.purchase-create-bar button{width:100%}.read-only-field{width:100%;border:1px solid var(--border);border-radius:13px;background:#f4f7f5;padding:.78rem;color:var(--muted);font-weight:700}.aai-comment{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:16px;background:#fafcfb}.aai-comment p{margin:.35rem 0 0;white-space:pre-wrap}.status-pill.aai-pill{background:#111;color:#fff}#aai-payment-fields[hidden]{display:none!important}@media(max-width:520px){.purchase-create-bar{grid-template-columns:1fr}.purchase-create-bar button{min-height:44px}}


/* RC1.1.24 — audit UX global : numérotation lisible, anti-chevauchement et navigation robuste */
.app-shell,.page,.card,.form-section,.topbar,.header-actions,.numbering-card,.numbering-group{min-width:0}
.topbar h1,.card h2,.card h3,.card p,.help,.field span,.header-actions button,.secondary-button,.primary-button,.text-button{overflow-wrap:break-word;word-break:normal}
.settings-page .topbar{align-items:flex-start}
.settings-page .header-actions{flex:1 1 440px;max-width:680px}
.settings-page .header-actions button{min-height:40px;line-height:1.2}
.settings-panel[data-settings-panel="numbering"] .form-section{max-width:1040px;width:100%}
.numbering-section{padding:1.15rem}
.numbering-title{gap:1rem;align-items:center;margin-bottom:.35rem}
.numbering-title h2{margin:.15rem 0 0}
.numbering-help{max-width:900px;margin:.45rem 0 1rem;line-height:1.55}
.numbering-group{border-top:1px solid var(--border);padding:1rem 0 .25rem}
.numbering-group:first-of-type{border-top:0;padding-top:.25rem}
.numbering-group-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.65rem}
.numbering-group-head h3{margin:0;font-size:1rem}
.numbering-group-head p{margin:0;max-width:560px;color:var(--muted);font-size:.78rem;text-align:right}
.numbering-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.numbering-card{display:grid;gap:.75rem;border:1px solid #d7e2db;border-radius:18px;background:#fff;padding:.9rem;box-shadow:0 4px 14px rgba(18,46,29,.035)}
.numbering-card.is-locked{background:linear-gradient(145deg,#fbfcfb,#f2f6f3)}
.numbering-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.numbering-card-head>div{min-width:0}
.numbering-card-head strong{display:block;font-size:.95rem}
.numbering-card-head small{display:block;margin-top:.12rem;color:var(--muted);font-weight:800;letter-spacing:.08em}
.sequence-status{flex:0 0 auto;border-radius:999px;padding:.32rem .55rem;font-size:.68rem;font-weight:850;white-space:nowrap}
.sequence-status.locked{background:#e8ece9;color:#4d5b53}
.sequence-status.ready{background:#fff3d9;color:#825700}
.sequence-status.editable{background:#e6f5ec;color:var(--green-dark)}
.sequence-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.sequence-fields label{display:block;min-width:0;font-size:.75rem;font-weight:750;color:#35443b}
.sequence-fields label span{display:block;margin-bottom:.3rem;min-height:1.1em}
.sequence-fields input{width:100%;min-width:0;padding:.68rem .72rem;border:1px solid #cad6ce;border-radius:11px;background:#fff}
.sequence-fields input:disabled{background:#e9eeeb;color:#59645d;cursor:not-allowed}
.sequence-preview{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;background:#f4f7f5;border-radius:11px;padding:.58rem .7rem}
.sequence-preview span{flex:0 0 auto;color:var(--muted);font-size:.72rem;font-weight:750}
.sequence-preview code{min-width:0;overflow-wrap:anywhere;text-align:right;color:#173b27;font-weight:850;font-size:.78rem}
.sequence-note{margin:0;color:var(--muted);font-size:.73rem;line-height:1.4}
.sequence-action-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;border-top:1px dashed #dce5df;padding-top:.7rem}
.sequence-action-row p{margin:0;max-width:58%;color:var(--muted);font-size:.72rem;line-height:1.35}
.sequence-action-row button{flex:0 0 auto;max-width:42%;padding:.58rem .7rem;font-size:.73rem;white-space:normal;line-height:1.2}
@media(max-width:820px){
  .settings-page .topbar{display:grid;grid-template-columns:1fr}
  .settings-page .header-actions{width:100%;max-width:none;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}
  .settings-page .header-actions button{flex:0 0 auto;white-space:nowrap}
  .numbering-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .numbering-section{padding:.85rem}
  .numbering-title,.numbering-group-head{display:block}
  .numbering-title .status-pill{display:inline-block;margin-top:.5rem}
  .numbering-group-head p{margin-top:.25rem;text-align:left}
  .sequence-fields{grid-template-columns:1fr}
  .sequence-action-row{display:grid;grid-template-columns:1fr}
  .sequence-action-row p,.sequence-action-row button{max-width:none;width:100%}
  .sequence-preview{align-items:flex-start;flex-direction:column;gap:.15rem}
  .sequence-preview code{text-align:left}
}

/* RC1.1.31 — tableau de bord Direction 360° et centre d’alertes */
.forecast-currency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.forecast-currency-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:1rem;min-width:0}.forecast-currency-card h2{margin:.15rem 0;font-size:1.35rem}.forecast-horizons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}.forecast-horizons>div{border:1px solid var(--border);border-radius:14px;padding:.72rem;background:#fafcfb;min-width:0}.forecast-horizons span,.forecast-horizons small{display:block;color:var(--muted);font-size:.72rem}.forecast-horizons strong{display:block;margin:.2rem 0;overflow-wrap:anywhere}.forecast-alerts{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.75rem}.forecast-alerts>span{font-size:.72rem;background:#f4f7f5;border-radius:999px;padding:.4rem .6rem}.forecast-table-heading{padding:1rem}.forecast-method{text-align:left;max-width:none}.forecast-method p{margin:.35rem 0 0;color:#285b3c}@media(max-width:860px){.forecast-currency-grid{grid-template-columns:1fr}}@media(max-width:620px){.forecast-horizons{grid-template-columns:1fr}.forecast-currency-card{border-radius:18px}.forecast-alerts{display:grid}.forecast-alerts>span{border-radius:12px}}

/* RC1.1.31 — Direction 360° */
.direction-dashboard{max-width:none}.direction-alert-center{padding:1rem}.alert-counts{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.warning-pill{background:#fff0d8;color:#8a5a00}.direction-alert-list{display:grid;gap:.55rem;margin-top:.8rem}.direction-alert{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:.7rem;align-items:center;width:100%;border:1px solid var(--border);border-radius:15px;background:#fff;padding:.72rem .8rem;text-align:left;color:inherit;cursor:pointer}.direction-alert.critical{border-color:#efbcbc;background:#fff7f7}.direction-alert.warning{border-color:#efdba7;background:#fffdf6}.direction-alert-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900;background:#f1f4f2;color:#536158}.direction-alert.critical .direction-alert-icon{background:#ffe3e3;color:#8c1d1d}.direction-alert.warning .direction-alert-icon{background:#fff0d8;color:#8a5a00}.direction-alert-title{display:flex;gap:.5rem;align-items:center;justify-content:space-between}.direction-alert-title strong{font-size:.88rem}.direction-alert-title span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.direction-alert small{display:block;color:var(--muted);margin-top:.15rem}.direction-alert b{display:block;margin-top:.25rem;font-size:.8rem}.direction-alert em{font-style:normal;color:var(--green);font-size:1.25rem}.direction-all-clear{display:flex;gap:.8rem;align-items:center;border:1px solid #b8dfc7;background:#edf9f1;border-radius:15px;padding:.85rem}.direction-all-clear>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.direction-all-clear small{display:block;color:var(--muted);margin-top:.15rem}.direction-currency-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.direction-currency-head{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between}.direction-currency-head h2{margin:.15rem 0}.direction-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.85rem}.direction-kpi-grid>div{border:1px solid var(--border);background:#fafcfb;border-radius:14px;padding:.72rem;min-width:0}.direction-kpi-grid span,.direction-kpi-grid small{display:block;color:var(--muted);font-size:.7rem}.direction-kpi-grid strong{display:block;margin:.2rem 0;overflow-wrap:anywhere}.direction-forecast-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.65rem}.direction-forecast-strip>div{background:#eef6f1;border-radius:13px;padding:.65rem;min-width:0}.direction-forecast-strip span{display:block;color:#496357;font-size:.68rem;font-weight:700}.direction-forecast-strip strong{display:block;margin-top:.18rem;font-size:.86rem;overflow-wrap:anywhere}.reminder-guide{border-left:4px solid var(--green)}
@media(max-width:760px){.direction-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.direction-forecast-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.direction-alert-title{align-items:flex-start;flex-direction:column;gap:.1rem}}
@media(max-width:520px){.direction-kpi-grid,.direction-forecast-strip{grid-template-columns:1fr}.direction-alert{grid-template-columns:30px minmax(0,1fr);align-items:start}.direction-alert em{display:none}.direction-currency-head{align-items:flex-start}.alert-counts{justify-content:flex-start}.direction-alert-center .card-heading{display:grid;gap:.6rem}}

/* RC1.1.33 — OF ↔ stock stratégique */
.production-material-list{
    display:grid;
    gap:.8rem;
}
.production-material-row{
    border:1px solid var(--border);
    border-radius:16px;
    padding:.9rem;
    background:#fff;
    min-width:0;
}
.production-material-row .form-grid,
.production-material-row .line-metrics{
    min-width:0;
}
.production-material-row .line-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
    margin:.65rem 0;
}
.production-material-row .line-metrics > div{
    min-width:0;
}
.production-material-row .line-metrics dd,
.production-material-row .line-metrics dt{
    overflow-wrap:anywhere;
}
.production-material-row .card-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
}
@media (max-width:700px){
    .production-material-row{
        padding:.75rem;
    }
    .production-material-row .line-metrics{
        grid-template-columns:1fr;
    }
}

/* RC1.1.35 — Barèmes de dotation automatique : robustesse responsive */
.production-line .form-grid,
.production-line .three-columns,
.production-rate-summary,
.production-material-plan,
.production-material-row{min-width:0}
.production-line .field,
.production-material-row .field{min-width:0}
.production-line input,
.production-line select,
.production-material-row input,
.production-material-row select{min-width:0;max-width:100%}
.production-rate-summary .card-heading,
.production-material-row .card-heading{gap:.75rem;flex-wrap:wrap}
.production-rate-summary .status-pill,
.production-material-row .status-pill{max-width:100%;white-space:normal;text-align:center}
.production-material-row small,
.production-line small{overflow-wrap:anywhere}
@media(max-width:700px){
  .production-line .three-columns,
  .production-line .form-grid,
  .production-material-row .form-grid{grid-template-columns:1fr}
  .production-rate-summary .card-actions,
  .production-material-plan .card-actions{justify-content:stretch}
  .production-rate-summary .card-actions button,
  .production-material-plan .card-actions button{width:100%}
}

/* RC1.1.40 — Routage OF & transferts internes professionnels */
.counterpass-action{display:inline-flex;align-items:center;gap:.35rem;position:relative}.info-tip{position:relative;display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid #b9cec0;border-radius:50%;background:#f4faf6;color:var(--green);font-weight:900;cursor:help;outline:none}.info-tip-content{position:absolute;right:0;top:calc(100% + .5rem);z-index:50;width:min(330px,82vw);padding:.75rem .85rem;border:1px solid #bfd2c4;border-radius:12px;background:#fff;color:#243b2d;box-shadow:0 14px 35px rgba(26,65,41,.18);font-size:.76rem;font-weight:500;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.15s ease;text-align:left}.info-tip:hover .info-tip-content,.info-tip:focus .info-tip-content,.info-tip:focus-within .info-tip-content{opacity:1;visibility:visible;transform:translateY(0)}
.production-line [data-of-operational-nature]{font-weight:800}.production-line .code-pill{white-space:normal}.wide-data-page .document-filter-line{align-items:end}.wide-data-page .document-filter-line .field{min-width:130px}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:1rem 0 5rem}.pagination-bar strong{padding:.45rem .65rem;color:var(--muted);font-size:.78rem}
@media(max-width:700px){.counterpass-action{width:100%;justify-content:flex-start}.info-tip-content{right:auto;left:0}.wide-data-page .document-filter-line{grid-template-columns:1fr}.wide-data-page .document-filter-line .field{min-width:0}.production-line .card-heading{align-items:flex-start;flex-wrap:wrap}}

/* RC1.1.40 — Facturation depuis OF, centre REC et exports sécurisés */
.export-scope-card{padding:.9rem 1rem}.export-scope-card .card-heading{margin-bottom:.65rem}.export-scope-card .compact-actions{align-items:center;flex-wrap:wrap}.export-scope-card select{min-width:220px;max-width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:11px;background:#fff}.export-scope-card button:disabled,.card-actions button:disabled{opacity:.48;cursor:not-allowed;filter:none}.receipt-center-page .app-table th:first-child,.receipt-center-page .app-table td:first-child{width:42px;text-align:center}.receipt-center-page .app-table input[type="checkbox"],.wide-data-page .app-table input[type="checkbox"]{width:18px;height:18px;accent-color:var(--green)}.production-billing-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem}.production-billing-selection p{margin:.25rem 0 0}.production-invoice-line{border:1px solid var(--border);border-radius:14px;padding:.8rem;margin:.65rem 0;background:#fff;min-width:0}.production-invoice-line .form-grid{min-width:0}.production-invoice-line input,.production-invoice-line select{min-width:0;max-width:100%}.production-invoice-line small{overflow-wrap:anywhere}.receipt-center-page .document-list-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
@media(max-width:760px){.production-billing-selection{display:grid}.production-billing-selection .compact-actions{width:100%}.production-billing-selection .compact-actions button{flex:1}.export-scope-card .compact-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.export-scope-card select{grid-column:1/-1;width:100%;min-width:0}.receipt-center-page .app-table{min-width:900px}.production-invoice-line .form-grid{grid-template-columns:1fr}}
@media(max-width:480px){.export-scope-card .compact-actions{grid-template-columns:1fr}.export-scope-card select{grid-column:auto}.production-billing-selection .compact-actions{display:grid}.production-billing-selection .compact-actions button{width:100%}}

/* RC1.1.40 — Centre REC complet et déploiement PWA renforcé */
.receipt-center-filters{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.receipt-center-filters .text-button{align-self:end}.receipt-center-page .field input[type=number]{min-width:0}
@media(max-width:700px){.receipt-center-filters{grid-template-columns:1fr 1fr}.receipt-center-filters .text-button{grid-column:1/-1}}
@media(max-width:430px){.receipt-center-filters{grid-template-columns:1fr}}

/* RC1.1.53-PERF1-MOD1 — répartition tailles OF, volontairement compacte */
.production-size-distribution {
  margin-top: .75rem;
  padding: .75rem;
  border: 1px solid var(--border-color, #d9dee5);
  border-radius: .75rem;
}
.production-size-distribution > summary {
  cursor: pointer;
  font-weight: 700;
}
.size-distribution-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: .5rem;
  margin: .75rem 0 .5rem;
}
.compact-size-field input {
  min-width: 0;
}

/* RC1.1.53-PERF1-MOD1 — Navigation supérieure moderne, groupée par domaines */
.app-navigation{position:sticky;top:0;z-index:80;padding-top:env(safe-area-inset-top);background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 7px 24px rgba(18,46,29,.055)}
.app-navigation-inner{max-width:1320px;margin:0 auto;min-height:66px;padding:.55rem 1.35rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center}
.app-brand{border:0;background:transparent;display:flex;align-items:center;gap:.55rem;padding:.3rem .45rem .3rem .2rem;border-radius:13px;cursor:pointer;color:#18241d;text-align:left}
.app-brand img{width:34px;height:34px;border-radius:9px;object-fit:contain;background:#fff;border:1px solid var(--border)}
.app-brand span,.app-brand strong,.app-brand small{display:block}.app-brand strong{font-size:.82rem;letter-spacing:.04em}.app-brand small{font-size:.62rem;color:var(--muted);margin-top:-.05rem}.app-brand.active,.app-brand:hover{background:#eef7f1;color:var(--green-dark)}
.desktop-domain-nav{display:flex;align-items:center;justify-content:center;gap:.2rem;min-width:0}
.domain-home,.domain-menu>summary{min-height:42px;border:0;border-radius:12px;background:transparent;color:#46534b;padding:.62rem .72rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap;list-style:none}
.domain-menu>summary::-webkit-details-marker{display:none}.domain-menu>summary{display:flex;align-items:center;gap:.35rem}.domain-menu>summary>span{font-size:.72rem;color:#7a867f;transition:transform .16s ease}.domain-menu[open]>summary>span{transform:rotate(180deg)}
.domain-home:hover,.domain-home.active,.domain-menu.active>summary,.domain-menu[open]>summary{background:#eaf5ee;color:var(--green-dark)}
.domain-menu{position:relative}.domain-menu-panel{position:absolute;top:calc(100% + .5rem);left:0;width:310px;padding:.45rem;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 45px rgba(18,46,29,.16);display:grid;gap:.18rem;z-index:100}
.domain-menu:nth-last-of-type(-n+2) .domain-menu-panel{left:auto;right:0}
.app-nav-entry{width:100%;border:0;background:transparent;border-radius:11px;padding:.66rem .72rem;text-align:left;cursor:pointer;display:grid;gap:.08rem;color:#253129}
.app-nav-entry span{font-weight:800;font-size:.78rem}.app-nav-entry small{font-size:.66rem;color:var(--muted)}.app-nav-entry:hover,.app-nav-entry.active{background:#edf7f0;color:var(--green-dark)}.app-nav-entry.active small{color:#4f765f}
.app-navigation-actions{display:flex;align-items:center;gap:.4rem}
.mobile-main-menu{display:none;position:relative}.mobile-main-menu>summary{list-style:none;min-height:40px;border:1px solid var(--border);border-radius:12px;background:#fff;color:#28352d;padding:.5rem .65rem;display:flex;align-items:center;gap:.35rem;cursor:pointer}.mobile-main-menu>summary::-webkit-details-marker{display:none}.mobile-main-menu>summary span{font-size:1.05rem}.mobile-main-menu>summary b{font-size:.74rem}
.mobile-main-menu-panel{position:absolute;right:0;top:calc(100% + .5rem);width:min(92vw,430px);max-height:calc(100vh - 86px);overflow:auto;padding:.7rem;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 22px 55px rgba(18,46,29,.2);z-index:110}.mobile-home-link{width:100%;border:0;border-radius:11px;background:#f4f7f5;padding:.7rem;text-align:left;font:inherit;font-size:.8rem;font-weight:850;color:#26322b;cursor:pointer}.mobile-home-link.active{background:#e3f3e9;color:var(--green-dark)}.mobile-nav-group{padding:.75rem 0;border-top:1px solid var(--border)}.mobile-nav-group:first-of-type{margin-top:.55rem}.mobile-nav-group>strong{display:block;padding:0 .4rem .35rem;color:#5f6b64;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.mobile-nav-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}.mobile-nav-group .app-nav-entry{border:1px solid transparent;background:#fafbfa}.mobile-nav-group .app-nav-entry:hover,.mobile-nav-group .app-nav-entry.active{border-color:#c8e2d1;background:#edf7f0}
/* La navigation inférieure n'est plus utilisée. Garder la classe neutre protège les anciens snapshots HTML. */
.bottom-nav{display:none!important}.app-shell{padding-top:.8rem;padding-bottom:2rem}.sticky-actions{bottom:12px}.workflow-actions{bottom:12px}.workflow-stepper{top:72px}.pagination-bar{margin-bottom:1.25rem}
@media(max-width:1060px){.desktop-domain-nav{display:none}.mobile-main-menu{display:block}.app-navigation-inner{grid-template-columns:auto 1fr auto}.app-navigation-actions{justify-self:end}}
@media(max-width:620px){.app-navigation-inner{min-height:60px;padding:.45rem .7rem;gap:.45rem}.app-brand span{display:none}.app-brand{padding:.2rem}.app-brand img{width:32px;height:32px}.mobile-main-menu-panel{position:fixed;top:calc(60px + env(safe-area-inset-top));right:.55rem;left:.55rem;width:auto;max-height:calc(100vh - 70px - env(safe-area-inset-top));border-radius:16px}.mobile-nav-group>div{grid-template-columns:1fr 1fr}.workflow-stepper{top:64px}.app-shell{padding-left:.7rem;padding-right:.7rem}}
@media(max-width:410px){.mobile-nav-group>div{grid-template-columns:1fr}.mobile-main-menu-panel{left:.4rem;right:.4rem}}
@media print{.app-navigation{display:none!important}.app-shell{padding:0!important}.workflow-stepper{top:0}}

/* RC1.1.53-PERF1-MOD1 — Page Documents : saisie contextuelle Articles / Modèles / Favoris */
.document-entry-workspace{display:grid;gap:.85rem;margin-top:1rem}.document-entry-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.15rem .1rem}.document-entry-heading h2{margin:.05rem 0;font-size:1.08rem}.document-entry-heading small{max-width:470px;color:var(--muted);text-align:right;font-size:.76rem}.document-entry-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.42rem;background:#e9eeeb;border:1px solid #d7e0da;border-radius:17px}.document-entry-tabs button{border:1px solid transparent;border-radius:13px;background:transparent;color:#56625b;min-height:58px;padding:.62rem .72rem;display:grid;gap:.05rem;text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.document-entry-tabs button strong{font-size:.84rem}.document-entry-tabs button small{font-size:.67rem;color:#76827a}.document-entry-tabs button:hover{background:rgba(255,255,255,.62);color:#243229}.document-entry-tabs button.active{background:#fff;border-color:#bfdcca;color:var(--green-dark);box-shadow:0 5px 16px rgba(18,46,29,.08)}.document-entry-tabs button.active small{color:#4c725a}.document-entry-tabs button:focus-visible{outline:3px solid rgba(15,122,69,.18);outline-offset:2px}.document-entry-pane{min-width:0}.document-entry-pane[hidden]{display:none!important}.document-entry-pane>.card:first-child{margin-top:0}.document-entry-workspace.edit-focus{padding-top:.2rem}.document-entry-workspace.edit-focus .document-entry-heading{padding:.7rem .9rem;border:1px solid #cfe1d5;border-radius:16px;background:#f4faf6}.document-model-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1rem}.document-model-choice{border:1px solid #d8e4dc;border-radius:16px;background:#fbfdfb;padding:.85rem;text-align:left;display:grid;gap:.35rem;cursor:pointer;color:#253129;min-height:132px}.document-model-choice:hover,.document-model-choice:focus-visible{border-color:#9fc9ad;background:#f3faf5;box-shadow:0 8px 22px rgba(18,46,29,.08)}.document-model-choice strong{font-size:.92rem}.document-model-choice small{color:var(--muted);font-size:.72rem;line-height:1.35}.document-model-choice b{margin-top:auto;color:var(--green);font-size:.74rem}.favorite-card b{color:var(--green);font-size:.7rem}.favorite-navigation-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border)}.document-lines-summary{margin-bottom:.25rem}.document-lines-summary>.card-heading{margin-bottom:.45rem}.model-entry-empty{border-style:dashed}.document-entry-pane .add-line-panel{scroll-margin-top:155px}
@media(max-width:900px){.document-model-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-entry-heading{align-items:flex-start;flex-direction:column}.document-entry-heading small{text-align:left;max-width:none}}
@media(max-width:620px){.document-entry-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:.35rem}.document-entry-tabs button{min-width:190px;scroll-snap-align:start}.document-model-choice-grid{grid-template-columns:1fr}.document-entry-pane .card{border-radius:16px}.document-entry-workspace{gap:.65rem}.document-entry-heading{padding-left:.05rem;padding-right:.05rem}.favorite-navigation-actions{justify-content:flex-start}}
@media print{.document-entry-tabs,.document-entry-heading{display:none!important}}


/* RC1.1.53-PERF1-MOD1 — Formulaires adaptatifs et dialogues DIASOW */
.dynamic-field[hidden],.dynamic-control[hidden],[data-dynamic-source][hidden]{display:none!important}
.dynamic-field{transition:opacity .16s ease,transform .16s ease}.dynamic-field:not([hidden]){animation:diasow-field-in .16s ease-out both}@keyframes diasow-field-in{from{opacity:.25;transform:translateY(-3px)}to{opacity:1;transform:none}}
.confidential-backup-note{margin:.85rem 0;padding:.85rem 1rem;border:1px solid #e2c75f;border-radius:14px;background:#fff9df;color:#5e4b00}.confidential-backup-note strong{display:block;margin-bottom:.2rem}.confidential-backup-note p{margin:0;font-size:.78rem;line-height:1.45;color:#6f5c12}
.diasow-dialog{width:min(520px,calc(100vw - 2rem));max-height:min(80vh,680px);padding:0;border:0;border-radius:22px;background:transparent;overflow:visible}.diasow-dialog::backdrop{background:rgba(9,24,15,.6);backdrop-filter:blur(7px)}.diasow-dialog-card{margin:0;padding:1.15rem;background:#fff;border:1px solid rgba(255,255,255,.6);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.28);display:grid;grid-template-columns:auto 1fr;gap:.9rem}.diasow-dialog-icon{width:42px;height:42px;border-radius:13px;background:#e7f5ec;color:var(--green-dark);display:grid;place-items:center;font-size:1.05rem;font-weight:900}.diasow-dialog-icon.danger{background:#fff0ef;color:#a5211c}.diasow-dialog-copy{min-width:0}.diasow-dialog-copy .eyebrow{margin:0 0 .15rem}.diasow-dialog-copy h2{margin:.05rem 0 .35rem;font-size:1.08rem}.diasow-dialog-message{white-space:pre-line;margin:.15rem 0 .8rem;color:var(--muted);font-size:.82rem;line-height:1.5}.diasow-dialog-copy .field{margin-top:.75rem}.diasow-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.55rem;padding-top:.4rem;border-top:1px solid var(--border)}.danger-button{border:0;border-radius:12px;background:#b62c27;color:#fff;padding:.68rem .9rem;font:inherit;font-weight:800;cursor:pointer}.danger-button:hover{background:#941f1a}
@media(max-width:560px){.diasow-dialog{width:calc(100vw - 1rem);margin:auto .5rem max(.5rem,env(safe-area-inset-bottom))}.diasow-dialog-card{grid-template-columns:1fr;padding:1rem}.diasow-dialog-icon{width:38px;height:38px}.diasow-dialog-actions{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.diasow-dialog-actions button{width:100%}}
/* RC1.1.53-PERF1-MOD1 — formulaires modaux compacts et contextuels */
.diasow-form-dialog{width:min(640px,calc(100vw - 2rem))}
.diasow-dialog-form-grid{display:grid;gap:.7rem;margin-top:.2rem}
.diasow-dialog-form-grid .field{margin:0;min-width:0}
.diasow-dialog-form-grid input,.diasow-dialog-form-grid select,.diasow-dialog-form-grid textarea{width:100%;min-width:0}
@media(max-width:560px){.diasow-form-dialog{width:calc(100vw - 1rem)}.diasow-dialog-form-grid{gap:.6rem}}
.size-grid .historical-size{opacity:.72;border-style:dashed}.size-grid .historical-size span{font-size:.72rem}.size-grid .historical-size input{accent-color:#7d8a82}


/* RC1.1.53-PERF1-MOD1 — création rapide contextuelle */
.app-quick-create{position:relative}
.app-quick-create>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;border:0;border-radius:12px;background:#0b7a3e;color:#fff;padding:.72rem .9rem;font:inherit;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.app-quick-create>summary::-webkit-details-marker{display:none}
.app-quick-create[open]>summary{filter:brightness(.96)}
.app-quick-create-panel{position:absolute;right:0;top:calc(100% + .45rem);z-index:80;width:min(310px,calc(100vw - 2rem));padding:.45rem;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.16);display:grid;gap:.25rem}
.app-quick-create-panel button{border:0;background:transparent;text-align:left;padding:.72rem .8rem;border-radius:10px;display:grid;gap:.12rem;cursor:pointer;color:inherit}
.app-quick-create-panel button:hover,.app-quick-create-panel button:focus-visible{background:rgba(30,135,73,.08);outline:none}
.app-quick-create-panel small{color:#667085;font-weight:500}
@media(max-width:760px){.app-quick-create>summary b{display:none}.app-quick-create>summary{padding:.7rem .78rem}.app-quick-create-panel{position:fixed;right:1rem;top:4.7rem}}

/* HARD4 — identité utilisateur et séparation des privilèges */
.identity-session-bar{max-width:1320px;margin:.55rem auto 0;padding:.55rem .85rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:14px;background:#f7faf8}
.identity-session-bar>div{min-width:0;display:grid;gap:.05rem}.identity-session-bar strong{font-size:.78rem}.identity-session-bar small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}.identity-session-bar .text-button{flex:0 0 auto}
.settings-readonly input:disabled,.settings-readonly select:disabled,.settings-readonly textarea:disabled{opacity:.78;cursor:not-allowed;background:#f4f6f5}.settings-readonly button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:620px){.identity-session-bar{margin:.45rem .7rem 0;padding:.5rem .65rem;align-items:flex-start}.identity-session-bar small{font-size:.64rem}}
@media print{.identity-session-bar{display:none!important}}

/* HARD6 — chargement progressif et retour visuel léger */
.performance-loading-card {
  max-width: 720px;
  margin: 2rem auto;
  overflow: hidden;
}
.performance-loading-card h1 { margin-bottom: .4rem; }
.performance-loading-card p:not(.eyebrow) { color: var(--muted, #5c645f); }
.skeleton-line {
  width: 100%;
  height: 12px;
  margin-top: 1rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(38, 112, 66, .08) 25%, rgba(38, 112, 66, .18) 50%, rgba(38, 112, 66, .08) 75%);
  background-size: 200% 100%;
  animation: diasow-skeleton 1.25s ease-in-out infinite;
}
.skeleton-line.short { width: 62%; }
@keyframes diasow-skeleton {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .skeleton-line { animation: none; }
}

/* HARD7 — justificatifs de paiement : interface légère, lisible et mobile. */
.payment-evidence-card .summary-grid{margin:.75rem 0}.payment-evidence-card .preview-line{align-items:center}.payment-evidence-compact{max-width:100%}.compact-file-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.evidence-upload-field small{display:block;margin-top:.35rem;color:var(--muted);font-size:.76rem}.evidence-upload-field input[type="file"]{padding:.58rem;background:#fafcfb}.confidential-backup-note{border:1px solid #ead7a0;border-radius:14px;background:#fff9e8;padding:.75rem;margin:.75rem 0}.confidential-backup-note p{margin:.25rem 0 0}
