@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/archivo-400.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/archivo-500.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/archivo-600.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-700.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/archivo-800.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2")}:root{--ef-red-50: #FDECEE;--ef-red-100: #FBD3D7;--ef-red-200: #F6A7AF;--ef-red-300: #F17A86;--ef-red-400: #ED5360;--ef-red-500: #E73443;--ef-red-600: #CC2532;--ef-red-700: #A81B26;--ef-red-800: #7E141C;--ef-red-900: #560E14;--ef-slate-50: #F6F7F8;--ef-slate-100: #EDEFF1;--ef-slate-200: #E1E4E7;--ef-slate-300: #C7CCD1;--ef-slate-400: #A6ACB3;--ef-slate-500: #828990;--ef-slate-600: #6A7178;--ef-slate-700: #4D5359;--ef-slate-800: #34383D;--ef-slate-900: #22262A;--ef-ink-900: #141619;--ef-ink-800: #1B1E22;--ef-ink-700: #25292E;--ef-steel-50: #EEF2F5;--ef-steel-100: #DCE4EA;--ef-steel-200: #B7C7D2;--ef-steel-300: #93A8B7;--ef-steel-400: #738B9C;--ef-steel-500: #5E7488;--ef-steel-600: #4B5E70;--ef-steel-700: #3A4A58;--ef-metal-100: #F3F4F5;--ef-metal-200: #DBDEE1;--ef-metal-300: #C0C4C8;--ef-metal-400: #9DA2A7;--ef-white: #FFFFFF;--ef-success: #1B7A3D;--ef-success-bg: #E7F3EC;--ef-warning: #C9870E;--ef-warning-ink: #7A5000;--ef-warning-bg: #FBF1DC;--ef-danger: #CC2532;--ef-danger-ink: #A81B26;--ef-danger-bg: #FBE3E5;--ef-info: #2C6CB0;--ef-info-bg: #E5EFF8;--brand: var(--ef-red-500);--brand-hover: var(--ef-red-600);--brand-press: var(--ef-red-700);--brand-tint: var(--ef-red-50);--on-brand: var(--ef-white);--accent: var(--ef-steel-500);--accent-hover: var(--ef-steel-600);--bg: var(--ef-white);--bg-subtle: var(--ef-slate-50);--bg-muted: var(--ef-slate-100);--surface: var(--ef-white);--surface-inverse: var(--ef-ink-900);--text-primary: var(--ef-slate-900);--text-secondary: var(--ef-slate-700);--text-muted: var(--ef-slate-600);--text-on-dark: var(--ef-white);--text-link: var(--ef-red-600);--border: var(--ef-slate-200);--border-strong: var(--ef-slate-300);--focus-ring: color-mix(in srgb, var(--ef-red-500) 55%, transparent);--font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-body: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold:600;--fw-bold: 700;--fw-black: 800;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 2.875rem;--text-5xl: 3.75rem;--lh-tight: 1.05;--lh-snug: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tighter: -.02em;--ls-tight: -.01em;--ls-normal: 0em;--ls-wide: .04em;--ls-eyebrow: .14em;--radius-xs: 3px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 18px;--radius-pill: 999px;--control-h-sm: 34px;--control-h-md: 42px;--control-h-lg: 52px;--shadow-xs: 0 1px 2px rgba(34,38,42,.08);--shadow-sm: 0 1px 3px rgba(34,38,42,.1), 0 1px 2px rgba(34,38,42,.06);--shadow-md: 0 4px 12px rgba(34,38,42,.1), 0 2px 4px rgba(34,38,42,.06);--shadow-lg: 0 12px 28px rgba(34,38,42,.14), 0 4px 8px rgba(34,38,42,.07);--shadow-xl: 0 24px 56px rgba(20,22,25,.2);--shadow-brand: 0 6px 18px rgba(231,52,67,.3);--ring: 0 0 0 3px var(--focus-ring);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-med: .2s;--dur-slow: .32s}.efx-btn{--_h: var(--control-h-md);display:inline-flex;align-items:center;justify-content:center;gap:.55em;height:var(--_h);padding:0 1.15rem;font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--text-sm);letter-spacing:.01em;line-height:1;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.efx-btn:focus-visible{outline:none;box-shadow:var(--ring)}.efx-btn:active{transform:translateY(1px)}.efx-btn[disabled],.efx-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.efx-btn--sm{--_h:var(--control-h-sm);font-size:var(--text-xs);padding:0 .85rem}.efx-btn--lg{--_h:var(--control-h-lg);font-size:var(--text-base);padding:0 1.6rem}.efx-btn--block{display:flex;width:100%}.efx-btn--primary{background:var(--brand);color:var(--on-brand)}.efx-btn--primary:hover{background:var(--brand-hover);box-shadow:var(--shadow-brand)}.efx-btn--primary:active{background:var(--brand-press);box-shadow:none}.efx-btn--secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.efx-btn--secondary:hover{border-color:var(--ef-slate-500);background:var(--ef-slate-50)}.efx-btn--secondary:active{background:var(--ef-slate-100)}.efx-btn--ghost{background:transparent;color:var(--text-secondary)}.efx-btn--ghost:hover{background:var(--ef-slate-100);color:var(--text-primary)}.efx-btn--inverse{background:var(--ef-white);color:var(--ef-ink-900)}.efx-btn--inverse:hover{background:var(--ef-slate-200)}.efx-btn--danger{background:var(--ef-danger);color:#fff}.efx-btn--danger:hover{background:var(--ef-red-700)}.efx-btn__icon{display:inline-flex;width:1.1em;height:1.1em}.efx-btn__icon svg{width:100%;height:100%;display:block}.efx-badge{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--text-xs);line-height:1;white-space:nowrap;padding:.42em .7em;border-radius:var(--radius-xs);border:1px solid transparent}.efx-badge__dot{width:.5em;height:.5em;border-radius:50%;background:currentColor}.efx-badge--neutral{color:var(--text-secondary);background:var(--ef-slate-100)}.efx-badge--brand{color:var(--brand);background:var(--ef-red-50);border-color:var(--ef-red-100)}.efx-badge--info{color:var(--ef-info);background:var(--ef-info-bg)}.efx-badge--running{color:var(--ef-success);background:var(--ef-success-bg)}.efx-badge--idle{color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.efx-badge--alarm{color:#fff;background:var(--ef-danger);font-weight:var(--fw-bold)}.efx-badge--offline{color:var(--ef-slate-700);background:var(--ef-slate-100)}.efx-metric{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);font-family:var(--font-body);min-width:0;container-type:inline-size}.efx-metric__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.efx-metric__label{font-size:clamp(.66rem,3.4cqi,.82rem);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted);line-height:1.25}.efx-metric__icon{width:clamp(28px,9cqi,40px);height:clamp(28px,9cqi,40px);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--ef-slate-100);color:var(--text-secondary);flex:none}.efx-metric__icon svg{width:clamp(15px,4.5cqi,20px);height:clamp(15px,4.5cqi,20px)}.efx-metric__row{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-height:0}.efx-metric__value{font-family:var(--font-display);font-weight:var(--fw-black);font-size:clamp(1.9rem,16cqi,3.4rem);line-height:1.05;letter-spacing:var(--ls-tighter);color:var(--text-primary);font-variant-numeric:tabular-nums}.efx-metric__unit{font-family:var(--font-mono);font-size:clamp(.85rem,4.5cqi,1.15rem);color:var(--text-muted)}.efx-metric__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.efx-metric__note{font-size:var(--text-xs);color:var(--text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efx-metric__delta{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:var(--fw-semibold)}.efx-metric__delta--up{color:var(--ef-success)}.efx-metric__delta--down{color:var(--ef-danger)}.efx-metric__delta--flat{color:var(--text-muted)}.efx-metric__spark{display:block}.efx-metric__spark path{fill:none;stroke:var(--ef-steel-500);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.efx-metric__action{margin-top:auto;align-self:flex-start}.efx-gauge{display:inline-flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--font-body)}.efx-gauge__svg{display:block}.efx-gauge__track{stroke:var(--ef-slate-200)}.efx-gauge__val{transition:stroke-dashoffset var(--dur-slow) var(--ease-out);stroke-linecap:round}.efx-gauge--good .efx-gauge__val{stroke:var(--ef-success)}.efx-gauge--warn .efx-gauge__val{stroke:var(--ef-warning)}.efx-gauge--crit .efx-gauge__val{stroke:var(--ef-danger)}.efx-gauge--data .efx-gauge__val{stroke:var(--ef-steel-500)}.efx-gauge__center{font-family:var(--font-display);font-weight:var(--fw-black);fill:var(--text-primary);font-variant-numeric:tabular-nums}.efx-gauge__unit{font-family:var(--font-mono);fill:var(--text-muted)}.efx-gauge__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.efx-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;font-family:var(--font-body);border-left:3px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface);transition:background var(--dur-fast) var(--ease-out)}.efx-alert:hover{background:var(--ef-slate-50)}.efx-alert--crit{border-left-color:var(--ef-danger)}.efx-alert--warn{border-left-color:var(--ef-warning)}.efx-alert--info{border-left-color:var(--ef-steel-500)}.efx-alert__dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:none}.efx-alert--crit .efx-alert__dot{background:var(--ef-danger);box-shadow:0 0 0 3px var(--ef-danger-bg)}.efx-alert--warn .efx-alert__dot{background:var(--ef-warning);box-shadow:0 0 0 3px var(--ef-warning-bg)}.efx-alert--info .efx-alert__dot{background:var(--ef-steel-500);box-shadow:0 0 0 3px var(--ef-steel-100)}.efx-alert__body{flex:1;min-width:0}.efx-alert__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.efx-alert__machine{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.efx-alert__time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;flex:none}.efx-alert__msg{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4;margin-top:2px}.efx-specs{font-family:var(--font-body);width:100%}.efx-specs__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.efx-specs__row:last-child{border-bottom:0}.efx-specs__label{font-size:var(--text-sm);color:var(--text-secondary)}.efx-specs__value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.efx-specs__unit{color:var(--text-muted);font-weight:var(--fw-regular);margin-left:.25em}.efx-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px}.efx-modal__card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;padding:22px;width:min(440px,100%)}.efx-modal__card h3{margin:0 0 10px}.efx-modal__body{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.efx-modal__body b{color:var(--text-primary)}.efx-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.efx-modal__retour{margin-right:auto}.ec-demobadge{display:inline-flex;align-items:center;vertical-align:middle;font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--text-xs);line-height:1;white-space:nowrap;padding:.42em .7em;border-radius:var(--radius-pill);color:var(--ef-warning-ink);background:var(--ef-warning-bg);cursor:help}.ec-demonotice{font-size:var(--text-sm);line-height:1.45;padding:9px 12px;border-radius:var(--radius-sm);margin:0 0 14px;color:var(--ef-warning-ink);background:var(--ef-warning-bg);cursor:help}.ec-demonotice b{font-weight:var(--fw-bold)}.ec-visio{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:16px}.ec-visio__carte{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000059;width:min(1100px,100%);height:min(92vh,100%);display:flex;flex-direction:column;overflow:hidden;outline:none}.ec-visio__tete{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border);flex:none}.ec-visio__nom{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--text-sm)}.ec-visio__rang,.ec-visio__zoom{font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.ec-visio__zoom{min-width:44px;text-align:center}.ec-visio__actes{display:flex;align-items:center;gap:6px;flex:none}.ec-visio__x{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer}.ec-visio__x:hover{background:var(--ef-slate-50);color:var(--text-primary)}.ec-visio__x svg{width:18px;height:18px}.ec-visio__corps{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--ef-slate-50)}.ec-visio__pdf{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.ec-visio__page{flex:none;margin:0 auto;background:var(--surface);box-shadow:0 1px 4px #0000002e}.ec-visio__page canvas{display:block;width:100%;height:100%}.ec-visio__image{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;padding:12px}.ec-visio__image img{flex:none;margin:auto}.ec-visio__info{margin:16px;font-size:var(--text-sm);color:var(--text-secondary);text-align:center}.ec-visio__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000026}.ec-visio__nav svg{width:20px;height:20px}.ec-visio__nav--g{left:10px}.ec-visio__nav--d{right:10px}@media (max-width:560px){.ec-visio{padding:0}.ec-visio__carte{width:100%;height:100%;border-radius:0}.ec-visio__tete{flex-wrap:wrap}.ec-visio__nom{flex-basis:100%}}.ec-doc__voir{padding:0;border:none;background:none;font:inherit;text-align:left;cursor:zoom-in}.ec-visio__glisse{cursor:grab;user-select:none;-webkit-user-select:none}.ec-visio__glisse.is-prise{cursor:grabbing}.ec-visio__glisse img,.ec-visio__glisse canvas{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.ec-cat{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:6px}.ec-cat__carte{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000059;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;outline:none}.ec-cat__tete{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border);flex:none}.ec-cat__titre{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--text-sm)}.ec-cat__actes{display:flex;align-items:center;gap:6px;flex:none}.ec-cat__corps{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1.9fr) minmax(360px,1fr)}.ec-cat__planches{border-right:1px solid var(--border);overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}.ec-cat__planches ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ec-cat__choix{display:none}.ec-cat__planche{width:100%;text-align:left;border:none;background:none;padding:7px 9px;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:1px;font:inherit;font-size:var(--text-sm);color:var(--text-primary)}.ec-cat__planche small{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.ec-cat__planche:hover{background:var(--ef-slate-50)}.ec-cat__planche.is-on{background:var(--ef-red-50);color:var(--ef-red-700);font-weight:var(--fw-bold)}.ec-cat__dessin{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--ef-slate-50)}.ec-cat__vues{display:flex;align-items:center;gap:12px;padding:10px 12px;flex:none;background:var(--surface);border-bottom:1px solid var(--border)}.ec-cat__vues-titre{flex:none;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-cat__vues-liste{display:flex;gap:10px;overflow-x:auto;min-width:0;padding:2px}.ec-cat__vuebtn{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font:inherit;color:var(--text-secondary)}.ec-cat__vuebtn:hover{border-color:var(--ef-slate-400)}.ec-cat__vuebtn.is-on{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.ec-cat__mini{display:block;width:104px;height:auto;min-height:60px;background:var(--ef-slate-50);border-radius:var(--radius-sm)}.ec-cat__vuelbl{display:flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:var(--fw-bold)}.ec-cat__point{width:8px;height:8px;border-radius:50%;background:var(--brand)}.ec-cat__note{margin:8px 10px 0;font-size:var(--text-xs);color:var(--text-secondary);flex:none}.ec-cat__vue{flex:1;min-height:0;display:flex;flex-direction:column}.ec-cat__zoom{display:flex;align-items:center;gap:6px;justify-content:flex-end;padding:6px 10px 0;font-size:var(--text-xs);color:var(--text-secondary);flex:none}.ec-cat__toile{flex:1;min-height:0;overflow:auto;padding:12px;display:flex}.ec-cat__page{position:relative;flex:none;margin:auto;background:var(--surface);box-shadow:0 1px 4px #0000002e}.ec-cat__page canvas{display:block}.ec-cat__repere{position:absolute;border-radius:50%;border:2px solid transparent;background:transparent;padding:0;cursor:pointer}.ec-cat__repere:hover{border-color:var(--ef-red-400);background:#e7344314}.ec-cat__repere.is-sel{border-color:var(--ef-red-500);background:#e7344338;box-shadow:0 0 0 3px #e7344340}.ec-cat__liste{min-height:0;overflow:auto;padding:10px 12px}.ec-cat__nom{margin:0 0 8px;font-size:var(--text-base);color:var(--text-primary);display:flex;flex-direction:column;gap:2px}.ec-cat__nom small{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);font-weight:var(--fw-regular)}.ec-cat__kit{width:100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 10px;padding:9px 12px;text-align:left;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-sm);background:var(--ef-slate-50);cursor:pointer;font:inherit;font-size:var(--text-sm);color:var(--text-primary)}.ec-cat__kit:hover{border-color:var(--ef-slate-400);border-left-color:var(--brand)}.ec-cat__kit.is-sel{background:var(--brand-tint);border-color:var(--brand)}.ec-cat__kit-lbl{font-weight:var(--fw-bold)}.ec-cat__kit b{font-size:var(--text-base)}.ec-cat__kit-reps{flex-basis:100%;font-size:var(--text-xs);color:var(--text-secondary)}.ec-cat__dans-kit{margin-left:8px;padding:0 6px;border-radius:var(--radius-pill);background:var(--ef-slate-200);color:var(--text-secondary);font-size:11px;font-weight:var(--fw-bold);vertical-align:1px}.ec-cat__autre{font-style:italic;color:var(--text-muted)}.ec-cat__kit{position:relative;flex-wrap:nowrap;align-items:center;cursor:default}.ec-cat__kit-choix{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;border:none;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.ec-cat__kit .ec-cat__ajout{align-self:center;flex:none}.ec-cat__carte{position:relative}.ec-cat__btn-panier{border:1px solid var(--brand);background:var(--surface);color:var(--brand);font-weight:var(--fw-bold);gap:6px}.ec-cat__btn-panier:hover,.ec-cat__btn-panier.is-on{background:var(--brand);color:var(--surface)}.ec-cat__nb{display:inline-block;min-width:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--brand);color:var(--surface);font-size:11px;line-height:18px;text-align:center}.ec-cat__btn-panier:hover .ec-cat__nb,.ec-cat__btn-panier.is-on .ec-cat__nb{background:var(--surface);color:var(--brand)}.ec-cat__erreur{font-size:var(--text-xs);color:var(--ef-red-700);max-width:340px}.ec-cat__th-ajout,.ec-cat__td-ajout{width:44px;text-align:right!important}.ec-cat__ajout{min-width:28px;height:24px;padding:0 6px;border:1px solid var(--brand);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand);font:inherit;font-size:var(--text-sm);font-weight:var(--fw-bold);line-height:1;cursor:pointer}.ec-cat__ajout:hover,.ec-cat__ajout.is-dedans{background:var(--brand);color:var(--surface)}.ec-cat__ajout.is-dedans span{margin-left:2px;font-size:11px}.ec-cat__ajout:disabled{opacity:.5;cursor:default}.ec-cat__panier{position:absolute;top:57px;right:8px;bottom:8px;width:min(460px,calc(100% - 16px));z-index:2;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 36px #0f172a38}@keyframes ec-panier-entree{0%{opacity:0;transform:translate(28px) scale(.985)}}.ec-cat__panier{animation:ec-panier-entree var(--dur-slow) var(--ease-out) backwards;transform-origin:right center}@media (prefers-reduced-motion:reduce){.ec-cat__panier{animation:none}}.ec-cat__panier-tete{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--border);flex:none}.ec-cat__panier-tete b{font-size:var(--text-base)}.ec-cat__panier-tete .ec-muted{flex:1;font-size:var(--text-xs)}.ec-cat__panier-corps{flex:1;min-height:0;overflow:auto;padding:8px 16px}.ec-cat__panier-machine h4{margin:10px 0 6px;font-size:var(--text-sm);color:var(--text-secondary)}.ec-cat__panier-machine ul{list-style:none;margin:0;padding:0}.ec-cat__pl{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"des stock ." "ref qte x";column-gap:10px;row-gap:2px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.ec-cat__pl-des{grid-area:des;align-self:start;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.ec-cat__pl .ec-cat__stock{grid-area:stock;justify-self:end;align-self:start;margin-top:0}.ec-cat__pl-ref{grid-area:ref;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:var(--text-sm)}.ec-cat__pl-ref small{font-size:var(--text-xs);color:var(--text-muted)}.ec-cat__pl-qte{grid-area:qte;justify-self:end}.ec-cat__pl-x{grid-area:x}.ec-cat__pl-qte{display:flex;align-items:center;flex:none;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.ec-cat__pl-qte button{width:26px;height:28px;border:none;background:var(--ef-slate-50);cursor:pointer;font:inherit;color:var(--text-primary)}.ec-cat__pl-qte button:disabled{opacity:.4;cursor:default}.ec-cat__pl-qte input{width:44px;height:28px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font:inherit;font-size:var(--text-sm);-moz-appearance:textfield}.ec-cat__pl-qte input::-webkit-outer-spin-button,.ec-cat__pl-qte input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ec-cat__pl-x{flex:none;width:28px;height:28px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted)}.ec-cat__pl-x:hover{background:var(--ef-slate-50);color:var(--ef-red-700)}.ec-cat__pl-x svg{width:14px;height:14px}.ec-cat__panier-pied{flex:none;padding:12px 16px 14px;border-top:1px solid var(--border);background:var(--ef-slate-50);border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px)}.ec-cat__panier-aide{margin:0 0 10px;font-size:var(--text-xs);color:var(--text-secondary)}.ec-cat__panier-actes{display:flex;flex-wrap:wrap;gap:8px}.ec-cat__stock{align-self:flex-start;margin-top:4px;display:inline-flex;align-items:center;gap:3px;padding:1px 7px 1px 3px;border-radius:16px;font-size:11px;line-height:14px;font-weight:600;white-space:nowrap}.ec-cat__stock svg{flex:none;width:12px;height:12px}.ec-cat__stock.is-en-stock{background:#d6edd7;color:#008a00}.ec-cat__stock.is-hors-stock,.ec-cat__stock.is-stock-insuffisant{background:#fdeaca;color:#f5a623}.ec-cat__maforeuse{margin:0 0 10px}.ec-cat__btn-maforeuse{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font:inherit;text-align:left;color:var(--text-primary)}.ec-cat__btn-maforeuse:hover:not(:disabled){border-color:var(--brand)}.ec-cat__btn-maforeuse:disabled{cursor:default}.ec-cat__btn-maforeuse:not(:disabled){border-color:var(--brand);box-shadow:0 1px #0f172a0a}.ec-cat__btn-maforeuse:not(:disabled):hover{background:var(--ef-slate-50)}.ec-cat__btn-maforeuse img{flex:none;height:32px;width:auto}.ec-cat__btn-maforeuse span{display:flex;flex-direction:column;font-size:var(--text-sm);font-weight:var(--fw-bold)}.ec-cat__btn-maforeuse small{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--text-secondary)}.ec-cat__telecharger{position:relative}.ec-cat__formats{position:absolute;left:0;bottom:calc(100% + 6px);z-index:3;min-width:280px;display:flex;flex-direction:column;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0f172a2e}.ec-cat__formats button{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border:none;background:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;font:inherit;color:var(--text-primary)}.ec-cat__formats button:hover,.ec-cat__formats button:focus-visible{background:var(--ef-slate-50)}.ec-cat__formats b{font-size:var(--text-sm)}.ec-cat__formats span{font-size:var(--text-xs);color:var(--text-secondary)}.ec-cat__table{border-collapse:collapse}.ec-cat__table th,.ec-cat__table td{padding:6px 8px;font-size:var(--text-sm);border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.ec-cat__table th{font-size:var(--text-xs);color:var(--text-secondary);position:sticky;top:-10px;background:var(--surface)}.ec-cat__table th.ec-num,.ec-cat__table td.ec-num{text-align:right}.ec-cat__table td.ec-cat__code{white-space:nowrap}.ec-cat__table tbody tr{cursor:pointer}.ec-cat__table tbody tr.is-ensemble{cursor:default;font-weight:var(--fw-bold)}.ec-cat__table tbody tr:hover td{background:var(--ef-slate-50)}.ec-cat__table tbody tr.is-sel td{background:var(--ef-red-50);color:var(--ef-red-700)}.ec-cat__ouvrir{margin-left:8px;border:none;background:none;color:var(--text-link);text-decoration:underline;cursor:pointer;font:inherit;font-size:var(--text-xs);padding:0}@media (max-width:900px){.ec-cat{padding:0}.ec-cat__carte{border-radius:0}.ec-cat__corps{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1.2fr) minmax(0,1fr)}.ec-cat__planches{border-right:none;border-bottom:1px solid var(--border);overflow:visible}.ec-cat__planches ul,.ec-cat__filtre{display:none}.ec-cat__choix{display:block}.ec-cat__dessin{border-right:none;border-bottom:1px solid var(--border)}.ec-cat__vues{padding:8px;gap:8px}.ec-cat__mini{width:72px}}.ec-doc__pieces{display:flex;align-items:center;gap:16px;margin:0 16px 14px;padding:14px 16px;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-md);background:var(--brand-tint)}.ec-doc__pieces-ico{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--surface);color:var(--brand)}.ec-doc__pieces-ico svg{width:22px;height:22px}.ec-doc__pieces-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ec-doc__pieces-txt b{font-size:var(--text-base);color:var(--text-primary)}.ec-doc__pieces-txt span{font-size:var(--text-sm);color:var(--text-secondary)}@media (max-width:640px){.ec-doc__pieces{flex-wrap:wrap}.ec-doc__pieces .efx-btn{width:100%;justify-content:center}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-subtle);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%}.ec-shell{display:flex;height:100vh;overflow:hidden}.ec-shell a:not(.efx-btn){color:inherit;text-decoration:none}.ec-skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--brand);color:var(--on-brand);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:10px 16px;border-radius:var(--radius-sm);text-decoration:none;transition:top var(--dur-fast) var(--ease-out)}.ec-skip:focus{top:12px;outline:2px solid var(--ef-ink-900);outline-offset:2px}.ec-content:focus{outline:none}.ec-side{width:248px;flex:none;background:var(--ef-ink-900);color:var(--ef-slate-300);display:flex;flex-direction:column;padding:18px 14px}.ec-logo{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}.ec-logo img{height:30px;width:auto}.ec-logo__txt{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-base);color:#fff;letter-spacing:.01em}.ec-logo__txt b{font-weight:var(--fw-black)}.ec-navlist{display:flex;flex-direction:column;gap:2px;margin-top:6px}.ec-navselect{display:none}.ec-nav{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:var(--radius-sm);color:var(--ef-slate-400);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-nav__ico{width:20px;height:20px;display:inline-flex;flex:none}.ec-nav__lbl{flex:1}.ec-nav:hover{background:#ffffff0f;color:#fff}.ec-nav.is-active{background:var(--brand);color:#fff;box-shadow:var(--shadow-brand)}.ec-nav.is-active .ec-nav__ico{color:#fff}.ec-nav__badge{background:var(--ef-red-500);color:#fff;font-size:11px;font-weight:var(--fw-bold);min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.ec-nav.is-active .ec-nav__badge{background:#ffffff40}.ec-side__foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.ec-user{display:flex;align-items:center;gap:10px;padding:8px}.ec-avatar{width:34px;height:34px;border-radius:50%;background:var(--ef-steel-600);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--fw-bold);flex:none}.ec-user__meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}.ec-user__meta b{font-size:var(--text-sm);color:#fff;font-weight:var(--fw-semibold)}.ec-user__meta i{font-style:normal;font-size:var(--text-xs);color:var(--ef-slate-500)}.ec-side__logout{margin-top:6px;width:100%;text-align:left;background:none;border:0;cursor:pointer;color:var(--ef-slate-400);font-size:var(--text-xs);padding:6px 8px;border-radius:var(--radius-sm);font-family:inherit}.ec-side__logout:hover{background:#ffffff0f;color:#fff}.ec-main{flex:1;display:flex;flex-direction:column;min-width:0}.ec-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;background:#ffffffe6;-webkit-backdrop-filter:saturate(1.3) blur(6px);backdrop-filter:saturate(1.3) blur(6px);border-bottom:1px solid var(--border);flex:none;z-index:5}.ec-top__title{min-width:0}.ec-top__title h1{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-2xl);letter-spacing:var(--ls-tight);margin:0;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-top__title p{margin:3px 0 0;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-top__lead{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 auto}.ec-backbtn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 8px 0 0;border:0;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;flex:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out)}.ec-backbtn:hover{color:var(--brand)}.ec-backbtn:active{transform:translateY(1px)}.ec-backbtn svg{width:18px;height:18px}.ec-top__actions{display:flex;align-items:center;gap:12px;min-width:0}.ec-top__actions .efx-badge{height:40px;padding:0 14px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.ec-top__status{display:inline-flex;align-items:center;flex:none}.ec-top__status>*{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap}.ec-top__actions .efx-btn{--_h:40px}.ec-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;flex:0 1 320px;min-width:180px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.ec-search__ico{width:18px;height:18px;color:var(--text-muted);flex:none}.ec-search input{border:0;outline:0;background:transparent;font-family:inherit;font-size:var(--text-sm);width:100%;color:var(--text-primary)}.ec-search input::placeholder{color:var(--ef-slate-400)}.ec-iconbtn{position:relative;width:40px;height:40px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}.ec-iconbtn svg{width:19px;height:19px}.ec-iconbtn:hover{border-color:var(--ef-slate-500);color:var(--text-primary)}.ec-iconbtn__dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--ef-red-500);border:1.5px solid var(--surface)}.ec-content{flex:1;overflow-y:auto;padding:24px 28px 40px}.ec-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:18px}.ec-card--flush{padding:0;overflow:hidden}.ec-card--flush.ec-card--popover{overflow:visible;min-width:0}.ec-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ec-card--flush .ec-card__head{margin-bottom:0}.ec-card__head--pad{padding:16px 18px;border-bottom:1px solid var(--border)}.ec-card__head h3{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-base);margin:0;letter-spacing:var(--ls-tight)}.ec-card__meta{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.ec-card__soustitre{font-family:var(--font-display);font-size:13.5px;font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:0;margin:0 0 10px}.ec-card__corps{padding:16px 18px;font-size:var(--text-sm)}.ec-card__note{margin:0;padding:12px 18px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);line-height:1.45}.ec-pile{display:flex;flex-direction:column;gap:16px}.ec-pile>*,.ec-pile>.ec-chartnote,.ec-pile>.ec-feedback,.ec-pile>.ec-orgmachgrid{margin:0}.ec-choix{display:flex;flex-direction:column;gap:8px;min-width:0}.ec-choix__titre{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-choix__cases{display:flex;flex-wrap:wrap;gap:10px 18px}.ec-card__sub{margin:3px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.ec-card__foot{display:block;padding:12px 18px;border-top:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--brand);cursor:pointer}.ec-card__foot:hover{background:var(--ef-slate-50)}.ec-link{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--brand);cursor:pointer}.ec-jump{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface,#fff);color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1;cursor:pointer;white-space:nowrap;transition:border-color .16s ease,color .16s ease,background-color .16s ease,box-shadow .16s ease}.ec-jump:hover{border-color:color-mix(in srgb,var(--brand) 50%,var(--border));color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface,#fff));box-shadow:0 2px 9px color-mix(in srgb,var(--brand) 15%,transparent)}.ec-jump:active{transform:translateY(.5px);box-shadow:none}.ec-jump:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}.ec-jump__a{display:inline-flex;color:currentColor;opacity:.85;transition:transform .2s cubic-bezier(.32,.72,.3,1),opacity .16s ease}.ec-jump:hover .ec-jump__a{transform:translate(3px);opacity:1}.ec-jump__svg{display:block}.ec-jump--push{margin-left:auto}.ec-mono{font-family:var(--font-mono)}.ec-muted{color:var(--text-muted)}.ec-empty{padding:22px 18px;font-size:var(--text-sm);color:var(--text-muted);margin:0}.ec-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.ec-kpis--5{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.ec-kpis--auto{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch}.ec-kpitile{display:flex;flex-direction:column;height:100%;gap:8px}.ec-kpitile .efx-metric__value{font-size:var(--text-2xl)}.ec-kpitile .efx-metric__unit,.ec-kpitile .efx-metric__label{font-size:var(--text-xs)}.ec-kpitile__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;font-size:var(--text-xs)}.ec-kpitile__foot .ec-link{font-size:var(--text-xs)}.ec-kpiobj{margin-top:8px}.ec-kpiobj__bar{height:5px;border-radius:3px;background:var(--ef-slate-200,#e6eaee);overflow:hidden}.ec-kpiobj__bar i{display:block;height:100%;border-radius:3px;background:var(--brand);transition:width .35s ease}.ec-kpiobj__txt{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--text-muted)}.ec-wedit{position:relative}.ec-wedit--block{margin-bottom:18px}.ec-wedit.is-editing{outline:1.5px dashed var(--ef-slate-300,#cfd6dd);outline-offset:4px;border-radius:12px}.ec-wedit.is-editing.ec-wedit--block{padding:2px}.ec-wtools{position:absolute;top:-12px;right:6px;z-index:5;display:flex;gap:4px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px;padding:3px;box-shadow:0 4px 14px #141e2d1f}.ec-wtool{width:26px;height:26px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.ec-wtool:hover:not(:disabled){background:var(--ef-slate-100,#eef1f4);color:var(--text-primary)}.ec-wtool:disabled{opacity:.35;cursor:not-allowed}.ec-wtool--del:hover:not(:disabled){background:#fbe3e5;color:var(--ef-danger,#a81b26)}.ec-editbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:18px;border:1px solid var(--border);border-radius:12px;background:var(--ef-slate-50,#f7f9fb)}.ec-editbar__lbl{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-secondary)}.ec-editbar__lbl svg{width:16px;height:16px}.ec-editbar__add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ec-kpibuilder{margin-bottom:18px;border:1.5px solid var(--brand)}.ec-kpibuilder .ec-card__head h3{display:inline-flex;align-items:center;gap:8px}.ec-kpibuilder .ec-card__head h3 svg{width:18px;height:18px;flex:none;color:var(--brand)}.ec-kpibuilder__grid{display:grid;grid-template-columns:1.5fr .9fr;gap:18px;padding:4px 2px}.ec-kpibuilder__form{display:flex;flex-direction:column;gap:12px}.ec-kpibuilder__preview{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;background:var(--ef-slate-50,#f7f9fb);border:1px solid var(--border)}.ec-kpibuilder__plabel{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ec-kpibuilder__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.ec-iconpick{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ec-iconpick__b{width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface,#fff);cursor:pointer;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.ec-iconpick__b svg{width:18px;height:18px}.ec-iconpick__b:hover{border-color:var(--ef-slate-400,#9aa6b2)}.ec-iconpick__b.is-on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand)}.ec-duelist{display:flex;flex-direction:column}.ec-duerow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 16px;border:none;border-top:1px solid var(--border);background:transparent;cursor:pointer;text-align:left}.ec-duerow:first-child{border-top:none}.ec-duerow:not(.ec-duerow--static):hover{background:var(--ef-slate-50,#f7f9fb)}.ec-duerow--static{cursor:default}.ec-duerow__m{display:flex;flex-direction:column;line-height:1.2}.ec-duerow__m b{color:var(--text-primary);font-size:13.5px}.ec-duerow__m i{font-style:normal;font-size:12px;color:var(--text-muted)}.ec-duerow__r{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.ec-duerow__r--crit{color:var(--ef-danger,#a81b26)}.ec-duerow__r--warn{color:var(--ef-warning-ink)}.ec-duerow__r--ok{color:var(--text-secondary)}.ec-fleetkpis{margin-bottom:0}@media (max-width:760px){.ec-kpibuilder__grid{grid-template-columns:1fr}}.ec-repart{display:flex;align-items:center;gap:28px;padding:16px 22px;margin-bottom:18px;flex-wrap:wrap}.ec-repart__item{display:flex;flex-direction:column;line-height:1.15}.ec-repart__item b{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--text-xl);color:var(--text-primary);font-variant-numeric:tabular-nums}.ec-repart__item span{font-size:var(--text-xs);color:var(--text-muted)}.ec-repart__sep{width:1px;height:34px;background:var(--border)}.ec-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap}.ec-popwrap{position:relative}.ec-popover{position:absolute;top:44px;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:40;padding:10px 12px;min-width:200px;display:flex;flex-direction:column;gap:7px}.ec-popover label:not(.ec-label){display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.ec-popover input[type=checkbox]{accent-color:var(--brand)}.ec-matrixwrap{overflow-x:auto}.ec-matrix{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ec-matrix th{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-secondary);padding:13px 16px;text-align:left;background:var(--ef-slate-50);border-bottom:1px solid var(--border-strong);white-space:nowrap;vertical-align:bottom}.ec-matrix td{padding:12px 16px;border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums}.ec-matrix td.ec-cell--num,.ec-matrix th+th{padding-left:12px;padding-right:12px}.ec-matrix td.ec-cell--num{font-family:var(--font-mono);font-size:var(--text-sm)}.ec-matrix .ec-cell--ok{background:var(--ef-success-bg);color:#125b2d}.ec-matrix .ec-cell--low{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ec-matrix .ec-cell--off{background:#fdf0f1;color:var(--ef-slate-700)}.ec-matrix .ec-matrix__name{font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-matrix .ec-matrix__name i{display:block;font-style:normal;font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-regular);margin-top:2px}.ec-matrix .ec-matrix__total{font-weight:var(--fw-bold);color:var(--text-primary)}.ec-matrix th:nth-last-child(2),.ec-matrix td:nth-last-child(2){border-left:1px solid var(--border-strong)}.ec-legendline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 14px}.ec-legendline i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.ec-legendline__sep{width:1px;height:14px;background:var(--border)}.ec-legendline i.ec-legendbar{width:16px;height:3px;border-radius:2px;background:var(--ef-warning)}.ec-matrix__link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:color var(--dur-fast) var(--ease-out)}.ec-matrix__link:hover{color:var(--brand);text-decoration:underline}.ec-matrix tfoot td,.ec-matrix tfoot th{background:var(--ef-slate-50);border-top:2px solid var(--border-strong);border-bottom:0;font-weight:var(--fw-bold);color:var(--text-primary)}.ec-matrix tfoot td.ec-cell--num{font-family:var(--font-mono);font-size:var(--text-xs)}.ec-drillth{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;letter-spacing:inherit;text-transform:inherit;transition:color var(--dur-fast) var(--ease-out)}.ec-drillth:hover{color:var(--brand);text-decoration:underline}.ec-drillth i{display:block;font-style:normal;font-weight:var(--fw-regular);text-transform:none;letter-spacing:0;text-decoration:none}.ec-matrix td.ec-cell--drill{padding:0}.ec-drillcell{border:0;background:none;font:inherit;color:inherit;cursor:pointer;display:block;width:100%;text-align:inherit;padding:12px}.ec-drillbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px;font-size:var(--text-base)}.ec-drillcrumb{border:0;background:none;padding:0;font:inherit;cursor:pointer;color:var(--text-secondary);font-weight:var(--fw-semibold);transition:color var(--dur-fast) var(--ease-out)}.ec-drillcrumb:hover{color:var(--brand);text-decoration:underline}.ec-drillcrumb+.ec-drillcrumb:before,.ec-drillcrumb+.ec-drillcrumb--now:before{content:"›";margin-right:8px;color:var(--text-muted);font-weight:var(--fw-regular)}.ec-drillcrumb--now{cursor:default;color:var(--text-primary);font-weight:var(--fw-bold)}.ec-drillcrumb--now:hover{color:var(--text-primary);text-decoration:none}.ec-drillcrumb i{font-style:normal;font-weight:var(--fw-regular);font-size:var(--text-xs);color:var(--text-muted);margin-left:6px;text-decoration:none;display:inline-block}.ec-drillcrumb:hover i{color:var(--text-muted)}.ec-drillbar__gran{font-size:var(--text-sm);color:var(--text-muted)}.ec-drillbar__hint{font-size:var(--text-sm);color:var(--text-muted);margin-left:auto}.ec-drillchip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--brand) 9%,#fff);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 22%,#fff);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer}.ec-drillchip svg{width:14px;height:14px}.ec-cellbar{display:block;height:3px;border-radius:2px;margin-top:4px;background:color-mix(in srgb,var(--ef-success) 35%,transparent);overflow:hidden}.ec-cellbar i{display:block;height:100%;background:var(--ef-warning);border-radius:2px;margin:0;width:0}.ec-cell--off .ec-cellbar{background:color-mix(in srgb,var(--ef-slate-500) 25%,transparent)}.ec-period{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:6px 0 14px}.ec-period h2{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-xl);letter-spacing:var(--ls-tight);margin:0}.ec-period p{margin:3px 0 0;font-size:var(--text-sm)}.ec-kpigrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.ec-kpicard{display:flex;flex-direction:column;min-width:0}.ec-kpicard__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ec-kpicard__head h3{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-base);margin:0;letter-spacing:var(--ls-tight)}.ec-kpicard__row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.ec-kpicard__value{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--text-2xl);line-height:1;letter-spacing:var(--ls-tighter);color:var(--text-primary);font-variant-numeric:tabular-nums}.ec-kpicard__value i{font-style:normal;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin-left:4px;font-weight:var(--fw-regular)}.ec-kpidelta{display:inline-flex;align-items:baseline;gap:4px;font-size:var(--text-xs);font-weight:var(--fw-bold)}.ec-kpidelta em{font-style:normal;font-weight:var(--fw-regular);color:var(--text-muted)}.ec-kpidelta--good{color:var(--ef-success)}.ec-kpidelta--bad{color:var(--ef-danger)}.ec-kpidelta--flat{color:var(--text-muted)}.ec-kpicard__sub{font-size:var(--text-xs);color:var(--text-muted);margin:3px 0 10px}.ec-kpichart{width:100%;max-width:600px;height:auto;display:block}.ec-kpichart__y,.ec-kpichart__x{font-family:var(--font-mono);font-size:6.5px;fill:var(--text-muted)}.ec-kpichart__obj{font-family:var(--font-body);font-size:6.5px;font-weight:600;fill:var(--text-secondary)}.ec-dash{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}.ec-col-main{display:flex;flex-direction:column;gap:18px;min-width:0}.ec-col-side{display:flex;flex-direction:column;gap:18px}.ec-pill-count{background:var(--ef-red-50);color:var(--brand);font-size:var(--text-xs);font-weight:var(--fw-bold);min-width:22px;height:22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}.ec-alertlist>div+div{border-top:1px solid var(--border)}.ec-alertlist--live{border-bottom:2px solid var(--border)}.ec-alertrow{display:flex;align-items:stretch}.ec-alertrow>.efx-alert{flex:1;min-width:0}.ec-alertrow__x{flex:none;width:38px;border:0;background:transparent;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.ec-alertrow__x svg{width:16px;height:16px}.ec-alertrow__x:hover{color:var(--ef-danger);background:var(--ef-red-50)}.ec-alertrow__x:disabled{opacity:.4;cursor:default}.ec-maint{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ec-maint li{display:flex;align-items:center;gap:11px;padding:9px 4px}.ec-maint__ico{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--ef-steel-100);color:var(--ef-steel-600);display:inline-flex;align-items:center;justify-content:center;flex:none}.ec-maint__ico svg{width:17px;height:17px}.ec-maint b{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.ec-maint i{font-style:normal;font-size:var(--text-xs);color:var(--text-muted)}.ec-table{width:100%}.ec-tablescroll{overflow-x:auto}.ec-tablescroll>.ec-table{min-width:var(--ec-tablemin, auto)}.ec-multisite{display:inline-block;margin-left:8px;font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:2px 9px;color:var(--ef-info);background:var(--ef-info-bg);white-space:nowrap}.ec-tr{display:grid;grid-template-columns:var(--ec-cols, 1.3fr .9fr 1.4fr .8fr .8fr .9fr);gap:12px;align-items:center;padding:12px 18px;border-top:1px solid var(--border);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary)}.ec-table .ec-tr:first-child{border-top:0}.ec-tr:not(.ec-tr--head):not(.ec-tr--static):hover{background:var(--ef-slate-50)}.ec-tr[role=button]:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;background:var(--ef-slate-50)}.ec-rowopen{display:block;width:100%;text-align:left;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-sm)}.ec-rowopen:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ec-tr--static{cursor:default}.ec-tr--head{cursor:default;border-top:0;padding-top:13px;padding-bottom:13px;background:var(--ef-slate-50);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted)}.ec-tr--head:hover{background:var(--ef-slate-50)}.ec-table--parccat{--ec-cols:1.4fr .7fr .9fr 1fr 1.3fr;--ec-tablemin:660px}.ec-table--parcdonnees{--ec-tablemin:860px}.ec-table--parcdispo{--ec-cols:1.6fr .8fr .8fr 1fr 1fr 1fr;--ec-tablemin:680px}.ec-table--parcevents{--ec-cols:1.15fr 1.25fr 1fr 1.6fr;--ec-tablemin:760px}.ec-table--geocampagnes{--ec-cols:1.6fr 1fr .7fr .9fr .9fr .8fr;--ec-tablemin:780px}.ec-table--geosondages{--ec-cols:1fr 1.2fr .9fr .8fr;--ec-tablemin:600px}.ec-table--georecords{--ec-cols:1.3fr .95fr 1.5fr .8fr .55fr;--ec-tablemin:700px}.ec-table--geotrous{--ec-cols:.5fr 1fr 1fr .8fr .8fr .9fr .9fr .9fr .9fr;--ec-tablemin:940px}.ec-table--chantiers{--ec-cols:1.6fr 1fr 1.3fr .9fr .9fr .7fr;--ec-tablemin:800px}.ec-table--chantiers-act{--ec-cols:1.6fr 1fr 1.3fr .9fr .9fr .7fr 90px;--ec-tablemin:880px}.ec-table--chmat{--ec-cols:1.4fr 1fr 1fr 1.2fr;--ec-tablemin:620px}.ec-table--chmat-act{--ec-cols:1.4fr 1fr 1fr 1.2fr auto;--ec-tablemin:700px}.ec-table--chhors{--ec-cols:1.4fr 1fr 1fr;--ec-tablemin:520px}.ec-table--pressions{--ec-cols:1.3fr 1fr 1fr 1fr;--ec-tablemin:360px}.ec-num{font-family:var(--font-mono);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.ec-tr--head .ec-num{font-family:var(--font-body);font-size:var(--text-xs)}.ec-cell-machine b{font-size:var(--text-sm);font-weight:var(--fw-bold)}.ec-cell-machine i{font-style:normal;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-left:6px}.ec-cell-site{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-cellsub{font-size:var(--text-xs);color:var(--text-muted)}.ec-tr .ec-txt-crit,.ec-tr .ec-txt-warn,.ec-tr .ec-txt-ok,.ec-num .ec-alertval{font-weight:inherit}.ec-num .ec-alertval--crit{color:var(--ef-danger)}.ec-num .ec-alertval--warn{color:var(--ef-warning-ink)}.ec-map{position:relative;width:100%;overflow:hidden;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.ec-card .ec-map:first-child{border-radius:var(--radius-md)}.ec-map__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ec-marker{position:absolute;transform:translate(-50%,-100%);background:none;border:0;padding:0;cursor:pointer;line-height:0}.ec-marker__pin{display:block;width:30px;height:30px;filter:drop-shadow(0 2px 3px rgba(20,22,25,.3))}.ec-marker__pin svg{width:100%;height:100%}.ec-marker__pin svg [stroke]{stroke:currentColor}.ec-marker__pin svg path:first-of-type{fill:currentColor;fill-opacity:.16}.ec-marker.is-sel .ec-marker__pin{transform:scale(1.2)}.ec-marker__tip{position:absolute;bottom:30px;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--ef-ink-900);color:#fff;font-size:11px;font-weight:var(--fw-semibold);padding:4px 8px;border-radius:var(--radius-xs);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}.ec-marker:hover .ec-marker__tip{opacity:1}.ec-map__legend{position:absolute;left:14px;bottom:14px;display:flex;gap:14px;background:#ffffffeb;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;box-shadow:var(--shadow-sm)}.ec-leg{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary)}.ec-leg i{width:9px;height:9px;border-radius:50%}.ec-back{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:14px;cursor:pointer}.ec-back svg{width:18px;height:18px}.ec-back:hover{color:var(--brand)}.ec-periodbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}.ec-periodbar__lbl{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-perioddd{position:relative;display:inline-flex;align-items:center;gap:10px}.ec-perioddd__trigger{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 12px 0 13px;min-width:196px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ec-perioddd__trigger:hover{border-color:var(--ef-slate-400)}.ec-perioddd__trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.ec-perioddd__trigger[aria-expanded=true]{border-color:var(--brand);box-shadow:var(--ring)}.ec-perioddd__ico{display:inline-flex;width:18px;height:18px;color:var(--brand);flex:none}.ec-perioddd__ico svg{width:100%;height:100%}.ec-perioddd__val{flex:1 1 auto;text-align:left}.ec-perioddd__caret{display:inline-flex;width:16px;height:16px;color:var(--text-muted);flex:none;transition:transform var(--dur-med) var(--ease-out)}.ec-perioddd__trigger[aria-expanded=true] .ec-perioddd__caret{transform:rotate(180deg);color:var(--brand)}.ec-perioddd__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;margin:0;padding:6px;min-width:100%;width:max-content;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:ec-dd-pop var(--dur-fast) var(--ease-out)}@keyframes ec-dd-pop{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.ec-perioddd__opt{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:9px 11px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-perioddd__opt:hover{background:var(--bg-subtle);color:var(--text-primary)}.ec-perioddd__opt.is-on{color:var(--brand);font-weight:var(--fw-bold)}.ec-perioddd__optcheck{display:inline-flex;width:16px;height:16px;flex:none;color:var(--brand)}.ec-perioddd__optcheck svg{width:100%;height:100%}.ec-customrange{display:inline-flex;align-items:center;gap:10px;animation:ec-dd-pop var(--dur-med) var(--ease-out)}.ec-daterange{display:inline-flex;align-items:center;height:40px;padding:0 11px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ec-daterange:focus-within{border-color:var(--brand);box-shadow:var(--ring)}.ec-daterange input{border:0;background:transparent;outline:none;padding:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary);font-variant-numeric:tabular-nums;cursor:pointer}.ec-daterange input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity var(--dur-fast)}.ec-daterange input::-webkit-calendar-picker-indicator:hover{opacity:1}.ec-customrange__sep{color:var(--text-muted);font-weight:var(--fw-semibold)}.ec-mkpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:18px}.ec-mkpis--5{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.ec-presscard{display:flex;align-items:center;justify-content:center}.ec-loc{display:flex;align-items:center;gap:12px}.ec-loc__ico{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--ef-steel-100);color:var(--ef-steel-600);display:inline-flex;align-items:center;justify-content:center;flex:none}.ec-loc__lbl{display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-loc b{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-top:2px}.ec-loc i{font-style:normal;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.ec-mrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;margin-bottom:18px;align-items:start}.ec-gauges{display:flex;gap:24px;justify-content:center;padding:8px 0 4px}.ec-quality{display:flex;flex-direction:column}.ec-assignbox{border-top:1px solid var(--border);padding:14px 16px 16px;background:var(--ef-slate-50,#f7f9fb)}.ec-assignbox__head{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:10px}.ec-assignbox__head .ec-muted{font-weight:var(--fw-regular)}.ec-assigngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.ec-assignrow{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface,#fff);cursor:pointer;font-size:var(--text-sm);transition:border-color .15s ease,background-color .15s ease}.ec-assignrow:hover{border-color:var(--ef-slate-400,#9aa6b2)}.ec-assignrow.is-on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface,#fff))}.ec-assignrow__m{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-assignrow__m i{font-style:normal;color:var(--text-muted);font-size:var(--text-xs)}.ec-assignrow__o{font-size:11px;color:var(--text-muted);white-space:nowrap}.ec-fluids{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:4px 0 2px}.ec-fluid{display:flex;flex-direction:column;gap:11px;padding:14px 14px 15px;border:1px solid var(--border);border-left-width:4px;border-radius:12px;background:var(--surface,#fff);transition:background-color .2s ease,border-color .2s ease}.ec-fluid__top{display:flex;align-items:center;gap:8px}.ec-fluid__ico{display:inline-flex;width:26px;height:26px;border-radius:7px;align-items:center;justify-content:center;background:var(--ef-slate-100,#eef1f4);color:var(--text-secondary)}.ec-fluid__ico svg{width:16px;height:16px}.ec-fluid__name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-fluid__row{display:flex;align-items:center;gap:10px}.ec-fluid__lights{display:inline-flex;gap:5px}.ec-fluid__led{width:13px;height:13px;border-radius:50%;background:var(--ef-slate-200,#dfe4ea);opacity:.32;transition:opacity .2s ease,box-shadow .2s ease}.ec-fluid__state{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-muted)}.ec-fluid--ok .ec-fluid__led--ok{background:var(--ef-success,#1B7A3D);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-success,#1B7A3D) 20%,transparent)}.ec-fluid--warn .ec-fluid__led--warn{background:var(--ef-warning,#C9870E);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-warning,#C9870E) 22%,transparent)}.ec-fluid--crit .ec-fluid__led--crit{background:var(--ef-danger,#CC2532);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-danger,#CC2532) 22%,transparent)}.ec-fluid--ok{border-left-color:var(--ef-success,#1B7A3D);background:color-mix(in srgb,var(--ef-success,#1B7A3D) 5%,var(--surface,#fff))}.ec-fluid--warn{border-left-color:var(--ef-warning,#C9870E);background:color-mix(in srgb,var(--ef-warning,#C9870E) 6%,var(--surface,#fff))}.ec-fluid--crit{border-left-color:var(--ef-danger,#CC2532);background:color-mix(in srgb,var(--ef-danger,#CC2532) 6%,var(--surface,#fff))}.ec-fluid--na{border-left-color:var(--border)}.ec-fluid--ok .ec-fluid__state{color:var(--ef-success,#1B7A3D)}.ec-fluid--warn .ec-fluid__state{color:var(--ef-warning-ink)}.ec-fluid--crit .ec-fluid__state{color:var(--ef-danger,#CC2532)}.ec-fluidnote{margin:12px 0 0;font-size:var(--text-xs);color:var(--text-muted);text-align:center}@media (max-width:520px){.ec-fluids{grid-template-columns:1fr}}.ec-paneltabs{display:flex;border-bottom:1px solid var(--border)}.ec-paneltab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);border-bottom:2px solid transparent}.ec-paneltab:hover{color:var(--text-primary)}.ec-paneltab.is-active{color:var(--brand);border-bottom-color:var(--brand)}.ec-paneltab__n{font-size:11px;font-weight:var(--fw-bold);padding:1px 7px;border-radius:999px;background:var(--ef-slate-100,#eef1f4);color:var(--text-secondary)}.ec-paneltab.is-active .ec-paneltab__n{background:color-mix(in srgb,var(--brand) 14%,#fff);color:var(--brand)}.ec-zonepanel{display:flex;flex-direction:column;min-height:0;flex:1;overflow-y:auto}.ec-zonepanel__cta{padding:12px}.ec-zonedraft{padding:6px 12px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:9px}.ec-zonedraft__hint{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:var(--text-sm);color:var(--text-secondary)}.ec-zonedraft__hint svg{width:18px;height:18px;color:var(--brand);flex:none}.ec-zonedraft input[type=range]{width:100%;accent-color:var(--brand)}.ec-zonedraft__btns{display:flex;justify-content:flex-end;gap:8px}.ec-zonerow{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-bottom:1px solid var(--border)}.ec-zonerow__sw{width:10px;height:10px;border-radius:3px;margin-top:4px;flex:none}.ec-zonerow__body{flex:1;min-width:0}.ec-zonerow__title{display:flex;align-items:baseline;gap:8px}.ec-zonerow__title b{color:var(--text-primary);font-size:13.5px}.ec-zonerow__title i{font-style:normal;font-size:var(--text-xs);color:var(--text-muted)}.ec-zonerow__inside{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.ec-zonerow__inside.is-in{color:var(--brand);font-weight:var(--fw-semibold)}.ec-zonerow__flags{display:flex;gap:6px;margin-top:7px}.ec-zoneflag{font-size:11px;font-weight:var(--fw-semibold);padding:3px 9px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--surface,#fff);color:var(--text-muted)}.ec-zoneflag.is-on{border-color:var(--ef-success,#1B7A3D);color:var(--ef-success,#1B7A3D);background:color-mix(in srgb,var(--ef-success,#1B7A3D) 8%,#fff)}.ec-zoneflag:disabled{cursor:default;opacity:.7}.ec-zonerow__del{border:none;background:transparent;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;flex:none}.ec-zonerow__del:hover{background:#fbe3e5;color:var(--ef-danger,#a81b26)}.ec-zonerow__del svg{width:16px;height:16px}.ec-zoneevents{border-top:1px solid var(--border);padding:10px 12px 12px}.ec-zoneevents__head{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.ec-zoneevent{display:flex;align-items:center;gap:8px;width:100%;padding:6px 0;border:none;background:transparent;cursor:pointer;text-align:left}.ec-zoneevent__k{font-size:10px;font-weight:var(--fw-bold);padding:2px 7px;border-radius:999px;flex:none}.ec-zoneevent__k--enter{background:#e5eff8;color:#2c6cb0}.ec-zoneevent__k--exit{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ec-zoneevent__txt{flex:1;min-width:0;font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-zoneevent__txt b{color:var(--text-primary)}.ec-sitepick{display:flex;flex-direction:column;gap:8px}.ec-sitepick__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ec-sitepick__hint{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary)}.ec-sitepick__msel{max-width:240px;height:32px;font-size:12.5px}.ec-zoneevent__t{font-size:11px;color:var(--text-muted);white-space:nowrap}.ec-zonedraft__title{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-zonedraft__radius{display:flex;align-items:flex-end;gap:10px}.ec-zoneflag--act{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 30%,var(--border));margin-left:auto}.ec-zoneflag--act:hover{background:color-mix(in srgb,var(--brand) 8%,var(--surface,#fff))}.ec-zonerow.is-editing{background:color-mix(in srgb,var(--brand) 5%,var(--surface,#fff))}.ec-zoneassign{border:1px solid var(--border);border-radius:10px;padding:9px 10px}.ec-zoneassign__head{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:8px}.ec-zoneassign__grid{display:grid;grid-template-columns:1fr;gap:6px;max-height:170px;overflow-y:auto}.ec-zoneassign .ec-assignrow{padding:6px 9px}.ec-zonelabel{font-size:11px;font-weight:var(--fw-bold);color:var(--zc,#E73443);white-space:nowrap;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;pointer-events:none;transform:translateY(-3px)}.ec-chartcard{min-width:0}.ec-legrow{display:flex;gap:14px}.ec-leg2{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary)}.ec-leg2 i{width:14px;height:3px;border-radius:2px;display:inline-block}.ec-leg2--rpm{background:var(--ef-steel-500)}.ec-chart{margin-top:6px}.ec-chart__svg{width:100%;height:160px;display:block}.ec-chart__x{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-top:4px}.ec-chart__x--dates{display:block;position:relative;height:15px}.ec-chart__x--dates span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.ec-chart__x--dates span.is-debut{transform:none}.ec-chart__x--dates span.is-fin{transform:translate(-100%)}@media (max-width:640px){.ec-chart__x--dense span:nth-child(2n){display:none}}.ec-secthead{display:flex;align-items:center;gap:12px;margin:4px 0 12px}.ec-secthead h3{font-family:var(--font-display);font-size:17px;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);margin:0;color:var(--text-primary)}.ec-secthead__meta{display:flex;align-items:center;gap:10px}.ec-drillstate{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:var(--fw-bold);color:var(--text-secondary)}.ec-drillstate i{width:8px;height:8px;border-radius:50%;background:var(--ef-slate-400)}.ec-drillstate.is-on{color:var(--ef-success)}.ec-drillstate.is-on i{background:var(--ef-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-success) 22%,transparent)}.ec-drillm--rot .efx-metric__spark path{stroke:var(--ef-success)}.ec-drillm--feed .efx-metric__spark path{stroke:var(--ef-warning)}.ec-drillm--perc .efx-metric__spark path{stroke:var(--ef-info)}.ec-drillm--rot2 .efx-metric__spark path{stroke:var(--ef-success)}.ec-drillm--clamp .efx-metric__spark path{stroke:var(--ef-slate-700)}.ec-drillm--hold .efx-metric__spark path{stroke:var(--ef-red-400)}.ec-drillm--inj .efx-metric__spark path{stroke:var(--ef-steel-500)}.ec-drillm--autre .efx-metric__spark path{stroke:var(--ef-slate-500)}.ec-drillm--rot .efx-metric__icon{color:var(--ef-success)}.ec-drillm--feed .efx-metric__icon{color:var(--ef-warning)}.ec-drillm--perc .efx-metric__icon{color:var(--ef-info)}.ec-drillm--rot2 .efx-metric__icon{color:var(--ef-success)}.ec-drillm--clamp .efx-metric__icon{color:var(--ef-slate-700)}.ec-drillm--hold .efx-metric__icon{color:var(--ef-red-400)}.ec-drillm--inj .efx-metric__icon{color:var(--ef-steel-500)}.ec-drillm--autre .efx-metric__icon{color:var(--ef-slate-500)}.ec-drillm--depth .efx-metric__icon{color:var(--brand)}.ec-drillm--off{display:flex;flex-direction:column;justify-content:space-between}.ec-leg2--rot{background:var(--ef-success)}.ec-leg2--feed{background:var(--ef-warning)}.ec-leg2--perc{background:var(--ef-info)}.ec-leg2--rot2{background:repeating-linear-gradient(90deg,var(--ef-success) 0 4px,transparent 4px 6px)}.ec-leg2--clamp{background:var(--ef-slate-700)}.ec-leg2--hold{background:var(--ef-red-400)}.ec-leg2--inj{background:var(--ef-steel-500)}.ec-leg2--autre{background:var(--ef-slate-500)}.ec-pline{fill:none;stroke:var(--ef-slate-500);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.ec-pline--rot{stroke:var(--ef-success);stroke-width:1.9}.ec-pline--feed{stroke:var(--ef-warning);stroke-width:1.9}.ec-pline--perc{stroke:var(--ef-info)}.ec-pline--rot2{stroke:var(--ef-success);stroke-dasharray:5 3}.ec-pline--clamp{stroke:var(--ef-slate-700)}.ec-pline--hold{stroke:var(--ef-red-400)}.ec-pline--inj{stroke:var(--ef-steel-500)}.ec-leg2--thr{background:repeating-linear-gradient(90deg,var(--ef-slate-300) 0 5px,transparent 5px 9px)}.ec-chartnote{font-size:12px;color:var(--text-muted);margin:8px 2px 2px;line-height:1.45}.ec-chartnote b{color:var(--text-secondary)}.ec-legrow--chart{flex-wrap:wrap;margin:2px 2px 0}.ec-chart--hover{position:relative;touch-action:pan-y}.ec-chart--zoom{cursor:crosshair;user-select:none;-webkit-user-select:none}.ec-chart__sel{position:absolute;top:0;height:calc(160px * 150 / 172);pointer-events:none;z-index:1;background:color-mix(in srgb,var(--ef-steel-500) 16%,transparent);border-left:1px solid var(--ef-steel-500);border-right:1px solid var(--ef-steel-500)}.ec-zoominfo{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.ec-zoomhint{font-size:12px;color:var(--text-muted)}@media (hover:none){.ec-zoomhint{display:none}}.ec-chart__tip{position:absolute;top:6px;transform:translate(-50%);pointer-events:none;z-index:2;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:7px 9px;box-shadow:0 4px 14px #0000001f;display:flex;flex-direction:column;gap:3px;white-space:nowrap}.ec-chart__tip--debut{transform:none}.ec-chart__tip--fin{transform:translate(-100%)}.ec-chart__tip>b{font-size:12px;color:var(--text-primary)}.ec-chart__tip span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.ec-chart__tip span i{width:12px;height:3px;border-radius:2px;display:inline-block;flex:none}.ec-chart__tip span b{margin-left:auto;color:var(--text-primary);font-family:var(--font-mono)}.ec-chart__tip em{font-style:normal;font-size:11px;color:var(--text-muted);margin-top:2px}.ec-chart__tip em.is-on{color:var(--ef-success);font-weight:var(--fw-bold)}.ec-drilltotal{font-size:18px;font-weight:var(--fw-bold);color:var(--brand)}.ec-txt-crit{color:var(--ef-danger);font-weight:var(--fw-bold)}.ec-txt-warn{color:var(--ef-warning-ink);font-weight:var(--fw-bold)}.ec-engrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.ec-engcell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md,10px);padding:12px 14px;display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--ef-slate-300)}.ec-engcell--good{border-left-color:var(--ef-success)}.ec-engcell--warn{border-left-color:var(--ef-warning)}.ec-engcell--crit{border-left-color:var(--ef-danger)}.ec-engcell--data{border-left-color:var(--ef-slate-300)}.ec-engcell__lbl{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.ec-engcell__val{font-family:var(--font-mono);font-size:21px;font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.1}.ec-vignette{display:block;max-width:100%;max-height:230px;margin:0 auto 12px;object-fit:contain}.ec-categorie{display:inline-flex;align-items:center;gap:7px;min-width:0}.ec-categories{display:inline-flex;flex-wrap:wrap;gap:4px 14px;min-width:0}.ec-categorie__pastille{flex:none;width:9px;height:9px;border-radius:50%;background:var(--categorie, var(--border-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-primary) 18%,transparent)}.ecl-vignette{display:block;max-width:100%;max-height:220px;margin:4px auto 14px;object-fit:contain}.ec-chantierdlg__bloc{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.ec-chantierdlg__bloc:first-child{border-top:0;padding-top:0}.ec-chantierdlg__bloc .ec-jump{align-self:flex-start}.ec-chantierdlg__ligne{display:flex;align-items:center;justify-content:space-between;gap:12px}.ec-chantierdlg__ligne i{font-style:normal;font-size:var(--text-xs);color:var(--text-muted);margin-left:6px}.ec-chantierdlg__ligne .ec-jump{align-self:center}.ec-chantierdlg__action{display:flex;gap:8px;align-items:center}.ec-chantierdlg__action .ec-select,.ec-chantierdlg__action .ec-input{flex:1;min-width:0}.ec-engrid--fige .ec-engcell__val{color:var(--text-muted)}.ec-engcell__val i{font-style:normal;font-size:12px;font-weight:500;color:var(--text-muted);margin-left:3px}.ec-engcell__nom{font-size:11px;color:var(--text-muted)}.ec-engcell__rel{font-size:11px;color:var(--text-secondary)}.ec-dtclist{display:flex;flex-direction:column}.ec-dtc{display:flex;gap:11px;padding:12px 16px;border-top:1px solid var(--border)}.ec-dtc:first-child{border-top:none}.ec-dtc__dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:none;background:var(--ef-slate-400)}.ec-dtc--critique .ec-dtc__dot{background:var(--ef-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-danger) 20%,transparent)}.ec-dtc--warn .ec-dtc__dot{background:var(--ef-warning)}.ec-dtc--info .ec-dtc__dot{background:var(--ef-steel-500)}.ec-dtc__body{flex:1;min-width:0}.ec-dtc__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ec-dtc__text{font-weight:var(--fw-bold);color:var(--text-primary);font-size:13.5px}.ec-dtc__state{font-size:10.5px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);background:var(--ef-slate-100);border-radius:var(--radius-pill);padding:2px 8px;flex:none}.ec-dtc__state.is-active{color:var(--ef-danger);background:var(--ef-red-50)}.ec-dtc--inactive .ec-dtc__dot{opacity:.4;box-shadow:none}.ec-dtc__foot{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:11.5px;color:var(--text-secondary)}.ec-safelist{display:flex;flex-direction:column}.ec-safe{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.ec-safe:first-child{border-top:none}.ec-safe__lbl{font-weight:var(--fw-bold);color:var(--text-primary);font-size:13.5px}.ec-safe__state{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:var(--fw-bold)}.ec-safe__state i{width:9px;height:9px;border-radius:50%;display:inline-block}.ec-safe__state--ok{color:var(--ef-success)}.ec-safe__state--ok i{background:var(--ef-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-success) 20%,transparent)}.ec-safe__state--crit{color:var(--ef-danger)}.ec-safe__state--crit i{background:var(--ef-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-danger) 20%,transparent)}.ec-safe__state--info{color:var(--text-secondary)}.ec-safe__state--info i{background:var(--ef-slate-400)}.ec-quota{padding:4px 2px 2px}.ec-quota__top{display:flex;justify-content:space-between;font-size:12.5px;font-weight:var(--fw-bold);color:var(--text-secondary);margin-bottom:6px}.ec-quota__bar{height:9px;border-radius:var(--radius-pill);background:var(--ef-slate-100);overflow:hidden}.ec-quota__fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--ef-success);transition:width .4s ease}.ec-quota__fill.is-warn{background:var(--ef-warning)}.ec-quota__fill.is-over{background:var(--ef-danger)}.ec-quota__foot{display:flex;justify-content:space-between;font-size:12px;margin-top:6px}.ec-cardbtns{display:flex;gap:8px;align-items:center}.ec-svcform{padding:0 16px 14px;border-bottom:1px solid var(--border)}.ec-svclist{display:flex;flex-direction:column}.ec-svc{padding:11px 16px;border-top:1px solid var(--border)}.ec-svc:first-child{border-top:none}.ec-svc__main{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ec-svc__main b{color:var(--text-primary);font-size:13.5px}.ec-cmd__main{flex-wrap:wrap}.ec-cmd__droite{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.ec-doc__ariane{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:10px 16px;border-top:1px solid var(--border);font-size:13px}.ec-doc__nouveau{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--border);background:var(--bg-subtle)}.ec-doc__nouveau-champ{flex:1 1 260px;max-width:440px}.ec-doc__nouveau-boutons{display:flex;gap:8px}.ec-doc__retour{margin:12px 16px}.ec-plus{position:relative;display:inline-flex;flex:none}.ec-plus__btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;cursor:pointer;border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ec-plus__btn:hover{background:var(--brand-hover);box-shadow:var(--shadow-brand)}.ec-plus.is-ouvert .ec-plus__btn svg{transform:rotate(45deg)}.ec-plus__btn svg{transition:transform var(--dur-fast) var(--ease-out)}.ec-plus__btn:focus-visible{outline:none;box-shadow:var(--ring)}.ec-plus__btn:disabled{opacity:.45;cursor:not-allowed}.ec-plus__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:260px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.ec-plus__item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px;border:0;background:none;border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;color:var(--text-primary)}.ec-plus__item:hover,.ec-plus__item:focus-visible{outline:none;background:var(--bg-subtle)}.ec-plus__libelle{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.ec-plus__detail{font-size:var(--text-xs);color:var(--text-muted)}.ec-doc__lien{background:none;border:0;padding:2px 4px;font:inherit;color:var(--ef-info);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ec-doc__lien:disabled{color:var(--text-primary);text-decoration:none;cursor:default;font-weight:var(--fw-semibold)}.ec-docs{border-top:1px solid var(--border)}.ec-doc{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 16px;border-bottom:1px solid var(--border)}.ec-doc:last-child{border-bottom:none}.ec-doc__nom{color:var(--text-primary);font-size:13px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:2px}.ec-doc__ouvrir{background:none;border:0;padding:0;font:inherit;font-size:13.5px;font-weight:var(--fw-semibold);color:var(--text-primary);cursor:pointer;text-align:left;overflow-wrap:anywhere}.ec-doc__ouvrir:hover{text-decoration:underline;text-underline-offset:2px}.ec-doc__icone{display:inline-block;width:16px;color:var(--text-muted)}.ec-doc__meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.ec-doc__choix{margin:0;padding-left:18px;font-size:13px}.ec-doc__choix li{margin:4px 0}.ec-doc__ignores{margin:6px 0 0;padding-left:18px;font-size:12px}.ec-docs-zone{position:relative}.ec-vgp__ligne{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:12.5px}.ec-vgp__histo{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--border)}.ec-vgp__histo li{padding:7px 0 7px 12px;border-bottom:1px solid var(--border)}.ec-vgp__histo li:last-child{border-bottom:none}.ec-vgp__obs{margin:4px 0 0;font-size:12.5px;white-space:pre-line;overflow-wrap:anywhere;color:var(--text-primary)}.ec-vgp__form{display:grid;gap:12px}.ec-vgp__lecture{font-size:var(--text-xs);font-weight:400;text-transform:none;letter-spacing:normal;color:var(--ef-success)}.ec-vgp__lecture.is-rate{color:var(--text-muted)}.ec-vgp__pour{display:grid;gap:12px}.ec-vgp__pour--autre{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 110px;align-items:end}@media (max-width:640px){.ec-vgp__pour--autre{grid-template-columns:1fr}}.ec-zone{display:flex;border-radius:var(--radius-sm);font-weight:400;text-transform:none;letter-spacing:normal}.ec-zone--vide{position:relative;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:18px 16px;min-height:104px;border:1.5px dashed var(--border-strong);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;text-align:center;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ec-zone--vide:hover,.ec-zone--vide.is-glisse,.ec-zone--vide:focus-within{border-color:var(--brand);background:var(--surface);color:var(--text-primary)}.ec-zone__champ{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.ec-zone__icone{color:var(--brand)}.ec-zone__titre{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-zone__aide{font-size:var(--text-xs);color:var(--text-muted)}.ec-zone--pleine{align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);background:var(--surface)}.ec-zone__genre{flex:0 0 auto;min-width:52px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--brand);font-size:var(--text-xs);font-weight:var(--fw-bold);text-align:center}.ec-zone__nom{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);overflow-wrap:anywhere}.ec-docs-zone.is-glisse{outline:2px dashed var(--ef-info);outline-offset:-4px}.ec-docs-zone__voile{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;background:var(--ef-info-bg);color:var(--ef-info);font-weight:var(--fw-semibold);border-radius:inherit;pointer-events:none;opacity:.92}.ec-svc__foot{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:2px;font-size:12px;color:var(--text-secondary)}.ec-reptable{width:100%;margin-top:8px;border-collapse:collapse;font-size:12.5px}.ec-reptable th{text-align:left;padding:5px 8px;font-size:11px;font-weight:var(--fw-semibold);color:var(--text-muted);border-bottom:1px solid var(--border)}.ec-reptable td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:top}.ec-reptable tr:last-child td{border-bottom:none}.ec-reptable th:not(:first-child),.ec-reptable td:not(:first-child){text-align:right;white-space:nowrap}.ec-reptravaux{margin-top:8px;font-size:12.5px;color:var(--text-primary)}.ec-reptravaux__titre{font-size:11px;font-weight:var(--fw-semibold);color:var(--text-muted);padding:0 8px 4px;border-bottom:1px solid var(--border)}.ec-reptravaux ul{list-style:none;margin:0;padding:0}.ec-reptravaux li{padding:5px 8px;white-space:pre-line;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}.ec-reptravaux li:last-child{border-bottom:none}.ec-rentchip{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:2px 9px}.ec-rentchip--loue{color:var(--ef-steel-700);background:var(--ef-steel-50);border:1px solid var(--ef-steel-100)}.ec-rentchip--disponible{color:var(--ef-success);background:var(--ef-success-bg);border:1px solid #BFE0CC}.ec-erp{display:inline-block;font-size:10.5px;font-weight:var(--fw-bold);border-radius:var(--radius-pill);padding:2px 8px;white-space:nowrap}.ec-erp--sent{color:var(--ef-success);background:var(--ef-success-bg)}.ec-erp--pending{color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.ec-erp--error{color:var(--ef-danger);background:var(--ef-red-50)}.ec-locq{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px;width:100%}.ec-minibar{width:84px;height:6px;border-radius:var(--radius-pill);background:var(--ef-slate-100);overflow:hidden}.ec-minibar__f{display:block;height:100%;border-radius:var(--radius-pill);background:var(--ef-success)}.ec-minibar__f.is-warn{background:var(--ef-warning)}.ec-minibar__f.is-over{background:var(--ef-danger)}.ec-warnpill{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:2px 8px}.ec-warnpill--warn{color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.ec-warnpill--crit{color:var(--ef-danger);background:var(--ef-red-50)}.ec-bonlist{display:flex;flex-direction:column}.ec-bon{display:flex;gap:11px;padding:12px 16px;border-top:1px solid var(--border);align-items:flex-start}.ec-bon:first-child{border-top:none}.ec-bon__type{font-size:10.5px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:3px 8px;flex:none;margin-top:1px}.ec-bon__type--depart{color:var(--ef-info);background:var(--ef-info-bg)}.ec-bon__type--retour{color:var(--ef-steel-700);background:var(--ef-steel-50)}.ec-bon__body{flex:1;min-width:0}.ec-bon__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ec-bon__head b{color:var(--text-primary);font-size:13.5px}.ec-bon__foot{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:3px;font-size:11.5px;color:var(--text-secondary)}.ec-txt-ok{color:var(--ef-success);font-weight:var(--fw-bold)}.ec-wstatus{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:2px 9px;white-space:nowrap}.ec-wstatus--avenir{color:var(--ef-steel-700);background:var(--ef-steel-50)}.ec-wstatus--encours{color:var(--ef-success);background:var(--ef-success-bg)}.ec-wstatus--archive{color:var(--ef-info);background:var(--ef-info-bg)}.ec-wstatus--late{color:var(--ef-danger-ink);background:var(--ef-danger-bg)}.ec-wstatus--suspended{color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.ec-wbadges{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}.ec-wfiche-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px;flex-wrap:wrap}.ec-wfiche-head__info{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}.ec-wfiche-actions{display:flex;gap:8px;flex-wrap:wrap}.ec-wfiche-head__map{flex:0 0 340px;max-width:100%;border:1px solid var(--border);border-radius:12px;overflow:hidden}@media (max-width:720px){.ec-wfiche-head__map{flex-basis:100%}}.ec-wadv{display:inline-flex;align-items:center;gap:9px}.ec-wadv .ec-minibar{width:96px}.ec-wadv .ec-mono{font-size:var(--text-xs);color:var(--text-secondary);min-width:38px}.ec-mkpis--6{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.ec-wproj{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.ec-wproj>div{display:flex;flex-direction:column;gap:2px}.ec-wproj span{font-size:11px;text-transform:uppercase;letter-spacing:.02em}.ec-wproj b{font-size:14px;color:var(--text-primary)}.ec-deflist2{display:flex;flex-direction:column;padding:4px 0}.ec-deflist2>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 2px;border-bottom:1px solid var(--border)}.ec-deflist2>div:last-child{border-bottom:none}.ec-deflist2 span{color:var(--text-secondary);font-size:13px}.ec-deflist2 b{color:var(--text-primary)}.ec-phasewrap{padding:6px 2px 2px}.ec-phasebar{display:flex;height:22px;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border)}.ec-phasebar span{display:block;height:100%}.ec-phaselegend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.ec-phaselegend .ec-leg2 b{color:var(--text-primary)}.ec-pareto{padding:10px 16px 14px;display:flex;flex-direction:column;gap:9px}.ec-pareto__row{display:grid;grid-template-columns:1.1fr 2fr auto;align-items:center;gap:10px}.ec-pareto__lbl{font-size:12.5px;color:var(--text-secondary)}.ec-pareto__bar{height:8px;border-radius:var(--radius-pill);background:var(--ef-slate-100);overflow:hidden}.ec-pareto__bar i{display:block;height:100%;border-radius:var(--radius-pill);background:var(--ef-steel-500)}.ec-pareto__val{font-size:12px;color:var(--text-secondary)}.ec-assign{margin-top:12px}.ec-assign__grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.ec-assign__chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:var(--fw-bold);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px 11px;cursor:pointer}.ec-assign__chip i{font-style:normal;font-weight:500;color:var(--text-muted)}.ec-assign__chip.is-on{color:var(--brand);border-color:var(--brand);background:var(--ef-red-50)}.ec-assign__chip input{accent-color:var(--brand)}.ec-bmission{display:inline-block;font-size:11px;font-weight:var(--fw-bold);color:var(--ef-info);background:var(--ef-info-bg);border-radius:var(--radius-pill);padding:1px 8px;margin-left:6px;vertical-align:middle}.ec-bstatus{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:2px 9px}.ec-bstatus--prevu{color:var(--ef-steel-700);background:var(--ef-steel-50)}.ec-bstatus--en_cours{color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.ec-bstatus--realise{color:var(--ef-success);background:var(--ef-success-bg)}.ec-bstatus--interprete{color:var(--ef-info);background:var(--ef-info-bg)}.ec-log{overflow-x:auto;padding:6px 2px 2px}.ec-log__head,.ec-log__body{display:grid;align-items:start;min-width:max-content}.ec-log__head{margin-bottom:4px}.ec-log__th{font-size:10.5px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);text-align:center;line-height:1.2}.ec-log__th i{display:block;font-style:normal;font-weight:500;font-size:9.5px;color:var(--text-muted)}.ec-log__scale,.ec-log__litho,.ec-log__track{display:block}.ec-log__litho,.ec-log__track{border:1px solid var(--border);border-radius:4px}.ec-strata{display:flex;flex-direction:column}.ec-strata__row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid var(--border)}.ec-strata__row:first-child{border-top:none}.ec-strata__sw{width:14px;height:14px;border-radius:3px;flex:none;box-shadow:inset 0 0 0 1px #0000001f}.ec-strata__lit{font-weight:var(--fw-bold);color:var(--text-primary);font-size:13px;flex:1}.ec-userlist{display:flex;flex-direction:column}.ec-userrow{border-top:1px solid var(--border);padding:12px 18px}.ec-userrow:first-child{border-top:none}.ec-userrow__head{display:flex;align-items:center;gap:12px}.ec-userrow__id{display:flex;flex-direction:column;gap:1px;min-width:160px}.ec-userrow__id b{color:var(--text-primary);font-size:13.5px}.ec-userrow__id i{font-style:normal;font-size:11.5px;color:var(--text-muted)}.ec-userrow__profiles{display:flex;flex-wrap:wrap;gap:6px;flex:1}.ec-userrow__head--wrap{flex-wrap:wrap}.ec-userrow__head--wrap>.ec-cardbtns{flex-basis:100%}.ec-cardbtns--wrap{flex-wrap:wrap}.ec-userrow__role{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.ec-userrow__role .ec-select{height:32px;max-width:100%}.ec-userrow__role--seul{margin-top:0}.ec-userrow__rolelabel{font-size:11.5px;font-weight:var(--fw-bold);color:var(--text-muted)}.ec-accchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:var(--fw-bold);color:var(--ef-steel-700);background:var(--ef-steel-50);border:1px solid var(--ef-steel-100);border-radius:var(--radius-pill);padding:2px 9px}.ec-accchip i{font-style:normal;font-weight:600;color:var(--ef-info)}.ec-accedit{margin-top:12px;padding:12px;background:var(--ef-slate-50);border:1px solid var(--border);border-radius:var(--radius-md,10px)}.ec-accedit__row{display:flex;align-items:center;gap:12px;padding:6px 2px}.ec-accedit__row .ec-select{width:180px}.ec-accedit__chk{display:flex;align-items:center;gap:9px;flex:1;cursor:pointer}.ec-accedit__chk input{accent-color:var(--brand);width:16px;height:16px}.ec-accedit__chk b{color:var(--text-secondary);font-weight:var(--fw-bold);font-size:13px}.ec-accedit__row.is-on .ec-accedit__chk b{color:var(--text-primary)}.ec-accedit__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.ec-accedit__foot .ec-muted{font-size:11.5px}.ec-newuser{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 16px 14px;border-bottom:1px solid var(--border)}.ec-newuser .ec-input{flex:1;min-width:120px}.ec-newuser .ec-select{min-width:150px}.ec-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.ec-tab{padding:9px 14px;font-size:13.5px;font-weight:var(--fw-bold);color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.ec-tab:hover{color:var(--text-primary)}.ec-tab.is-active{color:var(--brand);border-bottom-color:var(--brand)}.ec-daygrid{display:flex;flex-wrap:wrap;gap:7px}.ec-daychip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:var(--fw-bold);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 12px;cursor:pointer}.ec-daychip input{accent-color:var(--brand)}.ec-daychip:has(input:disabled){opacity:.6;cursor:default}.ec-checkrow{display:flex;gap:18px;flex-wrap:wrap;padding:4px 2px}.ec-check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:var(--fw-bold);color:var(--text-secondary);cursor:pointer}.ec-check input{accent-color:var(--brand);width:16px;height:16px}.ec-isogrid{display:grid;grid-template-columns:1fr repeat(3,1fr);gap:8px;align-items:center}.ec-isogrid>span.ec-num{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);text-align:center}.ec-isogrid>b{font-size:13px;color:var(--text-secondary)}.ec-isofs{border:0;padding:0;margin:0;min-width:0}.ec-isofs>legend{padding:0 0 6px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-secondary)}.ec-isoin{border-left-width:3px}.ec-isoin--warn{border-left-color:var(--ef-warning)}.ec-isoin--crit{border-left-color:var(--ef-danger)}.ec-edgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ec-edlist__title{font-size:12.5px;font-weight:var(--fw-bold);color:var(--text-secondary);margin-bottom:6px}.ec-edlist__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ec-edchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:var(--fw-bold);color:var(--ef-steel-700);background:var(--ef-steel-50);border:1px solid var(--ef-steel-100);border-radius:var(--radius-pill);padding:3px 4px 3px 10px}.ec-edchip button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:15px;line-height:1;padding:0 3px}.ec-edchip button:hover{color:var(--ef-danger)}.ec-edlist__add{display:flex;gap:8px}.ec-edlist__add .ec-input{flex:1}@media (max-width:760px){.ec-edgrid{grid-template-columns:1fr}}.ec-deflist{list-style:none;margin:0;padding:14px 18px;display:flex;flex-direction:column;gap:0}.ec-deflist li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.ec-deflist li:last-child{border-bottom:0}.ec-deflist span{font-size:var(--text-sm);color:var(--text-secondary)}.ec-deflist b{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.ec-maplayout{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}.ec-mapwrap{display:flex;gap:18px;height:100%;min-height:420px}.ec-mapfull{flex:1;min-width:0;height:100%;min-height:420px}.ec-mappanel{width:330px;flex:none;display:flex;flex-direction:column;min-height:0}.ec-mappanel__top{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border);flex:none}.ec-mappanel__search{display:flex;align-items:center;gap:8px;flex:1;height:38px;padding:0 11px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:0}.ec-mappanel__search:focus-within{border-color:var(--brand);box-shadow:var(--ring)}.ec-mappanel__searchico{width:17px;height:17px;color:var(--text-muted);flex:none}.ec-mappanel__search input{border:0;outline:0;background:transparent;font-family:inherit;font-size:var(--text-sm);width:100%;color:var(--text-primary)}.ec-mappanel__search input::placeholder{color:var(--ef-slate-400)}.ec-mappanel__filter{width:38px;height:38px;flex:none;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ec-mappanel__filter svg{width:18px;height:18px}.ec-mappanel__filter:hover{border-color:var(--ef-slate-500);color:var(--text-primary)}.ec-mappanel__filter.is-active{border-color:var(--brand);color:var(--brand);background:var(--ef-red-50)}.ec-mappanel__filters{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex:none}.ec-statchips{display:flex;flex-wrap:wrap;gap:6px}.ec-statchip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted)}.ec-statchip__dot{width:8px;height:8px;border-radius:50%;background:var(--ef-slate-300)}.ec-statchip.is-on{color:var(--text-primary);border-color:var(--ef-slate-400);background:var(--ef-slate-50)}.ec-statchip:not(.is-on){opacity:.6;text-decoration:line-through}.ec-statchip--running.is-on .ec-statchip__dot{background:var(--ef-success)}.ec-statchip--idle.is-on .ec-statchip__dot{background:var(--ef-warning)}.ec-statchip--alarm.is-on .ec-statchip__dot{background:var(--ef-danger)}.ec-statchip--offline.is-on .ec-statchip__dot{background:var(--ef-slate-400)}.ec-mappanel__count{padding:9px 14px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);flex:none}.ec-mappanel__list{flex:1;overflow-y:auto;min-height:0}.ec-mlrow{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);position:relative}.ec-mlrow:hover{background:var(--ef-slate-50)}.ec-mlrow.is-sel{background:var(--ef-red-50);box-shadow:inset 3px 0 0 var(--brand)}.ec-mlrow__dot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex:none;background:var(--ef-slate-300)}.ec-mlrow__dot--running{background:var(--ef-success);box-shadow:0 0 0 3px var(--ef-success-bg)}.ec-mlrow__dot--idle{background:var(--ef-warning);box-shadow:0 0 0 3px var(--ef-warning-bg)}.ec-mlrow__dot--alarm{background:var(--ef-danger);box-shadow:0 0 0 3px var(--ef-danger-bg)}.ec-mlrow__dot--offline{background:var(--ef-slate-400);box-shadow:0 0 0 3px var(--ef-slate-100)}.ec-mlrow__body{flex:1;min-width:0}.ec-mlrow__title{display:flex;align-items:baseline;gap:6px}.ec-mlrow__title b{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-mlrow__title i{font-style:normal;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.ec-mlrow__sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:1px}.ec-mlrow__site{font-size:var(--text-xs);color:var(--text-secondary);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-mlrow__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}.ec-mlrow__state{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.ec-mlrow__foot .ec-mono{font-size:11px;color:var(--text-muted)}.ec-mlrow__open{width:24px;height:24px;flex:none;border:0;background:none;cursor:pointer;color:var(--ef-slate-400);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);align-self:center}.ec-mlrow__open svg{width:16px;height:16px}.ec-mlrow__open:hover{background:var(--ef-slate-200);color:var(--brand)}.ec-mgmt{display:grid;grid-template-columns:1fr 380px;gap:18px;align-items:start}.ec-maplayout__side{padding:0}.ec-mapdetail{padding:14px 18px}.ec-mapdetail__row{margin-bottom:12px}.ec-placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:60px 24px}.ec-placeholder__ico{width:54px;height:54px;border-radius:50%;background:var(--ef-slate-100);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.ec-placeholder__ico svg{width:26px;height:26px}.ec-placeholder h3{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.ec-placeholder p{font-size:var(--text-sm);color:var(--text-muted);max-width:42ch;margin:0;line-height:1.55}.ec-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted)}.ec-spinner{width:34px;height:34px;border:3px solid var(--ef-slate-200);border-top-color:var(--brand);border-radius:50%;animation:ecspin .8s linear infinite}@keyframes ecspin{to{transform:rotate(360deg)}}.ec-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ef-ink-900);background-image:radial-gradient(circle at 30% 20%,#25292e,#141619 60%);padding:24px}.ec-login__card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:34px 32px}.ec-login__brand{display:flex;align-items:center;gap:11px;margin-bottom:6px}.ec-login__brand img{height:34px}.ec-login__brand span{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--fw-medium)}.ec-login__brand b{font-weight:var(--fw-black)}.ec-login h1{font-family:var(--font-display);font-size:var(--text-xl);margin:14px 0 4px;letter-spacing:var(--ls-tight)}.ec-login p{margin:0 0 22px;font-size:var(--text-sm);color:var(--text-muted)}.ec-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ec-field label{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-field input{height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary)}.ec-field input:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.ec-login__err{background:var(--ef-danger-bg);color:var(--ef-danger-ink);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:14px}.ec-login__notice{background:var(--bg-subtle);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:14px}.ec-login__oubli{display:inline-block;margin:-4px 0 16px;font-size:var(--text-sm);color:var(--text-link);text-decoration:none}.ec-login__oubli:hover,.ec-mdp__liens a:hover{text-decoration:underline}.ec-login__oubli:focus-visible,.ec-mdp__liens a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.ec-login p.ec-mdp__liens{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0}.ec-mdp__liens a{color:var(--text-link);text-decoration:none}.ec-mdp__reessayer{margin-top:8px}.ec-mdp__exigences{list-style:none;margin:-4px 0 16px;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm)}.ec-mdp__exigence{display:flex;gap:8px;align-items:flex-start;color:var(--text-secondary);line-height:1.4}.ec-mdp__exigence.is-ok{color:var(--ef-success)}.ec-mdp__exigence.is-manque{color:var(--ef-danger-ink)}.ec-mdp__marque{flex:none;width:1em;text-align:center;font-weight:var(--fw-bold)}.ec-mdp__note{color:var(--text-secondary)}.ec-mdp__detail{display:block;color:var(--text-secondary)}.ec-mdp__etat{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ec-mdp__manques{margin:6px 0 0;padding-left:18px}.ec-mdp__message:focus{outline:none}.ec-login p.ec-login__oubli-admin{margin:-4px 0 16px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.ec-maint{max-width:460px}.ec-login p.ec-maint__msg{color:var(--text-primary);font-size:var(--text-base);line-height:1.55;white-space:pre-wrap;margin:0 0 14px}.ec-login p.ec-maint__since{margin:0 0 8px}.ec-maint__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ec-maint-notice{background:var(--ef-warning-bg);color:var(--text-primary);border:1px solid var(--ef-warning);font-size:var(--text-sm);line-height:1.5;padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:14px;white-space:pre-wrap}.ec-maint-notice__who{display:block;margin-top:6px;color:var(--text-secondary)}.ec-maint-banner{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:999;max-width:min(680px,calc(100vw - 32px));background:var(--ef-warning-bg);color:var(--text-primary);border:1px solid var(--ef-warning);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:9px 14px;font-size:var(--text-sm);line-height:1.45}.ec-maint-banner a{color:var(--text-link);font-weight:var(--fw-semibold);text-decoration:underline}.ec-banners{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.ec-banners .ec-maint-banner{position:static;transform:none;pointer-events:auto}.ec-stale-banner{pointer-events:auto;max-width:min(680px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ef-warning-bg);color:var(--text-primary);border:1px solid var(--ef-warning);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:9px 14px;font-size:var(--text-sm);line-height:1.45}.ec-version{position:fixed;right:8px;bottom:4px;z-index:998;pointer-events:none;font-size:10px;line-height:1.2;color:var(--text-muted);opacity:.75}.ec-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.ec-input,.ec-select{height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--surface)}.ec-input:focus,.ec-select:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.ec-label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ec-label--court{max-width:280px}.ec-label .ec-input,.ec-label .ec-select{width:100%;min-width:0}.ec-toolbar .ec-tabs{height:40px;margin-bottom:0;border-bottom:0;box-sizing:border-box;align-items:stretch}.ec-toolbar .ec-tab{display:flex;align-items:center}.ec-toolbar .efx-btn{--_h:40px}.ec-formsep{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.ec-formsep h4{margin:0 0 4px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-formsep p{margin:0 0 12px;font-size:var(--text-xs);color:var(--text-muted)}.ec-isohead{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--text-muted);margin:0 0 8px}.ec-isogrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.ec-feedback{font-size:var(--text-sm);padding:9px 12px;border-radius:var(--radius-sm);margin:10px 0}.ec-feedback--ok{background:var(--ef-success-bg);color:var(--ef-success)}.ec-feedback--err{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-feedback--info{background:var(--ef-info-bg);color:var(--ef-info)}.ec-tabs{display:inline-flex;background:var(--ef-slate-100);border-radius:var(--radius-sm);padding:3px;gap:2px}.ec-tab{border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);padding:7px 14px;border-radius:var(--radius-xs)}.ec-tab.is-active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.ec-tab:disabled{cursor:default}.ec-tab:disabled:not(.is-active){opacity:.45}.ec-catlist{list-style:none;margin:0 0 6px;padding:0}.ec-catlist__titre{margin:14px 0 4px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-catlist__vide{margin:0 0 6px;font-size:var(--text-sm);color:var(--text-muted)}.ec-catrow{display:flex;align-items:center;gap:12px;min-height:40px;padding:4px 0;border-top:1px solid var(--border)}.ec-catlist .ec-catrow:first-child{border-top:0}.ec-catrow .ec-categorie{flex:1;min-width:0;font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-catrow__n{flex:none;font-size:var(--text-xs);color:var(--text-muted)}.ec-catrow__nom{flex:1;min-width:0;font-weight:var(--fw-semibold);color:var(--text-primary);overflow-wrap:anywhere}.ec-catrow__actes{flex:none;display:flex;gap:2px}.ec-catrow__acte{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.ec-catrow__acte svg{width:16px;height:16px;display:block}.ec-catrow__acte:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.ec-catrow__acte--suppr:hover:not(:disabled){background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-catrow__acte:focus-visible{outline:none;box-shadow:var(--ring)}.ec-catrow__acte:disabled{cursor:default;opacity:.5}.ec-nuancier{margin-top:14px}.ec-nuancier__teintes{display:flex;flex-wrap:wrap;gap:8px}.ec-nuancier__teinte{width:30px;height:30px;padding:0;border-radius:50%;border:2px solid var(--surface);cursor:pointer;background:var(--categorie, var(--border-strong));box-shadow:0 0 0 1px var(--border-strong)}.ec-nuancier__teinte.is-on{box-shadow:0 0 0 2px var(--text-primary)}.ec-nuancier__teinte:focus-visible{outline:none;box-shadow:0 0 0 2px var(--text-primary),var(--ring)}.ec-nuancier__apercu{margin:14px 0 0;font-size:var(--text-sm);color:var(--text-primary)}.ec-catpick{margin-top:0;text-transform:none;letter-spacing:0}.ec-catpick .ec-scopechip.is-fige{cursor:default;opacity:.7}.ec-catpick__note{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--text-secondary);text-transform:none;letter-spacing:0}.ec-cattags{display:flex;flex-wrap:wrap;gap:8px}.ec-cattag{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 11px;border-radius:var(--radius-pill);background:var(--ef-slate-100);font-size:var(--text-sm)}.ec-cattag b,.ec-cattag .ec-categorie{font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-cattag__n{min-width:18px;height:18px;border-radius:9px;background:var(--surface);color:var(--text-muted);font-size:11px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.ec-cattag button{width:18px;height:18px;border:0;background:none;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.ec-cattag button svg{width:13px;height:13px}.ec-cattag button:hover{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-live{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.ec-live i{width:8px;height:8px;border-radius:50%;background:var(--ef-slate-300)}.ec-live.is-on i{background:var(--ef-success);box-shadow:0 0 0 3px var(--ef-success-bg)}.ec-search{position:relative}.ec-search__drop{position:absolute;top:44px;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:40;overflow:hidden}.ec-search__item{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;cursor:pointer;font-size:var(--text-sm)}.ec-search__item:hover{background:var(--ef-slate-50)}.ec-search__item b{font-weight:var(--fw-semibold)}.ec-search__item i{font-style:normal;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.ec-map .mapboxgl-map{width:100%;height:100%;font-family:var(--font-body)}.ec-map__legend{z-index:5;bottom:30px}.ec-rigmarker{background:none;border:none;line-height:0;cursor:pointer}.ec-rigmarker svg{display:block}.ec-cluster{position:relative;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--ef-slate-400);box-shadow:0 2px 7px #14181c47;cursor:pointer;font-family:var(--font-display);font-weight:var(--fw-black);font-size:15px;color:var(--text-primary)}.ec-cluster--alarm{border-color:#cc2532;color:#cc2532}.ec-cluster--running{border-color:#1b7a3d}.ec-cluster--idle{border-color:#c9870e}.ec-cluster--offline{border-color:#8a9199}.ec-cluster__count{pointer-events:auto}.ec-cluster__menu{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);min-width:210px;max-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px;z-index:30;overflow-y:auto;overscroll-behavior:contain}.ec-cluster:before{content:"";position:absolute;left:-10px;right:-10px;top:-16px;bottom:-16px}.ec-cluster:hover .ec-cluster__menu{display:block}.ec-cluster__title{font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:4px 8px 6px}.ec-cluster__item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:0;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:var(--font-body)}.ec-cluster__item:hover{background:var(--bg-subtle)}.ec-cluster__item i{width:9px;height:9px;border-radius:50%;flex:none}.ec-cluster__name{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-cluster__serial{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-left:auto}.ec-maptypes{position:absolute;top:12px;right:12px;z-index:1000;display:inline-flex;gap:2px;background:#ffffffeb;border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(1.2) blur(4px);backdrop-filter:saturate(1.2) blur(4px)}.ec-maptype{border:0;background:none;cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);padding:6px 11px;border-radius:var(--radius-xs);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-maptype:hover{background:var(--ef-slate-100);color:var(--text-primary)}.ec-maptype.is-active{background:var(--brand);color:#fff}.ec-popup .mapboxgl-popup-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:13px 15px;font-family:var(--font-body)}.ec-popup .mapboxgl-popup-close-button{font-size:18px;color:var(--text-muted);padding:0 7px;right:2px;top:1px}.ec-popup .mapboxgl-popup-close-button:hover{background:none;color:var(--text-primary)}.ec-popup.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:var(--surface)}.ec-popup.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-bottom-color:var(--surface)}.ec-popup.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:var(--surface)}.ec-popup.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:var(--surface)}.ec-mappop{min-width:226px}.ec-mappop__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.ec-mappop__title{display:flex;flex-direction:column;line-height:1.2;min-width:0}.ec-mappop__title b{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-base);letter-spacing:var(--ls-tight);color:var(--text-primary)}.ec-mappop__title i{font-style:normal;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.ec-mappop__badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:var(--fw-bold);white-space:nowrap;flex:none}.ec-mappop__dot{width:8px;height:8px;border-radius:50%}.ec-mappop__rows{display:flex;flex-direction:column;gap:0;margin-bottom:12px}.ec-mappop__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--border)}.ec-mappop__row:last-child{border-bottom:0}.ec-mappop__row span{font-size:var(--text-xs);color:var(--text-secondary)}.ec-mappop__row b{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);text-align:right}.ec-mappop .efx-btn{margin-top:2px}@media (max-width:1180px){.ec-kpis{grid-template-columns:repeat(2,1fr)}.ec-dash,.ec-maplayout,.ec-mgmt,.ec-kpigrid,.ec-mrow{grid-template-columns:1fr}}@media (max-width:980px){.ec-mapwrap{flex-direction:column}.ec-mappanel{width:auto;max-height:300px}.ec-mapfull{min-height:380px}}@media (max-width:760px){.ec-shell{flex-direction:column}.ec-main{min-height:0}.ec-side{width:auto;flex:none;flex-direction:row;align-items:center;gap:10px;padding:10px 14px}.ec-logo{padding:0}.ec-logo__txt,.ec-navlist,.ec-user{display:none}.ec-navselect{display:flex;flex-direction:column;flex:1;min-width:0}.ec-navselect__lbl{display:none}.ec-navselect select{width:100%;height:44px;padding:0 8px;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);background:var(--ef-ink-900);color:#fff;border:1px solid rgba(255,255,255,.18)}.ec-side__foot{margin:0;padding:0;border:0;flex:none}.ec-side__logout{margin:0;width:auto;white-space:nowrap}.ec-top{padding:14px 16px}.ec-content{padding:16px 14px 28px}.ec-search{width:160px}.ec-kpis,.ec-mkpis{grid-template-columns:1fr}}@media (max-width:600px){.ec-top{flex-wrap:wrap;row-gap:10px;padding:14px 16px}.ec-top__lead{flex:1 1 100%}.ec-top__actions{flex:1 1 100%;flex-wrap:wrap;row-gap:8px;justify-content:flex-end}.ec-search{flex:1 1 140px;width:auto;min-width:120px}}.ec-sharecred{margin-top:14px;border:1px solid var(--ef-success);background:var(--ef-success-bg);border-radius:var(--radius-md);padding:12px 14px}.ec-sharecred__head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.ec-sharecred__head b{font-family:var(--font-display);font-size:14px;color:var(--ef-slate-900)}.ec-sharecred__head .ec-muted{font-size:11.5px}.ec-credrow{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;padding:5px 0;border-top:1px solid color-mix(in srgb,var(--ef-success) 22%,transparent)}.ec-credrow>span{font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary)}.ec-credrow code{font-family:var(--font-mono);font-size:13px;color:var(--ef-slate-900);overflow-wrap:anywhere}.ec-copybtn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:3px 10px;font-size:11.5px;font-weight:var(--fw-semibold);cursor:pointer;color:var(--text-secondary)}.ec-copybtn:hover{border-color:var(--brand);color:var(--brand)}.ec-copyall{margin-top:10px;border:0;background:var(--ef-slate-900);color:#fff;border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-weight:var(--fw-semibold);cursor:pointer}.ec-copyall:hover{background:var(--ef-ink-900)}.ec-sharechip{display:inline-block;padding:2px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:var(--fw-bold)}.ec-sharechip--actif{background:var(--ef-success-bg);color:var(--ef-success)}.ec-sharechip--expire{background:var(--ef-slate-100);color:var(--text-secondary)}.ec-sharechip--avenir{background:var(--ef-info-bg);color:var(--ef-info)}.ec-linklike{border:0;background:none;cursor:pointer;font-size:12.5px;font-weight:var(--fw-semibold);color:var(--brand);padding:0}.ec-linklike:hover{text-decoration:underline}.ec-linklike:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.ec-linklike--danger{color:var(--ef-danger)}.ecl-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-subtle);color:var(--text-primary)}.ecl-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 26px;background:var(--surface);border-bottom:1px solid var(--border)}.ecl-brand{display:flex;align-items:center;gap:10px}.ecl-brand img{height:26px;width:auto}.ecl-brand__txt{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:16px;color:var(--ef-slate-800)}.ecl-brand__txt b{color:var(--brand);font-weight:var(--fw-black)}.ecl-brand__txt i{display:block;font-style:normal;font-size:10.5px;font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted)}.ecl-top__right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.ecl-mselect{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:var(--fw-bold);color:var(--text-secondary)}.ecl-mselect select{height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:13px;background:var(--surface)}.ecl-logout{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:7px 14px;font-size:12.5px;font-weight:var(--fw-semibold);cursor:pointer;color:var(--text-secondary)}.ecl-logout:hover{border-color:var(--brand);color:var(--brand)}.ecl-sub{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 26px 6px}.ecl-sub__l h1{font-family:var(--font-display);font-size:26px;font-weight:var(--fw-black);letter-spacing:var(--ls-tight);margin:0;color:var(--ef-slate-900)}.ecl-serial{font-family:var(--font-mono);font-size:15px;font-weight:var(--fw-medium);color:var(--text-muted)}.ecl-sub__l p{margin:3px 0 0;font-size:13px;color:var(--text-secondary)}.ecl-period{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-md);padding:9px 14px}.ecl-period.is-expired{border-left-color:var(--ef-slate-400)}.ecl-period__ico{display:inline-flex;width:20px;height:20px;flex:none;color:var(--brand)}.ecl-tab__ico svg,.ecl-period__ico svg,.ecl-empty__ico svg{width:100%;height:100%;display:block}.ecl-period.is-expired .ecl-period__ico{color:var(--ef-slate-400)}.ecl-period b{display:block;font-size:13px;color:var(--ef-slate-900)}.ecl-period i{font-style:normal;font-size:11.5px;color:var(--text-muted)}.ecl-tabs{display:flex;gap:4px;padding:12px 26px 0;border-bottom:1px solid var(--border);overflow-x:auto}.ecl-tab{display:inline-flex;align-items:center;gap:7px;border:0;background:none;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:var(--fw-bold);color:var(--text-secondary);padding:9px 14px;border-bottom:2px solid transparent;white-space:nowrap}.ecl-tab__ico{display:inline-flex;width:17px;height:17px;flex:none}.ecl-tab:hover{color:var(--text-primary)}.ecl-tab.is-active{color:var(--brand);border-bottom-color:var(--brand)}.ecl-content{flex:1;padding:22px 26px;max-width:1120px;width:100%;margin:0 auto;box-sizing:border-box}.ecl-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--text-secondary)}.ecl-empty{text-align:center;padding:56px 20px;color:var(--text-secondary)}.ecl-empty__ico{display:inline-flex;width:40px;height:40px;color:var(--ef-slate-300);margin-bottom:8px}.ecl-empty h3{font-family:var(--font-display);font-size:18px;margin:0 0 6px;color:var(--ef-slate-800)}.ecl-empty p{margin:0;font-size:13.5px}.ecl-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}.ecl-kpis--5{grid-template-columns:repeat(5,1fr)}.ecl-kpis--4{grid-template-columns:repeat(4,1fr)}.ecl-kpis--3{grid-template-columns:repeat(3,1fr)}.ecl-kpis--2{grid-template-columns:repeat(2,1fr)}.ecl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:18px;box-shadow:var(--shadow-xs)}.ecl-card--flush{padding:0;overflow:hidden}.ecl-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ecl-card__head--pad{padding:14px 18px 0;margin-bottom:8px}.ecl-card__head h3{font-family:var(--font-display);font-size:15.5px;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);margin:0;color:var(--text-primary)}.ecl-card__meta{font-size:12px;color:var(--text-muted);font-weight:var(--fw-semibold)}.ecl-secttl{font-family:var(--font-display);font-size:12px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);margin:22px 2px 10px}.ecl-chart svg{width:100%;height:auto;display:block}.ecl-grid{stroke:var(--ef-slate-100);stroke-width:1}.ecl-axis{fill:var(--text-muted);font-size:10px;font-family:var(--font-mono)}.ecl-avgline{stroke:var(--ef-steel-500);stroke-width:1.4;stroke-dasharray:5 4}.ecl-avglabel{fill:var(--ef-steel-600);font-size:10px;font-weight:600}.ecl-cumline{stroke:var(--brand);stroke-width:2;fill:none}.ecl-daybar{fill:var(--ef-steel-400)}.ecl-chartnote{font-size:11.5px;color:var(--text-muted);margin:8px 2px 0;line-height:1.45}.ecl-chartnote b{color:var(--text-secondary)}.ecl-tblwrap{overflow-x:auto;max-height:460px;overflow-y:auto}.ecl-tbl{width:100%;border-collapse:collapse;font-size:13px}.ecl-tbl th{position:sticky;top:0;background:var(--bg-muted);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);padding:9px 16px;font-weight:var(--fw-bold)}.ecl-tbl td{padding:9px 16px;border-top:1px solid var(--border)}.ecl-tbl tbody tr:hover{background:var(--bg-subtle)}.ecl-r{text-align:right}.ecl-mono{font-family:var(--font-mono)}.ecl-tblempty{padding:26px;text-align:center;color:var(--text-muted);font-size:13px}.ecl-dtclist{display:flex;flex-direction:column}.ecl-dtc{display:grid;grid-template-columns:132px 1fr;gap:14px;padding:12px 18px;border-top:1px solid var(--border)}.ecl-dtc:first-child{border-top:0}.ecl-dtc__sev{align-self:start;text-align:center;font-size:10.5px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);padding:4px 8px;border-radius:var(--radius-pill)}.ecl-dtc--critique .ecl-dtc__sev{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ecl-dtc--warn .ecl-dtc__sev{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ecl-dtc--info .ecl-dtc__sev{background:var(--ef-info-bg);color:var(--ef-info)}.ecl-dtc__body b{font-size:13.5px;color:var(--ef-slate-900)}.ecl-dtc__meta{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:4px;font-size:12px;color:var(--text-secondary)}.ecl-dtc__sys{text-transform:capitalize;color:var(--text-muted)}.ecl-alarmlist{display:flex;flex-direction:column}.ecl-alarm{display:grid;grid-template-columns:132px 1fr;gap:14px;padding:14px 18px;border-top:1px solid var(--border)}.ecl-alarm:first-child{border-top:0}.ecl-alarm__sev{align-self:start;text-align:center;font-size:10.5px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);padding:4px 8px;border-radius:var(--radius-pill)}.ecl-alarm--critique .ecl-alarm__sev{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ecl-alarm--majeure .ecl-alarm__sev{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ecl-alarm--mineure .ecl-alarm__sev{background:var(--ef-info-bg);color:var(--ef-info)}.ecl-alarm__body b{font-size:13.5px;color:var(--ef-slate-900)}.ecl-alarm__detail{display:block;margin-top:3px;font-size:12.5px;color:var(--text-secondary)}.ecl-alarm__advice{display:block;margin-top:6px;font-size:12.5px;color:var(--text-primary);background:var(--bg-subtle);border-left:3px solid var(--ef-steel-300);padding:7px 10px;border-radius:var(--radius-sm)}.ecl-alarm__since{display:block;margin-top:6px;font-size:11.5px;color:var(--text-muted)}.ecl-locwrap{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:start}.ecl-loccard{margin-bottom:0}.ecl-deflist{margin:0}.ecl-deflist>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--border)}.ecl-deflist>div:first-child{border-top:0}.ecl-deflist dt{font-size:12.5px;color:var(--text-secondary);font-weight:var(--fw-semibold)}.ecl-deflist dd{margin:0;font-size:13px;color:var(--ef-slate-900);text-align:right;font-weight:var(--fw-semibold)}.ecl-foot{padding:16px 26px;text-align:center;font-size:11.5px;color:var(--text-muted);border-top:1px solid var(--border);background:var(--surface)}@media (max-width:900px){.ecl-kpis,.ecl-kpis--5,.ecl-kpis--4,.ecl-kpis--3,.ecl-kpis--2{grid-template-columns:repeat(2,1fr)}.ecl-locwrap{grid-template-columns:1fr}}@media (max-width:560px){.ecl-kpis,.ecl-kpis--5,.ecl-kpis--4,.ecl-kpis--3,.ecl-kpis--2{grid-template-columns:1fr}.ecl-sub__l h1{font-size:21px}.ecl-content{padding:16px 14px}.ecl-top,.ecl-sub,.ecl-tabs{padding-left:14px;padding-right:14px}}.ec-invhead{align-items:flex-start;gap:14px;flex-wrap:wrap}.ec-invtools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.ec-invsearch{width:260px;max-width:100%;height:34px}.ec-invtable{--ec-tablemin:100%;width:max-content}.ec-invsm{font-size:var(--text-xs)}.ec-popover--wide{min-width:270px;max-height:min(70vh,460px);overflow-y:auto}.ec-popover--wide .ec-label{margin-bottom:10px}.ec-popover--wide .ec-select{height:var(--control-h-sm)}@media (max-width:760px){.ec-invtools{position:relative}.ec-invtools .ec-popwrap{position:static}.ec-invtools .ec-popover{top:calc(100% + 6px);left:0;right:0;min-width:0}}.ec-colrow{display:flex;align-items:center;justify-content:space-between;gap:10px}.ec-colrow>label{flex:1;min-width:0}.ec-colrow__ord{display:inline-flex;gap:2px;flex:none}.ec-mapctl{position:absolute;top:84px;left:10px;z-index:1000;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.ec-mapctl__box{position:relative;display:flex;align-items:flex-start;background:#fff;border-radius:4px;box-shadow:0 0 0 2px #0000001a}.ec-mapctl__btn{width:29px;height:29px;flex:none;border:0;background:transparent;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-mapctl__btn:hover{background:#0000000f;color:var(--text-primary)}.ec-mapctl__btn svg{width:17px;height:17px}.ec-mapgeo.is-open .ec-mapctl__btn{border-radius:4px 0 0 4px;color:var(--brand)}.ec-mapgeo__panel{display:flex;flex-direction:column}.ec-mapgeo__input{width:250px;height:29px;border:0;border-left:1px solid var(--border);outline:none;background:transparent;padding:0 28px 0 10px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary)}.ec-mapgeo__input::placeholder{color:var(--ef-slate-400)}.ec-mapgeo__clear{position:absolute;right:4px;top:0;width:22px;height:29px;border:0;padding:0;background:transparent;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ef-slate-400);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-mapgeo__clear:hover{background:#0000000f;color:var(--text-primary)}.ec-mapgeo__clear svg{width:14px;height:14px}.ec-mapgeo__list{position:absolute;top:calc(100% + 6px);left:0;width:279px;max-height:220px;overflow-y:auto;background:#fff;border-radius:4px;box-shadow:0 0 0 2px #0000001a}.ec-mapgeo__item{display:block;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:8px 10px;font-family:var(--font-body);font-size:var(--text-xs);line-height:1.35;color:var(--text-primary)}.ec-mapgeo__item+.ec-mapgeo__item{border-top:1px solid var(--border)}.ec-mapgeo__item:hover{background:var(--bg-subtle)}.ec-mapgeo__msg{margin:0;padding:9px 10px;font-size:var(--text-xs);color:var(--text-muted)}.ec-logout-error{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000;max-width:640px;margin:0;box-shadow:var(--shadow-lg)}.ec-pwdgen{display:flex;gap:6px;align-items:center}.ec-pwdgen .ec-input{flex:1;min-width:0}.ec-orgslayout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.ec-orgslayout>*{min-width:0}@media (max-width:1180px){.ec-orgslayout{grid-template-columns:1fr}}.ec-orgblocs{display:flex;flex-direction:column;gap:18px}.ec-orgtree{max-height:70vh;overflow-y:auto}.ec-orgtree__row{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;border-top:1px solid var(--border);background:var(--surface);cursor:pointer;padding:9px 18px 9px 0;font-family:inherit}.ec-orgtree__row:first-child{border-top:0}.ec-orgtree__row:hover{background:var(--bg-subtle)}.ec-orgtree__row.is-selected{background:var(--brand-tint)}.ec-orgtree__name{font-size:13.5px;font-weight:var(--fw-bold);color:var(--text-primary)}.ec-orgtree__row.is-selected .ec-orgtree__name{color:var(--brand-press)}.ec-orgtree__meta{font-size:11.5px;color:var(--text-muted)}.ec-orgtree__metiers{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}.ec-orgtree__metiers i{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand);font-style:normal;font-weight:var(--fw-bold);font-size:10.5px}.ec-orgtree__row.is-selected .ec-orgtree__metiers i{background:var(--brand);color:var(--surface)}.ec-orgmachgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px;margin-bottom:4px}.ec-orgmach-row{display:grid;grid-template-columns:1.6fr 1.1fr .8fr auto;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--border);font-size:13.5px}.ec-orgmach-row:first-child{border-top:0}.ec-orgloan-row{display:grid;grid-template-columns:1.4fr 1.2fr 1.1fr .8fr;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--border);font-size:13.5px}.ec-orgloan-row:first-child{border-top:0}@media (max-width:700px){.ec-orgmach-row,.ec-orgloan-row{grid-template-columns:1fr 1fr}.ec-orgmachgrid{grid-template-columns:1fr}}.ec-bhbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}.ec-bhbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ec-bhbar__status{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-secondary)}.ec-bhbar__status .ec-select{height:32px;min-width:130px}.ec-bhfacts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0 0 16px}@media (max-width:1180px){.ec-bhfacts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.ec-bhfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}.ec-bhform .ec-form-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ec-bhfacts>div{background:var(--surface);padding:12px 16px;display:flex;flex-direction:column;gap:4px}.ec-bhfacts span{font-size:12px;color:var(--text-muted)}.ec-bhfacts b{font-size:18px;font-weight:var(--fw-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.ec-bhgrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.ec-bhgrid__log{position:sticky;top:16px}.ec-bhgrid__main{display:flex;flex-direction:column;gap:16px;min-width:0}.ec-bhcard{padding:0;overflow:hidden}.ec-bhcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:16px 18px 10px}.ec-bhcard__head h3{margin:0;font-size:15px;font-weight:var(--fw-bold)}.ec-bhcard__meta{font-size:12px;color:var(--text-muted)}.ec-bhempty{margin:0;padding:4px 18px 14px;font-size:var(--text-sm);color:var(--text-muted)}.ec-bhnote{margin:0;padding:8px 18px 14px;font-size:12px;color:var(--text-muted)}.ec-bhlog{padding:4px 18px 0;display:flex;justify-content:center}.ec-bhrow{display:flex;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid var(--border);font-size:14px}.ec-bhrow__sw{width:12px;height:12px;border-radius:3px;flex:none;box-shadow:inset 0 0 0 1px #0000001f}.ec-bhrow__name{flex:1;min-width:0;color:var(--text-primary);display:flex;flex-direction:column;gap:2px}.ec-bhrow__name em{font-style:normal;font-size:12px;color:var(--text-muted)}.ec-bhrow__val{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.ec-bhrow__del{border:0;background:transparent;color:var(--text-muted);cursor:pointer;width:28px;height:28px;border-radius:6px;font-size:13px}.ec-bhrow__del:hover{background:var(--ef-slate-100);color:var(--ef-danger)}.ec-bhform{padding:14px 18px 16px}.ec-bhform--sep{border-top:1px solid var(--border);background:var(--ef-slate-50)}.ec-bhform__btns{display:flex;gap:8px;margin-top:12px}@media (max-width:900px){.ec-bhgrid{grid-template-columns:1fr}.ec-bhgrid__log{position:static;order:2}.ec-bhgrid__main{order:1}}.ec-notif__bell{flex:none}.ec-notif__badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--ef-red-500);color:var(--ef-white);border:2px solid var(--surface);font-size:11px;font-weight:var(--fw-bold);line-height:14px;text-align:center;font-variant-numeric:tabular-nums}.ec-notif__panel{position:fixed;width:min(400px,calc(100vw - 16px));max-height:min(72vh,600px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:1100;overflow:hidden;text-align:left;color:var(--text-primary)}.ec-notif__panel:focus{outline:none}.ec-notif__head{display:flex;align-items:baseline;gap:10px;padding:14px 16px 10px}.ec-notif__head h3{margin:0;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:.01em}.ec-notif__meta{flex:1;font-size:var(--text-xs);color:var(--text-muted)}.ec-notif__clear{border:0;background:none;padding:2px 0;font:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ec-notif__clear:hover{color:var(--ef-red-600)}.ec-notif__clear:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}.ec-notif__filters{display:flex;gap:6px;padding:0 16px 10px;flex-wrap:wrap}.ec-notif__chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-pill);padding:3px 11px;font:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer}.ec-notif__chip:hover{border-color:var(--ef-slate-500);color:var(--text-primary)}.ec-notif__chip.is-active{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface)}.ec-notif__list{overflow-y:auto;border-top:1px solid var(--border)}.ec-notif__group{padding:8px 16px 4px;font-size:11px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle)}.ec-notif__empty{margin:0;padding:28px 16px;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.ec-notif__note{margin:0;padding:10px 16px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-secondary)}.ec-notif__item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:11px 16px 11px 13px;border:0;border-left:3px solid transparent;border-bottom:1px solid var(--border);background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--text-primary)}.ec-notif__item:last-child{border-bottom:0}.ec-notif__item:hover,.ec-notif__item:focus-visible{background:var(--bg-subtle);outline:none}.ec-notif__item:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-ring)}.ec-notif__item.is-new{border-left-color:var(--ef-red-500)}.ec-notif__ico{flex:none;width:30px;height:30px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--ef-info-bg);color:var(--ef-info)}.ec-notif__ico svg{width:16px;height:16px}.ec-notif__item--critique .ec-notif__ico{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-notif__item--attention .ec-notif__ico{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ec-notif__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ec-notif__title{font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:1.3;overflow-wrap:anywhere}.ec-notif__item.is-new .ec-notif__title{font-weight:var(--fw-bold)}.ec-notif__sub{font-size:var(--text-xs);color:var(--text-muted);overflow-wrap:anywhere}.ec-notif__when{flex:none;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;padding-top:1px}.ec-mdp{display:flex;flex-direction:column;gap:6px;min-width:0}.ec-form-grid>.ec-mdp,.ec-newuser>.ec-mdp{grid-column:1 / -1;flex:1 1 100%}.ec-mdp__label{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--ls-wide)}.ec-mdp .ec-input{font-family:var(--font-mono);letter-spacing:.02em}.ec-mdp__barre{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:4px;align-items:center}.ec-mdp__cran{display:block;height:5px;border-radius:3px;background:var(--ef-slate-200)}.ec-mdp__barre[data-niveau="0"] .ec-mdp__cran.is-on{background:var(--ef-danger)}.ec-mdp__barre[data-niveau="1"] .ec-mdp__cran.is-on{background:var(--ef-warning)}.ec-mdp__barre[data-niveau="2"] .ec-mdp__cran.is-on{background:var(--ef-info)}.ec-mdp__barre[data-niveau="3"] .ec-mdp__cran.is-on{background:var(--ef-success)}.ec-mdp__libelle{font-size:11px;font-weight:var(--fw-bold);min-width:64px;text-align:right;color:var(--text-secondary)}.ec-mdp__barre[data-niveau="0"] .ec-mdp__libelle{color:var(--ef-danger-ink)}.ec-mdp__barre[data-niveau="1"] .ec-mdp__libelle{color:var(--ef-warning-ink)}.ec-mdp__barre[data-niveau="2"] .ec-mdp__libelle{color:var(--ef-info)}.ec-mdp__barre[data-niveau="3"] .ec-mdp__libelle{color:var(--ef-success)}.ec-mdp__criteres{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.4;color:var(--text-muted);font-weight:var(--fw-regular);text-transform:none;letter-spacing:0}.ec-mdp__criteres li{display:flex;gap:6px;align-items:baseline}.ec-mdp__criteres li.is-ok{color:var(--ef-success)}.ec-mdp__criteres li.is-manque{color:var(--text-secondary)}.ec-mdp__criteres li.is-manque i{color:var(--ef-danger-ink);font-style:normal}.ec-mdp__coche{font-family:var(--font-mono);flex:0 0 1em}.ec-prof__sous{margin:0;padding:0 18px 12px;font-size:var(--text-sm);color:var(--text-secondary)}.ec-prof__msg{margin:0 18px 12px}.ec-prof__liste{display:flex;flex-direction:column}.ec-prof__row{border-top:1px solid var(--border);padding:12px 18px}.ec-prof__row:first-child{border-top:none}.ec-prof__row.is-edit{background:var(--ef-slate-50)}.ec-prof__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ec-prof__id{display:flex;flex-direction:column;gap:1px;flex:1;min-width:160px}.ec-prof__id b{color:var(--text-primary);font-size:13.5px}.ec-prof__id small{font-size:11.5px;color:var(--text-muted)}.ec-prof__pied{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--border);font-size:var(--text-xs)}.ec-prof__edit{display:flex;flex-direction:column;gap:14px;margin-top:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md,10px)}.ec-prof__nom{max-width:420px}.ec-prof__grille{display:flex;flex-direction:column;gap:14px}.ec-prof__module{display:flex;flex-direction:column}.ec-prof__module-tete{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--border)}.ec-prof__module-nom{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-secondary)}.ec-prof__module-tout{display:inline-flex;gap:10px;margin-left:auto}.ec-prof__module-tout .ec-linklike{font-size:11.5px}.ec-prof__onglet{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:6px 16px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border)}.ec-prof__onglet:last-child{border-bottom:none}.ec-prof__onglet.is-hors{opacity:.55}.ec-prof__onglet-nom{display:flex;flex-direction:column;gap:1px;min-width:0}.ec-prof__onglet-nom span{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-prof__onglet-nom small{font-size:11.5px;color:var(--text-muted);line-height:1.35}.ec-prof__niveaux{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.ec-prof__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-pill);padding:4px 11px;font:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer;line-height:1.3;min-width:64px;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-prof__chip:hover{border-color:var(--brand);color:var(--brand)}.ec-prof__chip.is-on{border-color:var(--brand);background:var(--brand);color:var(--surface)}.ec-prof__chip--rien.is-on{border-color:var(--text-secondary);background:var(--text-secondary)}.ec-prof__chip:disabled{cursor:default;opacity:.6}.ec-prof__chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.ec-prof__edit-pied{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border);font-size:11.5px}@media (max-width:640px){.ec-prof__onglet{grid-template-columns:1fr}.ec-prof__niveaux{justify-content:flex-start}}.ec-userrow__profil{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.ec-userrow__profil .ec-select{height:32px;max-width:100%}.ec-accchip--profil{color:var(--brand);background:var(--brand-tint);border-color:transparent}.ec-accchip--profil i{color:var(--brand)}@keyframes ec-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes ec-fade{0%{opacity:0}}.ec-content>*{animation:ec-rise .34s var(--ease-out) backwards}.ec-content>*:nth-child(1){animation-delay:0ms}.ec-content>*:nth-child(2){animation-delay:55ms}.ec-content>*:nth-child(3){animation-delay:.11s}.ec-content>*:nth-child(4){animation-delay:165ms}.ec-content>*:nth-child(5){animation-delay:.22s}.ec-content>*:nth-child(n+6){animation-delay:275ms}.ec-content>.efx-modal{animation:none}.ec-content>.ec-tabpane{animation:none}.ec-content>.ec-mapwrap{animation:ec-fade .3s var(--ease-out) backwards}.ec-content>.ec-pagegrid{animation:none}.ec-pagegrid{display:grid;gap:18px}.ec-pagegrid>*{animation:ec-rise .34s var(--ease-out) backwards}.ec-pagegrid>*:nth-child(1){animation-delay:0ms}.ec-pagegrid>*:nth-child(2){animation-delay:55ms}.ec-pagegrid>*:nth-child(3){animation-delay:.11s}.ec-pagegrid>*:nth-child(4){animation-delay:165ms}.ec-pagegrid>*:nth-child(n+5){animation-delay:.22s}.ec-pagegrid--fill{display:flex;flex-direction:column;min-height:100%}.ec-pagegrid--fill>.ec-savebar{margin-top:auto}@media (prefers-reduced-motion: reduce){.ec-content>*,.ec-pagegrid>*{animation:none}}.ec-mtabs{position:relative;display:flex;align-items:stretch;gap:2px;margin:0 0 18px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.ec-mtabs::-webkit-scrollbar{display:none}.ec-mtab{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 14px 12px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer;white-space:nowrap;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);transition:color .12s ease,border-color .12s ease}.ec-mtab:hover{color:var(--text-primary)}.ec-mtab:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-xs)}.ec-mtab.is-active{color:var(--brand);border-bottom-color:var(--brand)}.ec-mtabs.is-inked .ec-mtab.is-active{border-bottom-color:transparent}.ec-mtabs__ink{position:absolute;bottom:0;height:2px;border-radius:2px;background:var(--brand);pointer-events:none;transition:left .28s var(--ease-out),width .28s var(--ease-out)}.ec-mtab__ico{display:inline-flex}.ec-mtab__ico svg{width:17px;height:17px}.ec-mtab__lbl--short{display:none}.ec-mtab__badge{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-bold);background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ec-mtab__badge.is-crit{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-periodnote{display:inline-flex;align-items:center;min-height:40px;font-size:var(--text-sm);color:var(--text-muted)}.ec-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:18px}.ec-healthcard{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px 32px 12px 14px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ef-slate-300);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-body);transition:box-shadow .12s ease,transform .12s ease}.ec-healthcard:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ec-healthcard__lbl{font-size:11px;font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ec-healthcard__val{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-healthcard__dot{width:8px;height:8px;border-radius:50%;background:var(--ef-slate-400);flex:none}.ec-healthcard__go{position:absolute;right:9px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--ef-slate-400)}.ec-healthcard__go svg{width:15px;height:15px}.ec-healthcard--ok{border-left-color:var(--ef-success)}.ec-healthcard--ok .ec-healthcard__dot{background:var(--ef-success)}.ec-healthcard--warn{border-left-color:var(--ef-warning)}.ec-healthcard--warn .ec-healthcard__dot{background:var(--ef-warning)}.ec-healthcard--crit{border-left-color:var(--ef-danger)}.ec-healthcard--crit .ec-healthcard__dot{background:var(--ef-danger)}.ec-healthcard--crit .ec-healthcard__val{color:var(--ef-danger)}.ec-healthcard--info{border-left-color:var(--ef-steel-400)}.ec-healthcard--info .ec-healthcard__dot{background:var(--ef-steel-400)}.ec-split{display:flex;height:12px;margin:4px 0 14px;overflow:hidden;border-radius:var(--radius-pill);background:var(--ef-slate-100)}.ec-split__seg{display:block;height:100%}.ec-split__seg--work{background:var(--ef-success)}.ec-split__seg--idle{background:var(--ef-warning)}.ec-split__seg--off{background:var(--ef-slate-300)}.ec-splitlist .efx-specs__label{position:relative;padding-left:16px}.ec-splitlist .efx-specs__label:before{content:"";position:absolute;left:0;top:.42em;width:9px;height:9px;border-radius:2px;background:var(--ef-slate-300)}.ec-splitrow--work .efx-specs__label:before{background:var(--ef-success)}.ec-splitrow--idle .efx-specs__label:before{background:var(--ef-warning)}.ec-splitrow--off .efx-specs__label:before{background:var(--ef-slate-300)}.ec-locfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:11px;flex-wrap:wrap}.ec-mrow.ec-mrow--egal{align-items:stretch}.ec-mrow--egal>.ec-card{display:flex;flex-direction:column}.ec-mrow--egal .ec-chartnote{margin-top:auto;padding-top:8px}.ec-minimap{position:relative;flex:1 1 auto;min-height:168px}.ec-minimap>.ec-map,.ec-minimap>.ec-empty{position:absolute;top:0;right:0;bottom:0;left:0;height:auto!important}.ec-dtccount{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.ec-dtccount__i{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--fw-semibold);background:var(--ef-slate-100);color:var(--text-secondary)}.ec-dtccount__i b{font-family:var(--font-mono);font-size:var(--text-sm)}.ec-dtccount__i--crit{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-dtccount__i--warn{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ec-typebars{display:flex;flex-direction:column;gap:9px}.ec-typebar{display:grid;grid-template-columns:minmax(110px,1.1fr) 3fr auto;align-items:center;gap:10px}.ec-typebar__lbl{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-typebar__track{display:block;height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--ef-slate-100)}.ec-typebar__track i{display:block;height:100%;border-radius:var(--radius-pill);background:var(--ef-steel-500)}.ec-typebar--warn .ec-typebar__track i{background:var(--ef-warning)}.ec-typebar--crit .ec-typebar__track i{background:var(--ef-danger)}.ec-typebar__n{min-width:26px;text-align:right;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary)}.ec-nextsvc{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ef-steel-400);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-wrap:wrap}.ec-nextsvc__ico{width:34px;height:34px;flex:none;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--ef-slate-100);color:var(--text-secondary)}.ec-nextsvc__ico svg{width:19px;height:19px}.ec-nextsvc__body{display:flex;flex-direction:column;gap:2px;min-width:0}.ec-nextsvc__body b{font-size:var(--text-sm);color:var(--text-primary)}.ec-nextsvc__body span{font-size:var(--text-xs);color:var(--text-muted)}.ec-nextsvc .efx-btn{margin-left:auto}.ec-nextsvc.is-soon{border-left-color:var(--ef-warning)}.ec-nextsvc.is-soon .ec-nextsvc__ico{background:var(--ef-warning-bg);color:var(--ef-warning)}.ec-nextsvc.is-over{border-left-color:var(--ef-danger)}.ec-nextsvc.is-over .ec-nextsvc__ico{background:var(--ef-danger-bg);color:var(--ef-danger)}.efx-metric--warn{border-left:3px solid var(--ef-warning)}.efx-metric--warn .efx-metric__icon{background:var(--ef-warning-bg);color:var(--ef-warning)}.efx-metric--crit{border-left:3px solid var(--ef-danger)}.efx-metric--crit .efx-metric__icon{background:var(--ef-danger-bg);color:var(--ef-danger)}.efx-metric--crit .efx-metric__value{color:var(--ef-danger)}@media (max-width: 1180px){.ec-mtab__lbl{display:none}.ec-mtab__lbl--short{display:inline}}@media (max-width: 720px){.ec-typebar{grid-template-columns:minmax(90px,1fr) 2fr auto}.ec-health{grid-template-columns:1fr}}.ec-invtable .ec-tr{transition:background var(--dur-fast) var(--ease-out)}.ec-invtable .ec-tr.is-open{background:var(--ef-danger-bg)}.ec-invtable .ec-tr:active{transform:scale(.998)}.ec-rowact{display:grid;grid-template-rows:1fr;clip-path:inset(0 -9999px);border-bottom:1px solid var(--border);background:var(--bg-subtle);animation:ec-rowact-in .2s var(--ease-out)}.ec-rowact>*{min-height:0}@keyframes ec-rowact-in{0%{grid-template-rows:0fr;opacity:0}}.ec-rowact__in{position:sticky;left:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;width:max-content;max-width:100%}.ec-rowact__in>*{animation:ec-rowact-btn .22s var(--ease-out) backwards}.ec-rowact__in>*:nth-child(2){animation-delay:45ms}.ec-rowact__in>*:nth-child(3){animation-delay:90ms}.ec-rowact__in>*:nth-child(4){animation-delay:135ms}@keyframes ec-rowact-btn{0%{opacity:0;transform:translate(-8px)}}.ec-rowact .efx-btn{transition:transform 90ms var(--ease-out)}.ec-rowact .efx-btn:active{transform:scale(.95)}.ec-rowact__note{font-size:var(--text-xs);color:var(--text-muted)}@media (prefers-reduced-motion: reduce){.ec-rowact,.ec-rowact__in>*{animation:none}.ec-invtable .ec-tr:active,.ec-rowact .efx-btn:active{transform:none}}.ec-savebar{position:sticky;bottom:0;z-index:5;width:max-content;max-width:100%;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:12px 14px;box-shadow:var(--shadow-md)}.ec-savebar__msg{margin:0;max-width:min(420px,100%)}.ec-fichesave{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:16px}.ec-fichesave__msg{margin:0;max-width:min(420px,100%)}@media (max-width:720px){.ec-savebar{width:auto;margin-left:0}}.ec-tabpane>*:not(.ec-mgrid),.ec-mgrid__main>*,.ec-mgrid__rail{animation:ec-rise .34s var(--ease-out) backwards}.ec-tabpane>*:not(.ec-mgrid):nth-child(1),.ec-mgrid__main>*:nth-child(1){animation-delay:0ms}.ec-tabpane>*:not(.ec-mgrid):nth-child(2),.ec-mgrid__main>*:nth-child(2){animation-delay:55ms}.ec-tabpane>*:not(.ec-mgrid):nth-child(3),.ec-mgrid__main>*:nth-child(3){animation-delay:.11s}.ec-tabpane>*:not(.ec-mgrid):nth-child(4),.ec-mgrid__main>*:nth-child(4){animation-delay:165ms}.ec-tabpane>*:not(.ec-mgrid):nth-child(5),.ec-mgrid__main>*:nth-child(5){animation-delay:.22s}.ec-tabpane>*:not(.ec-mgrid):nth-child(n+6),.ec-mgrid__main>*:nth-child(n+6){animation-delay:275ms}.ec-mgrid__rail{animation-delay:.11s}.ec-mgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.ec-mgrid__main{min-width:0}.ec-mgrid__rail{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:18px;min-width:0;max-height:calc(100vh - 104px);overflow:auto;scrollbar-width:thin}.ec-mgrid__rail>*{flex:none}.ec-mgrid__rail>.ec-card{margin-bottom:0}.ec-mgrid__main .ec-mkpis--6{grid-template-columns:repeat(3,minmax(0,1fr))}.ec-mgrid__main .ec-mrow{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.ec-mgrid__main .ec-health{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.ec-mgrid__main>*:last-child{margin-bottom:0}@media (max-width:1180px){.ec-mgrid{grid-template-columns:1fr}.ec-mgrid__rail{position:static}.ec-mgrid__main .ec-mkpis--6{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.ec-mgrid__main .ec-mrow{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.ec-mgrid__main .ec-health{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@media (max-width:860px){.ec-mgrid__main .ec-mkpis--6{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.ec-tabpane>*,.ec-mgrid__main>*,.ec-mgrid__rail{animation:none}.ec-mtabs__ink{transition:none}}.ec-invcheck{display:flex;align-items:center;justify-content:center}.ec-invcheck input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--brand)}.ec-invtable .ec-tr.is-picked{box-shadow:inset 3px 0 0 var(--brand)}.ec-bulkbar{align-items:center;gap:14px;animation:ec-rise .2s var(--ease-out) backwards}.ec-bulkbar__n{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);white-space:nowrap}.efx-modal__card--wide{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.ec-bulkfields{display:flex;flex-direction:column;gap:2px}.ec-bulkfield{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface)}.ec-bulkfield+.ec-bulkfield{margin-top:8px}.ec-bulkfield.is-on{border-color:var(--brand);background:var(--ef-danger-bg)}.ec-bulkfield__top{display:flex;align-items:center;gap:9px;cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.ec-bulkfield__top input{width:15px;height:15px;margin:0;accent-color:var(--brand)}.ec-bulkfield__ctl{margin-top:10px}.ec-bulkfield__hint{margin:8px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.ec-bulkprog{display:flex;align-items:center;gap:10px;margin-top:14px}.ec-bulkprog .ec-quota__bar{flex:1}.ec-bulkerr ul{margin:0;padding-left:18px;font-size:var(--text-xs);color:var(--text-secondary)}.ec-pager{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--border);font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary)}.ec-pager__count{font-family:var(--font-mono)}.ec-pager__size{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.ec-pager__spacer{margin-left:auto}.ec-sizedd{position:relative;display:inline-flex}.ec-sizedd__trigger{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 10px 0 13px;min-width:66px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-out)}.ec-sizedd__trigger:hover{border-color:var(--ef-slate-400)}.ec-sizedd__trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.ec-sizedd__trigger[aria-expanded=true]{border-color:var(--brand);box-shadow:var(--ring)}.ec-sizedd__val{flex:1 1 auto;text-align:left}.ec-sizedd__caret{display:inline-flex;width:14px;height:14px;flex:none;color:var(--text-muted);transition:transform var(--dur-med) var(--ease-out)}.ec-sizedd__caret svg{width:100%;height:100%}.ec-sizedd__trigger[aria-expanded=true] .ec-sizedd__caret{transform:rotate(180deg);color:var(--brand)}.ec-sizedd__menu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:50;margin:0;padding:6px;min-width:100%;width:max-content;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:ec-dd-pop-up var(--dur-fast) var(--ease-out)}@keyframes ec-dd-pop-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.ec-sizedd__opt{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-sizedd__opt:hover{background:var(--bg-subtle);color:var(--text-primary)}.ec-sizedd__opt.is-on{color:var(--brand)}.ec-sizedd__check{display:inline-flex;width:14px;height:14px;flex:none;color:var(--brand)}.ec-sizedd__check svg{width:100%;height:100%}.ec-pager__nav{display:inline-flex;align-items:center;gap:4px}.ec-pager__nav .ec-wtool{min-width:44px;width:auto;height:44px;padding:0 6px;font-size:18px;line-height:1}.ec-pager__pos{padding:0 10px;font-size:var(--text-sm);font-family:var(--font-mono);white-space:nowrap}.ec-alarmlist{display:flex;flex-direction:column}.ec-alarm{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border-top:1px solid var(--border);border-left:3px solid var(--ef-slate-300);transition:background var(--dur-fast) var(--ease-out)}.ec-alarm:first-child{border-top:0}.ec-alarm:hover{background:var(--bg-subtle)}.ec-alarm__dot{width:9px;height:9px;margin-top:5px;flex:none;border-radius:50%;background:var(--ef-slate-400)}.ec-alarm--critique{border-left-color:var(--ef-danger)}.ec-alarm--critique .ec-alarm__dot{background:var(--ef-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ef-danger) 20%,transparent)}.ec-alarm--majeure{border-left-color:var(--ef-warning)}.ec-alarm--majeure .ec-alarm__dot{background:var(--ef-warning)}.ec-alarm--mineure{border-left-color:var(--ef-steel-400)}.ec-alarm--mineure .ec-alarm__dot{background:var(--ef-steel-400)}.ec-alarm.is-acked{background:var(--bg-subtle)}.ec-alarm.is-acked .ec-alarm__title,.ec-alarm.is-acked .ec-alarm__detail{color:var(--text-secondary)}.ec-alarm.is-acked .ec-alarm__dot{box-shadow:none;opacity:.55}.ec-alarm__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.ec-alarm__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ec-alarm__title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-alarm__sev{font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:2px 8px;flex:none;background:var(--ef-slate-100);color:var(--text-secondary)}.ec-alarm--critique .ec-alarm__sev{background:var(--ef-danger-bg);color:var(--ef-danger-ink)}.ec-alarm--majeure .ec-alarm__sev{background:var(--ef-warning-bg);color:var(--ef-warning-ink)}.ec-alarm__machine{font-size:var(--text-sm);color:var(--text-secondary)}.ec-alarm__state{font-size:var(--text-xs);font-weight:var(--fw-semibold);flex:none;border-radius:var(--radius-pill);padding:2px 9px;background:var(--ef-slate-100);color:var(--text-secondary)}.ec-alarm__state.is-active{background:var(--ef-success-bg);color:var(--ef-success)}.ec-alarm__ackmark{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--ef-success)}.ec-alarm__ackmark svg{width:13px;height:13px}.ec-alarm.is-passive{background:var(--bg-subtle)}.ec-alarm.is-passive .ec-alarm__dot{box-shadow:none;opacity:.45}.ec-alarm.is-passive .ec-alarm__title{color:var(--text-secondary)}.ec-alarmnote{margin:0;padding:14px 16px 16px;font-size:var(--text-xs);line-height:1.5;color:var(--text-muted);border-bottom:1px solid var(--border)}.ec-alarmnote--foot{border-bottom:0;border-top:1px solid var(--border);padding-top:16px}.ec-alarm__detail{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary)}.ec-alarm__advice{display:flex;align-items:flex-start;gap:7px;margin-top:2px;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45}.ec-alarm__advice svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--ef-slate-400)}.ec-alarm__foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px;font-size:var(--text-xs)}.ec-alarm__src{color:var(--text-muted)}.ec-alarm__act{display:flex;align-items:center;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}.ec-alarm__iv{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 9px 4px 7px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font-family:inherit;font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-alarm__iv:hover{border-color:var(--border-strong);color:var(--text-primary)}.ec-alarm__iv svg{width:13px;height:13px;flex:none;color:var(--ef-slate-400)}.ec-fchips{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:40px;box-sizing:border-box}.ec-toolbar__end{margin-left:auto}.ec-toolbar--filters{margin-top:-8px}.ec-fchip{height:30px;padding:0 12px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ec-fchip:hover{border-color:var(--ef-slate-400);color:var(--text-primary)}.ec-fchip.is-on{border-color:var(--brand);color:var(--brand);background:var(--ef-danger-bg)}.ec-fchip--critique.is-on{border-color:var(--ef-danger);color:var(--ef-danger-ink);background:var(--ef-danger-bg)}.ec-fchip--majeure.is-on{border-color:var(--ef-warning);color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.ec-fchip--mineure.is-on{border-color:var(--ef-steel-400);color:var(--ef-steel-700);background:var(--ef-steel-50)}.ec-evlist{display:flex;flex-direction:column}.ec-evrow{display:flex;align-items:center;gap:14px;padding:9px 16px;border-top:1px solid var(--border);font-size:var(--text-sm)}.ec-evrow:first-child{border-top:0}.ec-evrow:hover{background:var(--bg-subtle)}.ec-evrow__when{font-size:var(--text-xs);color:var(--text-muted);flex:none;min-width:150px}.ec-evrow__what{flex:1 1 auto;min-width:0;color:var(--text-primary)}@media (max-width:720px){.ec-alarm{flex-wrap:wrap}.ec-alarm__act{width:100%;justify-content:flex-start;padding-left:21px}.ec-evrow{flex-wrap:wrap;gap:4px 14px}.ec-evrow__when{min-width:0}}.ec-mrow--single{grid-template-columns:1fr}.ec-daybars{padding:4px 0 0}.ec-daybars__plot{position:relative;height:190px;padding:0 0 22px}.ec-daybars__grid{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--border)}.ec-daybars__grid i{position:absolute;left:0;top:-8px;padding-right:6px;background:var(--surface);font-style:normal;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.ec-daybars__row{position:absolute;top:0;right:0;bottom:22px;left:0;display:flex;align-items:flex-end;gap:2px}.ec-daybar{position:relative;flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.ec-daybar__stack{display:flex;flex-direction:column;justify-content:flex-end;height:100%;border-radius:3px 3px 0 0;overflow:hidden}.ec-daybar__idle,.ec-daybar__work{display:block;width:100%;transition:height var(--dur-slow) var(--ease-out)}.ec-daybar__work{background:var(--ef-success)}.ec-daybar__idle{background:var(--ef-warning)}.ec-daybar:before{content:"";position:absolute;top:-4px;right:-1px;bottom:0;left:-1px;z-index:0;border-radius:4px;background:transparent;transition:background var(--dur-fast) var(--ease-out)}.ec-daybar:hover:before{background:var(--ef-slate-100)}.ec-daybar__stack{position:relative;z-index:1}.ec-daybar:hover .ec-daybar__work,.ec-daybar:hover .ec-daybar__idle{filter:brightness(.92)}.ec-daybar__x{position:absolute;top:100%;left:50%;margin-top:5px;transform:translate(-50%);font-style:normal;font-size:10px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.ec-daybars__legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:var(--text-xs);color:var(--text-secondary)}.ec-daybars__legend span{display:inline-flex;align-items:center;gap:6px}.ec-daybars__legend i{width:10px;height:10px;border-radius:2px}.ec-daybars__legend .is-work{background:var(--ef-success)}.ec-daybars__legend .is-idle{background:var(--ef-warning)}.ec-sorth{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.ec-sorth:hover{color:var(--text-primary)}.ec-sorth i{font-style:normal;font-size:10px;color:var(--brand)}.ec-tr--head .ec-num .ec-sorth{flex-direction:row-reverse}.ec-mkpis--compact{gap:12px}.ec-mkpis--compact .efx-metric{padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:4px 10px}.ec-mkpis--compact .efx-metric__top{grid-column:1 / -1}.ec-mkpis--compact .efx-metric__icon{display:none}.ec-mkpis--compact .efx-metric__row{grid-column:1;grid-row:2}.ec-mkpis--compact .efx-metric__value{font-size:clamp(1.35rem,10cqi,1.9rem)}.ec-mkpis--compact .efx-metric__unit{font-size:var(--text-sm)}.ec-mkpis--compact .efx-metric__action{grid-column:2;grid-row:2;align-self:center;margin:0}@container (max-width: 240px){.ec-mkpis--compact .efx-metric__row{grid-column:1 / -1}.ec-mkpis--compact .efx-metric__action{grid-column:1 / -1;grid-row:3;justify-self:end}}.ec-table--mainthist{--ec-cols:1.1fr 1.4fr .9fr .8fr .7fr .7fr .8fr;--ec-tablemin:940px}.ec-table--maintgamme{--ec-cols:1.6fr .85fr 1.4fr .55fr .95fr 170px;--ec-tablemin:960px}.ec-duechip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.01em;white-space:nowrap}.ec-duechip.is-crit{color:#fff;background:var(--ef-danger)}.ec-duechip.is-warn{color:var(--ef-warning-ink);background:var(--ef-warning-bg)}.ec-duechip.is-info{color:var(--ef-info);background:var(--ef-info-bg)}.ec-duechip.is-ok{color:var(--ef-success);background:var(--ef-success-bg)}.ec-duechip.is-todo{color:var(--text-secondary);background:var(--ef-slate-100)}.ec-kindchip{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.ec-kindchip.is-correctif{color:var(--ef-warning-ink)}.ec-kindchip i{font-style:normal;font-weight:var(--fw-regular);color:var(--text-muted)}.ec-due{position:relative;display:flex;align-items:flex-start;gap:12px;padding:16px 18px 16px 16px;border-bottom:1px solid var(--border)}.ec-due:last-child{border-bottom:0}.ec-due__dot{flex:0 0 auto;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--ef-slate-300)}.ec-due.is-crit .ec-due__dot{background:var(--ef-danger)}.ec-due.is-warn .ec-due__dot{background:var(--ef-warning)}.ec-due.is-info .ec-due__dot{background:var(--ef-info)}.ec-due.is-ok .ec-due__dot{background:var(--ef-success)}.ec-due__body{flex:1 1 auto;min-width:0}.ec-due__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ec-due__title{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-due__machine{margin-top:2px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.ec-due__line{margin-top:8px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.ec-due__line b{color:var(--text-primary);font-weight:var(--fw-bold)}.ec-due__foot{margin-top:8px;font-size:var(--text-xs);color:var(--text-muted)}.ec-due__act{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding-top:2px}.efx-modal__card--lg{width:min(760px,100%);max-height:88vh;overflow-y:auto}.efx-modal__card .ec-form-grid{align-items:end}.efx-modal__card .ec-form-grid>.ec-label{min-height:100%;justify-content:flex-end}.ec-dlghead{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin-bottom:12px;background:var(--ef-slate-50);border-radius:var(--radius-sm)}.ec-dlghead b{font-size:var(--text-sm);color:var(--text-primary)}.ec-dlghead span{font-size:var(--text-xs);color:var(--text-secondary)}.ec-dlgnote{margin:12px 0 0;padding:10px 12px;border-left:2px solid var(--border-strong);background:var(--ef-slate-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.55}.ec-dlgnote b{color:var(--text-primary)}.ec-dlgtasks{margin-top:12px;padding:10px 12px;background:var(--ef-slate-50);border-radius:var(--radius-sm)}.ec-dlgtasks__t{display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ec-dlgtasks ul{margin:6px 0 0;padding-left:18px;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.7}.ec-textarea{height:auto;padding:10px 12px;line-height:1.5;resize:vertical;font-family:inherit;font-size:var(--text-sm)}.ec-scopepick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ec-scopechip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--surface);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ec-scopechip:hover{border-color:var(--brand);color:var(--text-primary)}.ec-scopechip.is-on{border-color:var(--brand);background:var(--ef-red-50);color:var(--brand)}.ec-scopechip input{width:13px;height:13px;accent-color:var(--brand)}.ec-tr .ec-cellsub--line{display:block;margin-top:2px}.ec-ctstate{display:block;margin-top:2px;font-style:normal;font-size:var(--text-xs);font-weight:var(--fw-semibold)}.ec-ctstate.is-ok{color:var(--ef-success)}.ec-ctstate.is-warn{color:var(--ef-warning-ink)}.ec-ctstate.is-soon{color:var(--ef-info)}.ec-ctstate.is-crit{color:var(--ef-danger)}@media (max-width:820px){.ec-due{flex-wrap:wrap}.ec-due__act{width:100%;justify-content:flex-end;padding-top:10px}}@media (prefers-reduced-motion:reduce){.ec-scopechip{transition:none}}.ec-label__count{font-style:normal;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:none;letter-spacing:0;margin-top:-2px}.ec-startbanner{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:16px;border:1px solid var(--border-strong);border-left:3px solid var(--ef-info);border-radius:var(--radius-md);background:var(--surface)}.ec-startbanner__ico{display:inline-flex;color:var(--ef-info)}.ec-startbanner__ico svg{width:18px;height:18px}.ec-startbanner__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.ec-startbanner__body b{font-size:var(--text-sm);color:var(--text-primary)}.ec-startbanner__body span{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.55}.ec-startlist{margin-top:12px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.ec-startrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border)}.ec-startrow:last-child{border-bottom:0}.ec-startrow__m{display:flex;flex-direction:column;line-height:1.25;min-width:0}.ec-startrow__m b{font-size:var(--text-sm);color:var(--text-primary)}.ec-startrow__m i{font-style:normal;font-size:var(--text-xs);color:var(--text-muted)}.ec-startrow__h{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ec-startrow__h .ec-input{width:110px;height:34px;text-align:right}.ec-startrow__h span{font-size:var(--text-xs);color:var(--text-muted)}.ec-startbanner--warn{border-left-color:var(--ef-warning)}.ec-startbanner--warn .ec-startbanner__ico{color:var(--ef-warning)}.efx-modal__card.ec-plan{width:min(640px,100%);max-height:88vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.ec-plan__tete{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border)}.ec-plan__ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.ec-plan__ico svg{width:20px;height:20px}.ec-plan__titres{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.efx-modal__card.ec-plan h3{margin:0;font-size:var(--text-lg);line-height:1.25}.ec-plan__quoi{display:flex;flex-wrap:wrap;column-gap:8px;font-size:var(--text-sm);color:var(--text-secondary)}.ec-plan__quoi b{color:var(--text-primary);font-weight:var(--fw-semibold)}.ec-plan__corps{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 22px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.ec-plan__corps .ec-form-grid{gap:14px;align-items:end}.ec-plan__corps .ec-form-grid>.ec-label{min-height:100%;justify-content:flex-end}.ec-plan__large{margin-top:14px}.ec-plan__note{margin:14px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.ec-plan__pied{display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--ef-slate-50)}.ec-plan__grow{flex:1 1 auto}.ec-plansec+.ec-plansec{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.ec-plansec>.ec-textarea{display:block;width:100%}.ec-plansec__t{margin:0 0 12px;font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.3}.ec-planchoix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width:560px){.ec-planchoix{grid-template-columns:minmax(0,1fr)}}.ec-planchoix__btn{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 18px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ec-planchoix__btn b{font-size:var(--text-base);font-weight:var(--fw-bold);line-height:1.3}.ec-planchoix__txt{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--text-secondary);line-height:1.5}.ec-planchoix__btn:hover:not(:disabled),.ec-planchoix__btn:focus-visible{border-color:var(--ef-info);box-shadow:0 6px 18px color-mix(in srgb,var(--ef-info) 14%,transparent);transform:translateY(-1px)}.ec-planchoix__btn.is-eurofor:hover:not(:disabled),.ec-planchoix__btn.is-eurofor:focus-visible{border-color:var(--brand);box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 14%,transparent)}.ec-planchoix__btn:disabled{cursor:default;opacity:.6}.ec-planchoix__ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--ef-info);background:var(--ef-info-bg)}.ec-planchoix__btn.is-eurofor .ec-planchoix__ico{color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.ec-planchoix__ico svg{width:22px;height:22px}@media (prefers-reduced-motion:reduce){.ec-planchoix__btn{transition:none}.ec-planchoix__btn:hover:not(:disabled){transform:none}}.ec-adresse-act{margin-top:8px}.ec-calfiche__long{white-space:pre-wrap;overflow-wrap:anywhere}.ec-duechip.is-eurofor{margin-left:6px;color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.ec-calhead{flex-wrap:wrap}.ec-calnav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--border)}.ec-calnav__btns{display:flex;align-items:center;gap:6px}.ec-calnav__fl{padding:0 .55rem}.ec-calnav__lib{margin:0;font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-tight)}.ec-callegende{display:flex;align-items:center;gap:14px;margin:0 0 0 auto;padding:0;list-style:none;font-size:var(--text-xs);color:var(--text-secondary)}.ec-callegende li{display:inline-flex;align-items:center;gap:6px}.ec-callegende li:before{content:"";width:10px;height:10px;border-radius:var(--radius-xs);background:var(--_c)}.ec-callegende .is-planifiee,.ec-calpuce.is-planifiee{--_c:var(--ef-info)}.ec-callegende .is-encours,.ec-calpuce.is-encours{--_c:var(--ef-warning)}.ec-callegende .is-retard,.ec-calpuce.is-retard{--_c:var(--ef-danger)}.ec-cal{--ec-tablemin:880px;table-layout:fixed;border-collapse:separate;border-spacing:0}.ec-cal__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ec-cal th,.ec-cal td{border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.ec-cal th:last-child,.ec-cal td:last-child{border-right:0}.ec-cal tbody tr:last-child>*{border-bottom:0}.ec-cal thead th{padding:10px 8px;text-align:left;white-space:nowrap;background:var(--bg-subtle);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.ec-cal__num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:2px;padding:0 5px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-cal thead th.is-today{color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--brand)}.ec-cal thead th.is-today .ec-cal__num{background:var(--brand-press);color:var(--on-brand)}.ec-cal .ec-cal__tech{position:sticky;left:0;z-index:1;width:160px}.ec-cal tbody th.ec-cal__tech{padding:10px 12px;text-align:left;vertical-align:top;background:var(--surface)}.ec-cal__nom{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);overflow-wrap:anywhere}.ec-cal__sous{display:block;margin-top:2px;font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--text-muted)}.ec-cal tr.is-nonattribue .ec-cal__nom{font-style:italic;color:var(--text-secondary)}.ec-cal td{height:72px;padding:6px;vertical-align:top;background:var(--surface)}.ec-cal td.is-we{background:var(--bg-subtle)}.ec-cal td.is-today{background:var(--ef-steel-50)}.ec-cal__puces{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.ec-calpuce{display:flex;flex-direction:column;align-items:stretch;gap:1px;width:100%;min-width:0;padding:5px 7px 5px 9px;text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:inset 3px 0 0 var(--_c),var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ec-calpuce:hover{border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--_c),var(--shadow-sm)}.ec-calpuce:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.ec-calpuce.is-retard{background:var(--ef-danger-bg);border-color:var(--ef-red-200)}.ec-calpuce__m,.ec-calpuce__t,.ec-calpuce__q{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-calpuce__m{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-calpuce__t{font-size:var(--text-xs);color:var(--text-secondary)}.ec-calpuce__q{font-size:var(--text-xs);color:var(--text-secondary);font-family:var(--font-mono)}.ec-calpuce .ec-kindchip{margin-top:1px}.ec-calpuce .ec-kindchip i{display:none}.ec-calband{display:flex;flex-direction:column;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border)}.ec-calband__grp{display:flex;align-items:flex-start;gap:12px}.ec-calband__t{flex:0 0 96px;margin:6px 0 0;font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary)}.ec-calband__t.is-retard{color:var(--ef-danger-ink)}.ec-calband__list{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0;margin:0;padding:0;list-style:none}.ec-calband__list>li{width:200px;max-width:100%}.ec-calfiche{width:min(460px,100%)}.ec-calfiche__tete{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ec-calfiche__tete h3{margin:0}.ec-calfiche__x{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;margin:-4px -6px 0 0;padding:0;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;color:var(--text-secondary)}.ec-calfiche__x svg{width:18px;height:18px}.ec-calfiche__x:hover{background:var(--bg-subtle);color:var(--text-primary)}.ec-calfiche__x:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.ec-calfiche__sous{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.ec-calfiche__dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 12px;margin:14px 0 0;font-size:var(--text-sm)}.ec-calfiche__dl dt{color:var(--text-secondary)}.ec-calfiche__dl dd{margin:0;color:var(--text-primary);overflow-wrap:anywhere}.ec-calfiche__statut{display:flex;flex-wrap:wrap;gap:6px}.ec-calfiche__actes{flex-wrap:wrap}.ec-calfiche__carnet{margin-right:auto}@media (max-width:760px){.ec-cal{--ec-tablemin:760px}.ec-cal .ec-cal__tech{width:116px}.ec-callegende{margin-left:0}.ec-calband__grp{flex-direction:column;gap:6px}.ec-calband__t{flex:none;margin:0}}@media (prefers-reduced-motion:reduce){.ec-calpuce{transition:none}}.ec-planvgp{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ec-planvgp__l{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-primary)}.ec-planvgp__dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--text-muted)}.ec-planvgp__dot.is-retard{background:var(--ef-danger)}.ec-planvgp__dot.is-bientot{background:var(--ef-warning)}.ec-planvgp__dot.is-a-jour{background:var(--ef-success)}.ec-planvgp__txt{flex:1 1 220px;min-width:0}.ec-planvgp__case{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.ec-fiche__bloc{margin-top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ec-fiche__t{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ec-fiche__lignes{display:grid;gap:6px 8px;align-items:center;width:100%}.ec-fiche__lignes--pieces{grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) 90px 32px}.ec-fiche__lignes--mo{grid-template-columns:minmax(0,2fr) 140px 32px}.ec-fiche__th{font-size:var(--text-xs);color:var(--text-muted)}.ec-fiche__x{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer}.ec-fiche__x:hover{color:var(--ef-red-600);border-color:currentColor}.ec-fiche__x svg{width:14px;height:14px}@media (max-width:560px){.ec-fiche__lignes--pieces{grid-template-columns:minmax(0,1fr) 70px 32px}.ec-fiche__lignes--pieces>:nth-child(4n+1){grid-column:1 / -1}}.ec-svc--fiche>summary{list-style:none;cursor:pointer}.ec-svc--fiche>summary::-webkit-details-marker{display:none}.ec-svc--fiche>summary .ec-svc__main b:after{content:"Voir la fiche";margin-left:8px;font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--text-link)}.ec-svc--fiche[open]>summary .ec-svc__main b:after{content:"Replier"}.ec-svc__fiche{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;background:var(--ef-slate-50);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary)}.ec-svc__fiche ul{margin:4px 0 0;padding-left:18px;line-height:1.6}.ec-svc__t{display:block;font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ec-svc__texte{margin:2px 0 0;white-space:pre-wrap;color:var(--text-primary);line-height:1.55}.ec-svc__reporte{color:var(--ef-warning-ink);font-weight:var(--fw-bold)}.ec-fichemachine{display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin-bottom:12px;background:var(--ef-slate-50);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary)}.ec-fichemachine b{color:var(--text-primary)}.ec-fiche__question{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;cursor:pointer}.ec-fiche__question b{color:var(--text-primary)}.ec-fiche__question input,.ec-fiche__case input{margin-top:2px;flex:none}.ec-fiche__case{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.ec-pj__choisis{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%}.ec-pj__choisis li{display:flex;align-items:center;gap:10px;font-size:var(--text-sm)}.ec-pj__nom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.ec-pj__choisis .ec-pj__nom{flex:1}.ec-pj{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ec-pj__liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.ec-pj__f{position:relative;display:flex;align-items:flex-start;gap:4px}.ec-pj__f a,.ec-pj__voir{display:flex;flex-direction:column;gap:3px;width:112px;text-decoration:none;color:inherit}.ec-pj__voir{padding:0;border:none;background:none;text-align:left;cursor:zoom-in;font:inherit}.ec-pj__f img,.ec-pj__genre{width:112px;height:84px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);object-fit:cover}.ec-pj__genre{display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);color:var(--text-secondary)}.ec-pj__f .ec-pj__nom{font-size:var(--text-xs)}.ec-pj__f .ec-fiche__x{position:absolute;top:4px;right:4px;width:26px;height:26px}.ec-table--locparc{--ec-cols:1.2fr 1.1fr 1.9fr 260px;--ec-tablemin:900px}.ec-table--loc{--ec-cols:1.1fr 1fr .85fr .85fr .6fr .6fr .6fr;--ec-tablemin:940px}.ec-table--loc-fin{--ec-cols:1.1fr 1fr .85fr .85fr .95fr .6fr .6fr .6fr;--ec-tablemin:1040px}.ec-table--locmoves{--ec-cols:.8fr 1.2fr 1fr 1fr;--ec-tablemin:720px}.ec-table--loccat{--ec-cols:1.4fr .7fr .8fr 1.6fr;--ec-tablemin:620px}.ec-table--locdepots{--ec-cols:1.4fr .8fr .8fr 1fr;--ec-tablemin:620px}.ec-statebar{margin-bottom:16px}.ec-statebar__track{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--ef-slate-100)}.ec-statebar__seg{display:block;min-width:3px;transition:width var(--dur-slow) var(--ease-out)}.ec-statebar__seg.is-crit{background:var(--ef-danger)}.ec-statebar__seg.is-warn{background:var(--ef-warning)}.ec-statebar__seg.is-info{background:var(--ef-info)}.ec-statebar__seg.is-ok{background:var(--ef-success)}.ec-statebar__seg.is-todo{background:var(--ef-slate-300)}.ec-statebar__legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}.ec-statebar__item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary)}.ec-statebar__item b{color:var(--text-primary);font-weight:var(--fw-bold)}.ec-statebar__dot{width:8px;height:8px;border-radius:50%}.ec-statebar__dot.is-crit{background:var(--ef-danger)}.ec-statebar__dot.is-warn{background:var(--ef-warning)}.ec-statebar__dot.is-info{background:var(--ef-info)}.ec-statebar__dot.is-ok{background:var(--ef-success)}.ec-statebar__dot.is-todo{background:var(--ef-slate-300)}.ec-loc-line{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.ec-loc-line b{color:var(--text-primary);font-weight:var(--fw-bold)}.ec-utilbar{margin-top:4px}.ec-utilbar__track{position:relative;height:14px;border-radius:var(--radius-pill);background:var(--ef-slate-100);overflow:hidden}.ec-utilbar__fill{position:absolute;top:0;bottom:0;left:0;background:var(--brand);opacity:.85;transition:width var(--dur-slow) var(--ease-out)}.ec-utilbar__band{position:absolute;top:0;bottom:0;border-left:2px solid var(--ef-success);border-right:2px solid var(--ef-success)}.ec-utilbar__scale{position:relative;height:15px;margin-top:6px;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.ec-utilbar__scale span{position:absolute;top:0;white-space:nowrap}.ec-utilbar__scale .is-mid{transform:translate(-50%);color:var(--ef-success)}.ec-utilbar__scale .is-end{left:auto;right:0}.ec-analysenote{margin:12px 0 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6}.ec-analysenote b{color:var(--text-primary)}.ec-analysegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.ec-analysegrid>div{display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:10px 12px;background:var(--ef-slate-50);border-radius:var(--radius-sm)}.ec-analysegrid span{font-size:var(--text-xs);color:var(--text-secondary)}.ec-analysegrid b{font-size:var(--text-lg);color:var(--text-primary);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.ec-catuse{display:flex;align-items:center;gap:10px}.ec-catuse__track{flex:1 1 auto;height:8px;min-width:60px;border-radius:var(--radius-pill);background:var(--ef-slate-100);overflow:hidden}.ec-catuse__fill{display:block;height:100%;background:var(--brand);opacity:.8}.ec-catuse b{flex:0 0 auto;min-width:52px;text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.ec-depotpick{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ec-capsule{border:1px solid var(--border-strong);border-left:3px solid var(--brand);border-radius:var(--radius-md);background:var(--surface);padding:16px 18px;margin-bottom:16px}.ec-capsule__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ec-capsule__head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.ec-capsule__head b{font-size:var(--text-base);color:var(--text-primary)}.ec-capsule__head span{font-size:var(--text-xs);color:var(--text-secondary)}.ec-capsule__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.ec-capsule__grid>div{display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:9px 11px;background:var(--ef-slate-50);border-radius:var(--radius-sm)}.ec-capsule__grid span{font-size:var(--text-xs);color:var(--text-secondary)}.ec-capsule__grid b{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.ec-capsule__block{margin-top:14px}.ec-capsule__title{display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.ec-capsule__title i{font-style:normal;font-weight:var(--fw-regular);text-transform:none;letter-spacing:0;color:var(--text-muted)}.ec-capsule__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ec-capsule__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ec-capsule__list li{display:flex;flex-direction:column;line-height:1.35}.ec-capsule__list b{font-size:var(--text-sm);color:var(--text-primary)}.ec-capsule__list span{font-size:var(--text-xs);color:var(--text-muted)}.ec-capsule__empty{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.ec-capsule__note{margin:10px 0 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.55}.ec-actstrip{display:flex;flex-wrap:wrap;gap:3px}.ec-actstrip__d{width:12px;height:16px;border-radius:2px;background:var(--ef-slate-200)}.ec-actstrip__d.is-on{background:var(--ef-success)}.ec-tr.is-picked{background:var(--ef-red-50)}.ec-switchlbl{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.ec-switchlbl input{width:14px;height:14px;accent-color:var(--brand)}.ec-switchlbl i{font-style:normal;font-size:var(--text-xs);color:var(--text-secondary)}.ec-realrow{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:6px 12px;margin-top:12px;padding:9px 12px;background:var(--ef-slate-50);border-radius:var(--radius-sm)}.ec-realrow__lbl{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ec-realrow__val{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.ec-realrow__val b{color:var(--text-primary)}.ec-realrow__val.is-wait{color:var(--text-muted);font-style:italic}.ec-fieldset{margin-top:14px;padding:12px 14px 14px;border:1px solid var(--border);border-radius:var(--radius-sm)}.ec-fieldset--auto{border-style:dashed;background:var(--ef-slate-50)}.ec-fieldset__t{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ec-fieldset__t i{font-style:normal;font-weight:var(--fw-regular);text-transform:none;letter-spacing:0;color:var(--text-muted)}.ec-fieldset .ec-input:disabled{background:var(--ef-slate-100);color:var(--text-secondary)}.ec-loclist{list-style:none;margin:0;padding:0}.ec-locitem{border-top:1px solid var(--border)}.ec-locitem:first-child{border-top:0}.ec-locitem__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 18px}.ec-locitem__nom{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1 1 220px;min-height:44px;padding:4px 0;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:var(--text-primary)}.ec-locitem__nom b{font-size:var(--text-sm)}.ec-locitem__nom:focus-visible{outline:2px solid var(--ef-red-500);outline-offset:2px}.ec-locitem__actions{display:flex;gap:4px;flex-wrap:wrap}.ec-locitem.is-retire .ec-locitem__nom b,.ec-table--loccontacts .ec-tr.is-retire,.ec-table--loccontacts-act .ec-tr.is-retire{color:var(--text-muted)}.ec-table--loccontacts{--ec-cols:1fr 1fr .9fr .9fr 1.5fr .8fr;--ec-tablemin:820px}.ec-table--loccontacts-act{--ec-cols:1fr 1fr .9fr .9fr 1.5fr .8fr 170px;--ec-tablemin:990px}.ec-loccontact__mail{overflow-wrap:anywhere}.ec-loccheck{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-secondary)}.ec-locpick{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ec-locpick .ec-label{flex:1 1 240px}.ec-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:560px){.ec-form-grid--2{grid-template-columns:minmax(0,1fr)}}.ec-share{margin-bottom:2px}.ec-sharecheck{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);cursor:pointer}.ec-sharelist{list-style:none;margin:10px 0 0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.ec-sharelist li{display:flex;align-items:center;gap:8px}.ec-sharelist li+li{border-top:1px solid var(--border)}.ec-sharelist li>.ec-shareitem{flex:1 1 auto;min-width:0}.ec-sharelist li>button{flex:none;margin-right:10px}.ec-shareitem{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:1px;align-items:center;padding:8px 12px;cursor:pointer}.ec-shareitem input{grid-row:1 / span 2}.ec-shareitem b{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-shareitem span{grid-column:2;font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}.ec-shareitem.is-off{cursor:not-allowed}.ec-shareitem.is-off b,.ec-shareitem.is-off span{color:var(--text-muted)}.ec-sharetools{display:flex;justify-content:flex-end;margin-top:8px}.ec-sharenote{margin:8px 0 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.55}.ec-sharenote b{color:var(--text-primary)}.ec-dlgtools{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}.ec-login{flex-direction:column}.ec-legal{min-height:100vh;background:var(--bg-subtle);color:var(--text-primary)}.ec-legal__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:var(--surface-inverse)}.ec-legal__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ef-white);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--fw-medium)}.ec-legal__brand img{height:28px}.ec-legal__brand b{font-weight:var(--fw-black)}.ec-legal__back{color:var(--ef-slate-300);font-size:var(--text-sm);text-decoration:none}.ec-legal__back:hover{color:var(--ef-white);text-decoration:underline}.ec-legal__nav{display:flex;flex-wrap:wrap;gap:4px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border)}.ec-legal__navlink{padding:13px 14px;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);text-decoration:none;border-bottom:2px solid transparent}.ec-legal__navlink:hover{color:var(--text-primary)}.ec-legal__navlink.is-active{color:var(--text-link);border-bottom-color:var(--brand)}.ec-legal__body{max-width:820px;margin:0 auto;padding:28px 24px 64px}.ec-legal__body h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:var(--ls-tight);margin:0 0 20px}.ec-legal__body h2{font-family:var(--font-display);font-size:var(--text-lg);margin:30px 0 10px;padding-top:18px;border-top:1px solid var(--border)}.ec-legal__body p,.ec-legal__body li{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-secondary)}.ec-legal__body p{margin:0 0 12px}.ec-legal__body ul{margin:0 0 14px;padding-left:20px}.ec-legal__body li{margin-bottom:6px}.ec-legal__body a{color:var(--text-link)}.ec-legal__body code{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-muted);border-radius:var(--radius-xs);padding:1px 5px}.ec-legal__maj,.ec-legal__note{font-size:var(--text-xs)!important;color:var(--text-muted)!important}.ec-legal__trou{display:inline-block;background:var(--ef-warning-bg);color:var(--ef-warning-ink);border:1px dashed var(--ef-warning);border-radius:var(--radius-xs);padding:0 6px;font-size:var(--text-xs);font-weight:var(--fw-semibold)}.ec-legal__avis{background:var(--ef-warning-bg);border:1px solid var(--ef-warning);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:22px}.ec-legal__avis b{font-size:var(--text-sm);color:var(--ef-warning-ink)}.ec-legal__avis p{margin:4px 0 0!important;font-size:var(--text-xs)!important;color:var(--text-secondary)!important}.ec-legal__tablewrap{overflow-x:auto;margin:0 0 16px}.ec-legal__table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.ec-legal__table th,.ec-legal__table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--border);font-size:var(--text-xs);line-height:var(--lh-normal)}.ec-legal__table th{background:var(--bg-muted);color:var(--text-primary);font-weight:var(--fw-semibold);white-space:nowrap}.ec-legal__table td{color:var(--text-secondary)}.ec-legal__table tr:last-child td{border-bottom:0}@media (max-width: 600px){.ec-legal__body{padding:20px 16px 56px}}
