:root{--inv-draw-color: #38bdf8;--inv-draw-stroke: #0b3b46;--inv-layer-polygon: var(--accent, #4f9cf9);--inv-layer-cabine: #ff8c42;--inv-layer-asset: #b07cff;--inv-layer-luminaire: var(--accent, #4f9cf9);--corridor-role-origine: #2e7d32;--corridor-role-chevauchement: #f9a825;--corridor-role-orphelin: #c62828;--symb-preview-bg-light: #e8eef3;--symb-preview-bg-dark: #1b2230;--symb-preview-outline: #0b0e11;--type-h1-size: 24px;--type-h1-weight: 600;--type-h2-size: 18px;--type-h2-weight: 600;--type-h3-size: 14px;--type-h3-weight: 600;--type-subtitle-size: 14px;--type-subtitle-weight: 400;--type-body-size: 14px;--type-body-weight: 400;--type-label-size: 12px;--type-label-weight: 500;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--btn-min-height: 32px;--page-header-gap: var(--space-2);--section-content-gap: var(--space-4);--content-max: 1320px;--content-pad: var(--space-5);--rail-width: 232px;--map-basemap-dark: var(--bg);--map-inv-asset: #b07cff;--map-inv-cabine: #ff8c42;--map-inv-lum-in: var(--accent, #4f9cf9);--map-inv-lum-out: #7d8da0;--map-poly-in: rgba(79, 156, 249, .5);--map-poly-out: rgba(120, 134, 150, .3);--map-poly-line: var(--accent, #4f9cf9);--map-verdict-ok: #22c55e;--map-verdict-warn: #f59e0b;--map-verdict-bad: #ef4444;--map-sel-glow: #22d3ee;--map-rel-accent: #ffd34d;--map-stroke-dark: #1a212b;--map-stroke-deepdark: #0b0e11;--map-halo-sel: #0b3b46;--map-split-child: #5dbb63;--map-split-progress: #e8b339;--map-edit-draw: #38bdf8;--map-edit-halo: #0b3b46;--map-reshape-doomed: #ef4444;--map-reshape-keep: #5dbb63;--map-cl-sides: #38bdf8;--map-cl-endcaps: #f97316;--map-cl-centerline: #facc15;--map-stage-none: #6b7280;--map-stage-planned: #7c93b0;--map-stage-measured: #2f7ff0;--map-stage-processed: #f5a623;--map-stage-delivered: #16a34a;--map-stage-reviewed: #9333ea;--map-stage-abandonne: #b45454;--map-stage-to-reschedule: #d98a3d;--map-trajet-selected: #3b82f6;--map-gestion-cand: #8b5cf6;--map-gestion-preview: #f5a623;--map-gestion-sel: #16a34a;--map-gestion-focus: #ec4899;--map-delivery-converted: #32d74b;--map-delivery-deprecated: #94a3b8;--map-delivery-error: #eb082c;--map-delivery-unknown: #6b7280;--map-upload-uploaded: #60a5fa;--map-upload-converting: #fbbf24;--map-incident-avaries: #eb082c;--map-incident-comm: #f5a623;--map-year-outline: #33373d;--chart-emoy: #2563eb;--chart-u0: #d97706;--map-ramp-01: #4f9cf9;--map-ramp-02: #f59e0b;--map-ramp-03: #22c55e;--map-ramp-04: #ef4444;--map-ramp-05: #a855f7;--map-ramp-06: #06b6d4;--map-ramp-07: #ec4899;--map-ramp-08: #84cc16;--map-ramp-09: #f97316;--map-ramp-10: #14b8a6;--map-ramp-11: #eab308;--map-ramp-12: #8b5cf6;--map-group-01: #4f9cff;--map-group-02: #ff8c42;--map-group-03: #2ecc71;--map-group-04: #e056fd;--map-group-05: #f6c945;--map-group-06: #1abc9c;--map-group-07: #ff6b81;--map-group-08: #9b8cff;--map-group-09: #5ad1e6;--map-group-10: #d98c5f;--map-group-11: #7ed957;--map-group-12: #ff5ca8;--map-null-cat: #7d8da0;--map-casing-white: #ffffff;--map-text-white: #ffffff;--map-group-fallback: #888888;--map-below-emin: #ff1744}.ds-page{display:flex;flex-direction:column;gap:var(--space-5);max-width:var(--content-max);width:100%;margin:0 auto;padding:var(--content-pad)}.ds-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.ds-page-header-text{min-width:0}.ds-page-header-titlerow{display:flex;align-items:center;gap:var(--space-2)}.ds-page-header h1{margin:0;font-size:var(--type-h1-size);font-weight:var(--type-h1-weight);line-height:1.2}.ds-page-header-sub{margin:var(--page-header-gap) 0 0;font-size:var(--type-subtitle-size);font-weight:var(--type-subtitle-weight);color:var(--text-muted);max-width:78ch}.ds-page-header-actions{display:flex;gap:var(--space-2);align-items:center;flex:0 0 auto}.ds-section{display:flex;flex-direction:column;gap:var(--section-content-gap)}.ds-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.ds-section-headline{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto}.ds-section h2{margin:0;font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:1.25}.ds-section-sub{margin:calc(-1 * var(--section-content-gap) / 2) 0 0;font-size:var(--type-subtitle-size);color:var(--text-muted)}.ds-section-actions{display:flex;gap:var(--space-2);align-items:center}.ds-section-body{display:flex;flex-direction:column;gap:var(--space-3)}.ds-subhead{margin:var(--space-2) 0 0;font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);color:var(--text)}.ds-tabs{display:flex;flex-direction:column;gap:var(--space-3)}.ds-tablist{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius, 8px)}.ds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 6px);color:var(--text-muted);padding:var(--space-2) var(--space-3);font-size:var(--type-body-size);font-weight:var(--type-label-weight);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1)}.ds-tab:hover:not(:disabled):not(.is-active){color:var(--text);background:var(--surface-3)}.ds-tab.is-active{color:var(--accent);font-weight:600;background:var(--surface);border-color:var(--border);box-shadow:0 1px 2px #0000001f}.ds-tab:disabled{opacity:.45;cursor:not-allowed}.ds-tabs--vertical{flex-direction:row;align-items:flex-start;gap:20px}.ds-tabs--vertical .ds-tablist{flex-direction:column;flex-wrap:nowrap;flex:0 0 240px}.ds-tabs--vertical .ds-tab{width:100%;justify-content:flex-start;text-align:left}.ds-tabs--vertical>[role=tabpanel]{flex:1 1 auto;min-width:0}.ds-segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.ds-segmented-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-1);display:block}.ds-seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--text-muted);padding:5px 12px;font-size:var(--type-body-size);font-weight:var(--type-label-weight);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.ds-seg:hover:not(:disabled):not(.is-active){color:var(--text)}.ds-seg.is-active{background:var(--accent);color:#fff}.ds-seg:disabled{opacity:.4;cursor:not-allowed}.ds-datastate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--text-muted)}.ds-datastate .icon{font-size:32px;opacity:.7}.ds-datastate-title{font-size:var(--type-body-size);font-weight:var(--type-h3-weight);color:var(--text)}.ds-datastate-msg{font-size:var(--type-subtitle-size);max-width:52ch}.ds-datastate.is-error .icon,.ds-datastate.is-error .ds-datastate-title{color:var(--bad)}.ds-datastate-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--text-muted)}.ds-empty-state-icon{color:var(--text-muted);opacity:.6}.ds-empty-state-icon .icon{font-size:40px}.ds-empty-state-title{font-size:var(--type-body-size);font-weight:var(--type-h3-weight);color:var(--text)}.ds-empty-state-msg{font-size:var(--type-subtitle-size);max-width:52ch}.ds-empty-state-cta{margin-top:var(--space-1)}.ds-empty-state-ctas{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;align-items:center}.eb-fallback{display:flex;align-items:center;justify-content:center;min-height:240px;height:100%;width:100%;padding:var(--space-6) var(--space-4);box-sizing:border-box}.eb-fallback-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:40ch;text-align:center}.eb-fallback-icon{color:var(--bad, #ff453a);opacity:.85}.eb-fallback-title{margin:0;font-size:var(--type-body-size);font-weight:var(--type-h3-weight);color:var(--text)}.eb-fallback-retry{margin-top:var(--space-1)}.brand-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-muted);background:var(--bg)}.brand-loader.is-full{height:100vh;width:100%}.brand-loader.is-inline{background:transparent;padding:var(--space-6) var(--space-4);gap:var(--space-3)}.brand-loader-mark{position:relative;display:inline-flex;align-items:center;justify-content:center}.brand-loader-wordmark{display:block;height:48px;width:auto}.brand-loader.is-inline .brand-loader-wordmark{height:30px}.brand-loader-wordmark .wallux-letter{animation:wallux-belgian-fade 2.4s ease-in-out infinite}@keyframes wallux-belgian-fade{0%{opacity:.18;fill:var(--belgian-black, #2b313c)}30%{opacity:1;fill:var(--belgian-yellow, #FFD21F)}60%{opacity:1;fill:var(--belgian-red, #EF3340)}to{opacity:.18;fill:var(--belgian-black, #2b313c)}}.brand-loader-label{font-size:var(--type-body-size);letter-spacing:.02em;color:var(--text-muted)}@media (prefers-reduced-motion: reduce){.brand-loader-wordmark .wallux-letter{animation:none;opacity:1;fill:var(--logo-text, #e6edf3)}}.wallux-logo{display:block;width:auto}.wallux-logo .wallux-ink{fill:var(--logo-text, #e6edf3)}.file-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;cursor:pointer;color:var(--text-muted);border:1.5px dashed var(--border);border-radius:var(--radius, 10px);background:var(--surface-2);padding:var(--space-5, 16px) var(--space-4, 12px);transition:border-color .15s ease,background .15s ease,color .15s ease}.file-upload:hover:not(.is-disabled),.file-upload:focus-visible{border-color:var(--accent);color:var(--text);outline:none}.file-upload.is-dragover{border-color:var(--accent);background:var(--accent-weak);color:var(--text)}.file-upload.is-disabled{opacity:.55;cursor:not-allowed}.file-upload-input{display:none}.file-upload-prompt{display:flex;flex-direction:column;gap:1px}.file-upload-prompt strong{color:var(--accent);font-weight:600}.file-upload-hint{font-size:var(--type-label-size, 12px)}.file-upload-chip{display:inline-flex;align-items:center;gap:5px;margin-top:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:13px;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prefs-picture-field{display:flex;flex-direction:column;gap:var(--space-1)}.prefs-picture-error{margin-top:var(--space-1)}.avatar-editor{width:min(360px,92vw);display:flex;flex-direction:column}.avatar-editor-hint{margin:0;padding:var(--space-3) var(--space-4) 0;font-size:var(--type-subtitle-size)}.avatar-editor-stage{display:flex;justify-content:center;padding:var(--space-4)}.avatar-editor-frame{position:relative;overflow:hidden;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.avatar-editor-frame:active{cursor:grabbing}.avatar-editor-img{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none;translate:-50% -50%}.avatar-editor-mask{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 9999px #0000;border:2px solid var(--accent);pointer-events:none}.avatar-editor-controls{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5);color:var(--text-muted)}.avatar-editor-zoom{flex:1;accent-color:var(--accent);cursor:pointer}.avatar-editor-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4)}.ds-field{display:flex;flex-direction:column;gap:var(--space-1)}.ds-field-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ds-input{height:34px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--type-body-size)}.ds-input:focus{outline:none;border-color:var(--accent)}.ds-input:disabled{opacity:.5;cursor:not-allowed}.ds-field-error{font-size:var(--type-label-size);color:var(--bad)}.ds-datefield{position:relative;display:inline-flex;align-items:stretch;width:100%}.ds-datefield-text{width:100%;padding-right:34px}.ds-datefield-text.is-invalid{border-color:var(--bad)}.ds-datefield-btn{position:absolute;right:1px;top:1px;bottom:1px;width:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.ds-datefield-btn:hover:not(:disabled){color:var(--accent)}.ds-datefield-btn:disabled{opacity:.5;cursor:not-allowed}.ds-datefield-native{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0;margin:0}.ds-colorinput{display:inline-flex;align-items:center;gap:var(--space-2)}.ds-colorinput input[type=color]{width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer}.ds-colorinput input[type=color]:disabled{opacity:.5;cursor:not-allowed}.ds-colorinput-hex{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--type-label-size);color:var(--text-muted);text-transform:uppercase}.ds-colorinput-presets-trigger{width:24px;height:24px;padding:0;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted)}.ds-colorinput-presets-trigger:hover{background:var(--surface-3);color:var(--text)}.ds-colorinput-presets-pop{padding:var(--space-2)}.ds-colorinput-presets{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;max-width:148px}.ds-colorinput-preset{width:18px;height:18px;padding:0;cursor:pointer;border:1px solid var(--border);border-radius:3px}.ds-colorinput-preset.on{outline:2px solid var(--accent);outline-offset:1px}.ds-colorinput-swatch{width:34px;height:22px;border-radius:5px;border:1px solid var(--border);padding:0;cursor:pointer}.ds-colorinput-swatch:disabled{opacity:.5;cursor:not-allowed}.ds-colorinput-presets-pop{display:flex;flex-direction:column;gap:8px}.ds-hsvpicker{display:flex;flex-direction:column;gap:8px;width:176px}.ds-hsv-area{position:relative;width:100%;height:120px;border-radius:6px;cursor:crosshair;touch-action:none}.ds-hsv-thumb{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000080;transform:translate(-50%,-50%);pointer-events:none}.ds-hsv-hue{position:relative;width:100%;height:12px;border-radius:6px;cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.ds-hsv-hue-thumb{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000080;transform:translate(-50%,-50%);pointer-events:none}.ds-hsv-hex{width:100%;text-transform:uppercase}.df-field{display:flex;flex-direction:column;gap:var(--space-1)}.df-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.df-value{font-size:var(--type-body-size);font-weight:var(--type-body-weight);color:var(--text)}.df-value--num{font-variant-numeric:tabular-nums;text-align:right}.df-unit,.df-hint{font-size:var(--type-label-size);color:var(--text-muted)}.df-empty{font-size:var(--type-body-size);color:var(--text-muted)}.df-dl{display:flex;flex-direction:column;gap:0;margin:0;padding:0}.df-dl-row{display:flex;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.df-dl-row:last-child{border-bottom:none}.df-dl--stacked .df-dl-row{flex-direction:column;gap:var(--space-1)}.df-dl--inline .df-dl-row{flex-direction:row;align-items:baseline}.df-dl--inline dt.df-label{flex:0 0 40%;max-width:40%}.df-dl--inline .df-dl-dd{flex:1 1 auto}.df-dl-dd{margin:0}.df-dl-dd .df-label{display:none}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--btn-min-height)}.ds-btn-ghost{background:transparent;border-color:transparent}.ds-btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.ds-btn-spin{animation:ds-spin .8s linear infinite}.ds-legend{display:inline-flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.ds-legend-item{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--type-label-size);color:var(--text-muted)}.ds-legend-swatch{width:12px;height:12px;border-radius:3px;flex:0 0 auto;border:1px solid var(--border)}.ds-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.ds-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.csf-head{display:flex;align-items:center;gap:2px;position:relative}.csf-sort{display:inline-flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0;background:none;border:none;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:left}.csf-label{overflow:hidden;text-overflow:ellipsis}.csf-sort .csf-sort-off{color:var(--text-muted);flex:none}.csf-sort .csf-sort-on{color:var(--accent);flex:none}.csf-filterbtn{display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:var(--radius-sm, 6px);flex:none}.csf-filterbtn:hover{background:var(--surface-2);color:var(--text)}.csf-filterbtn.on{color:var(--accent)}.csf-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.csf-pop{position:absolute;top:100%;right:0;z-index:41;margin-top:4px;min-width:200px;max-width:280px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;font-weight:400;white-space:normal}.csf-pop--portal{position:fixed;top:unset;right:unset;margin-top:0;z-index:1050}.csf-input{width:100%;box-sizing:border-box;padding:4px 8px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font:inherit}.csf-input:focus{outline:none;border-color:var(--accent)}.csf-range{display:flex;align-items:center;gap:6px}.csf-daterange{flex-direction:column;align-items:stretch;gap:8px}.csf-datelbl{display:flex;flex-direction:column;gap:2px;font-size:12px}.csf-facet{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.csf-facet-opt{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.csf-facet-opt input{flex:none}.csf-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.csf-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font:inherit;padding:2px}.csf-clear:hover{color:var(--bad, #ff453a)}.csf-done{background:var(--accent);color:#fff;border:none;cursor:pointer;font:inherit;padding:3px 12px;border-radius:var(--radius-sm, 6px)}.csf-clearall{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);color:var(--text-muted);cursor:pointer;font-size:12px;padding:3px 8px}.csf-clearall:hover{color:var(--text);border-color:var(--accent)}.csf-clearall.on{color:var(--accent);border-color:var(--accent)}table.csf-grid{table-layout:auto;width:100%}table.csf-grid th,table.csf-grid td{max-width:var(--csf-col-max, 22rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.csf-grid td.csf-wrap,table.csf-grid th.csf-wrap{white-space:normal;overflow:visible}.csf-dh{display:flex;align-items:center;gap:2px;min-width:0;border-radius:var(--radius-sm, 6px)}.csf-dh.dragover{box-shadow:inset 2px 0 0 0 var(--accent)}.csf-draghandle{display:inline-flex;align-items:center;color:var(--text-muted);cursor:grab;flex:none;padding:0;opacity:.55;touch-action:none}.csf-draghandle:hover{color:var(--text);opacity:1}.csf-draghandle:active{cursor:grabbing}.csf-draghandle:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--radius-sm, 6px)}.csf-colmenu{position:relative;display:inline-flex}.csf-colmenu-pop{left:auto;right:0;min-width:220px}.csf-colmenu-pop .csf-facet-opt{gap:8px}.ds-stepper{display:flex;align-items:flex-start;list-style:none;margin:0;padding:0;width:100%;gap:0}.ds-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1 1 0;gap:var(--space-1)}.ds-step{display:grid;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.ds-step-connector{position:absolute;top:14px;transform:translateY(-50%);left:0;right:50%;height:2px;border:none;background:none;border-top:2px solid var(--border)}.ds-step-connector.is-done{border-top:2px solid var(--accent)}.ds-step-node{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--type-label-size);font-weight:var(--type-label-weight);flex:none;background:var(--surface);border:2px solid var(--border);color:var(--text-muted)}.ds-step.is-done .ds-step-node{background:var(--accent);border-color:var(--accent);color:#fff}.ds-step.is-active .ds-step-node{background:var(--surface);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.ds-step-label{font-size:var(--type-label-size);font-weight:var(--type-body-weight);color:var(--text-muted);text-align:center;line-height:1.3;white-space:nowrap}.ds-step.is-done .ds-step-label{color:var(--text-muted)}.ds-step.is-active .ds-step-label{font-weight:600;color:var(--text)}.diff-parity-notice{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface-2);font-size:var(--type-label-size);color:var(--text-muted)}.diff-parity-notice .material-symbols-outlined{flex:none}.diff-keydrops{border-left:3px solid var(--text-muted)}.diff-keydrops .material-symbols-outlined{color:var(--text-muted)}.diff-geomrepair{border-left:3px solid var(--warn)}.diff-geomrepair .material-symbols-outlined{color:var(--warn)}.diff-issues{margin:.75rem 0}.diff-issues-title{display:flex;align-items:center;gap:.4rem;margin:0 0 .25rem}.diff-issues-title .material-symbols-outlined{color:var(--danger, #d64545)}.diff-issues-hint{margin:0 0 .5rem}.diff-issue-row.diff-issue-dropped{background:color-mix(in srgb,var(--danger, #d64545) 9%,transparent)}.diff-issue-row.diff-issue-repaired{background:color-mix(in srgb,var(--warn) 9%,transparent)}.cc-topic-tabs{margin-bottom:var(--space-3)}.diff-dangling{margin:.75rem 0}.diff-dangling-choice{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.diff-dangling-choice .csf-input{min-width:0}.diff-badge{display:inline-flex;align-items:center;margin-left:var(--space-2);padding:1px 6px;border-radius:10px;font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:1.4;white-space:nowrap}.diff-badge.geom-repair{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent)}.pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.pop-panel{position:absolute;top:100%;right:0;z-index:41;margin-top:var(--space-1);min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-2);font-weight:400;white-space:normal}.menu-root{position:relative;display:inline-flex}.menu-panel{padding:var(--space-1) 0;gap:0;min-width:160px}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:0;color:var(--text);font:inherit;font-size:var(--type-body-size);text-align:left;cursor:pointer;white-space:nowrap}.menu-item:hover:not(:disabled){background:var(--surface-2)}.menu-item:focus-visible{outline:none;background:var(--surface-2)}.menu-item--danger{color:var(--bad)}.menu-item--danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 12%,transparent)}.menu-item--disabled,.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item-icon{flex:none;color:inherit}.menu-item-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);box-shadow:var(--shadow);width:min(440px,calc(100vw - var(--space-6)));display:flex;flex-direction:column;overflow:hidden}.confirm-dialog-header{padding:var(--space-5) var(--space-5) 0}.confirm-dialog-title{margin:0;font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:1.25;color:var(--text)}.confirm-dialog-body{padding:var(--space-3) var(--space-5) 0;font-size:var(--type-body-size);font-weight:var(--type-body-weight);color:var(--text-muted);line-height:1.5;max-height:40vh;overflow-y:auto}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5)}.kpi-card{display:flex;flex-direction:column;gap:0;padding:0}.kpi-value{font-size:1.9em;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--text)}.kpi-value--accent{color:var(--accent)}.kpi-value--warn{color:var(--warn)}.kpi-value--empty{color:var(--text-muted);font-weight:400;font-size:1.4em}.kpi-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);color:var(--text-muted);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.04em}.kpi-pct{font-size:1.15em;font-weight:700;color:var(--accent);margin-top:var(--space-1);font-variant-numeric:tabular-nums}.kpi-hint{font-size:var(--type-label-size);color:var(--text-muted);margin-top:2px}.kpi-delta{display:inline-flex;align-items:center;gap:2px;font-size:var(--type-label-size);font-variant-numeric:tabular-nums;margin-top:var(--space-1)}.kpi-delta--up{color:var(--good)}.kpi-delta--down{color:var(--bad)}.kpi-delta-icon{vertical-align:middle;flex:none}.mesh-wizard-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);box-shadow:var(--shadow, 0 8px 28px rgba(0, 0, 0, .28));width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.mesh-wizard{display:flex;flex-direction:column;gap:14px;padding:20px 22px}.mesh-wizard-head h3{margin:0 0 12px}.mesh-wizard-steps{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0;padding:0;font-size:.86em}.mesh-wizard-steps li{display:flex;align-items:center;gap:7px;color:var(--text-muted)}.mesh-wizard-steps li.is-active{color:var(--text);font-weight:600}.mesh-wizard-steps li.is-done{color:var(--good, var(--accent))}.mesh-wizard-step-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex:none;background:var(--surface-2);border:1px solid var(--border);font-size:.82em}.mesh-wizard-steps li.is-active .mesh-wizard-step-n{background:var(--accent);color:#fff;border-color:var(--accent)}.mesh-wizard-body{min-height:170px;padding:4px 0}.mesh-wizard-step{display:flex;flex-direction:column;gap:14px}.mesh-wizard-meta{gap:12px}.mesh-wizard-field{display:flex;flex-direction:column;gap:5px}.mesh-wizard-field>span:first-child{font-size:.86em;color:var(--text-muted)}.mesh-wizard-proposed{font-size:.78em;color:var(--text-muted);font-style:italic}.mesh-wizard-check{display:flex;align-items:center;gap:8px;font-size:.95em}.mesh-wizard-check.ok{color:var(--good, var(--accent))}.mesh-wizard-check.bad{color:var(--bad)}.mesh-wizard-summary{margin:0;display:grid;gap:6px}.mesh-wizard-summary>div{display:flex;gap:10px}.mesh-wizard-summary dt{min-width:120px;color:var(--text-muted);font-size:.86em}.mesh-wizard-summary dd{margin:0;font-weight:500}.mesh-wizard-impact{display:flex;align-items:center;gap:6px;margin-top:8px}.mesh-wizard-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:14px}.trj-board{display:flex;flex-direction:column;gap:14px}.trj-board-head{display:flex;align-items:center;gap:12px}.trj-board-filter{display:flex;align-items:center;gap:8px}.trj-board-head>button{margin-left:auto}.trj-board-sub{font-size:.9em}.trj-board-search{max-width:260px;margin-left:auto}.trj-board-map{height:60vh;min-height:380px}.trj-open-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer}.trj-open-link:hover{text-decoration:underline}.trj-cabines-cell{position:relative;display:inline-flex;align-items:center;cursor:help;outline-offset:2px}.trj-cabines-hover{position:absolute;top:100%;left:0;z-index:20;margin-top:4px;max-width:280px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface, #fff);box-shadow:0 4px 14px #0000002e;font-size:.82em;line-height:1.35;white-space:normal;color:var(--text)}@media (prefers-color-scheme: dark){.trj-cabines-hover{background:var(--surface, #1e1e1e)}}.dpd-modal{display:flex;flex-direction:column;gap:.6rem;min-width:380px;max-width:520px}.dpd-hint{font-size:.86em;margin:0}.dpd-body{display:flex;flex-direction:column;gap:.75rem;max-width:760px}.dpd-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.dpd-tb-field{display:flex;flex-direction:column;gap:.2rem}.dpd-tb-field .muted{font-size:.8em}.dpd-tb-spacer{flex:1 1 auto}.dpd-workbench{display:grid;grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(200px,1fr));gap:.75rem;align-items:start}@media (max-width: 1100px){.dpd-workbench{grid-template-columns:1fr 1fr}}@media (max-width: 680px){.dpd-workbench{grid-template-columns:1fr}}.dpd-pane{border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem;background:var(--surface);min-width:0}.dpd-pane-structure{grid-row:span 1}.dpd-pane-title{margin:0 0 .5rem;font-size:.95em}.dpd-fields{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:52vh;overflow:auto}.dpd-field{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:.5rem;padding:.25rem .35rem;border-radius:6px}.dpd-field.is-hidden{opacity:.5}.dpd-field:hover{background:var(--surface-2, rgba(127,127,127,.08))}.dpd-grip{display:inline-flex;align-items:center;cursor:grab;color:var(--text-muted, #888)}.dpd-field.dragging{opacity:.5;outline:1px dashed var(--accent)}.dpd-field.inspector-mode{grid-template-columns:auto auto 1fr;cursor:pointer}.dpd-field.inspector-mode.sel{background:var(--accent-soft, rgba(80,120,255,.12));outline:1px solid var(--accent)}.dpd-hidden-tag{font-size:.85em}.dpd-inspector{display:flex;flex-direction:column;gap:.5rem}.dpd-inspector-empty{font-size:.88em}.dpd-inspector-field{margin:0 0 .25rem}.dpd-insp-row{display:flex;flex-direction:column;gap:.2rem;font-size:.85em}.dpd-insp-check{display:flex;align-items:center;gap:.4rem;font-size:.88em}.dpd-insp-advtoggle{align-self:flex-start;background:none;border:none;color:var(--accent);cursor:pointer;padding:.1rem 0;font-size:.85em}.dpd-insp-adv{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:.5rem}.dpd-sections{display:flex;flex-direction:column;gap:.6rem}.dpd-floor{border:1px solid var(--accent);border-radius:6px;padding:.4rem .5rem;background:color-mix(in srgb,var(--accent) 8%,transparent)}.dpd-floor-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.dpd-floor-title{display:inline-flex;align-items:center;gap:.3rem;font-weight:600}.dpd-floor-pinned{font-size:.72em;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:.05rem .35rem}.dpd-floor-els{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.dpd-floor-el{display:inline-flex;align-items:center;gap:.25rem;font-size:.82em;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:.1rem .4rem}.dpd-tabbar-box{border:1px solid var(--border);border-radius:8px;padding:.45rem .5rem;background:var(--surface-2);display:flex;flex-direction:column;gap:.45rem}.dpd-tabbar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dpd-tabbar-title{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.85em;color:var(--text)}.dpd-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0}.dpd-tab{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.85em;line-height:1.15;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dpd-tab:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.dpd-tab.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.dpd-tab-component{font-style:italic}.dpd-tab-rename{padding:.28rem .55rem;border:1px solid var(--accent);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.85em}.dpd-tab-move,.dpd-tab-del{display:inline-flex;align-items:center;cursor:pointer;overflow:hidden;opacity:0;max-width:0;transition:opacity .12s,max-width .12s}.dpd-tab:hover .dpd-tab-move,.dpd-tab:hover .dpd-tab-del,.dpd-tab.on .dpd-tab-move,.dpd-tab.on .dpd-tab-del,.dpd-tab:focus-within .dpd-tab-move,.dpd-tab:focus-within .dpd-tab-del{opacity:.75;max-width:1.4em;margin-left:.05rem}.dpd-tab.on .dpd-tab-move,.dpd-tab.on .dpd-tab-del{color:#fff}.dpd-tab-move:hover,.dpd-tab-del:hover{opacity:1}.dpd-tab-move[aria-disabled=true]{opacity:.25;cursor:default;pointer-events:none}.dpd-tab.on .dpd-tab-move[aria-disabled=true]{opacity:.45}.dpd-component-note{border:1px dashed var(--border);border-radius:6px;padding:.5rem .6rem}.dpd-component-note-title{display:flex;align-items:center;gap:.35rem;font-weight:600;margin:0 0 .25rem}.dpd-section{border:1px solid var(--border);border-radius:6px;padding:.4rem .5rem}.dpd-section-head{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.35rem}.dpd-section-name{flex:1 1 8ch;min-width:8ch}.dpd-section-cols{flex:0 0 auto}.dpd-section-collap{display:inline-flex;align-items:center;gap:.3rem;font-size:.82em}.dpd-section-del{background:none;border:none;cursor:pointer;color:var(--danger, #c33);display:inline-flex}.dpd-sections-actions{display:flex;gap:.5rem}.dpd-organize{align-self:flex-start;margin-top:.4rem}.dpd-presets{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.dpd-presets-shared{border-top:1px dashed var(--border);padding-top:.4rem}.dpd-section{cursor:pointer}.dpd-section.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.dpd-dropzone{margin:.2rem 0;padding:.5rem;text-align:center;font-size:.8em;color:var(--text-muted);border:1px dashed var(--border);border-radius:5px}.dpd-dest-banner{display:flex;align-items:center;gap:.35rem;margin:0 0 .4rem;padding:.3rem .5rem;font-size:.82em;background:var(--accent-weak);border:1px solid var(--accent);border-radius:5px}.dpd-role-state{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.dpd-role-state--inherited{color:var(--text-muted)}.dpd-role-state--override{background:var(--accent-weak);border-color:var(--accent);color:var(--accent)}.dpd-override-tag{font-size:.72em;color:var(--accent);font-weight:600}.dpd-field-reset{flex:0 0 auto;display:inline-flex;align-items:center;padding:0 2px;color:var(--text-muted)}.dpd-field-reset:hover{color:var(--accent)}.dpd-preview-note,.dpd-palette-note{font-size:.78em;margin:0 0 .4rem}.dpd-palette-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.dpd-palette-item{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:4px;cursor:grab}.dpd-palette-item:hover{background:var(--surface-2, rgba(127,127,127,.08))}.dpd-palette-label{flex:1 1 auto;min-width:0}.dpd-palette-add{flex:0 0 auto}.dpd-reorder{display:inline-flex;flex-direction:column}.dpd-reorder .btn-xs{line-height:1;padding:0 2px}.dpd-label{font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dpd-visible{display:inline-flex;align-items:center;gap:.3rem;font-size:.82em}.dpd-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem}.side-panel-designer{margin-left:.25rem}.trj-empty{padding:18px 4px}.trj-board-groups{display:flex;flex-direction:column;gap:18px}.trj-group{display:flex;flex-direction:column;gap:6px}.trj-group-head{display:flex;align-items:center;gap:8px}.trj-group-count{font-size:.85em}.trj-row-actions{display:flex;gap:6px;flex-wrap:wrap}.trj-chip{font-size:.82em}.trj-created{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.trj-planned{background:var(--accent-weak, var(--surface-2));color:var(--accent);border:1px solid var(--accent)}.trj-done{background:var(--surface-2);border:1px solid var(--border)}.trj-measured,.trj-reviewed{background:var(--accent-weak, var(--surface-2));color:var(--accent);border:1px solid var(--accent)}.trj-approved{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good);border:1px solid var(--good)}.trj-rejected,.trj-abandonne{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad);border:1px solid var(--bad)}.trj-rescheduled,.trj-to_reschedule{background:color-mix(in srgb,var(--warn, #c98a00) 16%,transparent);color:var(--warn, #c98a00);border:1px solid var(--warn, #c98a00)}.trj-modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);box-shadow:var(--shadow, 0 8px 28px rgba(0,0,0,.28));width:min(460px,calc(100vw - 32px))}.trj-modal{display:flex;flex-direction:column;gap:14px;padding:20px 22px}.trj-modal h3{margin:0}.trj-field{display:flex;flex-direction:column;gap:5px}.trj-field>span:first-child{font-size:.86em;color:var(--text-muted)}.trj-modal-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;border-top:1px solid var(--border);padding-top:14px}.map-loading-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface);color:var(--text-muted);pointer-events:none}.map-skeleton-shimmer{width:56px;height:56px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:map-skeleton-spin .9s linear infinite}.map-skeleton-label{font-size:13px}@keyframes map-skeleton-spin{to{transform:rotate(360deg)}}.audit-preset-row{display:flex;gap:6px;flex-wrap:wrap}.audit-preset-chip{padding:5px 10px;font-size:.82em}.ds-callout{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);font-size:13px;line-height:1.45}.ds-callout-icon{flex:0 0 auto;margin-top:1px}.ds-callout-body{min-width:0}.ds-callout-info{border-left-color:var(--accent)}.ds-callout-info .ds-callout-icon{color:var(--accent)}.ds-callout-warn{border-left-color:var(--warn)}.ds-callout-warn .ds-callout-icon{color:var(--warn)}.ds-callout-success{border-left-color:var(--good)}.ds-callout-success .ds-callout-icon{color:var(--good)}.symb-saveall{display:flex;justify-content:flex-end;margin-bottom:10px}.imp-issue-detail{margin-top:14px}.imp-issue-payload{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 14px;margin:10px 0}.imp-issue-kv{display:contents}.imp-issue-kv dt{align-self:center;font-size:12px}.imp-issue-kv dd{margin:0}.imp-issue-edit{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit;font-size:13px}.imp-issue-edit:focus{outline:none;border-color:var(--accent)}.imp-issue-detail-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.imp-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;font-weight:600;line-height:1}.trajet-route-state{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px 10px;border-radius:12px;font-size:.85em;margin:var(--space-2) 0}.trajet-route-state.route-state-non_trace{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}.trajet-route-state.route-state-a_valider{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.trajet-route-state.route-state-valide{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/material-symbols-outlined-subset.woff2?v=2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga";-webkit-user-select:none;-moz-user-select:none;user-select:none}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/poppins-400-cpxAROuN.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-500-C8OXljZJ.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-600-zEkxB9Mr.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/poppins-700-Qrb0O0WB.woff2) format("woff2")}:root{--bg: #0f1419;--surface: #1a212b;--surface-2: #232c38;--border: #33404f;--text: #e6edf3;--text-muted: #8b98a5;--accent: #4f9cf9;--accent-weak: #1d3a5f;--good: #32d74b;--warn: #ffd60a;--bad: #ff453a;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .25);--radius: 10px;--radius-sm: 6px;--muted: var(--text-muted);--panel: var(--surface);--surface-3: var(--surface-2);--danger: var(--bad);--ok: var(--good);--surface-1: var(--surface);--accent-contrast: #fff;--fg: var(--text);--font: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.skip-link{position:absolute;left:8px;top:-48px;z-index:1000;background:var(--accent);color:#fff;padding:8px 14px;border-radius:var(--radius);font-size:.9em;font-weight:600;text-decoration:none;box-shadow:var(--shadow);transition:top .15s ease}.skip-link:focus{top:8px}#main-content:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inv-split-handle:focus-visible,.file-upload:focus-visible,.csf-draghandle:focus-visible,.tbl-rpp-select:focus-visible,.platform-banner-dismiss:focus-visible{outline:none}.muted{color:var(--text-muted)}.error{color:var(--bad);font-size:.85em}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.app{display:flex;flex-direction:row;height:100%;--topbar-h: 62px}.app-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.sidebar{flex:0 0 232px;width:232px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0 10px 14px;gap:6px;overflow-y:auto}.sidebar-brand{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;flex:0 0 var(--topbar-h);height:var(--topbar-h);box-sizing:border-box;padding:0 8px;border-bottom:1px solid var(--border)}.sidebar-brand strong{font-size:1em}.sidebar-brand-logo{height:38px;width:auto}.sidebar-brand span{font-size:.72em}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:.68em;text-transform:uppercase;letter-spacing:.06em;margin:14px 8px 4px}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);font-size:.9em}.nav-item:hover:not(.disabled){background:var(--surface-2)}.nav-item.active{background:var(--accent-weak);border-color:var(--accent);font-weight:600}.nav-item.disabled{color:var(--text-muted);cursor:not-allowed}.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.nav-group-label{font-size:.68em;text-transform:uppercase;letter-spacing:.06em;margin:10px 8px 4px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.nav-group-label .icon{font-size:13px}.nav-group.disabled .nav-group-label{color:var(--text-muted);opacity:.55}.nav-group.disabled .nav-item{color:var(--text-muted);cursor:not-allowed;opacity:.45}.sidebar.collapsed .nav-group-label{display:none}.soon-tag{font-size:.6em;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:8px;padding:1px 6px;color:var(--text-muted)}.sidebar-collapse{position:absolute;top:50%;right:2px;transform:translateY(-50%)}.sidebar.collapsed{flex-basis:58px;width:58px;padding:0 8px 14px}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar.collapsed .sidebar-collapse{position:static;transform:none}.sidebar.collapsed .sidebar-brand strong,.sidebar.collapsed .sidebar-brand-logo,.sidebar.collapsed .sidebar-brand>span.muted,.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .nav-item-main>span:not(.material-symbols-outlined),.sidebar.collapsed .soon-tag{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:8px}@media (max-width: 768px){.sidebar:not(.collapsed){flex-basis:58px;width:58px;padding:0 8px 14px}.sidebar:not(.collapsed) .sidebar-brand{justify-content:center;padding:0}.sidebar:not(.collapsed) .sidebar-brand strong,.sidebar:not(.collapsed) .sidebar-brand-logo,.sidebar:not(.collapsed) .sidebar-brand>span.muted,.sidebar:not(.collapsed) .sidebar-section-label,.sidebar:not(.collapsed) .nav-group-label,.sidebar:not(.collapsed) .nav-item-main>span:not(.material-symbols-outlined),.sidebar:not(.collapsed) .soon-tag{display:none}.sidebar:not(.collapsed) .nav-item{justify-content:center;padding:8px}}.platform-banner-container{display:flex;flex-direction:column;gap:0}.platform-banner{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:.88em;font-weight:500;border-bottom:1px solid rgba(0,0,0,.15);position:relative}.platform-banner-icon{flex:0 0 auto;font-size:1.1em;line-height:1}.platform-banner-message{flex:1;min-width:0}.platform-banner-window{flex:0 0 auto;font-size:.85em;opacity:.85;white-space:nowrap;padding:1px 8px;border-radius:999px;background:#0000001a}.platform-banner-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;cursor:pointer;color:inherit;opacity:.75;transition:opacity .15s,background .15s;font-family:inherit}.platform-banner-dismiss:hover{opacity:1;background:#0000001f;border-color:#0000002e}.platform-banner-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}.platform-banner--degraded{background:#3d1a1a;color:#ffb3b3;border-left:4px solid var(--bad)}.platform-banner--maintenance{background:#2d2a0f;color:#ffe97a;border-left:4px solid var(--warn)}.platform-banner--recompute{background:#0f2233;color:#91c8ff;border-left:4px solid var(--accent)}.platform-banner--readonly{background:#23202c;color:#d7c9ff;border-left:4px solid var(--accent)}[data-theme=light] .platform-banner--degraded{background:#fff0f0;color:#b91c1c}[data-theme=light] .platform-banner--maintenance{background:#fffbeb;color:#92400e}[data-theme=light] .platform-banner--recompute{background:#eff6ff;color:#1d4ed8}[data-theme=light] .platform-banner--readonly{background:#f3effc;color:#5b3ba6}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);box-sizing:border-box;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-title strong{font-size:1.05em}.header-actions{display:flex;align-items:center;gap:12px}.icon-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.8em}.icon-btn:hover{border-color:var(--accent)}.icon-btn--on{color:#fff;background:var(--accent);border-color:var(--accent)}.theme-toggle{padding:5px 8px}.lang-menu-code{font-size:.95em;letter-spacing:.02em}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;-webkit-user-select:none;user-select:none}.icon{font-size:20px;line-height:1}.lang-menu{position:relative}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.lang-menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:160px;margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.lang-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;border:0;background:transparent;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:.92em}.lang-menu-item:hover{background:var(--surface-2)}.lang-menu-item.active{color:var(--accent);font-weight:600}.app-header-left{display:flex;align-items:center;gap:16px;min-width:0;flex:1 1 auto}.app-title{flex:0 0 auto}.ctx-selector{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0;flex:0 1 auto;padding-left:16px;margin-left:4px;border-left:1px solid var(--border)}.ctx-selector-label{font-size:.66em;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;line-height:1;padding-left:2px}.ctx-trigger{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.86em;max-width:320px;min-width:0}.ctx-trigger:hover{border-color:var(--accent)}.ctx-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0}.ctx-trigger>.icon{flex:0 0 auto}.ctx-trigger-year{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;flex:0 0 auto}.ctx-chip-virtual{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:transparent}.ctx-chip-closed{background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted);border-color:transparent}.ctx-chip-future{background:color-mix(in srgb,var(--accent, #3b82f6) 16%,transparent);color:var(--accent, #3b82f6);border-color:transparent}.ctx-virtual-only{display:inline-flex;align-items:center;gap:4px;font-size:.74em;color:var(--accent);padding:2px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 12%,transparent);white-space:nowrap}.ctx-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:50;min-width:300px;max-width:380px;max-height:70vh;overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.ctx-pop-state{display:flex;flex-direction:column;gap:4px;padding:14px 12px;font-size:.86em}.ctx-pop-error{color:var(--bad)}.ctx-group{padding:4px 0}.ctx-pop-foot{border-top:1px solid var(--border);padding:6px 8px;margin-top:4px}.ctx-manage-list{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:4px 6px}.ctx-manage-list:hover{text-decoration:underline}.ctx-group+.ctx-group{border-top:1px solid var(--border);margin-top:2px}.ctx-group-label{font-size:.7em;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px 4px}.ctx-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border:0;background:transparent;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:.9em;text-align:left}.ctx-option:hover{background:var(--surface-2)}.ctx-option.active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ctx-option-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.ctx-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-option-year{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.ctx-option-meta{display:inline-flex;align-items:center;gap:6px;font-size:.84em;white-space:nowrap}.nav-item-main{display:inline-flex;align-items:center;gap:10px;min-width:0}.nav-item-main .icon{font-size:20px}.role-switcher{display:flex;align-items:center;gap:6px}.role-switcher select,select,input,textarea{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px}button{color:inherit}.filter-bar{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-input{min-width:320px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--border);border-radius:14px;font-size:.85em;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface-2);white-space:nowrap}.filter-summary-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.fsb-count{font-size:.85em;color:var(--text);font-weight:600;white-space:nowrap}.fsb-tokens{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fsb-token{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--border);border-radius:14px;font-size:.82em;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface);color:var(--text);white-space:nowrap}.fsb-token:hover{border-color:var(--accent);color:var(--accent)}.fsb-token .icon{opacity:.6}.fsb-token:hover .icon{opacity:1}.fsb-reset{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:3px 9px;border:1px solid transparent;border-radius:14px;font-size:.82em;cursor:pointer;background:transparent;color:var(--accent)}.fsb-reset:hover{border-color:var(--accent);background:var(--accent-weak)}.app-body{display:grid;grid-template-columns:320px 1fr 380px;flex:1;min-height:0}.app-body.no-panel{grid-template-columns:320px 1fr}.app-body-dashboard{flex:1;min-height:0;overflow-y:auto;padding:16px 22px}.dashboard{padding:20px 24px;max-width:1180px;margin:0 auto}.year-timeline{margin-bottom:22px}.year-timeline-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.year-timeline-head h2{margin:0;font-size:1.05em}.year-cards{display:flex;gap:12px;flex-wrap:wrap}.year-card{flex:0 0 auto;min-width:188px;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s}.year-card:hover{border-color:var(--accent)}.year-card.active{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-weak),var(--surface))}.year-card-year{font-size:1.5em;font-weight:700;display:flex;align-items:center;gap:7px}.year-card.active .year-card-year{color:var(--accent)}.year-card-fig{font-size:.82em;margin-top:3px;font-variant-numeric:tabular-nums}.mock-dot{width:8px;height:8px;border-radius:50%;background:var(--warn);display:inline-block}.dash-timeline-wrap{margin:-4px 0 14px}.dash-year-head{margin-bottom:18px}.dash-year-head h1{margin:0 0 4px;font-size:1.5em;display:flex;align-items:center;gap:10px}.mock-pill{font-size:.5em;text-transform:uppercase;letter-spacing:.05em;font-weight:700;background:var(--warn);color:#241a00;padding:2px 8px;border-radius:10px}.dash-intro{max-width:72ch;margin:4px 0 0}.mock-banner{margin-top:10px;padding:8px 12px;border:1px solid var(--warn);border-radius:var(--radius-sm);background:#ffd60a14;color:var(--text);font-size:.82em}.story-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow)}.story-block-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}.story-block-head h3{margin:0;font-size:1.05em}.story-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.story-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.story-stat-value{font-size:1.9em;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.story-stat-value.accent{color:var(--accent)}.story-stat-value.warn{color:var(--warn)}.story-stat-label{font-size:.9em;margin-top:4px}.story-stat-pct{font-size:1.15em;font-weight:700;color:var(--accent);margin-top:4px;font-variant-numeric:tabular-nums}.story-stat-hint{font-size:.76em;margin-top:2px}.dash-data-source{font-size:.78em;margin-top:6px}.dash-snapshot-missing{border-color:var(--accent);background:#4f9cf912}.dash-kpi-unavailable{padding:10px 0;color:var(--text-muted, var(--muted, #7d8da0));font-size:.88em;font-style:italic}.story-stat-delta{font-size:.74em;margin-top:4px;font-variant-numeric:tabular-nums}.story-stat-delta.up{color:var(--good)}.story-stat-delta.down{color:var(--bad)}.ds-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3, 12px)}.ds-stats-grid--compact{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-5, 24px);align-items:stretch}.dash-tile{height:100%}.dash-tile>.card{height:100%;margin-bottom:0;display:flex;flex-direction:column}.dash-tile>.card>.ds-stats-grid{flex:1 1 auto;align-content:start}@media (min-width: 1040px){.dash-tile--wide{grid-column:span 2}}@media (max-width: 720px){.dash-grid{grid-template-columns:1fr}.dash-tile--wide{grid-column:auto}}.dash-temporel{display:flex;flex-direction:column;gap:16px}.dash-temporel-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:4px 0 12px;border-bottom:1px solid var(--border)}.dash-temporel-metrics,.dash-temporel-unit{display:inline-flex;gap:6px}.dash-temporel-metric,.dash-temporel-unit-btn{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;font-size:.9em;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,border-color .12s}.dash-temporel-metric:hover,.dash-temporel-unit-btn:hover{border-color:var(--accent)}.dash-temporel-metric.is-active,.dash-temporel-unit-btn.is-active{background:var(--accent-weak);border-color:var(--accent);font-weight:600}.dash-temporel-swatch{width:11px;height:11px;border-radius:3px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #00000026}.dash-temporel-cumule{display:inline-flex;align-items:center;gap:7px;font-size:.9em;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.dash-temporel-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.dash-temporel-card{padding:16px;display:flex;flex-direction:column;gap:10px}.dash-temporel-card-head{display:flex;align-items:center;gap:8px;color:var(--text)}.dash-temporel-card-head h4{margin:0;font-size:.98em}.dash-temporel-svg{width:100%;height:auto}.dash-temporel-grid{stroke:var(--border);stroke-width:1}.dash-temporel-tick{fill:var(--text-muted);font-size:10px}.funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.funnel-stage{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.funnel-stage-head{display:flex;align-items:center;gap:8px}.funnel-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.funnel-label{font-size:.9em}.funnel-value{font-size:1.9em;font-weight:700;line-height:1.05;margin-top:6px;font-variant-numeric:tabular-nums}.funnel-bar-track{height:8px;background:var(--bg);border-radius:6px;overflow:hidden;margin-top:8px}.funnel-bar{height:100%;border-radius:6px;transition:width .3s}.funnel-pct{font-size:1.05em;font-weight:700;color:var(--accent);margin-top:6px;font-variant-numeric:tabular-nums}.cs-cal-bar{display:flex;align-items:center;min-height:30px;margin-bottom:6px}.cs-cal-sel{display:inline-flex;align-items:center;gap:10px;font-weight:600}.cs-cal-clear{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer;font-size:.82em}.cs-cal-clear:hover{background:var(--bg)}.cs-cal-months{display:flex;flex-wrap:wrap;gap:18px}.cs-cal-month{flex:0 0 auto}.cs-cal-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}.cs-cal-month-name{font-weight:600;text-transform:capitalize}.cs-cal-month-tot{font-size:.8em;font-variant-numeric:tabular-nums}.cs-cal-grid{display:grid;grid-template-columns:repeat(7,34px);gap:3px}.cs-cal-dow{text-align:center;font-size:.66em;padding-bottom:2px}.cs-cal-cell{position:relative;height:34px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);padding:0;cursor:pointer;color:inherit;overflow:hidden}.cs-cal-cell.has{cursor:pointer}.cs-cal-cell:not(.cs-cal-blank):hover{outline:2px solid var(--accent);outline-offset:-2px}.cs-cal-blank{background:transparent;border-color:transparent;cursor:default}.cs-cal-cell.sel{outline:2px solid var(--accent);outline-offset:-2px}.cs-cal-day{position:absolute;top:2px;left:4px;font-size:.62em;opacity:.7}.cs-cal-count{position:absolute;bottom:1px;right:0;left:0;text-align:center;font-size:.78em;font-weight:700;font-variant-numeric:tabular-nums}.cs-list-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}.cs-list-filters{display:flex;flex-wrap:wrap;gap:6px}.cs-list-fbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:999px;padding:4px 10px;cursor:pointer;font-size:.84em}.cs-list-fbtn:hover{background:var(--bg)}.cs-list-fbtn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cs-list-fcount{font-variant-numeric:tabular-nums;font-size:.86em;opacity:.85}.cs-list-search{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:var(--radius-sm);padding:5px 9px;min-width:200px}.cs-list-count{font-size:.82em;margin-bottom:6px}.cs-list-tablewrap{max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.cs-list-table{width:100%;border-collapse:collapse;font-size:.86em}.cs-list-table th,.cs-list-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.cs-list-table thead th{position:sticky;top:0;background:var(--surface-2);z-index:1}.cs-list-table td.num,.cs-list-table th.num{text-align:right;font-variant-numeric:tabular-nums}.cs-list-table td.mono{font-family:var(--mono, ui-monospace, monospace)}.cs-stage-badge{display:inline-flex;align-items:center;gap:6px}.cs-stage-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.cs-reviewed-tag{margin-left:8px;font-size:.82em;font-weight:600}.trj-nocamp-tag{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:2px 10px;border-radius:999px;background:var(--surface-muted, #eef0f3);color:var(--text-muted, #64748b);font-size:.78em;font-weight:600;white-space:nowrap}.trj-nocamp-banner{margin:4px 0 12px}.trj-attach-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.trj-attach-label{font-weight:600;font-size:.9em}.cs-map-weekchip{position:absolute;top:48px;left:10px;z-index:1;display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;box-shadow:var(--shadow);font-size:.82em;font-weight:600}.cs-map-block .map-container{height:460px;width:100%}.trajet-map-wrap{position:relative}.trajet-map-badge{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.cs-map-legend{position:absolute;bottom:10px;left:10px;z-index:1;display:flex;flex-wrap:wrap;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;box-shadow:var(--shadow);font-size:.78em}.cs-legend-item{display:inline-flex;align-items:center;gap:5px}.cs-legend-dot{width:14px;height:3px;border-radius:2px;display:inline-block}.trj-map-colorby{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;box-shadow:var(--shadow);font-size:.78em}.trj-map-colorby-label{color:var(--text-muted)}.trj-map-colorby-btn{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer;color:var(--text)}.trj-map-colorby-btn.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast, #fff)}.del-map-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.del-map-empty .ds-datastate{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow);max-width:80%}.suivi-years{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.suivi-year-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer}.suivi-year-btn:hover{background:var(--bg)}.suivi-year-btn.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.suivi-year-num{font-weight:700;font-variant-numeric:tabular-nums}.suivi-year-status{font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px}.suivi-year-status.st-active{background:#16a34a22;color:#16a34a}.suivi-year-status.st-past{background:var(--bg);color:var(--text-muted, #888)}.suivi-year-status.st-future{background:#2f7ff022;color:#2f7ff0}.suivi-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:10px;padding:2px 0 14px;margin-bottom:12px}.suivi-card{background:var(--surface-2);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px}.suivi-card-top{display:flex;align-items:center;gap:6px}.suivi-card-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.suivi-card-label{font-size:.8em}.suivi-card-val{font-size:1.5em;font-weight:700;line-height:1.1;margin-top:3px;font-variant-numeric:tabular-nums}.suivi-card-bar{height:5px;background:var(--bg);border-radius:4px;overflow:hidden;margin-top:6px}.suivi-card-bar span{display:block;height:100%;border-radius:4px;transition:width .3s}.suivi-card-pct{font-size:.74em;margin-top:4px}.suivi-cockpit{display:grid;grid-template-columns:minmax(248px,1.05fr) minmax(320px,1.25fr) minmax(300px,1.05fr);gap:14px;height:calc(100vh - 300px);min-height:440px}.suivi-pane{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.suivi-pane-head{padding:9px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:1px;flex:0 0 auto}.suivi-pane-head h3{margin:0;font-size:.98em}.suivi-pane-head span{font-size:.74em}.suivi-pane-body{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 12px}.suivi-map-body{padding:0;overflow:hidden}.suivi-map-body .trajet-map-wrap,.suivi-map-body .map-container{height:100%;width:100%}@media (max-width: 1280px){.suivi-cockpit{grid-template-columns:1fr;height:auto}.suivi-pane{height:66vh}}.suivi-tl{display:flex;flex-direction:column;gap:3px}.suivi-tl-legend{display:flex;align-items:center;gap:16px;font-size:.78em;margin-bottom:6px}.suivi-tl-key{display:inline-block;width:12px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}.suivi-tl-key.plan{background:color-mix(in srgb,var(--accent) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}.suivi-tl-key.meas{background:var(--accent)}.suivi-tl-row{display:grid;grid-template-columns:84px 1fr 54px;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 6px;cursor:pointer;background:transparent;color:inherit;text-align:left}.suivi-tl-row:hover{background:var(--surface-2)}.suivi-tl-row.sel{border-color:var(--accent);background:var(--surface-2)}.suivi-tl-row.current .suivi-tl-wk{font-weight:700}.suivi-tl-wk{display:flex;flex-direction:column;gap:1px;min-width:0}.suivi-tl-wknum{font-size:.83em;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}.suivi-tl-wkrange{font-size:.7em;white-space:nowrap}.suivi-tl-now{font-size:.64em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 5px;line-height:1.4}.suivi-tl-bars{display:flex;flex-direction:column;gap:2px}.suivi-tl-bar{height:8px;border-radius:4px;min-width:2px}.suivi-tl-bar.plan{background:color-mix(in srgb,var(--accent) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}.suivi-tl-bar.meas{background:var(--accent)}.suivi-tl-counts{font-size:.82em;text-align:right;font-variant-numeric:tabular-nums}.suivi-tl-counts .plan{color:var(--text-muted, #888)}.suivi-tl-counts .meas{color:var(--accent);font-weight:700}.suivi-tl-counts .sep{opacity:.5;margin:0 2px}.suivi-frozen-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:14px}.suivi-frozen-banner .material-symbols-outlined{font-size:28px;opacity:.7}.suivi-frozen-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.suivi-frozen-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.suivi-frozen-val{font-size:1.8em;font-weight:700;font-variant-numeric:tabular-nums}.suivi-frozen-lbl{font-size:.84em;margin-top:4px}.suivi-frozen-link{margin-top:12px;font-size:.86em}.suivi-funnel-section{margin-bottom:16px}.suivi-funnel-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:.82em}.suivi-funnel-label{font-weight:600}.suivi-unrouted{margin:0 0 16px;padding:10px 14px;border-radius:8px;border:1px solid var(--warn-border, var(--border));background:var(--warn-bg, transparent)}.suivi-unrouted-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.suivi-unrouted-icon{color:var(--warn-fg, inherit);flex:none}.suivi-unrouted-title{margin:0;font-size:.92em;font-weight:600}.suivi-unrouted-hint{font-size:.82em}.suivi-unrouted-counts{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}.suivi-unrouted-counts li{font-size:.86em}.suivi-unrouted-n{font-variant-numeric:tabular-nums;font-size:1.05em}.suivi-unrouted-keys{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.suivi-unrouted-key{font-size:.78em;padding:1px 6px;border-radius:4px;background:var(--code-bg, var(--surface-2, transparent))}.suivi-unrouted-more{font-size:.78em}.suivi-stage-legend-wrap{padding:4px 12px 6px;border-bottom:1px solid var(--border)}.suivi-stage-legend{font-size:.74em;flex-wrap:wrap;gap:10px}.suivi-pane-hint{margin-left:auto}.suivi-list-controls{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.suivi-list-filters{display:flex;flex-wrap:wrap;gap:4px}.suivi-fchip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:999px;padding:1px 8px;cursor:pointer;font-size:.74em}.suivi-fchip:hover{background:var(--bg)}.suivi-fchip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.suivi-fchip-n{font-variant-numeric:tabular-nums;font-weight:700}.cc-calendar{display:flex;flex-direction:column;gap:16px}.cal-conflict-modal{width:min(560px,94vw);padding:20px 24px}.cal-conflict-title{margin:0 0 8px}.cal-conflict-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}.cal-conflict-list li{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:.9em}.cal-conflict-list .cal-conflict-target{color:var(--ok, #2e9e5b);font-weight:600}.cal-conflict-routes{font-size:.82em;margin:8px 0 14px}.cal-conflict-actions{display:flex;gap:10px;justify-content:flex-end}.planning-conflict-banner{margin-bottom:12px}.planning-conflict-banner .pcb-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.planning-conflict-banner .pcb-msg{font-weight:600}.planning-conflict-banner .pcb-codes{font-family:var(--mono, monospace);font-size:.85em;opacity:.85}.planning-conflict-banner .pcb-actions{display:flex;gap:8px;margin-left:auto}.gestion-night.nuit-conflit{border-color:var(--danger, #d9534f);background:color-mix(in srgb,var(--danger, #d9534f) 8%,transparent)}.gestion-night-conflit{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:.72em;color:var(--danger, #d9534f);font-weight:600}.gestion-nuit-bar.nuit-conflit{border-bottom:2px solid var(--danger, #d9534f)}.gestion-nuit-conflit{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:.8em;color:var(--danger, #d9534f);font-weight:600}.gestion-trj-conflit-chip{font-size:.7em;padding:1px 6px;border-radius:999px;margin-left:4px;border:1px solid var(--danger, #d9534f);color:var(--danger, #d9534f);white-space:nowrap}.cc-cal-card-title{margin:0 0 10px;font-size:.95em}.cc-cal-openended{padding:24px 16px;text-align:center;color:var(--muted)}.cc-cal-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cc-cal-topbar-title{display:flex;flex-direction:column;gap:2px}.cc-cal-topbar-title h3{margin:0;font-size:1.35em}.cc-cal-topbar-actions{display:flex;align-items:center;gap:8px}.cc-cal-window-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.cc-cal-dates{display:flex;align-items:flex-end;gap:18px}.cc-cal-date{display:flex;flex-direction:column;gap:3px}.cc-cal-date-lbl{font-size:.72em;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.cc-cal-date-val{font-size:1.15em;font-variant-numeric:tabular-nums}.cc-cal-date-val.is-end{color:var(--accent);font-weight:600}.cc-cal-date-arrow{color:var(--muted);margin-bottom:4px}.cc-cal-extend{display:flex;align-items:center;gap:8px}.cc-cal-window-note{margin:12px 0 0;font-size:.85em}.cc-cal-extend-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.cc-cal-extend-form input[type=text]{flex:1;min-width:200px}.cc-cal-subway{display:flex;align-items:flex-start;justify-content:space-between;list-style:none;padding:18px 8px 4px;margin:0;position:relative;gap:8px}.cc-cal-subway:before{content:"";position:absolute;top:25px;left:24px;right:24px;height:2px;background:var(--border);z-index:0}.cc-cal-station{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:.82em;flex:1;min-width:0;position:relative;z-index:1;gap:3px}.cc-cal-station-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);background:var(--surface);margin-bottom:6px}.cc-cal-station.is-current .cc-cal-station-dot{border-color:var(--accent);background:var(--accent)}.cc-cal-station-date{font-variant-numeric:tabular-nums;font-weight:600}.cc-cal-station.is-current .cc-cal-station-date{color:var(--accent)}.cc-cal-station-label,.cc-cal-station-meta,.cc-cal-station-reason{color:var(--muted);font-size:.94em}.cc-cal-station-reason{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-cal-weekdays{display:flex;flex-direction:column;gap:8px}.cc-cal-weekdays-lbl{display:inline-flex;align-items:center;gap:6px;font-weight:600}.cc-cal-weekdays-lbl .muted{font-weight:400;font-size:.88em}.cc-cal-info{color:var(--muted)}.cc-cal-pills{display:flex;flex-wrap:wrap;gap:8px}.cc-cal-pill{padding:7px 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-size:.9em}.cc-cal-pill.is-on{border-color:#3b82f6;background:#3b82f61f;color:#2563eb;font-weight:600}.cc-cal-pill:disabled{cursor:default;opacity:.6}.cc-cal-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media (max-width: 1100px){.cc-cal-main{grid-template-columns:1fr}}.cc-cal-month-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cc-cal-nav{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;color:var(--fg)}.cc-cal-nav:disabled{opacity:.4;cursor:default}.cc-cal-month-title{margin:0;font-size:1.05em;min-width:130px}.cc-cal-month-tabs{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.cc-cal-month-tab{padding:4px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:.85em}.cc-cal-month-tab.is-on{background:#3b82f61f;color:#2563eb;font-weight:600}.cc-cal-weekday-header{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.cc-cal-weekday-header span{text-align:center;font-size:.78em;color:var(--muted)}.cc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cc-cal-cell{position:relative;aspect-ratio:1.15;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;padding:6px;text-align:left;display:flex;flex-direction:column;color:var(--fg)}.cc-cal-cell.is-pad{border:none;background:transparent;cursor:default}.cc-cal-cell.is-selected{outline:2px solid var(--accent);outline-offset:1px}.cc-cal-cell-num{font-size:.9em;font-variant-numeric:tabular-nums;font-weight:600}.cc-cal-cell-tag{font-size:.68em;margin-top:auto}.cc-cal-p-mesure{background:#3b82f621;border-color:#3b82f659}.cc-cal-p-mesure .cc-cal-cell-num{color:#2563eb}.cc-cal-p-weekend{background:#78829114}.cc-cal-p-weekend .cc-cal-cell-num{color:var(--muted)}.cc-cal-p-ferie{background:#f59e0b26;border-color:#f59e0b66}.cc-cal-p-ferie .cc-cal-cell-num,.cc-cal-p-ferie .cc-cal-cell-tag{color:#b45309}.cc-cal-p-contrainte{background:#ef44441f;border-color:#ef444459}.cc-cal-p-contrainte .cc-cal-cell-num,.cc-cal-p-contrainte .cc-cal-cell-tag{color:#dc2626}.cc-cal-p-hors{background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(120,130,145,.12) 5px,rgba(120,130,145,.12) 10px);border-style:dashed}.cc-cal-p-hors .cc-cal-cell-num{color:var(--muted);opacity:.7}.cc-cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:.8em;color:var(--muted)}.cc-cal-legend-item{display:inline-flex;align-items:center;gap:6px}.cc-cal-dot{width:12px;height:12px;border-radius:50%;flex:none;border:2px solid transparent}.cc-cal-dot.cc-cal-p-mesure{background:transparent;border-color:#3b82f6}.cc-cal-dot.cc-cal-p-weekend{background:transparent;border-color:var(--muted)}.cc-cal-dot.cc-cal-p-ferie{background:#f59e0b;border-color:#f59e0b}.cc-cal-dot.cc-cal-p-contrainte{background:#ef4444;border-color:#ef4444}.cc-cal-dot.cc-cal-p-hors{background:transparent;border-color:var(--muted);border-style:dashed}.cc-cal-side{display:flex;flex-direction:column;gap:16px}.cc-cal-side-title{font-size:.72em;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.cc-cal-nuit-day{margin:6px 0 12px;font-size:1.02em}.cc-cal-nuit-empty{margin:8px 0 0;font-size:.88em}.cc-cal-radio{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-size:.92em}.cc-cal-radio.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.cc-cal-exc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cc-cal-exc-add{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.cc-cal-exc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.cc-cal-exc-empty{padding:8px 0;font-size:.88em}.cc-cal-exc-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.9em}.cc-cal-exc-main{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.cc-cal-exc-date{font-variant-numeric:tabular-nums;font-weight:600}.cc-cal-exc-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-cal-exc-kind{font-size:.85em}.cc-cal-exc-kind.kind-ferie{color:#b45309}.cc-cal-exc-kind.kind-conge_operateur{color:#dc2626}.cc-cal-exc-del{border:none;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;padding:2px}.cc-cal-preset{margin-top:10px}.suivi-list .cs-list-search{width:100%;box-sizing:border-box;min-width:0}.cs-list-table tbody .cs-row{cursor:pointer}.cs-list-table tbody .cs-row:hover{background:var(--surface-2)}.cs-list-table tbody .cs-row.sel{background:color-mix(in srgb,var(--accent) 16%,transparent)}.trajet-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.trajet-detail{display:flex;flex-direction:column;width:100%}.trajet-actions-sep{align-self:stretch;width:1px;min-height:24px;background:var(--border);margin:0 8px}.trajet-delete-btn{margin-right:4px}.trajet-detail-frame{border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface);margin-top:8px;padding:0 16px 16px}.tdframe-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 -16px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2, var(--surface));border-radius:var(--radius, 8px) var(--radius, 8px) 0 0}.tdframe-idcol{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.tdframe-crumb{font-size:.85em}.tdframe-code{font-size:1.15em;font-weight:700}.tdframe-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.trajet-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.trajet-detail-head h2{margin:0 0 4px;font-size:1.2em}.trajet-detail-body{padding:16px 18px;overflow:auto}.trajet-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:14px}.trj-res-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.trj-res-figure{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.trj-res-figure-val{font-size:1.6em;font-weight:600;color:var(--accent)}.trj-res-figure-lbl{font-size:.8em;margin-top:2px}.trj-res-counts{margin-top:10px;font-size:.85em}.trj-res-kpis{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.trj-res-kpi{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font:inherit}.trj-res-kpi.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.trj-res-kpi:not(.is-active){opacity:.6}.trj-res-kpi-dot{width:9px;height:9px;border-radius:50%;flex:none}.trj-res-kpi-count{font-weight:700;font-variant-numeric:tabular-nums}.trj-res-kpi-lbl{font-size:.85em}.trj-res-kpi-pct{font-size:.8em}.trj-scope-inventory{height:64vh;min-height:420px;display:flex;flex-direction:column}.trj-scope-inventory .inv-shell{flex:1;min-height:0}.trj-scope-figures{margin-bottom:14px}.trj-scope-fig-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.trj-scope-compute{display:inline-flex;align-items:center;gap:8px}.trj-scope-buffer{display:inline-flex;align-items:center;gap:6px;font-size:.85em}.trj-scope-fig-table{width:100%;margin-top:6px}.trj-scope-fig-table th,.trj-scope-fig-table td{text-align:left;padding:4px 8px}.trj-scope-fig-table td:not(:first-child),.trj-scope-fig-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.trj-res-soon{margin-top:4px;font-size:.82em}.trj-res-open-revue{margin-top:14px}.trj-res-incidents{margin:14px 0}.trj-res-incidents-by-type{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.trj-res-incidents-list{list-style:none;margin:0;padding:0}.trj-res-incident-row{display:flex;gap:10px;padding:3px 0;border-top:1px solid var(--border)}.trj-res-incidents-soon{font-size:.82em;margin-top:6px}.trj-mes-banner{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid var(--border);font-weight:600}.trj-mes-banner.measured{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}.trj-mes-banner.partial{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.trj-mes-coverage{margin-top:12px}.trj-mes-cov-val{font-size:1.6em;font-weight:700;color:var(--accent)}.trj-mes-cov-lbl{margin-left:8px}.trj-mes-counts{margin-top:8px;font-size:.85em}.trj-mes-soon{margin-top:6px;font-size:.82em}.trj-mes-map{height:320px;margin-top:12px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.trj-mes-deliveries-sec{margin-top:16px}.trj-mes-deliveries-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.trj-mes-voir{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.trj-mes-voir-head{display:flex;align-items:center;justify-content:space-between}.trj-mes-voir-head-actions{display:flex;align-items:center;gap:6px}.trj-mes-voir-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 18px;margin:8px 0 0}.trj-mes-voir-dl dt{font-size:.74em;color:var(--text-muted)}.trj-mes-voir-dl dd{margin:0 0 4px;font-size:.9em}.trj-mes-voir-err{font-size:.85em;margin-top:6px}.trj-mes-fname{white-space:normal;word-break:break-word;font-size:.85em}.tdf-lbl{font-size:.74em}.tdf-val{font-weight:600;font-variant-numeric:tabular-nums}.tdf-strong .tdf-val{color:var(--text)}.tdf-strong{background:var(--surface-2, var(--surface));border-radius:6px;padding:6px 8px}.trj-plan-status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.trj-plan-infos,.trj-plan-actions,.trj-plan-ext{margin:0 0 14px}.trj-plan-actions-groups{display:flex;flex-wrap:wrap;gap:14px}.trj-plan-actions-grp{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:6px}.trj-plan-grp-lbl{font-size:.74em;text-transform:uppercase;letter-spacing:.03em}.trj-plan-ext-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.trj-plan-ext-btns{display:inline-flex;gap:6px}.trj-plan-soon{margin-top:10px}.trj-plan-dlg{display:flex;flex-direction:column;gap:6px}.trj-plan-dlg label{display:flex;flex-direction:column;gap:4px}.trj-plan-night-dlg .trj-plan-dlg-label{font-weight:600}.night-picker{display:flex;flex-direction:column;gap:12px;min-width:260px}.night-picker-quick-label{font-size:.8em;display:block;margin-bottom:4px}.night-picker-chips{display:flex;flex-wrap:wrap;gap:6px}.night-chip{border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:.82em;background:var(--surface-1, #fff);cursor:pointer;white-space:nowrap}.night-chip:hover{border-color:var(--accent)}.night-chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.night-picker-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.night-picker-cal-head .np-month{font-weight:600;text-transform:capitalize;font-size:.88em}.np-nav{border:1px solid var(--border);background:none;border-radius:6px;cursor:pointer;padding:2px;display:inline-flex}.np-nav:disabled{opacity:.4;cursor:default}.night-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.np-dow{text-align:center;font-size:.7em;padding:2px 0}.np-cell{text-align:center;padding:5px 0;border:1px solid transparent;border-radius:6px;font-size:.82em;background:none;cursor:pointer}.np-cell:not(.np-disabled):not(.np-empty):hover{border-color:var(--accent)}.np-cell.np-disabled{color:var(--text-muted, #adb5bd);cursor:default}.np-cell.np-empty{cursor:default}.np-cell.selected{background:var(--accent);color:#fff}.trj-plan-night{margin:0 0 14px}.trj-plan-night-list{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:2px}.trj-plan-night-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px}.trj-plan-night-row.is-this{background:color-mix(in srgb,var(--good) 14%,transparent)}.trj-plan-night-row .cs-stage-dot{width:9px;height:9px;border-radius:50%;background:var(--text-muted);flex:0 0 auto}.trj-plan-night-code{font-weight:600;font-variant-numeric:tabular-nums}.trajet-detail-map{height:260px;width:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.trajet-detail-map-wrap{position:relative}.map-basemap-switch{position:absolute;top:10px;left:10px;z-index:2;display:flex;gap:2px;padding:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 4px #0000002e}.map-basemap-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--text-muted);cursor:pointer}.map-basemap-btn:hover{background:var(--surface-2);color:var(--text)}.map-basemap-btn.on{background:var(--accent);color:#fff}.trajet-define{margin-top:16px}.trajet-define-hint{margin:2px 0 8px}.trajet-define-map{height:280px;width:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.trajet-define-map-wrap{position:relative}.trajet-define-map-empty{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:1;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:.9em}.trajet-define-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}.trajet-define-status{font-size:.86em;color:var(--text-muted)}.trajet-define-waypoints{display:flex;flex-direction:column;gap:6px;width:100%}.td-waypoint-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:.86em}.td-waypoint-coord{font-variant-numeric:tabular-nums;color:var(--text);margin-right:auto}.td-waypoint-mv,.td-waypoint-rm{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;line-height:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-size:.9em;transition:background .12s,border-color .12s}.td-waypoint-mv:hover:not(:disabled),.td-waypoint-rm:hover:not(:disabled){background:var(--surface-hover, var(--surface-2));border-color:var(--accent)}.td-waypoint-rm{color:var(--danger, #d33)}.td-waypoint-mv:disabled{opacity:.4;cursor:default}.td-route-stale{display:inline-flex;align-items:center;gap:5px;font-size:.82em;color:var(--warning, #b8860b);font-weight:600}.trajet-route-entries{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.task-actions{display:flex;flex-wrap:wrap;gap:6px}.task-blocking-icon{display:inline-flex;align-items:center;color:var(--warn)}.task-status{display:inline-block;padding:1px 9px;border-radius:999px;font-size:.82em;border:1px solid var(--border)}.task-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:60;display:flex;align-items:stretch;justify-content:flex-end}.task-detail-modal{background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow, -8px 0 28px rgba(0,0,0,.28));width:min(560px,100vw);height:100%;max-height:100vh;overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column}.task-detail-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-detail-title{margin:0;font-size:1.15em;flex:1 1 auto}.task-detail-blk{display:inline-flex;align-items:center;gap:3px;font-size:.78em;font-weight:700;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);border-radius:6px;padding:2px 7px}.task-detail-objet{margin:6px 0;font-size:.9em}.task-obj-link{display:inline-flex;align-items:center;gap:2px;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;font:inherit;text-align:left}.task-title-link{background:none;border:0;padding:0;cursor:pointer;color:var(--accent);font:inherit;text-align:left}.task-obj-link:hover,.task-title-link:hover{text-decoration:underline}.task-detail-desc{margin:8px 0}.task-detail-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.86em;padding-bottom:10px;border-bottom:1px solid var(--border)}.task-detail-hist-title{margin:14px 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.task-timeline{list-style:none;margin:0;padding:0}.task-tl-node{position:relative;padding:0 0 16px 24px}.task-tl-node:before{content:"";position:absolute;left:5px;top:12px;bottom:-4px;width:2px;background:var(--border)}.task-tl-node:last-child:before{display:none}.task-tl-dot{position:absolute;left:0;top:3px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);border:2px solid var(--surface);box-shadow:0 0 0 2px var(--border)}.task-tl-node.tone-start .task-tl-dot{background:var(--accent);box-shadow:0 0 0 2px var(--accent)}.task-tl-node.tone-reassign .task-tl-dot{background:var(--warn);box-shadow:0 0 0 2px var(--warn)}.task-tl-node.tone-reject .task-tl-dot{background:var(--bad);box-shadow:0 0 0 2px var(--bad)}.task-tl-node.tone-complete .task-tl-dot{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 40%,transparent)}.task-tl-headrow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.task-tl-action{font-size:.92em}.task-tl-node.tone-reject .task-tl-action{color:var(--bad)}.task-tl-node.tone-complete .task-tl-action{color:var(--good)}.task-tl-actor{font-size:.82em}.task-tl-reassign{font-size:.8em;border:1px solid var(--border);border-radius:5px;padding:1px 6px}.task-tl-note{display:flex;align-items:flex-start;gap:5px;margin-top:4px;padding:5px 9px;border-radius:6px;background:var(--surface-2);font-size:.86em}.task-tl-node.tone-reject .task-tl-note{background:color-mix(in srgb,var(--bad) 10%,transparent);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent)}.task-tl-node.tone-complete .task-tl-note{background:color-mix(in srgb,var(--good) 10%,transparent);border:1px solid color-mix(in srgb,var(--good) 30%,transparent)}.task-status-open{border-color:var(--accent)}.task-status-in_progress{border-color:var(--accent);color:var(--accent)}.task-status-done{border-color:var(--ok, #2e9e5b);color:var(--ok, #2e9e5b)}.task-status-rejected,.task-status-cancelled{opacity:.7}.hist-tl{list-style:none;margin:0;padding:0}.hist-tl-node{position:relative;padding:0 0 16px 24px}.hist-tl-node:before{content:"";position:absolute;left:5px;top:14px;bottom:-4px;width:2px;background:var(--border)}.hist-tl-node:last-child:before{display:none}.hist-tl-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.hist-tl-dot{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);border:2px solid var(--surface);box-shadow:0 0 0 2px var(--border)}.hist-tl-node.tone-update .hist-tl-dot{background:var(--text-muted);box-shadow:0 0 0 2px var(--border)}.hist-tl-node.tone-create .hist-tl-dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}.hist-tl-node.tone-revert .hist-tl-dot{background:var(--warn);box-shadow:0 0 0 2px var(--warn)}.hist-tl-node.tone-delete .hist-tl-dot{background:var(--bad);box-shadow:0 0 0 2px var(--bad)}.hist-tl-headrow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hist-tl-action{font-size:.92em;font-weight:600}.hist-tl-node.tone-create .hist-tl-action{color:var(--accent)}.hist-tl-node.tone-revert .hist-tl-action{color:var(--warn)}.hist-tl-node.tone-delete .hist-tl-action{color:var(--bad)}.hist-tl-field{font-size:.8em;border:1px solid var(--border);border-radius:5px;padding:1px 6px}.hist-tl-actor{font-size:.82em}.hist-tl-revert{margin-left:auto}.hist-tl-note{display:inline-flex;align-items:baseline;gap:6px;margin-top:4px;padding:4px 9px;border-radius:6px;background:var(--surface-2);font-size:.86em}.hist-tl-node.tone-revert .hist-tl-note{background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.hist-tl-old{text-decoration:line-through;color:var(--text-muted)}.hist-tl-new{font-weight:600}.hist-tl-terminus{font-size:.82em;margin-top:3px}.task-reassign-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 12px);box-shadow:var(--shadow, 0 8px 28px rgba(0,0,0,.28));padding:18px 20px;width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px}.task-reassign-title{margin:0}.task-reassign-select{padding:6px 10px}.task-note-label{font-size:.82em;color:var(--text-muted)}.task-note-hint{color:var(--bad);font-weight:600}.task-note-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface);color:inherit;font:inherit;resize:vertical}.obj-tasks-section{margin:14px 0 0;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--surface-2, var(--surface));padding:10px 12px}.obj-tasks-list{max-height:320px;overflow-y:auto}.obj-tasks-head{display:flex;align-items:center;gap:10px}.obj-tasks-toggle{display:inline-flex;align-items:center;gap:6px;margin-right:auto;background:none;border:none;padding:2px 0;cursor:pointer;color:inherit}.obj-tasks-toggle:disabled{cursor:default}.obj-tasks-title{font-weight:600}.obj-tasks-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--surface-2, rgba(127,127,127,.18));font-size:.75em;font-weight:700}.obj-task-mine{border-left:3px solid var(--accent);padding-left:6px;background:var(--accent-soft, rgba(80,120,255,.08));border-radius:3px}.obj-task-mine-badge{font-size:.7em;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}.obj-task-hold-chip{font-size:.78em;padding:1px 9px;border-radius:999px;border:1px solid var(--warn, #d19a00);color:var(--warn, #d19a00)}.obj-tasks-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.obj-task-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.obj-task-title{font-weight:500}.obj-task-blk{font-size:.72em;color:var(--warn, #d19a00)}.task-create-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 12px);box-shadow:var(--shadow, 0 8px 28px rgba(0,0,0,.28));padding:18px 20px;width:min(460px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px}.task-create-title{margin:0}.task-create-field{display:flex;flex-direction:column;gap:4px}.task-create-field input,.task-create-field textarea{padding:6px 10px}.task-create-blocking{display:flex;align-items:center;gap:8px}.valrule-intro{margin:0 0 12px}.valrule-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;align-items:start}.valrule-rail{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:var(--radius, 12px);padding:10px;max-height:72vh;overflow:auto}.valrule-search{width:100%;margin-bottom:8px;padding:6px 10px}.valrule-group-head{font-size:.78em;text-transform:uppercase;opacity:.7;margin:8px 0 4px}.valrule-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:none;cursor:pointer;width:100%}.valrule-row:hover{border-color:var(--border)}.valrule-row.on{border-color:var(--accent)}.valrule-row-title{font-weight:600}.valrule-row-layer{font-size:.78em;opacity:.75}.valrule-row-sev{font-size:.78em;opacity:.85}.valrule-row-off{font-size:.72em;color:var(--warn, #d19a00)}.valrule-editor,.valrule-detail-pane{border:1px solid var(--border);border-radius:var(--radius, 12px);padding:14px 16px}.valrule-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.valrule-editor-head h3{margin:0}.valrule-field{display:flex;flex-direction:column;gap:4px;margin:10px 0}.valrule-field>span{font-weight:600;opacity:.8;font-size:.9em}.valrule-field-inline{flex-direction:row;align-items:center;gap:8px}.valrule-cond-builder{border:1px dashed var(--border);border-radius:8px;padding:10px}.valrule-cond-leaf{display:flex;flex-direction:column;gap:8px}.valrule-tree-leaf{display:flex;gap:8px;align-items:flex-start}.valrule-tree-leaf .valrule-cond-leaf{flex:1;min-width:0}.valrule-tree-leaf-ops{display:inline-flex;gap:4px;flex-shrink:0;flex-wrap:wrap;padding-top:2px}.valrule-tree-op-btn{padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:inherit;cursor:pointer;font-size:.75rem;font-weight:600}.valrule-tree-op-btn:hover{background:var(--accent-soft, #eaf1fb)}.valrule-tree-rm{padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted, #7a828c);cursor:pointer;font-size:.75rem;display:inline-flex;align-items:center;gap:3px}.valrule-tree-node{border-left:3px solid var(--accent, #2563eb);padding-left:10px;margin:4px 0}.valrule-tree-node--or{border-left-color:var(--info, #2f7fb5)}.valrule-tree-node--not{border-left-color:var(--danger, #d64545)}.valrule-tree-node-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.valrule-tree-children{display:flex;flex-direction:column;gap:8px}.valrule-tree-add{margin-top:6px;padding:3px 10px;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--accent, #2563eb);cursor:pointer;font-size:.8rem;display:inline-flex;align-items:center;gap:4px}.valrule-cond-param{display:flex;flex-direction:column;gap:3px}.valrule-cond-param>span{font-size:.82em;opacity:.75}.valrule-cond-guard{margin-top:6px;border-top:1px solid var(--border);padding-top:8px}.valrule-cond-guard-toggle{display:flex;align-items:center;gap:6px}.valrule-cond-guard-fields{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.valrule-sev-matrix{display:flex;gap:10px;flex-wrap:wrap}.valrule-sev-cell{display:flex;flex-direction:column;gap:3px}.valrule-sev-cell>span{font-size:.82em;opacity:.75}.valrule-editor-actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}.valrule-detail-actions{display:flex;gap:8px;margin-top:12px}.valrule-preview-sample{margin:6px 0 0;padding-left:18px;font-size:.86em}.valrule-detail{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0}.valrule-detail dt{font-weight:600;opacity:.8}.valrule-detail dd{margin:0}.valrule-cond{font-size:.82em;word-break:break-word}.study-zone-bind{border:1px solid var(--border);border-radius:var(--radius, 12px);padding:12px 14px;margin-bottom:12px;background:var(--surface-2, transparent)}.study-zone-bind-title{margin:0 0 8px;font-size:.95em}.study-zone-reviewer{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:8px 10px;margin-bottom:12px;border:1px solid var(--accent);border-radius:8px}.study-zone-reviewer .szr-line{margin:0;font-weight:600}.study-zone-reviewer .szr-statut{font-size:.8em;padding:1px 8px;border:1px solid var(--border);border-radius:999px;opacity:.9}.study-zone-reviewer .szb-bound{font-size:.85em;opacity:.85;margin-left:auto}.szr-verdict{font-size:.8em;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.szr-verdict-ok{border-color:var(--ok, #2e9e5b);color:var(--ok, #2e9e5b)}.szr-verdict-problem{border-color:var(--danger, #d9534f);color:var(--danger, #d9534f)}.szr-verdict-info{border-color:var(--accent);color:var(--accent)}.szr-verdict-override{border-color:var(--warn, #d19a00);color:var(--warn, #d19a00)}.study-zone-bind-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.study-zone-bind-row{display:flex;align-items:baseline;gap:10px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;cursor:pointer;flex-wrap:wrap}.study-zone-bind-row.on{border-color:var(--accent)}.study-zone-bind-row .szb-name{font-weight:600}.study-zone-bind-row .szb-class{font-size:.82em;opacity:.85}.study-zone-bind-row .szb-vals{font-size:.82em;opacity:.8;margin-left:auto}.study-zone-bind-confirm{margin-top:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--accent)}.study-zone-bind-confirm .szb-confirm-line{margin:0 0 4px;font-weight:600}.study-zone-bind-confirm .szb-bound{font-size:.85em;opacity:.9}.trj-identity-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0}.trj-identity-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.trj-id-save-error{flex-basis:100%;margin:6px 0 0}.trajet-import-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 12px);box-shadow:var(--shadow, 0 8px 28px rgba(0, 0, 0, .28));width:min(560px,calc(100vw - 32px));padding:20px 22px;max-height:88vh;overflow:auto}.trajet-import-title{margin:0 0 12px}.trajet-planner{display:flex;flex-direction:column;margin-top:12px;overflow:hidden;border:1px solid var(--border, #2a333f);border-radius:var(--radius, 12px);background:var(--surface)}.trajet-planner-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border, #2a333f);background:var(--surface-2, #161c24)}.trajet-planner-title{font-size:1.05rem;font-weight:700;color:var(--text, #e8edf3)}.trj-passages{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.trj-passages-note{flex-basis:100%;margin-top:2px;font-size:.85em}.trajet-planner-actions{display:flex;align-items:center;gap:8px}.trajet-planner-body{flex:1;min-height:0;overflow:auto;padding:12px 16px}.trajet-planner-body .trajet-define{margin-top:0}.trajet-planner-body .trajet-define-map{height:min(64vh,620px);min-height:420px}.trajet-define-maxdur{display:flex;align-items:center;gap:6px}.trajet-define-maxdur input{width:5em}.trajet-define-result{margin-top:6px;color:var(--accent);font-weight:600}.trajet-scope-map{height:220px;width:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);margin-bottom:8px}.trajet-scope-map-wrap{position:relative}.trajet-detail-routehist{margin-top:8px}.chip.trajet-routehist-current{background:var(--good-bg, var(--surface-2));color:var(--good);border:1px solid var(--good)}.trajet-scope-split{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.3fr);gap:12px;align-items:start}.trajet-scope-split-map{position:sticky;top:8px}.trajet-scope-split-map .trajet-scope-map{height:420px;margin-bottom:0}.trajet-scope-split-list{min-width:0}.trajet-scope-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.trajet-scope-bulkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;padding:6px 10px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-2)}@media (max-width: 900px){.trajet-scope-split{grid-template-columns:1fr}.trajet-scope-split-map{position:static}.trajet-scope-split-map .trajet-scope-map{height:240px}}.imp-issues-map{height:240px;width:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.imp-issues-map-wrap{margin:8px 0}.imp-issues-map-note{margin:6px 2px 0;font-size:.82em}.imp-issue-row-open,.imp-issue-row-reopened{background:color-mix(in srgb,var(--bad) 14%,transparent)}.imp-issue-row-open:hover,.imp-issue-row-reopened:hover{background:color-mix(in srgb,var(--bad) 22%,transparent)}.imp-issue-row-open td:first-child,.imp-issue-row-reopened td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.imp-issue-guide{margin:8px 0 12px;padding:10px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.imp-issue-guide-what{display:flex;align-items:flex-start;gap:6px;margin:0;font-weight:600}.imp-issue-guide-fix{margin:4px 0 0;font-size:.9em}.imp-issue-action-help{margin:10px 0 0;padding-left:20px;font-size:.82em;display:flex;flex-direction:column;gap:3px}.imp-issue-action-help li{list-style:disc}.inv-draw-undo{position:absolute;top:10px;left:10px;z-index:5;display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;box-shadow:var(--shadow)}.inv-scope-legend{position:absolute;bottom:10px;right:10px;z-index:5;display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px;box-shadow:var(--shadow);font-size:.78em}.inv-scope-legend .iscl-item{display:flex;align-items:center;gap:6px;white-space:nowrap}.inv-scope-legend .iscl-sw{width:11px;height:11px;border-radius:2px;flex:0 0 auto;border:1px solid var(--border)}.inv-draw-measure{position:absolute;bottom:10px;left:10px;z-index:5;display:flex;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;box-shadow:var(--shadow);font-size:.8em;color:var(--text-muted)}.inv-draw-measure b{color:var(--text)}.inv-actions-toolbar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;box-shadow:var(--shadow);font-size:.82em}.inv-table-wrap>.inv-actions-toolbar{position:static;transform:none;margin:6px auto 0;width:fit-content;max-width:100%;flex-wrap:wrap;justify-content:center}.inv-act-count{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-weight:600;padding-right:6px;border-right:1px solid var(--border)}.inv-act-btn{display:inline-flex;align-items:center;gap:4px;cursor:pointer;background:var(--surface-2, transparent);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 9px;font-size:1em}.inv-act-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.inv-act-btn:disabled{opacity:.4;cursor:not-allowed}.inv-act-clear{border:none;background:transparent;padding:4px 5px;color:var(--text-muted)}.inv-act-clear:hover:not(:disabled){color:var(--text);background:transparent}.inv-act-camp{display:inline-flex;align-items:center;gap:6px;padding-left:6px;border-left:1px solid var(--border)}.inv-act-camp-btn{border-color:var(--accent);color:var(--accent)}.inv-act-camp-legend{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);white-space:nowrap}.inv-act-camp-sw{width:11px;height:11px;border-radius:2px;flex:0 0 auto;border:1px solid var(--border)}.inv-act-camp-sw-in{background:var(--accent)}.inv-act-camp-sw-out{background:var(--text-muted);opacity:.5}.merge-review-modal{width:min(720px,94vw);max-height:86vh;display:flex;flex-direction:column;gap:12px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg, var(--shadow));overflow:auto}.merge-review-head{display:flex;align-items:center;justify-content:space-between}.merge-review-head h3{display:flex;align-items:center;gap:8px;margin:0}.merge-review-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.92em}.merge-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8em;border-radius:999px;padding:2px 9px;border:1px solid var(--border)}.merge-badge--warn{color:var(--warn, #d97706);border-color:var(--warn, #d97706)}.merge-badge--conflict{color:var(--bad, #e5484d);border-color:var(--bad, #e5484d)}.merge-review-parents{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.merge-parent-chips{display:flex;flex-wrap:wrap;gap:6px}.merge-parent-chip{display:inline-flex;align-items:center;gap:4px;font-size:.8em;background:var(--surface-2, #1e293b);border:1px solid var(--border);border-radius:999px;padding:2px 4px 2px 9px}.merge-parent-chip.is-donor{border-color:var(--accent)}.merge-parent-rm{display:inline-flex;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:1px}.merge-parent-rm:hover:not(:disabled){color:var(--bad, #e5484d)}.merge-parent-rm:disabled{opacity:.3;cursor:not-allowed}.merge-fields-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.merge-fields{width:100%;border-collapse:collapse;font-size:.84em}.merge-fields th,.merge-fields td{text-align:left;padding:5px 9px;border-bottom:1px solid var(--border)}.merge-fields thead th{position:sticky;top:0;background:var(--surface-2, #1e293b)}.merge-row--conflict{background:color-mix(in srgb,var(--bad, #e5484d) 12%,transparent)}.merge-conflict-i{color:var(--bad, #e5484d);margin-left:4px;vertical-align:middle}.merge-review-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.merge-foot-spacer{flex:1 1 auto}.inv-map-boxsel{position:absolute;z-index:7;pointer-events:none;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1.5px dashed var(--accent)}.inv-map-lasso-svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;width:100%;height:100%;pointer-events:none;overflow:visible}.inv-map-lasso-path{fill:color-mix(in srgb,var(--accent) 15%,transparent);stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 3}.inv-select-lasso-btn{position:absolute;bottom:10px;left:10px;z-index:6;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-size:.82em;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 3px #00000029}.inv-select-lasso-btn:hover{background:var(--surface-2)}.inv-select-lasso-btn.active{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.reseau-map-ctl{position:absolute;top:10px;left:10px;z-index:6;display:flex;flex-direction:column;gap:6px;max-width:232px}.reseau-overlay-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 9px;font-size:.82em;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 3px #00000029}.reseau-overlay-btn:hover{background:var(--surface-2)}.reseau-overlay-btn.active{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.reseau-overlay-btn .material-symbols-outlined{flex:none}.reseau-map-panel{display:flex;flex-direction:column;gap:8px;padding:9px 11px;font-size:.8em;line-height:1.35;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 4px #0000002e}.ilp-reseau{border-top:1px solid var(--border);margin-top:6px;padding-top:8px;display:flex;flex-direction:column;gap:8px}.ilp-reseau-toggle .material-symbols-outlined{color:var(--text-muted);flex:none}.reseau-map-count-chip{font-weight:600;white-space:normal}.reseau-map-muted{color:var(--text-muted);font-weight:400}.reseau-map-err{color:var(--bad, #e5484d);font-weight:500}.reseau-map-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.reseau-map-legend li{display:flex;align-items:center;gap:7px;white-space:nowrap}.reseau-map-legend .rml-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;border:1px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.rml-dot.rml-master{background:var(--map-inv-cabine, #ff8c42);width:13px;height:13px}.rml-dot.rml-sub{background:var(--map-inv-cabine, #ff8c42);opacity:.55}.rml-dot.rml-broken{background:var(--bad, #e5484d)}.rml-dot.rml-scope-in{background:var(--map-poly-in)}.rml-dot.rml-scope-out{background:var(--map-poly-out)}.rml-dot.rml-support{background:var(--map-inv-asset, #b07cff)}.rml-dot.rml-luminaire{background:var(--map-inv-lum-in, #4f9cf9);width:8px;height:8px}.reseau-map-hint{margin:0;font-size:.94em}.geom-palette{position:absolute;top:10px;left:10px;z-index:8;width:244px;display:flex;flex-direction:column;gap:10px;padding:12px;font-size:.82em;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 2px 10px #00000038}.geom-palette-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.geom-palette-title{font-weight:700;font-size:1.05em}.geom-palette-key{color:var(--text-muted);font-size:.9em;font-variant-numeric:tabular-nums}.geom-palette-hint{margin:0;padding:8px 10px;line-height:1.35;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--radius-sm)}.geom-palette-tools{display:flex;flex-direction:column;gap:5px}.geom-tool{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:1em;text-align:left;cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm)}.geom-tool:hover:not(:disabled){border-color:var(--accent)}.geom-tool.is-active{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.geom-tool:disabled{opacity:.5;cursor:not-allowed}.geom-tool .material-symbols-outlined{flex:none}.geom-tool-lbl{flex:1}.geom-tool-key{flex:none;min-width:20px;padding:1px 6px;text-align:center;font-size:.78em;font-weight:600;line-height:1.5;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px}.geom-tool.is-active .geom-tool-key{color:var(--accent-contrast, #fff);background:transparent;border-color:var(--accent-contrast, #fff)}.geom-palette-aids{display:flex;flex-wrap:wrap;gap:6px}.geom-aid{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:.92em;cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm)}.geom-aid:hover{border-color:var(--accent)}.geom-aid.is-on{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.geom-palette-err{margin:0;color:var(--bad, #e5484d);font-size:.92em}.geom-palette-invalid{display:flex;align-items:center;gap:6px;margin:0;padding:7px 9px;font-size:.9em;line-height:1.3;color:var(--bad, #e5484d);background:color-mix(in srgb,var(--bad, #e5484d) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad, #e5484d) 40%,transparent);border-radius:var(--radius-sm)}.geom-palette-invalid .material-symbols-outlined{flex:none}.geom-palette-hole{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.geom-palette-hole .geom-palette-hint{margin:0}.geom-tool-holedel{color:var(--bad, #e5484d)}.geom-palette-lock{display:flex;align-items:center;gap:6px;font-size:.9em;color:var(--text-muted);padding-top:8px;border-top:1px solid var(--border)}.geom-palette-lock .material-symbols-outlined{flex:none}.geom-palette-countdown{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;color:var(--text)}.geom-palette-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.inv-select-hint{position:absolute;bottom:52px;left:10px;z-index:6;max-width:min(420px,70%);display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:.82em;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 4px #0000002e;pointer-events:none}.inv-select-hint-icon{color:var(--accent);flex:0 0 auto}.inv-select-hint-txt{flex:1 1 auto}.inv-select-hint-dismiss{flex:0 0 auto;cursor:pointer;font-size:.92em;padding:2px 8px;pointer-events:auto;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:5px}.inv-select-hint-dismiss:hover{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.trajet-detail-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.td-table{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px}.td-table-head{font-weight:600;font-size:.9em;margin-bottom:8px}.td-chips{display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow:auto}.td-chip{font-size:.76em;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-family:var(--mono, ui-monospace, monospace)}.td-soon{font-size:.82em}.gestion-active-chip{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:.9em}.gestion-soon-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:14px 0;background:#f5a62318;border:1px solid #f5a62355;border-radius:var(--radius-sm);font-size:.9em}.gestion-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.gestion-cap{display:flex;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.gestion-cap-icon{font-size:26px;opacity:.85;flex:0 0 auto}.gestion-cap-title{font-weight:600;display:flex;align-items:center;gap:8px}.gestion-cap-mock{font-size:.66em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 6px}.gestion-cap-desc{font-size:.84em;margin-top:3px}.gestion-mock-note{font-size:.86em;opacity:.7}.gestion-toolbar{display:flex;align-items:center;gap:14px;margin:6px 0 12px;font-size:.9em}.gestion-guide-toolbar{flex-wrap:wrap;row-gap:10px;margin-bottom:12px}.gestion-guide-toolbar .gestion-active-chip{margin-top:0}.gestion-counts{font-size:.88em}.gestion-readonly{display:inline-flex;align-items:center;gap:6px;font-size:.86em;margin:0 0 12px}.gestion-starthere{padding:6px 0}.gestion-steps{margin:4px 0 0;padding:12px 16px;list-style:none;counter-reset:none;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.gestion-steps li{font-size:.88em;padding:4px 0;line-height:1.4}.gestion-card.draggable{cursor:grab}.help-guide-steps{margin:4px 0 0;padding-left:20px}.help-guide-steps li{padding:5px 0;line-height:1.45}.help-guide-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9em}.gestion-cockpit{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(320px,1.5fr) minmax(300px,1.1fr);gap:14px;height:calc(100vh - 320px);min-height:440px}.gestion-cockpit-parnuit{display:flex;flex-direction:column;gap:12px}.plan-nuit-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.plan-nuit-subhead{flex:1;min-width:200px;margin:0;font-size:.86em}.plan-nuit-carousel{display:flex;align-items:stretch;gap:10px;flex:1;min-height:0}.plan-nuit-edge{flex:0 0 auto;align-self:center;display:flex;align-items:center;justify-content:center;width:40px;height:64px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow)}.plan-nuit-edge:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.plan-nuit-edge:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.plan-nuit-card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.plan-nuit-card-side{opacity:.92;background:var(--surface-2)}.plan-nuit-card-side:hover{opacity:1;border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.plan-nuit-card-cap{display:flex;align-items:center;gap:4px;padding:8px 12px;width:100%;font-size:.76em;text-transform:uppercase;letter-spacing:.03em;border:none;background:none;color:var(--text-muted);cursor:pointer;border-bottom:1px solid var(--border)}.plan-nuit-card-prev .plan-nuit-card-cap{justify-content:flex-start}.plan-nuit-card-next .plan-nuit-card-cap{justify-content:flex-end}.plan-nuit-card-body{padding:12px;display:flex;flex-direction:column;gap:8px;cursor:pointer;flex:1}.plan-nuit-card-head{display:flex;flex-direction:column;gap:1px}.plan-nuit-weekday{font-size:.82em;text-transform:capitalize}.plan-nuit-date{font-size:1.15em}.plan-nuit-status{display:inline-flex;align-items:center;gap:5px;font-size:.82em;margin-top:2px}.plan-nuit-status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;flex:0 0 auto}.plan-nuit-status.is-free .plan-nuit-status-dot{background:transparent;border:1px solid var(--text-muted)}.plan-nuit-active-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block;flex:0 0 auto}.plan-nuit-sun{display:flex;align-items:center;gap:6px;font-size:.82em;flex-wrap:wrap}.plan-nuit-wx{display:inline-flex;align-items:center;gap:4px;font-size:.82em}.plan-nuit-wx.bad{color:var(--bad)}.plan-nuit-ctx-trajets{display:flex;flex-direction:column;gap:4px;margin-top:2px}.plan-nuit-ctx-trajet{display:flex;align-items:center;gap:6px;font-size:.84em;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.plan-nuit-ctx-stage{margin-left:auto;font-size:.92em}.plan-nuit-none{font-size:.86em;margin:4px 0}.plan-nuit-card-foot{padding:8px 12px;border-top:1px solid var(--border)}.plan-nuit-open{display:inline-flex;align-items:center;gap:4px}.plan-nuit-card-active{border:2px solid var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-nuit-active-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--accent);font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.03em}.plan-nuit-active-body{padding:12px}.plan-nuit-card-empty{align-items:center;justify-content:center}.plan-nuit-empty-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;text-align:center}@media (max-width: 1100px){.plan-nuit-card-side{display:none}.plan-nuit-carousel{gap:6px}}.gestion-night{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:var(--radius-sm);padding:7px 10px;margin-bottom:5px;cursor:pointer;text-align:left}.gestion-night:hover{outline:2px dashed color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:-2px}.gestion-night.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.gestion-night-d{display:inline-flex;align-items:center;gap:6px;font-size:.86em;text-transform:capitalize}.gestion-night-n{font-weight:700;font-variant-numeric:tabular-nums;background:var(--bg);border-radius:999px;padding:0 8px;font-size:.82em}.gestion-night-trajets{display:flex;flex-direction:column;gap:3px;margin:2px 0 6px 14px;padding-left:8px;border-left:2px solid var(--border)}.gestion-night-trj-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.gestion-night-trj{display:inline-flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;padding:2px 6px;border-radius:var(--radius-sm);cursor:pointer;font-size:.83em;color:inherit}.gestion-night-trj:hover{background:var(--surface-2, rgba(127,127,127,.12))}.gestion-night-trj.sel{background:var(--accent-soft, rgba(80,120,255,.14));box-shadow:inset 0 0 0 1px var(--accent)}.gestion-night-trj-code{font-weight:600;font-variant-numeric:tabular-nums}.gestion-night-ops{align-self:flex-start;display:inline-flex;align-items:center;gap:3px;margin-top:2px;background:none;border:none;color:var(--accent);cursor:pointer;font-size:.8em;padding:1px 4px}.gestion-toplan{background:var(--surface);border-style:dashed;margin-bottom:10px}.gestion-empty{padding:16px 4px}.gestion-nightpanel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;background:var(--surface-2)}.gnp-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.gnp-head strong{font-size:1.05em;text-transform:capitalize}.gnp-head .muted{font-size:.82em}.gnp-itinerary{margin:8px 0;font-size:.86em}.gnp-itin-head{display:flex;align-items:center;gap:5px;margin-bottom:4px}.gnp-itin-legs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.gnp-itin-leg{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.gnp-itin-order{min-width:1.6em;text-align:right}.gnp-itin-transit{display:inline-flex;align-items:center;gap:3px}.gnp-itin-total{margin-top:6px;padding-top:4px;border-top:1px solid var(--border)}.gnp-ctx{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0;font-size:.86em}.gnp-ctx-item{display:inline-flex;align-items:center;gap:5px}.gnp-ctx-item.risk{color:#e0533d}.gnp-risk{font-size:.82em;background:#e0533d22;color:#e0533d;border-radius:999px;padding:0 7px;margin-left:4px}.gnp-approx{width:100%;font-size:.74em;font-style:italic}.gnp-actions{display:flex;flex-wrap:wrap;gap:8px}.gnp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:var(--radius-sm);padding:6px 11px;cursor:pointer;font-size:.84em;font-weight:600;min-height:var(--btn-min-height, 32px)}.gnp-btn:hover{background:var(--bg)}.gnp-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.gnp-btn.primary:hover{filter:brightness(1.05)}.gnp-msg{display:flex;align-items:center;gap:6px;margin-top:10px;padding:7px 10px;font-size:.84em;background:#16a34a18;border:1px solid #16a34a44;border-radius:var(--radius-sm)}.gestion-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.gestion-card{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px;cursor:grab}.gestion-card:hover{border-color:var(--accent)}.gestion-card.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.gestion-card:active{cursor:grabbing}.gestion-card-top{display:flex;align-items:center;gap:6px}.gestion-card-grip{opacity:.5;display:inline-flex}.gestion-card-code{font-weight:700;flex:1}.gestion-card-meta{font-size:.78em;margin-top:3px;font-variant-numeric:tabular-nums}.gestion-card-road{font-size:.74em;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.gestion-cockpit{grid-template-columns:1fr;height:auto}.gestion-cockpit .suivi-pane{height:64vh}}.gestion-month{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:12px 2px 3px}.gestion-month-toggle{display:flex;align-items:center;gap:4px;width:100%;background:none;border:none;cursor:pointer;padding:4px 2px;text-align:left;color:inherit;font:inherit}.gestion-month-toggle:hover{color:var(--text)}.gestion-month-past{font-weight:400;text-transform:none;letter-spacing:0;opacity:.8}.gestion-backlog-list{display:flex;flex-direction:column;gap:3px;margin-top:8px}.gestion-backlog-card{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:5px;color:inherit;font:inherit;text-align:left}.gestion-backlog-card:hover{border-color:var(--accent)}.gestion-backlog-card.sel{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.gestion-assign-dlg label{display:flex;flex-direction:column;gap:4px}.gestion-week{font-size:.68em;margin:4px 2px 3px 8px;opacity:.85;font-variant-numeric:tabular-nums}.gestion-night.empty{opacity:.5}.gestion-night.empty:hover{opacity:1}.gnp-wx{margin:8px 0 10px}.gnp-wx-head{font-size:.74em;margin-bottom:4px}.gnp-wx-strip{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px}.gnp-wx-cell{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:40px;padding:5px 4px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.gnp-wx-cell.wet{background:#2f7ff014;border-color:#2f7ff055}.gnp-wx-h{font-size:.64em;opacity:.7}.gnp-wx-t{font-size:.78em;font-weight:600;font-variant-numeric:tabular-nums}.gnp-forcage{margin:10px 0}.gnp-forcage-sent{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86em;padding:7px 10px;background:#f5a62318;border:1px solid #f5a62355;border-radius:var(--radius-sm)}.gnp-btn.danger{border-color:#e0533d;color:#e0533d;background:transparent}.gnp-btn.danger:hover{background:#e0533d;color:#fff}.forcage-modal{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(440px,94vw);padding:24px;text-align:center;box-shadow:var(--shadow)}.forcage-modal h3{margin:10px 0 6px;font-size:1.12em}.forcage-modal p{font-size:.9em;margin:0 0 18px}.fm-icon{font-size:34px;opacity:.85}.fm-icon.ok{color:#16a34a;opacity:1}.fm-icon.warn{color:#e0533d;opacity:1}.fm-actions{display:flex;gap:10px;justify-content:center}.fm-busy{padding:14px 0}.fm-busy p{margin-top:14px;font-size:.92em}.fm-spinner{display:inline-block;width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:fm-spin .8s linear infinite}@keyframes fm-spin{to{transform:rotate(360deg)}}.fm-mock{position:absolute;bottom:6px;right:10px;font-size:.64em}.gestion-night.drag-over{outline:2px solid var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 16%,transparent)}.gnp-wx-cell.bad{background:#f5a62326;border-color:#f5a623}.gnp-wx-warn{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.82em;padding:6px 10px;background:#f5a62318;border:1px solid #f5a623;border-radius:var(--radius-sm)}.gestion-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--accent);color:var(--accent);background:transparent;cursor:pointer;font-weight:600;font-size:.82em;min-height:72px;text-align:center}.gestion-add-card:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.gestion-card-x{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:1px;display:inline-flex;border-radius:4px}.gestion-card-x:hover{color:#e0533d;background:#e0533d18}.add-overlay{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(1000px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.add-overlay-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.add-overlay-head h2{margin:0;font-size:1.15em}.add-overlay-sub{margin:10px 18px 0;font-size:.84em}.add-overlay-body{display:grid;grid-template-columns:minmax(230px,.85fr) 1.4fr;gap:14px;padding:12px 18px;min-height:0;flex:1}.add-list{display:flex;flex-direction:column;min-height:0}.add-list .cs-list-search{width:100%;box-sizing:border-box;margin-bottom:8px}.add-list-scroll{overflow:auto;min-height:0;max-height:56vh;display:flex;flex-direction:column;gap:3px}.add-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.add-row:hover{background:var(--surface-2)}.add-row.on{background:color-mix(in srgb,#16a34a 14%,transparent);border-color:#16a34a55}.add-row.focused{outline:1px solid #ec4899;outline-offset:-1px}.add-row .add-row-code{cursor:pointer}.add-row-code{font-weight:700}.add-row-meta{font-size:.78em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-map{height:56vh;min-height:300px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.add-overlay-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--border);flex-wrap:wrap}.add-legend{display:flex;gap:14px;font-size:.8em}.add-key{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:4px;vertical-align:middle}.add-key.cand{background:#8b5cf6}.add-key.sel{background:#16a34a}.add-key.existing{background:#2f7ff0}@media (max-width: 860px){.add-overlay-body{grid-template-columns:1fr}.add-map{height:38vh}}.add-row-dist{margin-left:auto;font-size:.74em;font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.gnp-wx-ok{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.82em;padding:6px 10px;background:#16a34a14;border:1px solid #16a34a66;border-radius:var(--radius-sm);color:#16a34a}.map-reset{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);cursor:pointer;color:inherit}.map-reset:hover{background:var(--surface-2)}.map-lasso{top:48px}.map-lasso.on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.gestion-nuit-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.gestion-nuit-switch{display:inline-flex;align-items:center;gap:6px;flex:none}.gestion-nuit-nav{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:inherit}.gestion-nuit-nav:hover:not(:disabled){background:var(--surface-2)}.gestion-nuit-nav:disabled{opacity:.4;cursor:default}.gestion-nuit-label{font-size:1.05em;min-width:12ch}.gestion-nuit-goto{max-width:22ch}.gestion-nuit-add{margin-left:auto}.gestion-card-move{display:inline-flex;align-items:center;gap:3px;margin-top:6px;padding:2px 6px;font-size:.8em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:inherit}.gestion-card-move:hover{background:var(--surface-3, var(--surface));border-color:var(--accent)}.gestion-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.gestion-card-actions .gestion-card-move{margin-top:0}.gestion-card-outcome{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.8em;border:1px solid var(--border, #ced4da);border-radius:4px;background:transparent;cursor:pointer}.gestion-card-outcome:hover:not(:disabled){background:var(--surface-3, var(--surface));border-color:var(--accent)}.gestion-card-outcome:disabled{opacity:.5;cursor:default}.gestion-card-reprog{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.gestion-reprog-motif{flex:1 1 140px;padding:3px 6px;font-size:.85em;border:1px solid var(--border, #ced4da);border-radius:4px}.gestion-reprog-confirm,.gestion-reprog-cancel{padding:3px 8px;font-size:.8em;border-radius:4px;cursor:pointer;border:1px solid var(--border, #ced4da);color:var(--text);background:var(--surface-2, var(--surface))}.gestion-reprog-confirm{background:var(--accent);color:#fff;border-color:var(--accent)}.gestion-reprog-confirm:disabled{opacity:.5;cursor:default}.gestion-card-done{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.gestion-done-label{font-size:.8em;color:var(--text-muted, var(--text))}.gestion-done-date{flex:1 1 130px;padding:3px 6px;font-size:.85em;border:1px solid var(--border, #ced4da);border-radius:4px;background:var(--surface, #fff);color:inherit}.gnp-confirm{margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--surface-2, var(--surface));display:flex;flex-direction:column;gap:8px}.gnp-confirm-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gnp-confirm-label{font-size:.85em;font-weight:600}.gnp-confirm-date{padding:4px 8px;font-size:.9em;border:1px solid var(--border);border-radius:4px;background:var(--surface, #fff);color:inherit}.gnp-confirm-hint{font-size:.8em}.gnp-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.yo-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 14px}.yo-years{display:flex;flex-wrap:wrap;gap:8px}.yo-export{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;font-size:.86em;font-weight:600;text-decoration:none}.yo-export:hover{background:var(--accent);color:#fff}.yo-year-btn{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:999px;padding:5px 16px;cursor:pointer;font-size:.95em;font-weight:600;font-variant-numeric:tabular-nums}.yo-year-btn:hover{background:var(--bg)}.yo-year-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.yo-verdicts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.yo-verdict{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.yo-verdict-head{display:flex;align-items:center;gap:8px}.yo-verdict-dot{width:12px;height:12px;border-radius:3px;flex:0 0 auto}.yo-verdict-label{font-size:.86em}.yo-verdict-n{font-size:1.7em;font-weight:700;line-height:1.05;margin-top:6px;font-variant-numeric:tabular-nums}.yo-verdict-bar-track{height:7px;background:var(--bg);border-radius:6px;overflow:hidden;margin-top:7px}.yo-verdict-bar{height:100%;border-radius:6px;transition:width .3s}.yo-verdict-meta{font-size:.78em;margin-top:6px;font-variant-numeric:tabular-nums}.scope-head{margin-bottom:var(--section-content-gap, 16px)}.scope-head h3{margin:0 0 var(--page-header-gap, 8px);font-size:1.05em}.kpi-headlines{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kpi-headline{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.kpi-headline-title{font-size:.85em}.kpi-headline-value{font-size:2.4em;font-weight:700;color:var(--accent);line-height:1.1}.kpi-headline-sub{font-size:.8em;margin-top:2px}.kpi-breakdown-controls{display:flex;align-items:center;gap:6px;margin:22px 0 10px;flex-wrap:wrap}.seg{padding:5px 13px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:14px;font-size:.85em;color:var(--text)}.seg:hover{border-color:var(--accent)}.seg.active{background:var(--accent);color:#06121f;border-color:var(--accent);font-weight:600}.seg:disabled{opacity:.5;cursor:not-allowed;border-style:dashed;background:transparent}.seg:disabled:hover{border-color:var(--border)}.kpi-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}.kpi-table th,.kpi-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);font-size:.9em}.kpi-table th{font-weight:600;color:var(--text-muted)}.kpi-table th:not(:first-child),.kpi-table td:not(:first-child){width:24%}.kpi-bucket{font-weight:600}.kpi-bucket-drill{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-align:left}.kpi-bucket-drill:hover{text-decoration:underline}.kpi-bucket--unknown{font-weight:400;font-style:italic;color:var(--text-muted)}.kpi-cell{display:flex;flex-direction:column;gap:3px}.kpi-cell-val{font-variant-numeric:tabular-nums}.kpi-bar{display:block;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.kpi-bar-fill{display:block;height:100%;background:var(--accent)}.kpi-note{font-size:.8em;margin-top:16px;max-width:80ch}.list-pane{border-right:1px solid var(--border);overflow-y:auto;background:var(--surface)}.list-header{padding:9px 12px;font-weight:600;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.entity-list{list-style:none;margin:0;padding:0}.entity-row{padding:9px 12px;border-bottom:1px solid var(--border);cursor:pointer}.entity-row:hover{background:var(--surface-2)}.entity-row.selected{background:var(--accent-weak);border-left:3px solid var(--accent)}.entity-row-top{display:flex;justify-content:space-between;align-items:center}.entity-key{font-weight:600}.override-tag{color:var(--warn)}.entity-cols{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:.8em}.entity-col{white-space:nowrap}.entity-meta{font-size:.82em;margin-top:3px}.map-wrap{position:relative;min-height:0}.map-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;background:var(--surface);z-index:2}.map-unavailable-title{font-weight:600;margin:0}.map-unavailable-msg{margin:0;max-width:42ch;font-size:.88em}.inv-map-search-nomatch{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:6;display:inline-flex;align-items:center;gap:7px;max-width:min(90%,520px);padding:7px 13px;border-radius:8px;font-size:.86em;background:var(--surface);color:var(--text);border:1px solid var(--warn);box-shadow:var(--shadow, 0 4px 14px rgba(0,0,0,.24));pointer-events:none}.inv-map-search-nomatch .icon{color:var(--warn);flex:0 0 auto}.diff-overwrite-zone{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.diff-overwrite-hint{display:flex;align-items:center;gap:6px;font-size:.82em}.inv-navaid-btn{display:flex;align-items:center;justify-content:center;color:#333}.inv-navaid-btn svg{display:block}.inv-navaid-btn:disabled{opacity:.4;cursor:not-allowed}.map-legend{position:absolute;left:10px;bottom:10px;z-index:2;display:flex;align-items:center;gap:8px;background:#0f1419d9;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:.78em;color:var(--text)}.lux-ramp{display:inline-block;width:110px;height:10px;border-radius:5px;background:linear-gradient(to right,#30123b,#4145ab,#4675ed,#1bcfd4,#24eca6,#a4fc3b,#d1e834,#fe9b2d,#f36315,#c92903)}.below-emin-key{color:#ff6b81}.side-panel{border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:14px 16px}.side-panel.empty{display:flex;align-items:center;justify-content:center;text-align:center}.side-panel,.detail-panel-body,.study-detail,.study-detail-scroll,.trajet-detail-body,.help-panel-body,.inv-layers-panel,.mes-detail-panel,.verify-worklist,.suivi-pane-body,.cs-list-tablewrap{scrollbar-gutter:stable}.side-panel-head{display:flex;justify-content:space-between;align-items:flex-start}.side-panel-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.side-panel-edit{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.side-panel-head h3{margin:2px 0 10px;word-break:break-all}.close-btn{border:none;background:none;font-size:1.4em;cursor:pointer;color:var(--text-muted)}.close-btn:hover{color:var(--text)}.inv-scope-membership{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2, var(--surface))}.inv-scope-membership .ism-status{display:flex;align-items:center;gap:8px}.inv-scope-membership .ism-label{font-size:.8em}.inv-scope-membership .ism-needs-review{display:inline-flex;align-items:center}.inv-scope-membership .ism-action{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.attr-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dashed var(--border)}.attr-label{flex:0 0 auto}.attr-value{text-align:right;word-break:break-word}.badge{display:inline-block;padding:2px 8px;border-radius:10px;color:#06121f;font-size:.8em;font-weight:700}.verdict-with-origin{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.origin-indicator{display:inline-flex;align-items:center;gap:3px;font-size:.74em;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.origin-indicator--manual{color:var(--accent);border-color:var(--accent)}.btn-primary,.btn-secondary,.btn-xs{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-family:inherit;color:var(--text);background:var(--surface);transition:border-color .12s,background .12s,filter .12s}.btn-primary,.btn-secondary{min-height:var(--btn-min-height, 32px)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:7px 14px;font-size:.88em}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn-secondary{padding:7px 14px;font-size:.88em}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-xs{padding:3px 9px;font-size:.78em}.btn-xs:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-primary.btn-xs:hover:not(:disabled){color:#fff;border-color:var(--accent);filter:brightness(1.07)}.btn-primary:disabled,.btn-secondary:disabled,.btn-xs:disabled{opacity:.5;cursor:not-allowed}.btn-green{border-color:var(--good);color:var(--good)}.btn-green:hover:not(:disabled){background:var(--good);color:#06121f}.btn-red{border-color:var(--bad);color:var(--bad)}.btn-red:hover:not(:disabled){background:var(--bad);color:#fff}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0 4px;font:inherit;text-decoration:underline}.cw-inline-link{margin-left:8px;text-decoration:none;display:inline-flex;align-items:center;gap:2px;font-size:12px;vertical-align:middle}.badge-green{background:var(--good)}.badge-red{background:var(--bad);color:#fff}.badge-grey,.badge--muted{background:var(--text-muted)}.badge-blue{background:var(--accent, #3b82f6);color:#fff}.badge--green{background:var(--good)}.badge.trj-trace-non_trace,.badge.trj-scope-non_defini{background:var(--text-muted)}.badge.trj-trace-a_valider,.badge.trj-scope-a_confirmer{background:var(--warn)}.badge.trj-trace-valide,.badge.trj-scope-confirme{background:var(--good)}.status-ok{color:var(--good)}.status-bad{color:var(--bad)}.status-edit{margin-top:14px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.status-edit h4,.comment-timeline h4,.override-history h4{margin:4px 0}.status-edit select,.status-edit input,.comment-form select,.comment-form textarea{width:100%}.status-edit button:not(.verdict-card),.comment-form button{padding:7px 10px;cursor:pointer;background:var(--accent);color:#06121f;border:none;border-radius:var(--radius-sm);font-weight:600}.status-edit button:disabled,.comment-form button:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.status-edit .btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.status-edit .btn-secondary:disabled{background:transparent;color:var(--text-muted);border-color:var(--border)}.evidence-card{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);display:flex;flex-direction:column;gap:5px}.side-validated{margin-top:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);display:flex;align-items:center;flex-wrap:wrap;gap:8px}.side-validated-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.side-validated-toggle input:disabled{cursor:default}.side-validated-title{font-weight:600;font-size:.9em}.side-validated-reason{font-size:.8em}.evidence-head{font-size:.74em;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.evidence-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.88em}.evidence-label{flex:none}.evidence-val{text-align:right;font-variant-numeric:tabular-nums}.evidence-thr{font-size:.92em}.evidence-computed{margin-top:3px;padding-top:6px;border-top:1px dashed var(--border)}.attr-row-verdict{flex-direction:column;align-items:stretch;gap:4px}.verdict-cards{display:flex;gap:6px}.verdict-card{flex:1 1 0;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.verdict-card:hover{border-color:var(--accent)}.verdict-card.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.verdict-card.is-computed{border-style:solid;border-color:var(--accent)}.verdict-card-title{font-size:.9em;font-weight:600;line-height:1.15}.verdict-card-cap{font-size:.72em;line-height:1.1}.verdict-card-computed{margin-top:2px;font-size:.64em;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:0 4px}.verdict-stale-notice{padding:6px 10px;border-radius:6px;font-size:.9em;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--warn) 16%,transparent);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent)}.override-history{margin-top:12px}.override-list{list-style:none;margin:4px 0 0;padding:0}.override-item{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:.82em;border-bottom:1px dashed var(--border)}.override-item.withdrawn{text-decoration:line-through;opacity:.6}.del-filter{display:flex;gap:8px;margin:8px 0 4px;flex-wrap:wrap}.del-summary{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-end}.del-summary-stat{display:flex;flex-direction:column;gap:2px}.del-summary-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.del-summary-n{font-size:1.7rem;font-weight:700}.del-summary-label{font-size:.8rem}.del-table-wrap{overflow:auto;max-height:52vh;border:1px solid var(--border);border-radius:var(--radius-sm)}.del-table{width:100%;border-collapse:collapse;font-size:.84rem}.del-table thead th{position:sticky;top:0;background:var(--surface);text-align:left;padding:7px 9px;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.del-table td{padding:6px 9px;border-bottom:1px solid var(--border)}.del-table tbody tr:hover{background:var(--accent-weak)}.del-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.del-row-error{background:color-mix(in srgb,var(--bad) 9%,transparent)}.del-mono{font-family:ui-monospace,monospace}.del-num{text-align:right;font-variant-numeric:tabular-nums}.del-date-edit{background:transparent;border:none;padding:0;margin:0;font:inherit;color:var(--text);cursor:pointer;text-align:left}.del-date-edit:hover{text-decoration:underline}.del-date-input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 5px;color-scheme:light dark}.del-trajets-cell{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 2px}.del-trajet-chip{white-space:nowrap;font-variant-numeric:tabular-nums}.del-trajet-sep{color:var(--text-muted)}.del-file{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.del-file-full{display:inline-block;max-width:320px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.del-warn{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.del-status-pill{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.del-status-cell{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.del-binding-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;font-size:.8em;white-space:nowrap;border:1px solid var(--border)}.del-binding-chip--orphan{color:var(--danger, #c0392b);border-color:var(--danger, #c0392b)}.del-binding-chip--gap{color:var(--warn, #b7791f);border-color:var(--warn, #b7791f)}.del-detail-cell{display:inline-flex;align-items:center;gap:6px}.mes-detail-panel{background:var(--surface, #fff);color:var(--text, #1a1f26);border-radius:12px;padding:20px 22px;width:min(560px,94vw);max-height:88vh;overflow-y:auto;box-shadow:0 12px 40px #00000047}.mes-detail{display:flex;flex-direction:column;gap:12px;min-width:360px}.mes-detail-head{display:flex;flex-direction:column;gap:4px}.mes-detail-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}.mes-detail-fname{font-weight:400;color:var(--text-muted, #7a828c)}.mes-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.82rem;margin:2px 0 0}.mes-detail-rawlink{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;color:var(--accent, #2f6fed);cursor:pointer;font:inherit}.mes-detail-rawlink:hover{text-decoration:underline}.mes-detail-state{display:inline-flex;align-items:center;gap:6px;font-weight:600}.mes-detail-bindings{width:100%;border-collapse:collapse}.mes-detail-bindings th,.mes-detail-bindings td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--border, #e2e2e2)}.mes-detail-trajet{font-family:var(--font-mono, monospace)}.mes-detail-reconcile{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border, #e2e2e2);padding-top:10px}.mes-detail-field{display:flex;flex-direction:column;gap:4px}.mes-detail-actions{display:flex;justify-content:flex-end}.del-table tbody tr.del-row{cursor:pointer}.del-row-sel{background:var(--accent-weak);box-shadow:inset 3px 0 0 var(--accent)}.del-row-sel:hover{background:var(--accent-weak)}.del-filter-row th{position:sticky;top:31px;background:var(--surface);padding:4px 6px;z-index:1}.del-col-filter{width:100%;min-width:60px;padding:3px 6px;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.del-clear-filters{margin-left:10px;padding:1px 8px;font-size:.78rem;cursor:pointer;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text)}.del-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}.del-split>.story-block,.del-split>.ds-section{margin:0;min-width:0}.del-split .cs-map-block .map-container,.del-split .map-container{height:52vh;min-height:360px}@media (max-width: 1100px){.del-split{grid-template-columns:1fr}}.del-colfilters{margin-bottom:12px}.del-colfilters .del-col-filter{flex:1 1 120px;min-width:100px}.terrain-toolbar{margin-bottom:16px}.del-table tbody tr:hover .del-file,.del-table tbody tr.del-row-sel .del-file{white-space:normal;overflow:visible;max-width:none;word-break:break-all}.attr-section{margin-top:12px}.attr-section+.attr-section{margin-top:14px}.attr-section-title{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-weight:700}.layer-control{position:absolute;top:10px;left:10px;z-index:2;max-width:260px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;box-shadow:0 2px 8px #0000002e}.lc-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.lc-head-mt{margin-top:10px}.lc-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.lc-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.lc-collapse{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:var(--radius-sm);padding:0 7px;line-height:1.6}.layer-control.collapsed{max-width:160px;padding:6px 10px}.lc-dims{display:flex;gap:4px;flex-wrap:wrap}.lc-legend{display:flex;flex-direction:column;gap:3px;margin-top:8px;max-height:38vh;overflow:auto}.lc-chip{display:flex;align-items:center;gap:6px;padding:2px 6px;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.8rem;text-align:left}.lc-chip.off{opacity:.4;text-decoration:line-through}.lc-swatch{flex:0 0 auto;width:12px;height:12px;border-radius:3px}.lc-chip-label{flex:1 1 auto;font-family:ui-monospace,monospace}.run-row{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px dashed var(--border)}.run-ref{flex:1 1 auto;font-family:ui-monospace,monospace;display:flex;align-items:center;gap:6px}.run-badge{font-size:.68rem;padding:0 6px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-family:var(--font);text-transform:uppercase;letter-spacing:.03em}.run-cov{font-variant-numeric:tabular-nums;white-space:nowrap}.run-toggle{padding:1px 8px;font-size:.76rem;cursor:pointer;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text)}.incident-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.facet-stat-lum{font-size:.74rem}.multi-bar{position:fixed;bottom:14px;left:50%;transform:translate(-50%);z-index:20;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:0 4px 16px #00000040;padding:8px 12px;min-width:360px;max-width:90vw}.multi-bar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.multi-comment{display:flex;gap:6px;align-items:center}.multi-comment input{flex:1 1 auto;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.batch-triage-bar{bottom:92px}.batch-triage-body{display:flex;gap:8px;align-items:center}.seg.seg-primary{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.seg.seg-primary:disabled{opacity:.6;cursor:default}.batch-triage-summary{margin-top:6px;font-size:.85rem}.batch-triage-fail-list{margin:4px 0 0;padding-left:16px}.batch-triage-fail-list li{font-size:.82rem}.entity-row.multi{box-shadow:inset 0 0 0 2px #22d3ee}.version-moved-tag{font-size:.68rem;padding:0 6px;border-radius:999px;background:color-mix(in srgb,#f5a623 20%,transparent);color:#f5a623}.facet-panel{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.facet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.facet-head h3{margin:0;font-size:.98rem}.facet-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.facet-types{display:flex;gap:6px;flex-wrap:wrap}.facet-value-select{min-width:180px;padding:5px 8px}.facet-head-actions{display:flex;align-items:center;gap:8px}.facet-collapse{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:var(--radius-sm);padding:0 8px;line-height:1.7}.facet-search{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.facet-chips{display:flex;flex-wrap:wrap;gap:4px}.facet-chip{padding:1px 8px;border-radius:999px;font-size:.8rem;cursor:pointer;border:1px solid var(--accent);background:var(--accent-weak);color:var(--accent)}.facet-values{display:flex;flex-wrap:wrap;gap:4px;max-height:22vh;overflow:auto}.facet-more{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:.8rem}.facet-val{padding:1px 8px;border-radius:var(--radius-sm);font-size:.82rem;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:ui-monospace,monospace}.facet-val.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent)}.facet-card{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.facet-card-val{font-weight:700;font-size:1.05rem;margin-bottom:8px}.facet-card-stats{display:flex;gap:30px;flex-wrap:wrap}.facet-stat{display:flex;flex-direction:column;gap:1px}.facet-stat-n{font-size:1.5rem;font-weight:700}.facet-stat-n.accent{color:var(--accent)}.facet-stat-label{font-size:.82rem}.facet-stat-sub{font-size:.76rem}.comment-timeline{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.comment-list{list-style:none;margin:0 0 10px;padding:0}.comment{position:relative;padding:5px 9px 7px 16px;margin-bottom:4px;background:transparent;border-left:2px solid var(--border);border-radius:0}.comment:before{content:"";position:absolute;left:-6px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.comment.kind-critique:before{background:var(--bad)}.comment.kind-attention:before{background:var(--warn)}.comment.kind-info:before{background:var(--accent)}.comment-head{display:flex;justify-content:space-between;font-size:.8em}.comment-kind{font-weight:600;text-transform:capitalize}.comment-body{margin-top:2px}.comment-form{display:flex;flex-direction:column;gap:6px}.app-body-full{flex:1;min-height:0;position:relative}.inv-shell{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0}.inv-shell>.ds-page-header{flex:0 0 auto;padding:10px 14px 8px;background:var(--surface);border-bottom:1px solid var(--border)}.inv-shell>.ds-page-header h1{font-size:1.15rem}.inv-shell>.ds-page-header .ds-page-header-sub{font-size:.8rem}.inv-content{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;position:relative}.inv-empty-wrap{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:24px}.inv-content .inv-map-wrap{position:relative;min-height:0;overflow:hidden}.inv-content .inv-table-wrap{min-height:0;display:flex;flex-direction:column;overflow:hidden}.inv-content.vm-table .inv-table-wrap{flex:1 1 auto}.inv-anom-summary{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:.86em}.inv-anom-summary-lead{display:flex;align-items:center;gap:8px}.inv-anom-summary-scope{font-size:.95em}.inv-anom-summary-icon{color:var(--accent)}.lanes-completeness{justify-content:space-between}.lanes-completeness-lead{flex:1 1 auto}.lanes-bulk-modal{min-width:min(640px,92vw);max-width:720px}.lanes-bulk{display:flex;flex-direction:column;gap:10px}.lanes-bulk-hint{font-size:.86em;margin:0}.lanes-bulk-table{width:100%;border-collapse:collapse;font-size:.88em}.lanes-bulk-table th,.lanes-bulk-table td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.lanes-bulk-table th{font-weight:600;color:var(--text-muted)}.lanes-bulk-col-check{width:34px;text-align:center}.lanes-bulk-key{font-family:var(--mono, ui-monospace, monospace);font-size:.92em}.lanes-bulk-osm{color:var(--good)}.lanes-bulk-effective{font-weight:600}.lanes-bulk-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px}.lanes-bulk-pager,.lanes-bulk-actions{display:flex;align-items:center;gap:8px}.inv-anom-summary-sevs{display:inline-flex;gap:6px}.inv-anom-sev{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.inv-anom-sev--problem{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad);border-color:var(--bad)}.inv-anom-sev--warning{background:color-mix(in srgb,var(--warn, #b8860b) 14%,transparent);color:var(--warn, #b8860b);border-color:var(--warn, #b8860b)}.inv-anom-sev--info{color:var(--text-muted)}.inv-anom-summary-types{display:inline-flex;flex-wrap:wrap;gap:5px}.inv-anom-type{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:6px;background:var(--surface-1, var(--surface));border:1px solid var(--border);color:var(--text-muted)}.inv-anom-type b{color:var(--text)}.inv-split-handle{flex:0 0 auto;height:8px;cursor:row-resize;background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;z-index:4}.inv-split-handle:hover,.inv-split-handle:focus-visible{background:var(--accent-weak);outline:none}.inv-split-handle:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.inv-split-grip{width:40px;height:3px;border-radius:3px;background:var(--text-muted);opacity:.6}.inv-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:8px;padding:6px 14px;background:var(--surface);border-bottom:1px solid var(--border)}.inv-actions-menu{display:flex;flex-direction:column;min-width:190px;padding:4px}.inv-actions-item{display:inline-flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit}.inv-actions-item:hover{background:var(--surface-2);color:var(--accent)}.inv-tb-group{display:flex;align-items:center;gap:6px;flex:0 0 auto}.inv-tb-group+.inv-tb-group{padding-left:10px;border-left:1px solid var(--border)}.inv-tb-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;margin-right:2px}.inv-tb-validation{margin-left:auto}.inv-tb-search{gap:4px}.inv-search-icon{color:var(--text-muted);flex:0 0 auto}.inv-search-input{width:220px;max-width:28vw;padding:5px 9px;font-size:.82rem;font-family:inherit;background:var(--surface-2, var(--surface));color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm)}.inv-search-input:focus{outline:none;border-color:var(--accent)}.inv-filtres-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin:0 2px;border-radius:8px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700}.inv-filtres-pop{width:300px;max-width:92vw}.inv-filtres-menu{display:flex;flex-direction:column;gap:12px;padding:10px;max-height:60vh;overflow:auto}.inv-filtres-col-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;margin-bottom:5px}.inv-filtres-vals{display:flex;flex-wrap:wrap;gap:5px}.inv-filtres-val{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;cursor:pointer;padding:3px 9px;border:1px solid var(--border);border-radius:999px}.inv-filtres-val.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.inv-filtres-val input{margin:0}.inv-filtres-clear{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:4px 2px}.inv-filtres-clear:hover{color:var(--bad, #e5484d)}.inv-viewmode{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.inv-vm-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:.82rem;font-family:inherit}.inv-vm-btn+.inv-vm-btn{border-left:1px solid var(--border)}.inv-vm-btn:hover{background:var(--surface-2);color:var(--text)}.inv-vm-btn.on{background:var(--accent);color:#fff;font-weight:600}.inv-tb-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-size:.82rem;font-family:inherit}.inv-tb-btn:hover{border-color:var(--accent);color:var(--accent)}.inv-tb-btn.subtle{border-style:dashed;font-size:.78rem}.inv-tb-btn:disabled{opacity:.55;cursor:not-allowed}.inv-tb-btn:disabled:hover{border-color:var(--border);color:var(--text)}.inv-tb-btn.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:600}.inv-tb-lockmsg{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,#e0533d 12%,var(--surface));color:#e0533d;font-size:.74rem;white-space:nowrap}.inv-val-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:.78rem}.inv-val-text{white-space:nowrap}.inv-layers-toggle,.inv-layers-panel{position:absolute;top:10px;left:10px;z-index:3;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text)}.inv-layers-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;cursor:pointer;font-size:.82rem;font-family:inherit}.inv-layers-toggle:hover{border-color:var(--accent);color:var(--accent)}.inv-layers-panel{width:244px;max-height:calc(100% - 20px);overflow-y:auto;padding:10px 12px}.ilp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ilp-title{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.ilp-collapse{border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex}.ilp-collapse:hover{color:var(--text)}.ilp-layers{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}.ilp-layer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ilp-layer-main{display:flex;align-items:center;gap:7px;cursor:pointer;flex:1 1 auto;min-width:0}.ilp-layer-main input{cursor:pointer}.ilp-swatch{flex:0 0 auto;width:12px;height:12px;border-radius:3px}.ilp-layer-label{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ilp-zoominfo{flex:0 0 auto;font-size:.66rem;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:1px 5px;border-radius:999px;background:var(--surface-2)}.ilp-zoominfo.unavail{opacity:.45;text-decoration:line-through}.ilp-section-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;margin:8px 0 5px}.ilp-basemaps{display:grid;grid-template-columns:1fr 1fr;gap:4px}.ilp-basemap{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-size:.76rem;font-family:inherit}.ilp-basemap:hover{border-color:var(--accent)}.ilp-basemap.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.ilp-streetview{display:inline-flex;align-items:center;gap:6px;margin-top:8px;width:100%;justify-content:center;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-weak);color:var(--text);cursor:pointer;font-size:.78rem;font-family:inherit}.ilp-streetview:hover{border-color:var(--accent);color:var(--accent)}.ilp-zoomcfg{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.ilp-zoomcfg-toggle{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.76rem;font-family:inherit;padding:0}.ilp-zoomcfg-toggle:hover{color:var(--text)}.ilp-zoomcfg-body{display:flex;flex-direction:column;gap:4px;margin-top:6px}.ilp-zoomcfg-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem}.ilp-zoomcfg-row input{width:56px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.76rem}.ilp-zoomcfg-actions{margin-top:4px}.ilp-zoomcfg-hint{font-size:.68rem;margin:4px 0 0;line-height:1.3}.ilp-zoom{margin-top:8px;font-size:.72rem;font-variant-numeric:tabular-nums}.ilp-legend{margin-top:10px;border-top:1px solid var(--border);padding-top:8px}.ilp-legend-selectors{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px}.ilp-legend-selectors select{width:100%;padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.72rem;font-family:inherit}.ilp-legend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ilp-legend-loading{font-size:.72rem;padding:2px 0}.ilp-legend-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.ilp-legend-row.off{opacity:.45}.ilp-legend-main{display:flex;align-items:center;gap:6px;cursor:pointer;flex:1 1 auto;min-width:0}.ilp-legend-main input{cursor:pointer;flex:0 0 auto}.ilp-legend-swatch{flex:0 0 auto;width:11px;height:11px;border-radius:3px;border:1px solid rgba(0,0,0,.35)}.ilp-legend-label{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ilp-legend-count{flex:0 0 auto;font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ilp-legend-showall{margin-top:6px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-size:.74rem;font-family:inherit;padding:4px 8px;width:100%;justify-content:center}.ilp-legend-showall:hover{border-color:var(--accent);color:var(--accent)}.inv-table-panel{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;background:var(--surface, #0f172a);color:var(--text, #e2e8f0);overflow:hidden}.itp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;row-gap:6px;padding:8px 12px;border-bottom:1px solid var(--border, #1e293b);flex:0 0 auto}.itp-layer-tabs{display:flex;gap:4px;flex-wrap:wrap}.itp-tab{padding:5px 12px;border-radius:6px 6px 0 0;border:1px solid transparent;background:transparent;color:var(--muted, #94a3b8);cursor:pointer;font-size:13px}.itp-tab.on{background:var(--surface-2, #1e293b);color:var(--text, #e2e8f0);font-weight:600}.itp-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;row-gap:6px;justify-content:flex-end}.itp-breakdown{display:flex;align-items:center;gap:6px;font-size:12px}.itp-breakdown select{background:var(--surface-2, #1e293b);color:var(--text, #e2e8f0);border:1px solid var(--border, #334155);border-radius:6px;padding:4px 8px;font-size:12px}.itp-val-scope{display:flex;align-items:center;gap:6px;flex:0 0 auto}.itp-val-scope-in{width:90px;padding:4px 8px;font-size:12px;background:var(--surface-2, #1e293b);color:var(--text, #e2e8f0);border:1px solid var(--border, #334155);border-radius:6px}.itp-close{background:transparent;border:none;color:var(--muted, #94a3b8);cursor:pointer;display:flex}.itp-close:hover{color:var(--text, #e2e8f0)}.itp-body{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}.itp-body .tbl-sf-wrap{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.itp-body .table-wrap{flex:1 1 auto;overflow:auto;min-width:0;scrollbar-gutter:stable}.itp-body .tbl-pagination{flex:0 0 auto}.itp-breakdown-panel{flex:0 0 280px;overflow:auto;padding:10px 12px;border-right:1px solid var(--border, #1e293b);background:var(--surface-2, #131c2e)}.itp-bd-title{font-weight:600;font-size:13px;margin-bottom:8px}.itp-bd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.itp-bd-row{display:grid;grid-template-columns:1fr 70px 56px;align-items:center;gap:8px;font-size:12px}.itp-bd-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itp-bd-bar{background:var(--border, #1e293b);border-radius:4px;height:8px;overflow:hidden}.itp-bd-fill{display:block;height:100%;background:var(--accent, #4f9cf9)}.itp-bd-count{text-align:right;color:var(--muted, #94a3b8);font-variant-numeric:tabular-nums}.itp-table-wrap{flex:1 1 auto;overflow:auto;min-width:0;padding:0 0 8px;scrollbar-gutter:stable}.itp-count{padding:6px 12px;font-size:12px}.itp-loading{padding:16px 12px}.itp-table{width:100%;border-collapse:collapse;font-size:12px}.itp-table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:6px 10px;background:var(--surface-2, #1e293b);border-bottom:1px solid var(--border, #334155);white-space:nowrap;font-weight:600}.itp-table td{padding:5px 10px;border-bottom:1px solid var(--border, #16213a);white-space:nowrap}.itp-row{cursor:pointer}.itp-row:hover{background:var(--surface-2, #182338)}.itp-row--issue{background:color-mix(in srgb,var(--bad) 14%,transparent)}.itp-row--issue:hover{background:color-mix(in srgb,var(--bad) 22%,transparent)}.itp-row--issue td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.itp-issue-badges{display:inline-flex;gap:3px;flex-wrap:wrap}.itp-issue-badge{font-size:.72em;font-weight:600;padding:0 5px;border-radius:6px;background:color-mix(in srgb,var(--bad) 20%,transparent);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);white-space:nowrap}.itp-issue-badge.more{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.inv-anom-summary{margin:0 0 8px;padding:8px 10px;border-radius:var(--radius-sm);font-size:.82em}.inv-anom-summary.has-issues{background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)}.inv-anom-summary.is-clean{display:flex;align-items:center;gap:6px;color:var(--good, #2ecc71)}.inv-anom-head{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--bad);margin-bottom:5px}.inv-anom-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.inv-anom-badge{font-size:.92em;font-weight:600;padding:1px 7px;border-radius:6px;background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent)}.inv-anom-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.inv-anom-row:has(.inv-anom-resolve){flex-basis:100%;width:100%}.inv-anom-resolve{display:flex;flex-direction:column;gap:5px;width:100%}.inv-anom-guidance{margin:0;font-size:.95em;font-weight:400;color:var(--text-2, #b8c2d8)}.inv-anom-resolve-actions{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.val-status-badge{display:inline-flex;align-items:center;font-size:.86em;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap;border:1px solid}.val-status-badge.good{background:color-mix(in srgb,var(--good,#2ecc71) 16%,transparent);color:var(--good,#2ecc71);border-color:color-mix(in srgb,var(--good,#2ecc71) 40%,transparent)}.val-status-badge.warn{background:color-mix(in srgb,var(--warn,#e6a700) 18%,transparent);color:var(--warn,#e6a700);border-color:color-mix(in srgb,var(--warn,#e6a700) 42%,transparent)}.val-status-badge.bad{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 42%,transparent)}.val-status-badge.neutral{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.itp-row.sel,.itp-row.selected{background:#4f9cf938}.itp-row.sel td,.itp-row.selected td{color:#fff}.itp-table thead th.itp-th{position:sticky}.itp-th-row{display:flex;align-items:center;gap:2px}.itp-th-sort{display:inline-flex;align-items:center;gap:4px;flex:1;min-width:0;background:none;border:none;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:left}.itp-th-sort .itp-th-label{overflow:hidden;text-overflow:ellipsis}.itp-th-sort .icon,.itp-th-sort .material-symbols-outlined{color:var(--text-muted);flex:none}.itp-th.sorted .itp-th-sort .icon,.itp-th.sorted .itp-th-sort .material-symbols-outlined{color:var(--accent)}.itp-th-filter{display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:var(--radius-sm, 6px);flex:none}.itp-th-filter:hover{background:var(--surface, #0f1419);color:var(--text)}.itp-th-filter.on{color:var(--accent)}.itp-filter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.itp-filter-pop{position:absolute;top:100%;right:0;z-index:41;margin-top:4px;min-width:200px;max-width:280px;padding:10px;background:var(--surface, #1a212b);border:1px solid var(--border);border-radius:var(--radius, 10px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;font-weight:400;white-space:normal}.itp-filter-range{display:flex;align-items:center;gap:6px}.itp-filter-range input{width:100%}.itp-filter-facet{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.itp-facet-opt{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.itp-facet-opt input{flex:none}.itp-filter-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.itp-filter-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font:inherit;padding:2px}.itp-filter-clear:hover{color:var(--bad, #ff453a)}.itp-clearfilters{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);color:var(--text-muted);cursor:pointer;font-size:12px;padding:3px 8px}.itp-clearfilters:hover{color:var(--text);border-color:var(--accent)}.itp-loadmore{display:flex;justify-content:center;padding:12px 0}.itp-group-head{cursor:pointer;background:var(--surface-2, #18233a)}.itp-group-head:hover{background:var(--surface-3, #1e2c47)}.itp-group-head td{padding:6px 10px;border-bottom:1px solid var(--border, #334155);position:sticky;left:0;font-weight:600}.itp-group-head td:not(:first-child){padding:0;border-bottom:1px solid var(--border, #334155)}.itp-group-head td>span{display:inline-flex;align-items:center;vertical-align:middle}.itp-group-head-inner{display:inline-flex;align-items:center;vertical-align:middle;white-space:nowrap}.itp-group-toggle{color:var(--muted, #94a3b8);margin-right:4px}.itp-group-swatch{width:11px;height:11px;border-radius:3px;margin-right:8px;border:1px solid rgba(0,0,0,.35);display:inline-block;background:var(--inv-group-swatch-fallback, var(--muted, #7d8da0))}.itp-group-label{margin-right:10px}.itp-group-subtotal{color:var(--muted, #94a3b8);font-weight:500;font-variant-numeric:tabular-nums}.symb-breakdown,.symb-uservue{grid-column:1 / -1}.vue-list{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.vue-row{display:flex;align-items:center;gap:4px;padding:2px;border-radius:var(--radius-sm)}.vue-row.on{background:var(--accent-weak);box-shadow:inset 0 0 0 1px var(--accent)}.vue-select{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0;text-align:left;background:none;border:none;cursor:pointer;color:var(--text);padding:4px 6px;border-radius:var(--radius-sm)}.vue-select:hover{background:var(--surface-2)}.vue-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vue-dim{flex:1 1 auto;font-size:.8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vue-scope{flex:0 0 auto;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;border:1px solid var(--border)}.vue-scope--own{background:var(--accent-weak);border-color:var(--accent)}.vue-scope--org{background:var(--surface-2)}.vue-scope--global{background:transparent;color:var(--text-muted)}.vue-share,.vue-del{flex:0 0 auto;background:none;border:none;cursor:pointer;color:var(--text-muted);display:inline-flex;padding:2px}.vue-share:hover{color:var(--accent)}.vue-del:hover{color:var(--bad)}.vue-builder{border-top:1px solid var(--border);padding-top:10px}.vue-cats{display:flex;flex-direction:column;gap:3px;margin:8px 0}.vue-cat-row{display:grid;grid-template-columns:1fr auto 56px;align-items:center;gap:8px}.vue-cat-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vue-cat-count{font-variant-numeric:tabular-nums;font-size:.85em}.vue-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vue-name-input{flex:1 1 12ch;min-width:10ch;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.symb-bd-selectors{margin-bottom:10px}.symb-bd-cats{display:flex;flex-direction:column;gap:4px}.symb-bd-row{display:grid;grid-template-columns:1.6fr 52px 112px 1fr 148px 40px 40px;align-items:center;gap:8px}.symb-bd-stroke{display:flex;align-items:center;gap:6px;min-width:0}.symb-bd-stroke .cc-stepper{flex:0 0 auto}.symb-bd-row .ds-colorinput{min-width:0}.symb-bd-row .ds-colorinput-swatch{flex:0 0 auto}.symb-bd-count{text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--text-muted)}.symb-bd-headrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.symb-bd-headrow span{display:inline-flex;align-items:center}.symb-bd-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.symb-bd-row input[type=color]{width:48px;height:26px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.symb-bd-row select{padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.78rem;font-family:inherit}.symb-bd-note{font-size:.72rem;margin-right:auto}.sym-prev{display:inline-flex;align-items:center;justify-content:center;width:36px;height:26px;border-radius:var(--radius-sm);border:1px solid var(--border)}.sym-prev-pt{display:inline-block;width:13px;height:13px;border:1.5px solid}.sym-prev-pt.shape-circle{border-radius:50%}.sym-prev-pt.shape-square{border-radius:2px}.sym-prev-pt.shape-triangle{width:0;height:0;background:transparent!important;border:none;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom-width:13px;border-bottom-style:solid}.sym-prev-pt.shape-diamond{border-radius:2px;transform:rotate(45deg);width:11px;height:11px}.sym-prev-pt.shape-star{border-radius:50%;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.sym-prev-poly{display:inline-block;width:24px;height:14px;border-radius:2px}.inv-ctl{max-width:224px}.inv-ctl .lc-legend{margin-top:6px}.inv-ctl .lc-chip{width:100%}.inv-ctl-hint{font-size:.7rem;margin:6px 0 0;line-height:1.35}@media print{body.pm-printing-detail .sidebar-nav,body.pm-printing-detail .app-header,body.pm-printing-detail .ds-page-header,body.pm-printing-detail .inv-toolbar,body.pm-printing-detail .inv-table-wrap,body.pm-printing-detail .inv-split-handle,body.pm-printing-detail .inv-actions-toolbar,body.pm-printing-detail .inv-layers-panel,body.pm-printing-detail .inv-layers-toggle,body.pm-printing-detail .maplibregl-map,body.pm-printing-detail .inv-panel .side-panel-head-actions,body.pm-printing-detail .inv-panel .inv-tabs{display:none!important}body.pm-printing-detail .app-main{display:block!important;overflow:visible!important}body.pm-printing-detail .inv-content{display:block!important;height:auto!important;overflow:visible!important}body.pm-printing-detail .inv-map-wrap{display:block!important;height:auto!important;flex:none!important}body.pm-printing-detail .inv-panel{position:static!important;width:100%!important;max-width:none!important;z-index:auto!important;height:auto!important;box-shadow:none!important;border-left:none!important;padding:0!important}body.pm-printing-detail .inv-tab-body{overflow:visible!important;height:auto!important}@page{margin:14mm}}.inv-panel{position:absolute;top:0;right:0;bottom:0;z-index:3;width:clamp(360px,28vw,460px);display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:1px solid var(--border);padding:14px 16px;box-shadow:-2px 0 14px #00000052}.inv-panel.empty{display:flex;align-items:center;justify-content:center;text-align:center}.inv-panel .side-panel-head,.inv-panel .inv-tabs{flex:0 0 auto}.inv-panel-kind{font-size:.72em;text-transform:uppercase;letter-spacing:.05em}.inv-geom-line{font-size:.78em;margin:0 0 8px}.inv-geom-overlap-escape{margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:6px}.inv-geom-overlap-prompt{font-weight:600;margin:0 0 6px;font-size:.85em}.inv-geom-overlap-choice{display:flex;gap:14px;margin-bottom:6px}.inv-geom-overlap-roadlevel{display:flex;align-items:center;gap:8px}.inv-attrs{display:flex;flex-direction:column}.inv-attrs .attr-label{font-size:.82em}.inv-attrs .attr-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--border)}.inv-attrs .attr-value{text-align:right;word-break:break-word}.inv-sections{display:flex;flex-direction:column;gap:.5rem}.inv-section{display:block}.inv-section-head{font-size:.86em;font-weight:600;cursor:pointer;padding:2px 0}.inv-attrs.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.inv-attrs.cols-2 .attr-row.span-full{grid-column:1 / -1}.inv-keyless-note{font-size:.78em;font-style:italic;margin-top:8px;padding:6px 8px;border-left:3px solid var(--accent-muted, var(--border))}.inv-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;gap:2px;margin:6px 0 0;border-bottom:1px solid var(--border)}.inv-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted, var(--text));padding:6px 10px;cursor:pointer;font-size:.8rem;border-radius:4px 4px 0 0;white-space:nowrap}.inv-tab:hover{background:var(--surface-2)}.inv-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.inv-tabs>.menu-root{margin-left:auto;display:flex}.inv-tab-more{display:inline-flex;align-items:center;gap:2px}.inv-study-link{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0 2px;font-size:.82rem}.inv-study-link-cur{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1px 9px;cursor:pointer;color:var(--accent);font-variant-numeric:tabular-nums}.inv-study-link-cur:hover{border-color:var(--accent)}.inv-study-link-actions{display:inline-flex;gap:6px;margin-left:auto}.inv-study-link--highlight{animation:inv-study-link-pulse 2.4s ease-out 1;border-radius:var(--radius-sm)}@keyframes inv-study-link-pulse{0%,12%{background:color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}to{background:transparent;box-shadow:0 0 0 2px transparent}}.study-picker-modal{width:92vw;max-width:1100px;height:86vh;display:flex;flex-direction:column}.study-picker-modal .study-screen{position:relative;inset:auto;flex:1;min-height:0;padding:4px 2px}.inv-tab-body{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:12px 12px 16px}.inv-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-muted);margin:0 0 2px}.inv-asof-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--accent);border-radius:6px;background:var(--accent-weak)}.inv-asof-banner-text{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.82rem}.inv-version-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inv-version-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.inv-version-row.is-current{border-color:var(--accent)}.inv-version-row.is-pinned{border-color:var(--accent);background:var(--accent-weak)}.inv-version-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.82rem}.inv-version-badge{font-size:.66rem;padding:0 6px;border-radius:999px;font-weight:600;background:var(--accent);color:var(--surface);text-transform:uppercase;letter-spacing:.03em}.inv-version-now{font-size:.78rem}.stale-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin:8px 0;border:1px solid var(--warn);border-radius:6px;background:color-mix(in srgb,var(--warn) 12%,transparent)}.stale-banner-text{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.85rem}.stale-banner--fail{border-color:var(--danger, var(--warn));background:color-mix(in srgb,var(--danger, var(--warn)) 12%,transparent)}.inv-version-recompute{display:flex;align-items:center;gap:8px}.inv-recompute-done{font-size:.8rem}.peri-noperm-notice{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;margin:4px 0}.inv-version-actions{display:inline-flex;align-items:center;gap:6px}.inv-repin-ceremony{margin:0}.itp-asof-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);cursor:pointer;font-size:.82rem;color:var(--text)}.itp-asof-toggle.on{border-color:var(--accent);background:var(--accent-weak);font-weight:600}.itp-asof-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;border-bottom:1px solid var(--accent);background:var(--accent-weak);font-size:.82rem;font-weight:600}.itp-asof-banner span{display:inline-flex;align-items:center;gap:6px}.inv-section{display:flex;flex-direction:column;gap:8px}.inv-actions-hint{font-size:.8em;margin:0 0 4px}.inv-construction{display:flex;flex-direction:column;gap:6px}.inv-cl-summary{font-size:.78em;margin:0}.inv-cl-detail{display:flex;flex-direction:column;gap:4px}.inv-cl-quality{font-size:.76em;margin:0}.inv-cl-lines{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.inv-cl-line{display:flex;justify-content:space-between;gap:8px;font-size:.76em;border-bottom:1px dashed var(--border);padding:1px 0}.inv-cl-line-type{font-weight:600}.geom-ver-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.geom-ver-row{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.geom-ver-row.is-current{border-color:var(--accent)}.geom-ver-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.geom-ver-v{font-weight:700}.geom-ver-op{font-size:.8em}.geom-ver-meta{font-size:.74em;display:flex;gap:6px;flex-wrap:wrap}.geom-ver-row .gnp-btn,.geom-ver-row button{align-self:flex-start;margin-top:2px}.mesh-wizard-dup{display:flex;flex-direction:column;gap:6px;margin-top:8px}.mesh-wizard-routever{margin-top:8px}.mesh-wizard-supersede{display:flex;align-items:center;gap:8px;font-size:.85em}.mesh-wizard-impacted{display:flex;flex-direction:column;gap:2px;margin:6px 0;font-size:.85em}.mesh-wizard-impacted-head{font-weight:600}.geom-draft-panel,.geom-draft-active{display:flex;flex-direction:column;gap:8px}.geom-draft-meta{font-size:.78em;margin:0}.geom-draft-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.geom-draft-issues{display:flex;flex-direction:column;gap:4px}.inv-study{display:flex;flex-direction:column;gap:6px}.inv-study-ref{font-family:ui-monospace,monospace;font-size:.8em;word-break:break-all;margin-bottom:6px}.inv-study-open,.inv-study-close{display:inline-flex;align-items:center;gap:6px;background:var(--accent-weak);color:var(--text);border:1px solid var(--accent);border-radius:6px;padding:6px 10px;cursor:pointer;font-size:.82em}.inv-study-open:hover{background:var(--accent);color:#fff}.inv-study-viewer{margin-top:8px}.inv-study-iframe{width:100%;height:420px;border:1px solid var(--border);border-radius:6px;margin-top:6px;background:#fff}.inv-relations{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0}.inv-rel-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 12px;border-bottom:1px solid var(--border);font-size:12px}.inv-rel-crumb-wrap{display:inline-flex;align-items:center;gap:2px}.inv-rel-crumb{background:none;border:0;color:var(--accent);cursor:pointer;padding:1px 4px;border-radius:4px;font-size:12px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-rel-crumb:hover{text-decoration:underline;background:var(--surface-2)}.inv-rel-crumb.is-current{color:var(--text-muted);font-weight:600;padding:1px 4px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-rel-group{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.inv-rel-group-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-2);flex:0 0 auto}.inv-rel-group-name{font-weight:600;font-size:.84em}.inv-rel-count{font-size:.76em;margin-left:auto;font-variant-numeric:tabular-nums}.inv-rel-highlight{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;padding:2px 6px;display:inline-flex;align-items:center}.inv-rel-highlight.active{background:var(--warn);color:#1a1a1a;border-color:var(--warn)}.inv-rel-list{list-style:none;margin:0;padding:0;overflow:auto;min-height:0;max-height:240px}.inv-rel-item{border-top:1px solid var(--border)}.inv-rel-item:first-child{border-top:none}.inv-campaigns-list{list-style:none;margin:0;padding:0}.inv-campaign-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--border)}.inv-campaign-row:first-child{border-top:none}.inv-campaign-year{font-weight:600;min-width:3.2em}.inv-campaign-badge{font-size:.82em;padding:1px 8px;border-radius:10px;border:1px solid var(--border)}.inv-campaign-badge.totalement{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}.inv-campaign-badge.partiellement{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.inv-campaign-badge.non{color:var(--text-muted)}.inv-campaign-partial-hint{display:inline-flex;align-items:center;color:var(--warn);cursor:help}.inv-campaign-frozen{display:inline-flex;align-items:center;gap:3px;margin-left:auto;font-size:.8em;color:var(--text-muted)}.inv-campaign-row .ds-btn{margin-left:auto}.peri-members-list{list-style:none;margin:8px 0 0;padding:0;max-height:360px;overflow:auto}.peri-bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.peri-bulk-pager{display:flex;align-items:center;gap:10px;margin-top:10px}.peri-member-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--border)}.peri-member-row:first-child{border-top:none}.peri-member-key{flex:0 0 auto;min-width:9em}.peri-member-source{font-size:.8em}.peri-member-row .ds-btn{margin-left:auto}.inv-rel-nav{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;color:var(--text);cursor:pointer;padding:6px 10px;font-size:.82em}.inv-rel-nav:hover{background:var(--accent-weak)}.inv-rel-key{font-family:ui-monospace,monospace;word-break:break-all}.inv-rel-label{font-size:.86em;margin-left:auto;color:var(--text-muted)}.reseau-tab{display:flex;flex-direction:column;gap:16px;padding:4px 2px}.reseau-actions{display:flex;justify-content:flex-end}.reseau-section{display:flex;flex-direction:column;gap:8px}.reseau-h4{margin:0;font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.reseau-tree,.reseau-treeitem{display:flex;flex-direction:column;gap:2px}.reseau-leaf-loading{padding:2px 8px}.reseau-tree-impacted{outline:1px solid var(--accent);outline-offset:3px;border-radius:8px}.reseau-hop{display:flex;flex-direction:column;gap:2px}.reseau-connector{font-size:.74em;padding-left:10px}.reseau-node{display:flex;align-items:center;gap:6px;min-height:30px;border:1px solid transparent;border-radius:8px;padding-right:8px}.reseau-node-current{border-color:var(--accent);background:var(--accent-weak)}.reseau-node-hit{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;background:transparent;border:none;color:var(--text);cursor:pointer;text-align:left;padding:5px 8px;font-size:.84em;border-radius:8px}.reseau-node-hit:hover:not(:disabled){background:var(--accent-weak)}.reseau-node-hit:disabled{cursor:default}.reseau-node-code{font-family:ui-monospace,monospace;font-weight:600;white-space:nowrap}.reseau-node-label{font-size:.92em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reseau-badge{flex:none;width:18px;text-align:center;font-size:.9em;line-height:1}.reseau-badge-master,.reseau-badge-subcabine{color:var(--accent)}.reseau-badge-support{color:var(--text-muted)}.reseau-badge-luminaire{color:#b8860b}.reseau-load-chip{flex:none;margin-left:auto;font-size:.74em;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;white-space:nowrap}.reseau-rollup{display:flex;align-items:center;gap:8px;font-size:.84em;border:1px solid var(--accent);background:var(--accent-weak);border-radius:8px;padding:8px 10px}.reseau-subtree{margin-left:10px}.reseau-subtree-node{display:flex;flex-direction:column;gap:2px}.reseau-subtree-row{display:flex;align-items:center;gap:4px}.reseau-subtree-row>.reseau-node{flex:1 1 auto;min-width:0}.reseau-tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border:none;background:none;cursor:pointer;color:inherit;border-radius:4px}.reseau-tree-toggle:hover{background:var(--accent-weak)}.reseau-tree-spacer{display:inline-block;width:20px;flex:0 0 20px}.reseau-subhead{font-size:.74em;padding:2px 8px}.reseau-note,.reseau-empty{font-size:.82em;margin:2px 0 0}.reseau-broken{display:flex;align-items:center;gap:6px;margin:0;font-size:.82em;color:var(--danger);border:1px solid var(--danger);border-radius:8px;padding:6px 10px}.reseau-impact-wrap{display:flex;flex-direction:column;gap:8px}.reseau-impact{border:1px solid var(--warn);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.reseau-impact-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.84em}.reseau-impact-count{font-size:.84em}.history-panel{display:flex;flex-direction:column;gap:12px}.history-head{display:flex;flex-direction:column;gap:2px}.history-head-key{font-size:.88em;word-break:break-all}.history-head-meta{font-size:.78em}.hist-fields{display:flex;flex-direction:column;gap:8px}.hist-field{display:flex;flex-direction:column;gap:4px}.hist-field-name{font-size:.78em}.hist-field-input{width:100%}.hist-field-check{align-self:flex-start}.hist-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8em}.hist-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hist-entry{border-left:2px solid var(--border);padding:2px 0 2px 10px}.hist-entry.action-create{border-left-color:var(--good)}.hist-entry.action-update{border-left-color:var(--accent)}.hist-entry.action-revert{border-left-color:var(--warn)}.hist-entry.action-delete{border-left-color:var(--bad)}.hist-entry-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8em}.hist-action{font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.88em}.hist-action-create{color:var(--good)}.hist-action-update{color:var(--accent)}.hist-action-revert{color:var(--warn)}.hist-action-delete{color:var(--bad)}.hist-entry-field{font-family:ui-monospace,monospace;font-size:.92em}.hist-revert-btn{margin-left:auto;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:2px 8px;font-size:.92em}.hist-revert-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.hist-revert-btn:disabled{opacity:.5;cursor:default}.hist-entry-diff{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;font-size:.8em;font-family:ui-monospace,monospace}.hist-diff-old{color:var(--text-muted);text-decoration:line-through}.hist-diff-arrow{color:var(--text-muted)}.hist-diff-new{color:var(--text);font-weight:600}.inv-timeline{display:flex;flex-direction:column;gap:6px}.inv-timeline-title{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}.inv-timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inv-timeline-item{display:flex;align-items:center;gap:8px;border-left:2px solid var(--border);padding:3px 0 3px 10px;position:relative}.inv-timeline-item:before{content:"";position:absolute;left:-5px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--accent)}.inv-timeline-year{font-weight:700;font-variant-numeric:tabular-nums;min-width:3em}.inv-timeline-verdict{flex:1 1 auto;text-align:center}.inv-timeline-surface{font-size:.78em;flex:0 0 auto}.study-page{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:340px 1fr}.study-list{display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border)}.study-list-controls{padding:12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border)}.study-list-controls .cs-list-search{width:100%;box-sizing:border-box}.study-count{font-size:.8em}.study-list-scroll{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}.study-row{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 12px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.study-row:hover{background:var(--surface-2)}.study-row.sel{background:var(--accent-weak);border-left:3px solid var(--accent)}.study-row-ref{font-weight:600;font-family:ui-monospace,monospace;font-size:.86em;word-break:break-all}.study-row-meta{font-size:.76em}.study-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border);font-size:.8em}.study-detail{position:relative;min-height:0;overflow:auto;padding:14px 18px}.study-detail.empty{display:flex;align-items:center;justify-content:center}.study-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.study-detail-head h2{margin:0;font-size:1.15em;font-family:ui-monospace,monospace;word-break:break-all}.study-detail-grid{display:grid;grid-template-columns:minmax(280px,.8fr) 1.4fr;gap:18px;align-items:start}@media (max-width: 1100px){.study-detail-grid{grid-template-columns:1fr}}.study-attrs{display:flex;flex-direction:column;margin-bottom:10px}.study-attrs .attr-label{font-family:ui-monospace,monospace;font-size:.82em}.study-png-title,.study-zones-title{margin-top:14px}.study-png{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;display:block}.study-pdf-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.study-pdf{width:100%;height:62vh;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.study-zone-wrap{overflow:auto;max-height:40vh;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:6px}.study-zone-table{border-collapse:collapse;font-size:.8em;white-space:nowrap}.study-zone-table th,.study-zone-table td{text-align:left;padding:5px 9px;border-bottom:1px solid var(--border)}.study-zone-table thead th{position:sticky;top:0;background:var(--surface-2);z-index:1}.study-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.study-screen.detail{gap:12px}.study-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.study-header h2{margin:0 0 2px;font-size:1.25em}.study-intro{margin:0;font-size:.86em;max-width:64ch}.study-result-count{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;white-space:nowrap}.study-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.study-pill{display:flex;flex-direction:column;gap:4px}.study-use3{display:inline-flex;align-items:center;gap:6px}.study-use3-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:3px 10px;font-size:.82em;cursor:pointer}.study-use3-btn:first-of-type{border-radius:12px 0 0 12px}.study-use3-btn:last-of-type{border-radius:0 12px 12px 0}.study-use3-btn+.study-use3-btn{margin-left:-1px}.study-use3-btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.study-use3-btn:hover:not(.on){border-color:var(--accent)}.study-where{display:inline-flex;align-items:center;gap:6px}.study-where-type{min-width:104px}.study-where-input{min-width:150px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.85em}.study-where-input:focus{border-color:var(--accent);outline:none}.study-where-clear{display:inline-flex;align-items:center;border:none;background:transparent;color:var(--text);cursor:pointer;padding:2px}.study-where-clear:hover{color:var(--accent)}.study-recent{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.study-recent-label{font-size:.8em;font-weight:600;white-space:nowrap}.study-recent-chips{display:flex;gap:6px;flex-wrap:wrap}.study-recent-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);font-size:.82em;cursor:pointer;white-space:nowrap;color:var(--text)}.study-recent-chip:hover{border-color:var(--accent);color:var(--accent)}.study-recent-ref{font-variant-numeric:tabular-nums}.study-recent-when{font-size:.92em}.study-export-pop{display:flex;flex-direction:column;gap:14px;min-width:380px;max-width:460px}.study-export-pop h3{margin:0;font-size:1.05em}.study-export-group{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.study-export-group legend{font-size:.78em;font-weight:600;padding:0 4px}.study-export-opt{display:flex;align-items:center;gap:8px;font-size:.88em;cursor:pointer}.study-export-opt.is-disabled{opacity:.5;cursor:not-allowed}.study-export-cap{font-size:.8em;margin:2px 0 0}.study-export-actions{display:flex;justify-content:flex-end;gap:8px}.study-export-btn{display:inline-flex;align-items:center;gap:6px}.study-pill-label{font-size:.68em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.study-pill-body{display:flex;align-items:center;min-height:32px}.study-search{min-width:220px;height:32px;box-sizing:border-box;padding:0 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.study-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:340px}.study-chip{padding:4px 9px;font-size:.8em;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;cursor:pointer;font-variant-numeric:tabular-nums}.study-chip:hover{border-color:var(--accent)}.study-chip.on{background:var(--accent-weak);border-color:var(--accent);color:var(--accent);font-weight:600}.study-range{display:flex;align-items:center;gap:6px}.study-num{width:56px;height:32px;box-sizing:border-box;padding:0 6px;text-align:right;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.study-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.86em;cursor:pointer}.study-reset{align-self:flex-end}.study-list-card{padding:0;overflow:hidden}.study-state{padding:18px;margin:0;text-align:center}.study-table-wrap{overflow-x:auto}.study-table{width:100%;border-collapse:collapse;font-size:.86em}.study-table thead th{position:sticky;top:0;text-align:left;padding:9px 14px;background:var(--surface-2);color:var(--text-muted);font-weight:600;font-size:.82em;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.study-table th.num,.study-table td.num{text-align:right;font-variant-numeric:tabular-nums}.study-table tbody tr{cursor:pointer;border-bottom:1px solid var(--border)}.study-table tbody tr:hover{background:var(--surface-2)}.study-table td{padding:7px 14px}.study-cell-ref{font-family:ui-monospace,monospace;font-weight:600;word-break:break-all}.study-usedby{color:var(--accent);font-weight:600}.study-class-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:700;font-size:.82em;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.study-class-badge.sm{font-size:.78em;padding:1px 7px}.study-lifecycle-strip{display:flex;list-style:none;margin:6px 0 14px;padding:0}.sls-step{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:16px;gap:2px}.sls-step:before{content:"";position:absolute;top:5px;left:-50%;width:100%;height:2px;background:var(--border);z-index:0}.sls-step:first-child:before{display:none}.sls-dot{position:absolute;top:0;width:12px;height:12px;border-radius:50%;z-index:1;background:var(--surface-2);border:2px solid var(--border)}.sls-neutral .sls-dot{background:var(--text-muted);border-color:var(--text-muted)}.sls-warn .sls-dot{background:var(--warn);border-color:var(--warn)}.sls-good .sls-dot{background:var(--good);border-color:var(--good)}.sls-current{font-weight:700}.sls-current .sls-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.sls-label{font-size:.82em}.sls-cap{font-size:.72em;line-height:1.2;max-width:12ch}.study-detail-bar{display:flex;gap:10px;align-items:center}.study-import-extract-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.study-detail-scroll{flex:1 1 auto;min-height:0;overflow:auto}.study-panel{display:flex;flex-direction:column;gap:12px}.study-panel.compact{gap:10px}.study-panel-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.study-panel-title{margin:0;font-size:1.02em}.study-detail-name{margin:0;font-size:1.15em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.study-panel-type{font-size:.85em}.study-detail-tabs{margin-top:8px}.study-doc-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 1100px){.study-doc-grid:has(.study-doc-egg){grid-template-columns:1fr 1fr}}.study-etude-cols{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media (min-width: 1100px){.study-etude-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.study-etude-left{display:flex;flex-direction:column;gap:12px;min-width:0}.study-etude-right{min-width:0}@media (min-width: 1100px){.study-etude-right{position:sticky;top:12px}}.study-doc-toggle{display:inline-flex;gap:4px;margin-left:auto}.study-doc-egg{display:flex;align-items:flex-start;justify-content:center}.study-egg-img{max-width:100%;max-height:58vh;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);object-fit:contain}.study-usage-none{padding:12px}.trajet-reuse-modal{width:92vw;max-width:960px}.trajet-reuse{display:flex;flex-direction:column;gap:12px}.trajet-reuse-head h3{margin:0;display:flex;align-items:center;gap:8px}.trajet-reuse-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.trajet-reuse-srcyear{display:inline-flex;align-items:center;gap:8px;font-size:.85em}.trajet-reuse-surface{font-variant-numeric:tabular-nums}.trajet-reuse-table{max-height:56vh;overflow:auto}.trajet-reuse-actions{display:flex;justify-content:flex-end;gap:8px}.reuse-cat{font-size:.8em}.reuse-cat-lineage{opacity:.75;font-family:var(--mono, ui-monospace, monospace);font-size:.92em}.reuse-cat--ok{background:var(--surface-2)}.reuse-cat--warn{border-color:var(--accent)}.reuse-cat--add{color:var(--good, var(--accent));border-color:var(--good, var(--accent))}.reuse-cat--drop{color:var(--danger, var(--accent));border-color:var(--danger, var(--accent))}.reuse-act{font-size:.85em;font-weight:600}.reuse-act--drop{color:var(--danger, var(--accent))}.reuse-act--add{color:var(--good, var(--accent))}.study-panel-ref{font-family:ui-monospace,monospace;font-size:.82em;color:var(--text-muted);word-break:break-all}.study-card{padding:14px}.study-zones-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.study-zone{border:1px solid var(--border);border-radius:var(--radius-sm)}.study-zone-head{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:none;border:none;cursor:pointer;font-weight:500;color:var(--text);text-align:left}.study-zone-edit{padding:8px 10px;border-top:1px solid var(--border)}.study-card .card-head{margin-bottom:10px}.study-card .card-head h4{margin:0;font-size:.95em;display:flex;align-items:center;gap:8px}.study-count-pill{font-variant-numeric:tabular-nums;font-size:.78em;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-weight:700}.study-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px 14px}.study-meta-cell{display:flex;flex-direction:column;gap:2px}.study-meta-label{font-size:.7em;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600}.study-meta-value{font-size:.92em}.study-pdf-open{display:inline-flex;align-items:center;gap:5px;font-size:.82em;color:var(--accent);text-decoration:none}.study-pdf-actions{margin-left:auto;display:inline-flex;align-items:center;gap:14px}.study-pdf-download{display:inline-flex;align-items:center;gap:5px;font-size:.82em;color:var(--accent);text-decoration:none;cursor:pointer}.study-pdf-download:hover,.study-pdf-open:hover{text-decoration:underline}.study-pdf-frame{width:100%;height:58vh;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.study-pdf-frame.compact{height:380px}.study-pdf-viewer{display:flex;flex-direction:column;gap:6px}.study-pdf-nav{display:flex;align-items:center;justify-content:center;gap:10px}.study-pdf-nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer}.study-pdf-nav-btn:hover:not(:disabled){border-color:var(--accent)}.study-pdf-nav-btn:disabled{opacity:.4;cursor:default}.study-pdf-nav-count{font-size:.82rem;color:var(--text-muted, #5b6570);min-width:8ch;text-align:center}.study-pdf-canvas-wrap{position:relative;width:100%;max-height:58vh;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.study-pdf-canvas{display:block;width:100%;height:auto}.study-pdf-highlight{pointer-events:none;background:#f0ad4e47;border:2px solid var(--accent);border-radius:2px;box-shadow:0 0 0 2px #4f9cf940;transition:all .12s ease}.study-zone-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 10px 8px;color:var(--text-muted)}.study-src-chip{font-size:.74rem;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface, transparent);color:inherit;cursor:pointer}.study-src-chip:hover{border-color:var(--accent);color:var(--accent)}.study-src-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.study-pdf-ff{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 18px;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-sm)}.study-pdf-ff .study-pdf-ff-open{display:inline-flex;align-items:center;gap:6px}.study-pdf-missing{color:var(--text-muted);font-size:.86em;margin:4px 0}.study-orphan{color:var(--warn, #e0a13c);font-size:.86em;margin:0;padding:8px 10px;background:color-mix(in srgb,#e0a13c 12%,transparent);border-radius:var(--radius-sm)}.study-shared-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto}.study-shared-empty{margin:0;font-size:.86em}.study-shared-link{display:flex;align-items:center;gap:7px;width:100%;text-align:left;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-size:.84em}.study-shared-link:hover{background:var(--surface-2);border-color:var(--accent)}.study-shared-key{font-family:ui-monospace,monospace;font-weight:600;word-break:break-all}.study-shared-label{font-size:.92em}.study-shared-more{font-size:.8em;padding:4px 8px}.mesh-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:8px}.mesh-upload-panel{margin-bottom:14px}.mesh-deposit-primary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 6px}.mesh-deposit-cta{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;padding:9px 16px}.mesh-deposit-sub{font-size:.82rem}.mesh-deposit-result{display:flex;flex-direction:column;gap:12px}.mesh-deposit-cov{display:flex;align-items:baseline;gap:8px}.mesh-deposit-cov-val{font-size:1.8rem;font-weight:700;color:var(--good)}.mesh-deposit-cov-val.zero{color:var(--warn, #d9822b)}.mesh-deposit-cov-lbl{font-size:.82rem}.mesh-deposit-betterfit{display:flex;align-items:center;gap:6px;font-size:.88rem;margin:0}.mesh-deposit-map-wrap{display:flex;flex-direction:column;gap:6px}.mesh-deposit-map{width:100%;height:260px;border-radius:var(--radius-sm);overflow:hidden}.mesh-deposit-legend{display:flex;gap:16px;font-size:.78rem}.mesh-deposit-leg{display:inline-flex;align-items:center;gap:6px}.mesh-deposit-leg:before{content:"";width:12px;height:12px;border-radius:2px;display:inline-block}.mesh-deposit-leg-scope:before{background:color-mix(in srgb,var(--accent) 30%,transparent);border:1.5px solid var(--accent)}.mesh-deposit-leg-foot:before{background:color-mix(in srgb,var(--good) 40%,transparent);border:2px dashed var(--good)}.mesh-bulk-panel{max-width:920px;width:92vw}.mesh-bulk-table-wrap{margin-top:12px;display:flex;flex-direction:column;gap:8px}.mesh-bulk-bulkops{display:flex;align-items:center;gap:10px}.mesh-bulk-dateall{display:inline-flex;align-items:center;gap:8px;font-size:.85em}.mesh-bulk-grid{display:flex;flex-direction:column;gap:4px;max-height:46vh;overflow-y:auto}.mesh-bulk-grid-head,.mesh-bulk-grid-row{display:grid;grid-template-columns:28px minmax(140px,1.6fr) 130px 110px minmax(120px,1.4fr);gap:8px;align-items:center}.mesh-bulk-grid-head{font-size:.78em;font-weight:600;color:var(--text);padding:2px 4px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.mesh-bulk-grid-row{padding:3px 4px;border-radius:6px}.mesh-bulk-grid-row:hover{background:var(--surface-2)}.mesh-bulk-row--off{opacity:.45}.mesh-bulk-fname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85em}.mesh-bulk-note{font-size:.8em}.mesh-bulk-result{display:flex;flex-direction:column;gap:10px}.mesh-bulk-result-list{display:flex;flex-direction:column;gap:3px;max-height:50vh;overflow-y:auto}.mesh-bulk-status{display:grid;grid-template-columns:22px minmax(140px,1.4fr) 120px minmax(120px,1.6fr);gap:8px;align-items:center;padding:4px 6px;border-radius:6px;font-size:.85em;border-left:3px solid var(--border)}.mesh-bulk-status--ready{border-left-color:var(--ok, var(--accent))}.mesh-bulk-status--dedup{border-left-color:var(--border)}.mesh-bulk-status--rejected,.mesh-bulk-status--error{border-left-color:var(--danger, var(--accent));background:var(--surface-2)}.mesh-bulk-status--warn{border-left-color:var(--accent)}.study-import-flow{display:flex;flex-direction:column;gap:14px}.study-import-review-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.study-import-review-left{display:flex;flex-direction:column;gap:10px;min-width:0}.study-import-review-source{display:flex;flex-direction:column;gap:8px;min-width:0;position:sticky;top:8px}.study-import-source-head{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.85rem;color:var(--text-muted, #5b6570)}.study-import-source-pdf{width:100%;height:72vh;border:1px solid var(--border, #d7dbe0);border-radius:8px;background:var(--surface-2, #f4f5f7)}.study-import-source-empty{padding:24px;text-align:center;border:1px dashed var(--border, #d7dbe0);border-radius:8px}.study-import-select-hint{margin:0 0 6px;font-size:.8rem}.study-import-empty-manual-hint{margin:4px 0 12px;font-size:.85rem;line-height:1.4}.study-import-add-zone{margin-top:10px;display:inline-flex;align-items:center;gap:6px}.study-import-props{margin:6px 0 10px}.study-import-props-title{margin:0 0 6px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #5b6570)}.study-import-props-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 12px}.study-import-prop{display:flex;flex-direction:column;gap:2px;min-width:0}.study-import-prop-lbl{font-size:.72rem;color:var(--text-muted, #5b6570)}.study-zone-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.study-zone-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.study-zone-card-sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.study-zone-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background:var(--surface-2, rgba(0,0,0,.02))}.study-zone-card-toggle{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;color:var(--text);font:inherit;padding:0}.study-zone-card-flag{margin-left:auto}.study-zone-card-body{padding:10px 12px 14px;display:flex;flex-direction:column;gap:12px}.study-zone-groups{display:flex;flex-direction:column;gap:10px}.study-zone-group{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.study-zone-group-title{margin:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #5b6570)}.study-zone-group-note{text-transform:none;font-weight:400;letter-spacing:0;font-size:.9em}.study-zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px 12px}.study-zone-field{display:flex;flex-direction:column;gap:2px;min-width:0}.study-zone-field--head{flex-direction:column}.study-zone-field--head .study-import-cell-input{max-width:140px}.study-zone-field-lbl{font-size:.72rem;color:var(--text-muted, #5b6570)}.study-zone-field--bool .study-import-cell{display:flex;align-items:center;height:28px}.study-zone-grid .study-import-cell{display:flex;width:100%;min-width:0;align-items:center;gap:4px}.study-zone-grid .study-import-cell>input,.study-zone-grid .study-import-cell>select,.study-zone-grid .study-import-cell .ds-input{flex:1 1 0;min-width:0;width:100%;box-sizing:border-box}.study-import-del-zone{color:var(--text-muted, #5b6570)}.study-import-del-zone:hover{color:var(--danger, #c0392b)}.study-import-source-region{margin-left:auto;font-size:.78rem;font-weight:500;color:var(--text-muted, #5b6570)}.study-import-zone-table tbody tr{cursor:pointer}.study-import-zone-sel>td{background:var(--accent-soft, #eaf1fb)}.study-import-flag{display:inline-flex;align-items:center;gap:3px;font-size:.78rem;white-space:nowrap}.study-import-flag--ok{color:var(--success, #2e7d46)}.study-import-flag--warn{color:var(--warning, #b7791f)}.study-import-flag--muted{color:var(--text-muted, #7a828c)}.study-import-review-summary{margin-left:auto;display:inline-flex;gap:12px;align-items:center}.study-import-review-context{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.study-import-review-context-label{color:var(--muted);font-size:.9em}.study-import-review-context-ref{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42ch}.study-import-zone-table .study-import-cell-input{max-width:84px}.study-import-cell{display:inline-flex;align-items:center;gap:4px}.study-import-edited-dot{color:var(--accent, #2563eb);font-size:.7rem;line-height:1;cursor:default}.study-import-confirm-hint{margin:6px 0 0;font-size:.8rem}.study-import-routed{font-size:.78rem;margin-left:6px}.study-import-source-toggle{display:inline-flex;gap:4px;margin-bottom:6px}.study-import-source-toggle button{padding:4px 10px;border:1px solid var(--border, #d7dbe0);border-radius:6px;background:var(--surface, #fff);color:inherit;cursor:pointer;font-size:.8rem}.study-import-source-toggle button.active{background:var(--accent, #2563eb);color:#fff;border-color:var(--accent, #2563eb)}.study-import-source-egg{width:100%;max-height:72vh;object-fit:contain;border:1px solid var(--border, #d7dbe0);border-radius:8px;background:var(--surface-2, #f4f5f7)}.study-import-divergence{margin-top:12px;border:1px solid var(--warning, #b7791f);border-radius:8px;padding:10px 12px;background:var(--warning-soft, #fdf3d7)}.study-import-divergence-row{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--warning-strong, #92600a)}.study-import-divergence-row+.study-import-divergence-row{margin-top:6px}.study-import-studylevel{display:flex;flex-wrap:wrap;gap:18px;padding:2px 0 8px;margin-bottom:4px;border-bottom:1px solid var(--border, #d7dbe0)}.study-import-sl-item{display:flex;flex-direction:column;gap:2px}.study-import-sl-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #7a828c)}.study-import-sl-value{font-weight:600;font-size:.9rem}.study-import-sl-varied{font-weight:400;font-style:italic;color:var(--text-muted, #7a828c)}@media (max-width: 900px){.study-import-review-cols{grid-template-columns:1fr}}.study-import-preview{display:flex;flex-direction:column;gap:8px}.study-import-fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-import-extracting{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius, 10px);background:var(--surface);max-width:560px}.study-import-bg-head{display:flex;align-items:center;gap:8px}.study-import-bg-pct{font-variant-numeric:tabular-nums}.study-import-bg-hint{margin:0;font-size:.88em}.study-import-extracting .jobs-progress{width:100%}.study-ocr-chip{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);padding:2px 4px 2px 10px;font-size:.82em}.study-ocr-chip.is-done{border-color:color-mix(in srgb,var(--good) 45%,transparent)}.study-ocr-chip.is-failed{border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.study-ocr-chip-main{display:inline-flex;align-items:center;gap:5px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:2px 4px;white-space:nowrap}.study-ocr-chip.is-done .study-ocr-chip-main{color:var(--good);font-weight:600}.study-ocr-chip.is-failed .study-ocr-chip-main{color:var(--bad)}.study-ocr-chip-x{display:inline-flex;align-items:center;background:none;border:0;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:50%}.study-ocr-chip-x:hover{background:var(--surface-3)}.study-import-result{display:flex;flex-direction:column;gap:10px}.study-import-result-list{display:flex;flex-direction:column;gap:3px;max-height:50vh;overflow-y:auto}.study-import-status{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;font-size:.85em;border-left:3px solid var(--border)}.study-import-status--matched,.study-import-status--ok{border-left-color:var(--ok, var(--accent))}.study-import-status--skip{border-left-color:var(--border)}.study-import-status--outOfRange{border-left-color:var(--accent)}.study-import-status--noMatch,.study-import-status--error{border-left-color:var(--danger, var(--accent));background:var(--surface-2)}.study-import-review-btn{margin-left:auto}.study-import-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.diff-preview{margin-top:10px;border-top:1px solid var(--border);padding-top:8px}.diff-preview-head{display:flex;align-items:center;gap:8px}.diff-preview-head .icon-btn{margin-left:auto}.diff-preview-attrs{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;font-size:.85em;margin:6px 0}.diff-preview-attrs dt{color:var(--text-muted)}.diff-preview-attrs dd{margin:0}.diff-preview-fields{display:flex;flex-direction:column;gap:3px;font-size:.85em;margin:6px 0}.diff-preview-map{margin-top:8px}.diff-preview-map-canvas{height:200px;width:100%;border-radius:var(--radius-sm, 6px);overflow:hidden}.import-history-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px}.import-hist-status{font-size:.85em}.import-hist-status--done{color:var(--ok, var(--accent))}.import-hist-status--error{color:var(--danger, var(--bad))}.import-hist-status--pending{color:var(--text-muted)}.import-guidance-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:12px}.import-guidance-help{display:flex;align-items:center;gap:6px}.import-guidance-templates{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-tpl-cap{font-size:.85em}.import-template-btn{display:inline-flex;align-items:center;gap:4px}.auth-menu-ver{padding:5px 14px 3px;font-size:.72em;text-align:center;border-top:1px solid var(--border)}.complement-dissolved-notice{margin-top:12px}.feedback-attach-body{display:flex;flex-direction:column;gap:10px;max-width:80vw}.feedback-attach-img{max-width:100%;max-height:60vh;border:1px solid var(--border);border-radius:var(--radius-sm, 6px)}.feedback-attach-console pre{max-height:40vh;overflow:auto;white-space:pre-wrap;font-size:.8em}.feedback-attach-btn{display:inline-flex;align-items:center;gap:4px}.sup-build-id{font-size:.78em;color:var(--text-muted, #888);font-family:var(--mono, ui-monospace, monospace);align-self:center;white-space:nowrap}.maint-template-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.maint-template-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);flex-wrap:wrap}.maint-template-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.maint-template-actions{display:flex;align-items:center;gap:6px}.rbac-action-cell{display:inline-flex;align-items:center;gap:5px}.rbac-right-help-btn{display:inline-flex;align-items:center;padding:0;color:var(--text-muted);cursor:pointer;background:none;border:none}.rbac-right-help-btn:hover{color:var(--accent)}.rbac-right-help{display:flex;flex-direction:column;gap:10px;padding:4px 2px;max-width:480px}.rbac-right-help dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}.rbac-right-help dt{color:var(--text-muted);font-weight:600}.rbac-right-help dd{margin:0}.rbac-right-help-hl{font-style:italic}.rbac-right-help-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);width:min(520px,94vw);padding:18px 22px;box-shadow:var(--shadow);max-height:88vh;overflow-y:auto}.diff-confirm-progress{display:flex;flex-direction:column;gap:4px;margin:8px 0}.inve-pending{display:flex;flex-direction:column;gap:10px;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px)}.inve-pending-group>strong{display:block;margin-bottom:4px}.inve-pending-jobs,.inve-pending-ready{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inve-pending-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mesh-quick-upload{margin:8px 0}.mesh-quick-upload>summary{cursor:pointer;font-size:.82rem;padding:4px 0;width:fit-content}.mesh-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.mesh-upload-row input[type=file]{font-size:.85em;max-width:380px}.mesh-session-pick{display:inline-flex;align-items:center;gap:6px;font-size:.85em}.mesh-session-pick select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px}.mesh-upload-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.mesh-uploads-head{margin-top:14px}.mesh-pick-user{font-style:italic}.mesh-msg-error{color:var(--bad, #eb082c);font-size:.85em}.mesh-actions{white-space:nowrap}.mesh-actions .seg{margin-right:6px;padding:2px 8px;font-size:.8em}.export-dialog{background:var(--panel, #1c2128);border:1px solid var(--border, #333a45);border-radius:10px;width:min(440px,92vw);padding:0 16px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 12px 40px #00000073}.export-form{display:flex;flex-direction:column;gap:10px}.export-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.modal-form:not(.ident-edit-form){display:flex;flex-direction:column;gap:var(--space-5, 24px)}.modal-form:not(.ident-edit-form)>label{display:flex;flex-direction:column;gap:var(--space-2, 6px)}.export-scope{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.export-scope>legend{padding:0 4px;font-size:12px}.export-scope-opt{display:flex;align-items:center;gap:6px;cursor:pointer}.export-field select,.export-field input[type=number]{background:var(--bg, #11151a);color:inherit;border:1px solid var(--border, #333a45);border-radius:6px;padding:6px 8px;font:inherit}.export-crs{display:flex;gap:6px}.export-crs select{flex:1}.export-crs input{width:90px}.export-check{display:flex;align-items:center;gap:8px;font-size:13px}.export-progress{display:flex;flex-direction:column;gap:4px}.export-progress-track{height:8px;border-radius:4px;background:var(--bg, #11151a);border:1px solid var(--border, #333a45);overflow:hidden}.export-progress-bar{height:100%;background:var(--accent, #4f9cf9);transition:width .4s ease}.export-error{color:var(--danger, #e5534b);font-size:13px;margin:0}.export-ready{display:flex;align-items:center;gap:6px;font-size:13px;margin:0}.export-download{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.list-export-btn{margin-left:auto}.inv-export-btn{margin-top:10px;display:inline-flex;align-items:center;gap:6px}.symb-intro{margin:0 0 8px}.symb-readonly{display:flex;align-items:center;gap:6px;margin:0 0 10px}.config-tab-panel{padding-top:var(--space-3, 12px)}.config-tab-head{display:flex;justify-content:flex-end;align-items:center;margin:0 0 8px}.config-app{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.config-topic{display:flex;flex-direction:column;gap:8px}.config-topic-symbology{width:100%}.config-topic-actions{display:flex;justify-content:flex-end}.cfg-filterfields{display:flex;flex-direction:column;gap:10px}.cfg-filterfield-addform{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.config-app-hub{display:flex;flex-direction:column;gap:12px}.config-app-rail{max-width:260px}.cfg-ff-attr-picker{position:relative;display:inline-flex;align-items:center;min-width:240px}.cfg-ff-attr-picker>.field-input,.cfg-ff-attr-picker input{width:100%}.cfg-ff-attr-picked{position:absolute;right:8px;color:var(--good);pointer-events:none}.cfg-ff-attr-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.cfg-ff-attr-options{position:absolute;z-index:41;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 8px);box-shadow:var(--shadow, 0 8px 28px rgba(0,0,0,.22));min-width:300px}.cfg-ff-attr-none{padding:8px 10px;font-size:.88em}.cfg-ff-attr-option{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:6px 9px;cursor:pointer;color:inherit;font:inherit}.cfg-ff-attr-option:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent)}.cfg-ff-attr-option:disabled{cursor:default;opacity:.5}.cfg-ff-attr-label{font-weight:600}.cfg-ff-attr-key{font-family:var(--font-mono, monospace);font-size:.82em}.cfg-ff-attr-src{margin-left:auto;font-size:.72em;text-transform:uppercase;letter-spacing:.02em;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.cfg-ff-src-whitelist{border-color:color-mix(in srgb,var(--good) 45%,transparent);color:var(--good)}.cfg-ff-src-derived{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.cfg-ff-attr-added{font-size:.74em;font-style:italic}.cfg-filterfields-table{width:100%;border-collapse:collapse}.cfg-filterfields-table th,.cfg-filterfields-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border, #e2e2e2);vertical-align:middle}.cfg-ff-row--disabled{opacity:.55}.cfg-ff-attr{font-family:var(--font-mono, monospace);font-size:.9em}.cfg-ff-note{font-size:.85em}.cfg-filterfields-actions{display:flex;align-items:center;gap:10px}.symb-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 900px){.symb-cards{grid-template-columns:1fr}}.symb-card{background:var(--panel, #1c2128);border:1px solid var(--border, #333a45);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.symb-card-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border, #333a45)}.symb-card-head .help-btn{margin-right:2px}.symb-kind{margin-left:auto;font-size:12px}.symb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 18px;align-items:end}.symb-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:0}.symb-grid input[type=text],.symb-grid input[type=number],.symb-grid select{background:var(--bg, #11151a);color:inherit;border:1px solid var(--border, #333a45);border-radius:6px;padding:6px 8px;font:inherit;width:100%;box-sizing:border-box}.symb-grid input[type=range]{width:100%;accent-color:var(--accent, #4f9cf9)}.symb-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px}.symb-preview{display:flex;flex-direction:column;gap:6px;margin-top:10px}.symb-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.symb-preview-col{display:flex;flex-direction:column;gap:4px;min-width:0}.symb-preview-cap{font-size:12px;display:inline-flex;align-items:center;gap:4px}.symb-preview-map{height:130px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.symb-preview-unavailable{display:flex;align-items:center;justify-content:center;font-size:13px;height:130px}.symb-saved{display:inline-flex;align-items:center;gap:4px;color:var(--ok, #4caf78);font-size:13px}.symb-note{margin-top:12px;font-size:12px}.symb-defaults-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:var(--surface-2, #232c38);border:1px solid var(--border, #333a45);border-radius:var(--radius-sm, 6px);padding:8px 12px;margin-bottom:12px}.symb-defaults-info{font-size:12px;color:var(--text-muted, #8b98a5)}.symb-defaults-info .symb-snapshot-done{color:var(--ok, #4caf78);font-weight:500}.symb-snapshot-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.symb-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.symb-confirm-dialog{background:var(--surface, #1a212b);border:1px solid var(--border, #333a45);border-radius:var(--radius, 10px);padding:20px 24px;width:min(420px,92vw);box-shadow:var(--shadow, 0 4px 20px rgba(0,0,0,.5));display:flex;flex-direction:column;gap:14px}.symb-confirm-title{font-size:15px;font-weight:600;margin:0}.symb-confirm-body{font-size:13px;color:var(--text-muted, #8b98a5);margin:0}.symb-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.appdef-table-wrap{overflow-x:auto}.appdef-table{width:100%}.appdef-table th,.appdef-table td{font-size:13px;padding:8px 10px;vertical-align:middle}.appdef-label-cell{min-width:200px}.appdef-key{font-size:11px;font-family:var(--font-mono, monospace);margin-top:2px}.appdef-input-wrap{display:flex;align-items:center;gap:4px}.appdef-input-wrap .cc-input-s{width:80px}.appdef-suffix{font-size:12px}.appdef-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;white-space:nowrap}.appdef-save-error{font-size:12px;margin-top:2px}.cfg-security-ttl-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cfg-security-note{font-size:12px;margin-top:8px;max-width:640px}.appdef-hint{font-size:13px;margin:0 0 12px}.auth-overlay{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(420px,94vw);margin:12vh auto 0;padding:18px 20px;box-shadow:var(--shadow)}.auth-overlay-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{display:flex;flex-direction:column;gap:4px}.auth-form .cs-list-search{width:100%;box-sizing:border-box}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.auth-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit}.auth-notice{background:var(--accent-weak);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:10px;font-size:.9em}.auth-notice--warn{background:#dc8c281f;border-color:var(--warn, #b7791f)}.auth-error{background:#dc3c3c1f;border:1px solid var(--bad);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:10px;font-size:.9em}.auth-menu{position:relative}.auth-menu-pop{right:0;left:auto}.auth-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.prefs-picture-thumb{margin-top:8px;padding:0;border:none;background:none;cursor:pointer;line-height:0;border-radius:50%}.prefs-picture-thumb:hover img{border-color:var(--accent)}.prefs-picture-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prefs-layout{max-width:560px}.prefs-form{margin-top:14px}.admin-checklists{display:flex;gap:18px;flex-wrap:wrap}.admin-checkset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:0}.admin-checkset .ds-field-label{display:block;margin-bottom:6px}.admin-check{display:flex;align-items:center;gap:6px;padding:2px 0}.admin-table{border-collapse:collapse;font-size:.9em;width:100%}.admin-table th,.admin-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.table-select-cell{width:36px;text-align:center;padding-right:0}.table-select-cell input{cursor:pointer}.admin-table tr.row-checked>td{background:color-mix(in srgb,var(--accent) 9%,transparent)}.bulk-action-bar{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);position:sticky;top:0;z-index:2}.bulk-action-count{font-weight:600;margin-right:auto}.admin-table thead th{position:sticky;top:0;background:var(--surface);z-index:1}.admin-row-inactive{opacity:.5}.admin-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;row-gap:6px}.admin-row-actions>*{flex-shrink:0}.admin-form-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:16px;background:var(--surface);display:flex;flex-direction:column;gap:16px}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.admin-form-actions{display:flex;justify-content:flex-end;gap:8px}.admin-edit-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 12px);width:min(560px,94vw);padding:20px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow:auto}.admin-edit-dialog form{display:flex;flex-direction:column;gap:16px}.admin-edit-title{margin:0;font-size:1.05em;font-weight:600}.admin-rbac-note{margin-bottom:12px}.rbac-locked-icon{margin-left:4px;opacity:.6;font-size:.9em}.admin-rbac-scroll{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:var(--radius-sm)}.admin-rbac-table{white-space:nowrap}.admin-rbac-cell{text-align:center}.admin-rbac-cell--locked{opacity:.45;background:var(--surface-dim, rgba(0,0,0,.04));cursor:not-allowed}.admin-rbac-cell--locked input[type=checkbox]{cursor:not-allowed;pointer-events:none}.notif-bell{position:relative}.notif-badge{position:absolute;top:-2px;right:-4px;background:var(--bad);color:#fff;border-radius:999px;font-size:.62em;line-height:1;padding:3px 5px;min-width:10px;text-align:center;pointer-events:none}.notif-pop{right:0;left:auto;width:min(360px,92vw);max-height:60vh;overflow:auto;padding:0}.notif-pop-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.notif-list{list-style:none;margin:0;padding:0}.notif-empty{padding:14px 12px}.notif-item{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:9px 12px;cursor:pointer;font:inherit;color:inherit}.notif-item:hover{background:var(--surface-2)}.notif-item.read{opacity:.6;cursor:default}.notif-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.notif-body{flex:1}.notif-time{white-space:nowrap;font-size:.78em}.landing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:auto;display:grid;grid-template-rows:auto 1fr auto;background-color:#0a0f16;background-size:cover;background-position:center;background-repeat:no-repeat;color:#e8eef5;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.landing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 80% at 78% 60%,#0a0f1600,#0a0f168c 70%),linear-gradient(180deg,#0a0f1673,#0a0f1600 22%,#0a0f1600 72%,#0a0f1699)}.landing>*{position:relative;z-index:1}.landing-top{display:flex;justify-content:flex-end;padding:22px 28px 0}.landing-lang{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-lang-btn{border:none;background:transparent;color:#c4d0dd;font:600 12px/1 Poppins,system-ui,sans-serif;letter-spacing:.06em;padding:7px 13px;border-radius:999px;cursor:pointer;transition:all .18s ease}.landing-lang-btn:hover{color:#fff}.landing-lang-btn.active{background:#fff;color:#0d1622;box-shadow:0 2px 8px #00000040}.landing-stage{align-self:center;width:100%;max-width:1120px;margin:0 auto;padding:24px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.landing-brandstage{min-width:0;display:inline-flex;flex-direction:column;align-items:flex-end}.landing-appname{margin:0;display:flex;flex-direction:column;gap:4px;color:#f4f8fc;text-shadow:0 2px 24px rgba(0,0,0,.45)}.landing-delivery-name{font-weight:800;font-size:76px;line-height:1;letter-spacing:-.03em;color:#f4f8fc}.landing-logo{display:block;height:96px;width:auto;--logo-text: #f4f8fc}.landing-lockup-sep{display:none}.landing-lockup-suffix{font-weight:400;font-size:17px;line-height:1.4;letter-spacing:.005em;color:#c0cdd8}.landing-lockup-suffix strong{font-weight:600;color:#f2a057}.landing-tagline{margin:16px 0 0;font-weight:400;font-size:17px;line-height:1.5;color:#c0cdd8;max-width:100%;text-align:right;text-wrap:balance}.landing-lumineo-line{margin:8px 0 0;font-weight:400;font-size:14px;line-height:1.4;font-style:italic;color:#8fa0b1;max-width:36ch;letter-spacing:.01em}.landing-lumineo-mark{font-weight:700;font-style:normal;color:#f2a057;letter-spacing:0}.landing-panel{position:relative}.landing-panel-glow{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:22px;pointer-events:none;background:linear-gradient(140deg,#ffb7644d,#5aa6ff38 55%,#6a247547);filter:blur(14px);opacity:.55}.landing-panel-body{position:relative;border-radius:20px;padding:34px 34px 30px;background:linear-gradient(180deg,#1a212bd1,#121820e0);border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1)}.landing-panel-head{margin-bottom:22px}.landing-panel-head h2{margin:0;font-weight:600;font-size:22px;color:#f2f6fa;letter-spacing:-.01em}.landing-panel-lead{margin:8px 0 0;font-size:13.5px;color:#97a6b6;line-height:1.5}.landing-form{display:flex;flex-direction:column;gap:16px}.landing-field{display:flex;flex-direction:column;gap:7px}.landing-field-label{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#8a99a9}.landing-field-input{display:flex;align-items:center;gap:10px;background:#0c1118b3;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:0 14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.landing-field-input:focus-within{border-color:#ffb764b3;box-shadow:0 0 0 3px #ffb76429;background:#0c1118d9}.landing-field-icon{color:#7b8a9a;flex:none}.landing-field-input input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#eef3f8;font:400 15px/1 Poppins,system-ui,sans-serif;padding:14px 0}.landing-field-input input::placeholder{color:#5d6b7a}.landing-submit{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;border-radius:12px;padding:14px 18px;font:600 15px/1 Poppins,system-ui,sans-serif;color:#1a1206;background:linear-gradient(135deg,#ffc879,#f2a057);box-shadow:0 8px 24px #f2a05752;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.landing-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px #f2a0576b;filter:brightness(1.03)}.landing-submit:active:not(:disabled){transform:translateY(0)}.landing-submit:disabled{opacity:.6;cursor:default}.landing-textlink{align-self:center;margin-top:2px;background:none;border:none;color:#9fb0c1;font:400 13px/1 Poppins,system-ui,sans-serif;cursor:pointer;padding:4px;transition:color .16s ease}.landing-textlink:hover{color:#ffc879}.landing-panel-body .auth-notice,.landing-panel-body .auth-error{margin-bottom:14px;font-size:13px}.landing-powered{position:absolute;right:28px;bottom:22px;z-index:1;display:inline-flex;align-items:center;gap:8px;opacity:.92}.landing-powered-text{font-size:11px;font-weight:400;letter-spacing:.05em;color:#8fa0b1;white-space:nowrap}.landing-powered-sep{display:inline-block;width:1px;height:14px;background:#ffffff2e;flex:none;margin:0 2px}.landing-kurrant{height:20px;width:auto;opacity:.95}.landing-luwa-credit{height:19px;width:auto;opacity:.88}.landing-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 28px 22px}.landing-foot-link{background:none;border:none;cursor:pointer;padding:2px;color:#8fa0b1;font:400 12.5px/1 Poppins,system-ui,sans-serif;transition:color .16s ease}.landing-foot-link:hover{color:#d8e2ec;text-decoration:underline}.landing-foot-sep{color:#4d5a68}.landing-foot-ver{color:#5d6b7a;font:400 12px/1 Poppins,system-ui,sans-serif}@media (max-width: 860px){.landing-stage{grid-template-columns:1fr;gap:36px;padding:16px 22px 40px}.landing-delivery-name{font-size:52px}.landing-logo{height:64px}.landing-brandstage{align-self:center}.landing-powered{position:static;justify-content:center;padding:10px 0 0}.landing-footer{justify-content:center}}.legal-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:auto;background:var(--bg);color:var(--text);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.legal-inner{max-width:760px;margin:0 auto;padding:48px 28px 64px}.legal-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:28px;background:none;border:1px solid var(--border);border-radius:999px;padding:8px 16px;color:var(--text-muted);font:500 13px/1 Poppins,system-ui,sans-serif;cursor:pointer;transition:all .16s ease}.legal-back:hover{color:var(--text);border-color:var(--accent)}.legal-doc h1{font-weight:600;font-size:30px;letter-spacing:-.01em;margin:0 0 14px}.legal-doc h2{font-weight:600;font-size:17px;margin:28px 0 8px;color:var(--text)}.legal-doc p,.legal-doc li{color:var(--text-muted);line-height:1.6;font-size:14.5px}.legal-lead{font-size:15.5px!important;color:var(--text)!important}.legal-doc ul{margin:6px 0;padding-left:20px}.legal-doc li{margin:4px 0}.landing-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg);font-size:18px;color:var(--text-muted)}.operator-report-bar{margin-top:6px}.inve-dialog{max-width:720px;width:min(720px,92vw);max-height:84vh;overflow-y:auto}.inve-intro{margin:4px 16px 10px}.inve-trigger{display:flex;align-items:flex-end;gap:12px;padding:0 16px 8px}.inve-trigger .export-field{flex:1}.inve-ledger-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 4px;border-top:1px solid var(--border);margin-top:10px}.inve-ledger-head h3{margin:0;font-size:.95em}.inve-list{list-style:none;margin:0;padding:0 8px 12px}.inve-row{border-bottom:1px solid var(--border)}.inve-row-main{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:none;border:none;padding:9px 8px;cursor:pointer;font:inherit;color:inherit}.inve-row-main:hover{background:var(--surface-2)}.inve-row-head{display:flex;align-items:baseline;gap:10px}.inve-file{font-size:.82em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inve-row-meta{font-size:.78em}.inve-chips{display:flex;flex-wrap:wrap;gap:6px}.inve-chip{font-size:.76em;padding:1px 7px;border-radius:9px;border:1px solid var(--border);white-space:nowrap}.inve-chip.add{color:#5dbb63;border-color:#5dbb63}.inve-chip.chg{color:#e8b339;border-color:#e8b339}.inve-chip.mov{color:#4f9cf9;border-color:#4f9cf9}.inve-chip.rem{color:#e85d5d;border-color:#e85d5d}.inve-chip.rea{color:#b07cff;border-color:#b07cff}.inve-chip.unc{opacity:.65}.inve-samples{padding:2px 10px 10px;font-size:.82em}.inve-sample-line{margin-top:3px;word-break:break-word}.inve-sample-line code{font-size:.95em}.inve-loc-row{cursor:default}.inve-lineage{margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--border)}.inve-lineage h4{margin:0 0 6px;font-size:.85em;text-transform:uppercase;letter-spacing:.04em}.inve-lin-list{list-style:none;margin:0 0 8px;padding:0}.inve-lin-row{display:flex;align-items:center;gap:6px;font-size:.85em;padding:2px 0;flex-wrap:wrap}.inve-merge{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.inve-merge-keys{margin:0;font-size:.82em;word-break:break-word}.inve-simplify{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:100%;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.inve-simplify-row{display:flex;align-items:center;gap:8px}.inve-simplify-label{font-size:.84em;color:var(--text-muted)}.inve-simplify-stats{margin:0;font-size:.82em}.inve-simplify-stats b{color:var(--text)}.inve-row-static{cursor:default}.inve-row-main.inve-row-static:hover{background:transparent}.inve-run-active{background:var(--surface-2);border-left:2px solid var(--accent, #4f9cf9)}.inve-findings{max-height:38vh;overflow:auto}.inve-finding-row{display:flex;align-items:baseline;gap:8px;font-size:.82em;padding:3px 8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.inve-sev{font-size:.92em;padding:0 6px;border-radius:8px;border:1px solid;white-space:nowrap}.inve-sev-problem{color:#e85d5d;border-color:#e85d5d}.inve-sev-warning{color:#e8b339;border-color:#e8b339}.inve-sev-info{color:#4f9cf9;border-color:#4f9cf9}.inve-run-stamp{font-size:.78em;margin:4px 0 0}.inve-split{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.cc-panel .cc-card{max-width:980px;margin-bottom:16px}.campagnes-section{margin-bottom:24px}.complement-form .form-group{margin:4px 0 12px}.complement-form .form-group-label{display:block;font-weight:600;font-size:.85em;margin-bottom:6px;color:var(--text-muted, inherit)}.complement-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px}.complement-label{display:flex;align-items:center;gap:6px;font-size:.9em}.complement-member-chips{display:flex;flex-wrap:wrap;gap:6px}.complement-member-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--surface-2, #f1f3f5);border-radius:12px;font-size:.85em;white-space:nowrap}.complement-member-chip .chip-remove{border:none;background:none;cursor:pointer;padding:0 2px;font-size:1.05em;line-height:1;color:var(--text-muted, #868e96)}.complement-member-chip .chip-remove:hover{color:var(--danger, #e03131)}.cmp-archive-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.85em;cursor:pointer}.cmp-entry-modal{width:min(920px,94vw);max-height:88vh;overflow-y:auto;padding:20px 24px}.cmp-combined-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cmp-combined-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid var(--border, #e9ecef)}.cmp-combined-row:last-child{border-bottom:none}.cmp-combined-label{font-weight:600}.cmp-combined-tag{font-size:.82em;color:var(--text-muted, #868e96)}.cmp-combined-row .ds-btn{margin-left:auto}.ds-section-actions-inner{display:flex;gap:12px;align-items:center}.cmp-liste-search{min-width:220px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface);color:inherit;font:inherit}.cmp-filters-toggle{display:inline-flex;align-items:center;gap:6px}.cmp-filters-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72em;font-weight:700}.cmp-filters-pop{display:flex;flex-direction:column;gap:10px;min-width:240px}.cmp-filter-row{display:flex;flex-direction:column;gap:4px;font-size:.82em;color:var(--text-muted)}.cmp-filter-row>span{font-size:.9em}.cmp-open-cta{white-space:nowrap}.campagne-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.campagne-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.campagne-mode-card:hover,.campagne-mode-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.campagne-mode-card h3{margin:0;font-size:1.05em}.campagne-mode-card p{margin:0}.campagne-mode-card .icon{font-size:28px;color:var(--accent)}.ruleset-archived-empty{margin:8px 0 4px}.data-table{border-collapse:collapse;font-size:.9em;width:100%}.data-table th,.data-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.data-table thead th{position:sticky;top:0;background:var(--surface);z-index:1;font-weight:600}.data-table .row-archived{opacity:.6}.cc-active-ruleset{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;border-radius:8px;background:var(--accent-soft, rgba(37,99,235,.1));border:1px solid var(--accent);font-size:.9rem}.cc-active-ruleset-badge{background:var(--ok-soft, rgba(22,163,74,.16));color:var(--ok, #16a34a);border-radius:999px;padding:1px 8px;font-size:.82em;font-weight:600}.cc-active-ruleset-hint{margin-left:auto;font-size:.82em}.cc-toolbar{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.cc-toolbar-item{display:flex;flex-direction:column;gap:3px}.cc-toolbar-item label{font-size:.78em;color:var(--text-muted);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.cc-toolbar-item select{max-width:280px;min-width:120px;overflow:hidden;text-overflow:ellipsis}.cc-param-key{font-size:.78em}.cc-param-overridden{background:color-mix(in srgb,var(--accent) 8%,transparent)}.cc-param-dirty td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.cc-param-dirty{background:color-mix(in srgb,var(--accent) 5%,transparent)}.cc-param-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-reset-default{display:inline-flex;align-items:center;gap:4px}.cc-input-s{width:110px}.cc-num{text-align:right;font-variant-numeric:tabular-nums}.cc-recompute-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cc-summary-cols{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}.cc-summary-cols .admin-table{width:auto;min-width:280px}.cc-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:var(--radius, 4px);overflow:hidden;height:28px}.cc-stepper-val{width:68px;text-align:center;border:none;outline:none;background:transparent;color:var(--text);font-size:.9em;padding:0 4px}.cc-stepper-btn{width:26px;height:100%;background:var(--surface-2);border:none;cursor:pointer;font-size:1.1em;line-height:1;color:var(--text);transition:background .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cc-stepper-btn:hover:not(:disabled){background:var(--border)}.cc-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.cc-stepper-sep{width:1px;height:100%;background:var(--border)}.cc-info-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0 3px;font-size:1em;line-height:1;transition:color .15s}.cc-info-btn:hover,.cc-info-btn-active{color:var(--accent)}.cc-params-wrap{overflow-x:auto}.cc-params-wrap .admin-table{min-width:560px}.cc-param-label-cell{min-width:200px}.cc-info-sidebar{position:relative}.cc-info-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 4px);padding:14px 16px;margin-top:8px;margin-bottom:4px;max-width:700px;font-size:.88em;line-height:1.55}.cc-info-panel h4{margin:0 0 6px;font-size:.95em;font-weight:700}.cc-info-panel p{margin:0 0 6px}.cc-info-panel .cc-info-example{background:var(--surface-2);border-left:3px solid var(--accent);padding:6px 10px;border-radius:0 var(--radius, 4px) var(--radius, 4px) 0;margin-top:6px;font-size:.9em}.cc-info-close{float:right;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.2em;line-height:1;margin-left:8px}.cc-info-close:hover{color:var(--text)}.cc-targets-wrap{overflow-x:auto}.cc-targets-wrap .admin-table{min-width:620px}.cc-seed-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.cc-seed-done{color:var(--accent);font-size:.88em}.cc-seed-error{color:#e05555;font-size:.88em}.cc-history-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.cc-history-section h4{margin:0 0 8px;font-size:.9em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.cc-history-wrap{overflow-x:auto}.cc-history-wrap .admin-table{min-width:580px}.cc-history-params{font-size:.8em;color:var(--text-muted);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.cc-history-diff{font-size:.8em;color:var(--accent)}.cc-history-diff-none{font-size:.8em;color:var(--text-muted)}.jobs-table{max-width:980px}.jobs-row{cursor:pointer}.jobs-row:hover{background:var(--surface-2)}.jobs-badge{font-size:.82em;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.jobs-badge-running{border-color:var(--accent);color:var(--accent)}.jobs-badge-failed{border-color:#e05555;color:#e05555}.jobs-badge-done{opacity:.75}.jobs-progress-cell{min-width:160px}.jobs-progress{display:inline-block;vertical-align:middle;width:90px;height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-right:8px}.jobs-progress-fill{height:100%;background:var(--accent);transition:width .4s ease}.jobs-progress-fill.active{animation:jobs-pulse 1.2s ease-in-out infinite alternate}@keyframes jobs-pulse{0%{opacity:.55}to{opacity:1}}.skeleton{display:flex;flex-direction:column;gap:8px;padding:8px 0}.skeleton-row{height:32px;border-radius:6px;background:var(--surface-2);animation:skeleton-pulse 1.2s ease-in-out infinite alternate}@keyframes skeleton-pulse{0%{opacity:.45}to{opacity:.9}}.jobs-detail td{background:var(--surface-2);font-size:.85em}.jobs-detail pre{white-space:pre-wrap;margin:4px 0 0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-header-text h1,.page-header-text h2{margin:0 0 4px}.page-header-text h2{font-size:1.25em}.page-header-sub{margin:0;max-width:78ch}.page-header-actions{display:flex;gap:8px;align-items:center}.page-header-count{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:20px;color:var(--text)}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.card-head h3{margin:0;font-size:1.05em}.card-head .card-head-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.card-sub{margin:-6px 0 12px}.table-wrap{overflow-x:auto}.table-empty,.table-loading,.table-error{padding:28px 16px;text-align:center;font-size:.92em}.table-error{color:var(--bad)}.help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:70;animation:help-fade .16s ease}@keyframes help-fade{0%{opacity:0}to{opacity:1}}.help-panel{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow);z-index:71;display:flex;flex-direction:column;animation:help-slide .22s cubic-bezier(.22,.61,.36,1)}@keyframes help-slide{0%{transform:translate(28px);opacity:.4}to{transform:none;opacity:1}}.help-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.help-panel-eyebrow{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.82em;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.help-close{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;border-radius:var(--radius-sm)}.help-close:hover{color:var(--text);background:var(--surface-2)}.help-panel-body{overflow-y:auto;padding:18px 20px 32px}.help-title{margin:0 0 2px;font-size:1.2em;line-height:1.25}.help-subkey{font-family:ui-monospace,Cascadia Code,monospace;font-size:.78em;color:var(--text-muted);margin-bottom:12px}.help-what{margin:0 0 18px;line-height:1.5}.help-section{margin-bottom:20px}.help-section-title{margin:0 0 8px;font-size:.78em;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.help-pipeline{margin:0}.help-pipeline-box{fill:var(--surface-2);stroke:var(--border);stroke-width:1}.help-pipeline-box.active{fill:var(--accent-weak);stroke:var(--accent);stroke-width:2}.help-pipeline-label{fill:var(--text-muted);font-size:13px;font-weight:500}.help-pipeline-label.active{fill:var(--text);font-weight:700}.help-pipeline-here{fill:var(--accent);font-size:11px;font-weight:700}.help-pipeline-link{stroke:var(--border);stroke-width:2}.help-pipeline-arrow{fill:var(--border)}.help-pipeline-caption{font-size:.78em;margin:8px 0 0;line-height:1.4}.help-formula{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin:0 0 8px;overflow-x:auto;font-family:ui-monospace,Cascadia Code,monospace;font-size:.82em;line-height:1.55;white-space:pre;color:var(--text)}.help-defaults{margin:0;font-size:.85em;color:var(--text-muted)}.help-example{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:14px}.help-example-scenario{margin:0 0 12px;font-size:.9em;line-height:1.45}.help-example-steps{margin:0;display:grid;gap:6px}.help-example-step{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--border);padding-bottom:5px}.help-example-step dt{color:var(--text-muted);font-size:.85em;margin:0}.help-example-step dd{margin:0;font-size:.85em;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.help-example-verdict{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:.85em}.help-effects{margin:0;padding:0;list-style:none;display:grid;gap:8px}.help-effects li{display:flex;align-items:flex-start;gap:8px;font-size:.88em;line-height:1.4}.help-effects li .icon{color:var(--accent);margin-top:1px}.help-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);display:inline-flex;padding:2px;border-radius:50%;transition:color .14s,background .14s;vertical-align:middle}.help-btn:hover{color:var(--accent);background:var(--accent-weak)}.attr-value-with-info{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.attr-value-warn{color:var(--warn, #e07b00);font-weight:500}.attr-value-muted-secondary{color:var(--text-muted);font-style:italic}.cb{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.cb-empty{font-size:.85em}.cb-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cb-op{color:var(--text-muted);font-size:.85em}.cb-select{min-width:160px}.cb-value{min-width:180px}.cb-remove{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);display:inline-flex;padding:4px}.cb-remove:hover{color:var(--bad);border-color:var(--bad)}.cb-add{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:6px 12px;font-size:.88em}.cb-add:hover{border-color:var(--accent);color:var(--accent)}.cb-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.cb-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:2px 10px;font-size:.82em}.cb-chip-attr{font-weight:600}.cb-chip-op{color:var(--text-muted)}.cb-chip-vals{color:var(--accent)}.audit-page{padding:20px 24px;max-width:1240px;margin:0 auto}.toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:16px}.toolbar-pill{display:flex;flex-direction:column;gap:4px}.toolbar-pill>label{font-size:.72em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.toolbar-pill input,.toolbar-pill select{height:32px}.toolbar-pill.grow{flex:1 1 200px}.toolbar-pill.grow input{width:100%}.toolbar-actions{display:flex;gap:8px;margin-left:auto;align-self:flex-end}.audit-diff-cell{white-space:nowrap}.audit-diff{display:inline-flex;align-items:center;gap:6px}.audit-diff-old{color:var(--text-muted);text-decoration:line-through;opacity:.8;max-width:160px;overflow:hidden;text-overflow:ellipsis}.audit-diff-arrow{color:var(--accent);font-weight:700}.audit-diff-new{color:var(--text);font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis}.audit-bool{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;font-size:.8em;font-weight:600}.audit-bool.on{color:var(--good);border:1px solid var(--good)}.audit-bool.off{color:var(--text-muted);border:1px solid var(--border)}.audit-table td{vertical-align:top}.audit-table tbody tr{cursor:pointer}.audit-table tbody tr:hover{background:var(--surface-2)}.audit-table tbody tr.selected{background:var(--accent-weak)}.audit-entity-key{font-family:ui-monospace,monospace;font-size:.88em}.audit-action{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.78em;font-weight:700;border:1px solid var(--border);text-transform:capitalize}.audit-action-create{color:var(--good);border-color:var(--good)}.audit-action-update{color:var(--accent);border-color:var(--accent)}.audit-action-delete{color:var(--bad);border-color:var(--bad)}.audit-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;font-variant-numeric:tabular-nums}.tbl-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-variant-numeric:tabular-nums}.tbl-rpp{display:inline-flex;align-items:center;gap:8px;font-size:.85em}.tbl-rpp-select{height:30px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.tbl-rpp-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tbl-count{font-size:.85em;white-space:nowrap}.tbl-pagenav{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.tbl-pageind{font-size:.85em;min-width:84px;text-align:center;white-space:nowrap}.tbl-pagebtn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 4px}.tbl-pagebtn:disabled{opacity:.4;cursor:default}.tbl-pagebtn .tbl-edge-l{margin-right:-10px}.tbl-pagebtn .tbl-edge-r{margin-left:-10px}.detail-panel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow);z-index:71;display:flex;flex-direction:column;animation:help-slide .22s cubic-bezier(.22,.61,.36,1)}.detail-panel-body{overflow-y:auto;padding:18px 20px}.platform-page{padding:20px 24px;max-width:1100px;margin:0 auto}.platform-create-form{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:14px}.platform-create-form label{display:flex;flex-direction:column;gap:4px;font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.platform-create-form label.grow{flex:1 1 240px}.platform-create-form input,.platform-create-form select{height:32px}.banner-dt-field{display:flex;gap:6px}.banner-dt-field input[type=date]{min-width:132px}.banner-dt-field input[type=time]{min-width:92px}.banner-dt-preview{font-size:.9em;text-transform:none;letter-spacing:normal;font-weight:500;color:var(--text-muted);margin-top:2px}.platform-history-toggle{margin-top:10px}.health-status-grid{display:flex;flex-direction:column;gap:6px;margin:4px 0 0}.health-status-row{display:flex;align-items:center;gap:12px;padding:4px 0}.health-status-label{min-width:130px;font-size:.85em;color:var(--text-muted);font-weight:600}.health-last-check{color:var(--text-muted)}.cc-rule-editor{margin-top:12px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:12px;align-items:flex-start}.cc-rule-editor-fields{display:flex;gap:14px;flex-wrap:wrap}.cc-rule-editor-fields input,.cc-rule-editor-fields select{background:var(--surface-1, #12181f);border:1px solid var(--border);border-radius:var(--radius-sm)}.cc-rule-editor-fields input:focus,.cc-rule-editor-fields select:focus{border-color:var(--accent);outline:none}.cc-rule-editor-fields .toolbar-pill>span{font-size:.72em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.cc-rule-editor-cond{display:flex;flex-direction:column;gap:6px;width:100%}.cc-rule-editor-cond .toolbar-pill>span{font-size:.72em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.year-coeff-result{display:inline-flex;align-items:baseline;gap:6px;color:var(--text, #e8edf3)}.year-coeff-result strong{font-size:1.05rem;font-weight:700;color:var(--accent, #4f9cf9)}.year-coeff-result-pct{color:var(--text-muted);font-size:.85em}.year-coeff-result-preview{padding:2px 8px;border-radius:var(--radius-sm, 6px);background:var(--accent-weak, #1d3a5f)}.year-coeff-active-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.82em;font-weight:600;background:var(--good, #32d74b);color:#08240f}.year-coeff-active-badge.is-off{background:var(--surface-3, #2a333f);color:var(--text-muted)}.year-coeff-active-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.85em;cursor:pointer}.year-coeff-add-btn{align-self:center;padding-block:6px;line-height:1.2;height:fit-content}.cc-targets-wrap .admin-table td input.cc-input-s,.cc-targets-wrap .admin-table th{vertical-align:middle}.cc-input-s{width:86px;max-width:100%}.cw-page{padding:0 24px 32px;max-width:1100px;margin:0 auto}.cw-frozen-chip{display:inline-flex;align-items:center;gap:4px;font-size:.78em;padding:2px 8px;border-radius:12px;background:var(--surface-2);color:var(--bad);border:1px solid var(--bad);vertical-align:middle}.cw-virtual-notice{max-width:680px;padding:20px 24px}.cw-virtual-notice .card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.cw-tabs{display:flex;gap:2px;border-bottom:2px solid var(--border);margin:16px 0 0;overflow-x:auto;overflow-y:hidden}.cw-tab{display:flex;align-items:center;gap:7px;padding:9px 18px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--text-muted);font-size:.9em;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.cw-tab:hover{color:var(--text)}.cw-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.cw-panel{padding:20px 0}.res-tabs{margin-top:var(--section-content-gap, 16px)}.res-panel{padding-top:var(--section-content-gap, 16px)}.res-virtual-chip{display:inline-flex;align-items:center;gap:4px;font-size:.78em;padding:2px 8px;border-radius:12px;background:var(--surface-2);color:var(--accent);border:1px solid var(--accent);vertical-align:middle}#ds-tabpanel-synthese .dashboard{max-width:none}.res-evolution{display:flex;flex-direction:column;gap:16px;max-width:none}.res-evolution-intro{padding:14px 18px}.res-evolution-intro .card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.res-evolution-intro .card-head h3{margin:0;font-size:1em}.res-evolution-picker{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;max-width:720px}.res-evolution-label{display:flex;flex-direction:column;gap:4px;font-size:.85em;min-width:0}.res-evolution-search{min-width:0}.res-evolution-select,.res-evolution-input{box-sizing:border-box;width:100%;height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.9em}.res-evolution-results{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}.res-evolution-options{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.res-evolution-options li{border-bottom:1px solid var(--border)}.res-evolution-options li:last-child{border-bottom:none}.res-evolution-opt{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;color:var(--text);font-size:.85em;cursor:pointer;font-variant-numeric:tabular-nums}.res-evolution-opt:hover{background:var(--surface-2)}.res-evolution-opt.active{background:var(--accent);color:#fff}.res-evolution-detail{min-height:200px}.res-evolution-detail-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.res-evolution-detail-head strong{font-variant-numeric:tabular-nums}.res-evolution-empty{padding:40px 0}.evo-chart{display:flex;flex-direction:column;gap:12px}.evo-chart-head{display:flex;align-items:center;gap:8px}.evo-chart-head h4{margin:0;font-size:.95em}.evo-metric-gap{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-left:3px solid var(--accent)}.evo-metric-gap strong{font-size:.86em;display:block;margin-bottom:2px}.evo-metric-gap p{margin:0;font-size:.82em}.evo-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.8em;color:var(--text-muted)}.evo-legend-item{display:inline-flex;align-items:center;gap:6px}.evo-swatch{width:14px;height:3px;border-radius:2px;display:inline-block}.evo-svg{width:100%;max-width:680px;height:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px}.evo-axis{stroke:var(--border);stroke-width:1}.evo-grid{stroke:var(--border);stroke-width:.5;opacity:.5}.evo-tick{font-size:10px;fill:var(--text-muted);font-variant-numeric:tabular-nums}.evo-axis-title{font-size:10px;font-weight:600}.evo-table{border-collapse:collapse;font-size:.82em;max-width:680px;width:100%}.evo-table th,.evo-table td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--border)}.evo-table th{font-size:.78em;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:700}.evo-table .evo-num{font-variant-numeric:tabular-nums}.evo-nometric{font-style:italic}.plan-shift-note{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-top:12px;font-size:.85em;max-width:1100px}.terrain-legend{display:flex;gap:20px;flex-wrap:wrap;padding:10px 16px;margin-top:12px;max-width:1100px}.terrain-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.85em;color:var(--text-muted)}.imports-ia-note{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-top:12px;font-size:.85em;max-width:1100px;flex-wrap:wrap}.imports-ia-link{display:inline-flex;align-items:center;gap:4px}.imports-panel{display:block}.imports-section{margin:0}.imports-crosslink{display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);max-width:640px}.imports-crosslink-icon{color:var(--accent);flex:0 0 auto;margin-top:2px}.imports-crosslink strong{display:block;font-size:1.02em}.imports-crosslink p{margin:4px 0 12px;max-width:52ch}.imports-section+.imports-section{margin-top:20px}.imports-jobs-link{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.imports-conn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.imports-conn-card{padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2);border:1px dashed var(--border)}.imports-conn-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.imports-conn-head strong{font-size:1em}.imports-conn-tag{margin-left:auto}.imports-conn-today{display:inline-flex;align-items:center;gap:6px;font-size:.82em;color:var(--text-muted);margin:4px 0 0}.ident-tab{display:flex;flex-direction:column;gap:20px}.ident-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:0;font-size:.9em}.ident-dl>div{display:flex;flex-direction:column;gap:2px}.ident-dl dt{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.ident-dl dd{margin:0;font-weight:500}.ident-edit-form{display:flex;flex-direction:column;gap:10px;max-width:420px}.close-ceremony{display:flex;flex-direction:column;gap:8px}.close-ceremony-freeze{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;font-weight:500}.ident-operators-field{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;display:flex;flex-direction:column;gap:4px}.ident-operators-field legend{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 4px}.ident-operator-option{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.ident-lifecycle-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0}.cw-lc-stepper{list-style:none;margin:0 0 10px;padding:0;display:flex;align-items:flex-start;gap:0}.cw-lc-step{flex:1 1 0;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;font-size:.82em;color:var(--text-muted)}.cw-lc-step:before{content:"";position:absolute;top:7px;right:50%;width:100%;height:2px;background:var(--border);z-index:0}.cw-lc-step:first-child:before{display:none}.cw-lc-dot{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:var(--surface);border:2px solid var(--border);box-sizing:border-box}.cw-lc-step--done{color:var(--text)}.cw-lc-step--done .cw-lc-dot{background:var(--good);border-color:var(--good)}.cw-lc-step--done:before{background:var(--good)}.cw-lc-step--current{color:var(--accent);font-weight:600}.cw-lc-step--current .cw-lc-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.cw-lc-step--current:before{background:var(--good)}.ident-events{margin-top:16px}.ident-events h4{font-size:.82em;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px}.ident-events-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ident-event-row{display:flex;align-items:center;gap:8px;font-size:.88em;padding:4px 8px;background:var(--surface-2);border-radius:var(--radius-sm)}.ident-event-label{font-weight:600;flex:0 0 auto}.peri-tab{display:flex;flex-direction:column;gap:20px}.peri-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.peri-kpi-note{margin:10px 0 0;font-size:.88em}.peri-open-inventory{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.peri-open-inventory-hint{margin:0;font-size:.88em;max-width:62ch}.peri-status-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.88em}.peri-status-frozen{background:color-mix(in srgb,var(--bad) 8%,transparent);border:1px solid color-mix(in srgb,var(--bad) 20%,transparent)}.peri-status-open{background:color-mix(in srgb,var(--good) 8%,transparent);border:1px solid color-mix(in srgb,var(--good) 20%,transparent)}.peri-status-text{display:flex;flex-direction:column;gap:2px}.peri-status-title,.peri-status-detail{display:block}.peri-filters-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}.peri-filter-row{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.peri-filter-row-main{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.peri-combo-chip{font-size:.78em;font-weight:700}.peri-field-label{font-weight:600;font-size:.9em}.peri-field-key{font-size:.78em;color:var(--text-muted);font-family:ui-monospace,monospace}.peri-filter-values{display:flex;flex-wrap:wrap;gap:4px}.peri-filter-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.peri-add-wrap{padding:12px 0}.peri-add-form{display:flex;flex-direction:column;gap:12px;max-width:560px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.peri-values-label{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;margin-bottom:2px}.peri-values-input{width:100%}.peri-value-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.peri-value-suggest-lead{font-size:.82em;margin-right:2px}.peri-value-chip{cursor:pointer;font-size:.8em;padding:2px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text)}.peri-value-chip:hover{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.peri-value-hint{font-size:.82em}.peri-value-picker{display:flex;flex-direction:column;gap:8px;margin-top:4px}.peri-value-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.peri-values-label-text{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #5b6570)}.peri-value-picker-actions{display:inline-flex;gap:10px;font-size:.82em}.peri-value-search{padding:5px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;max-width:260px}.peri-value-checks{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:190px;overflow-y:auto;scrollbar-gutter:stable;padding:6px 12px}.peri-value-check{display:inline-flex;align-items:center;gap:6px;font-size:.86em;cursor:pointer;padding:3px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.peri-value-check.is-checked{background:var(--accent-soft, rgba(37,99,235,.12));border-color:var(--accent)}.peri-value-check input{cursor:pointer}.peri-value-check-label{-webkit-user-select:none;user-select:none}.peri-value-nodomain,.peri-value-nomatch{font-size:.84em}.peri-candidate-count{min-height:1.2em;font-size:.85em}.peri-candidate-value{font-weight:600}.peri-candidate-empty{font-style:italic}.peri-apply-panel{display:flex;flex-direction:column;gap:10px}.peri-frozen-notice{display:flex;align-items:center;gap:8px;font-size:.88em;color:var(--bad);padding:8px 12px;background:color-mix(in srgb,var(--bad) 8%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--bad) 20%,transparent)}.peri-apply-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.peri-preview-count{margin:2px 0 0;font-size:.9em;font-weight:600;color:var(--accent)}.peri-apply-result{margin-top:8px}.peri-result-dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;font-size:.88em}.peri-result-dl>div{display:flex;flex-direction:column;gap:2px}.peri-result-dl dt{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.peri-result-dl dd{margin:0;font-size:1.15em;font-weight:700;font-variant-numeric:tabular-nums}.peri-secondary-hint{padding:12px 14px;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-sm)}.cockpit-virtual-notice{display:flex;align-items:center;gap:16px}.cockpit-virtual-notice p{margin:0}.cockpit-virtual-notice .btn-primary{margin-left:auto;white-space:nowrap}.cockpit-advisory-note{margin:0;font-size:.82em}.cockpit-phasebar{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cockpit-phase{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;text-align:left;cursor:pointer;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius-sm);transition:border-color .12s,transform .08s;position:relative}.cockpit-phase:hover{transform:translateY(-1px);border-color:var(--accent)}.cockpit-phase-num{position:absolute;top:8px;right:10px;font-size:.78em;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.cockpit-phase-icon{color:var(--text-muted)}.cockpit-phase-label{font-weight:600;font-size:.92em}.cockpit-phase-state{font-size:.74em;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.cockpit-phase-count{display:flex;flex-direction:column;gap:1px;margin-top:auto;padding-top:6px}.cockpit-phase-count-label{font-size:.66em;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.cockpit-phase-count-val{font-size:1.15em;font-weight:700;font-variant-numeric:tabular-nums}.cockpit-phase-count--empty .cockpit-phase-count-val{font-weight:600;opacity:.7}.cockpit-phase-pct{font-size:.7em;font-weight:500}.cockpit-phase--done{border-left-color:var(--good)}.cockpit-phase--done .cockpit-phase-state{color:var(--good)}.cockpit-phase--active{border-left-color:var(--accent)}.cockpit-phase--active .cockpit-phase-state{color:var(--accent)}.cockpit-phase--living{border-left-color:var(--accent)}.cockpit-phase--living .cockpit-phase-state{color:var(--accent)}.cockpit-phase--todo .cockpit-phase-state{color:var(--text-muted)}.cockpit-tasks-section{display:flex;flex-direction:column;gap:12px}.cockpit-tasks-head{display:flex;align-items:center;gap:8px}.cockpit-tasks-head h3{margin:0;font-size:1.05em}.cockpit-task-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cockpit-task{display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;padding:14px 16px;border-left:4px solid var(--border);transition:border-color .12s,transform .08s}.cockpit-task:hover{transform:translateY(-1px);border-color:var(--accent)}.cockpit-task-icon{display:inline-flex}.cockpit-task-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.cockpit-task-title{font-weight:600;font-size:.95em}.cockpit-task-cta{display:inline-flex;align-items:center;gap:2px;font-size:.82em}.cockpit-task--info{border-left-color:var(--accent)}.cockpit-task--info .cockpit-task-icon{color:var(--accent)}.cockpit-task--warning{border-left-color:var(--warn)}.cockpit-task--warning .cockpit-task-icon{color:var(--warn)}.cockpit-task--critical{border-left-color:var(--bad)}.cockpit-task--critical .cockpit-task-icon{color:var(--bad)}.cockpit-shell{min-height:100%}.cockpit-mytasks-badge{display:inline-flex;align-items:center;gap:6px;margin:8px 0;padding:5px 12px;border-radius:999px;border:1px solid var(--accent, #3a72d0);color:var(--accent, #3a72d0);background:transparent;cursor:pointer;font-size:.9em}.cockpit-mytasks-badge:hover{background:color-mix(in srgb,var(--accent, #3a72d0) 10%,transparent)}.cockpit-context-strip{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.cockpit-context-icon{color:var(--accent);flex-shrink:0}.cockpit-context-text{font-size:14px}.cockpit-context-spacer{flex:1}.cockpit-context-dismiss{background:none;border:0;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:2px;border-radius:4px}.cockpit-context-dismiss:hover{color:var(--text);background:var(--surface-2)}.cockpit-tasks-scope{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 6px 2px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2)}.cockpit-scope-clear{background:none;border:0;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:1px;border-radius:50%}.cockpit-scope-clear:hover{color:var(--bad)}.cockpit-shell>.ds-section:last-child{display:flex;flex-direction:column;flex:1 1 auto}.cockpit-shell>.ds-section:last-child>.card,.cockpit-shell>.ds-section:last-child>.ds-section-body{flex:1 1 auto;display:flex;flex-direction:column}.cockpit-shell>.ds-section:last-child>.ds-section-body>.cockpit-allclear{flex:1 1 auto}.cockpit-allclear{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:40px 24px;height:100%;box-sizing:border-box}.cockpit-allclear-icon{color:var(--good)}.cockpit-allclear strong{display:block;font-size:1.05em}.cockpit-allclear p{margin:2px 0 0;max-width:42ch}.cockpit-valact{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;cursor:pointer}.cockpit-valact:hover{border-color:var(--accent)}.cockpit-valact-icon{color:var(--warn, #d97706);flex:0 0 auto;display:flex}.cockpit-valact-body{display:flex;flex-direction:column;gap:8px;min-width:0}.cockpit-valact-body strong{font-size:1.05em}.cockpit-valact-types{display:flex;flex-wrap:wrap;gap:6px}.cockpit-valact-chip{display:inline-flex;align-items:center;gap:4px;font-size:.8em;background:var(--surface-2, #1e293b);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.cockpit-valact-chip b{color:var(--text)}.cockpit-valact-layers{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cockpit-valact-layers>.muted{font-size:.8em}.cockpit-valact-layerchip{cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .12s ease,background .12s ease}.cockpit-valact-layerchip:hover{border-color:var(--accent);background:var(--surface-3, var(--surface-2, #243042))}.cockpit-valact-layerchip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cockpit-qualite-cards{display:flex;flex-wrap:wrap;gap:8px}.cockpit-qualite-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;font-family:inherit;color:var(--text);min-width:150px;transition:border-color .12s ease,background .12s ease}.cockpit-qualite-card:hover{border-color:var(--accent)}.cockpit-qualite-card.is-open{border-color:var(--accent);background:var(--surface-3, var(--surface-2))}.cockpit-qualite-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cockpit-qualite-cat{font-weight:600}.cockpit-qualite-sevs{display:inline-flex;flex-wrap:wrap;gap:8px;font-size:.82em}.cq-sev{display:inline-flex;align-items:center;gap:4px}.cq-sev.cq-problem,.cq-sev.cq-calcul_echoue{color:var(--bad)}.cq-sev.cq-calcul_echoue{font-weight:600}.cq-sev.cq-warning{color:var(--warn, #d97706)}.cockpit-qualite-worklist{margin-top:10px}.cockpit-qualite-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cockpit-qualite-row{display:flex;align-items:center;gap:10px;font-size:.86em;padding:4px 8px;border-radius:var(--radius-sm);background:var(--surface-2)}.cq-status{font-weight:600;flex:0 0 auto}.cq-status.cq-bad{color:var(--bad)}.cq-status.cq-warn{color:var(--warn, #d97706)}.cq-entity{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cq-drill{margin-left:auto;flex:0 0 auto;cursor:pointer;font-family:inherit;font-size:.95em;color:var(--accent);background:none;border:none;padding:2px 4px}.cq-drill:hover{text-decoration:underline}.cockpit-qualite-more{font-size:.82em;padding:2px 8px}.cockpit-loading{padding:16px}.cockpit-error{display:flex;align-items:center;gap:8px;padding:14px 16px;color:var(--bad)}.cockpit-firstrun{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 4px}.cockpit-firstrun p{margin:0;max-width:46ch;color:var(--text-muted)}.lock-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin:8px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.lock-bar-hint{flex-basis:100%;margin:0;font-size:12px}.lock-bar--armed{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.lock-bar--warn{border-color:#e0a13d;background:color-mix(in srgb,#e0a13d 14%,var(--surface))}.lock-bar--locked,.lock-bar--blocked{border-color:#e0533d;background:color-mix(in srgb,#e0533d 8%,var(--surface));flex-direction:column;align-items:flex-start}.lock-bar--recompute{border-color:#e0a13d;background:color-mix(in srgb,#e0a13d 8%,var(--surface));flex-direction:column;align-items:flex-start}.lock-bar-title{display:flex;align-items:center;gap:6px;margin:0;font-weight:600}.lock-timer{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-variant-numeric:tabular-nums}.lock-bar--warn .lock-timer{color:#b5731a}.lock-invalidated-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006}.lock-invalidated-card{max-width:420px;padding:22px 24px;border-radius:12px;background:var(--surface);box-shadow:0 12px 40px #0000004d;display:flex;flex-direction:column;gap:12px}.lock-invalidated-title{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;color:#b5731a}.chip.is-active{background:var(--accent-weak);box-shadow:inset 0 0 0 2px var(--accent);color:var(--text);font-weight:600}.review-filter-bar{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.study-filter-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.platform-health-card{display:flex;flex-direction:column;gap:10px}.platform-health-card-head{display:flex;align-items:center;gap:12px}.platform-health-card-status-label{font-size:.82em;color:var(--text-muted);flex:1}.platform-subcheck-grid{display:flex;flex-direction:column;gap:6px;margin:4px 0 0}.platform-subcheck-row{display:flex;align-items:center;gap:12px;padding:4px 0;border-top:1px solid var(--border)}.platform-subcheck-row:first-child{border-top:none}.platform-subcheck-label{min-width:140px;font-size:.85em;color:var(--text-muted);font-weight:600}.platform-health-last-check{font-size:.75em;color:var(--text-muted);margin-top:4px}.comment-scope-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:4px 0 10px;font-size:.85em}.comment-scope-option{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.comment-scope-option input{cursor:pointer}.ds-page-header.review-header-pad{padding:12px 16px 10px}.review-search-zone{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.review-search-icon{font-size:1.15rem;color:var(--text-muted);flex:0 0 auto}.review-search-input{flex:1 1 auto;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.95rem}.review-search-input:focus{outline:2px solid var(--accent);outline-offset:1px}.review-search-clear{flex:0 0 auto;padding:0 8px;line-height:1.8;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;font-size:1rem}.review-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.review-bar-filters{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;font-size:.88rem;transition:background .12s}.review-bar-filters:hover{background:var(--surface)}.review-bar-filters.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.review-bar-icon{font-size:1rem;line-height:1}.review-bar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;line-height:1}.review-bar-chevron{font-size:.8rem;margin-left:2px}.review-body{display:grid;grid-template-columns:320px 1fr;flex:1;min-height:0}.review-body.review-body--drawer-open{grid-template-columns:320px 1fr 380px}.review-body.review-body--rail-open{grid-template-columns:260px 320px 1fr}.review-body.review-body--rail-open.review-body--drawer-open{grid-template-columns:260px 320px 1fr 360px}.review-pane{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.review-pane>.review-pane-fill,.review-pane>div{flex:1;min-height:0}.pane-collapse{position:absolute;top:6px;z-index:3;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);cursor:pointer}.pane-collapse:hover{color:var(--text);border-color:var(--accent)}.pane-collapse--list{right:6px}.pane-collapse--map{left:6px}.review-pane.is-collapsed{align-items:center;background:var(--surface);border-right:1px solid var(--border)}.review-pane.is-collapsed .pane-collapse{right:auto;left:50%;transform:translate(-50%)}.review-body.review-body--list-collapsed{grid-template-columns:34px 1fr}.review-body.review-body--list-collapsed.review-body--drawer-open{grid-template-columns:34px 1fr 380px}.review-body.review-body--list-collapsed.review-body--rail-open{grid-template-columns:260px 34px 1fr}.review-body.review-body--list-collapsed.review-body--rail-open.review-body--drawer-open{grid-template-columns:260px 34px 1fr 360px}.review-body.review-body--map-collapsed{grid-template-columns:1fr 34px}.review-body.review-body--map-collapsed.review-body--drawer-open{grid-template-columns:1fr 34px 380px}.review-body.review-body--map-collapsed.review-body--rail-open{grid-template-columns:260px 1fr 34px}.review-body.review-body--map-collapsed.review-body--rail-open.review-body--drawer-open{grid-template-columns:260px 1fr 34px 360px}.review-filter-rail{overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:14px}.rfr-section{display:flex;flex-direction:column;gap:8px}.rfr-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rfr-section-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.rfr-verdict-chips{display:flex;flex-wrap:wrap;gap:5px}.rfr-facet{display:flex;flex-direction:column;gap:8px}.rfr-facet-info{display:flex;align-items:center;gap:8px}.rfr-facet-head{font-size:.8rem;color:var(--text-muted)}.rlp-container{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.rlp-trigger{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);cursor:pointer;font-size:.85rem;box-shadow:0 2px 8px #0000002e;transition:background .12s}.rlp-trigger:hover{background:var(--surface)}.rlp-trigger.is-active{background:var(--surface);border-color:var(--accent)}.rlp-icon{font-size:1rem;line-height:1}.rlp-label{font-size:.82rem;font-weight:600;letter-spacing:.01em}.rlp-panel{margin-top:4px;padding:10px 12px;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000038;display:flex;flex-direction:column;gap:5px;min-width:200px}.rlp-section-head{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:4px}.rlp-row{display:flex;align-items:center;gap:7px;font-size:.84rem;cursor:pointer;padding:2px 0;-webkit-user-select:none;user-select:none}.rlp-row input[type=checkbox]{cursor:pointer}.rlp-zhint{margin-left:auto;flex:0 0 auto;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:0 4px;line-height:1.35}.rlp-swatch{display:inline-block;width:11px;height:11px;border-radius:2px;flex:0 0 auto}.rlp-swatch--polygon{background:#64a0ff8c;border:1.5px solid #1a5fc8}.rlp-swatch--rectangle{background:#b464ff59;border:1.5px solid #8a2be2}.rlp-swatch--luminaire{background:#f5a623;border-radius:50%}.rlp-swatch--mesh{background:#00c8b466;border:1.5px solid #00c8b4}.rlp-swatch--ortho{background:linear-gradient(135deg,#6b8e4e,#8a7a4b);border:1.5px solid #5a6b3a}.rlp-divider{border:none;border-top:1px solid var(--border);margin:6px 0}.rlp-segs{display:flex;gap:4px;flex-wrap:wrap}.verify-worklist{border:1px solid var(--border);border-radius:var(--radius-sm);margin:8px 12px;padding:8px 12px;background:var(--panel, var(--surface-2));max-height:320px;overflow:auto}.vw-head{display:flex;align-items:baseline;gap:10px}.vw-head h3{margin:0;font-size:1em}.vw-counts{font-size:.85em}.vw-list{list-style:none;margin:6px 0 0;padding:0}.vw-row{display:flex;align-items:center;gap:10px;padding:6px 4px;border-top:1px solid var(--border);cursor:pointer;border-radius:4px}.vw-row:first-child{border-top:none}.vw-row:hover,.vw-row:focus-visible{background:var(--surface-3, rgba(127,127,127,.12));outline:none}.vw-kind{font-size:.72em;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:8px;border:1px solid var(--border)}.vw-kind-constat{color:var(--warn)}.vw-kind-task{color:var(--accent)}.vw-key{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.vw-issues{font-size:.82em;color:var(--text-muted)}.vw-nopen{font-weight:600;min-width:1.6em;text-align:right}.vw-status{font-size:.78em;color:var(--text-muted)}.trajet-define-modes{display:flex;gap:6px;margin:4px 0 6px}.sup-body{display:flex;flex-direction:column;gap:16px;padding:4px 0}.sup-overall{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 12px;border-radius:8px;font-weight:600;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,currentColor 10%,transparent)}.sup-strip{display:flex;flex-wrap:wrap;gap:8px}.sup-tile-cell{position:relative;display:flex}.sup-tile-cell>.sup-tile{flex:1}.sup-tile-cell>.sup-grafana-service{position:absolute;top:4px;right:6px}.sup-counters{display:flex;flex-wrap:wrap;gap:12px}.sup-counter{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface-2);cursor:pointer;text-align:left;min-width:140px}.sup-counter:hover,.sup-counter.on{background:var(--surface-3)}.sup-counter-val{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.sup-counter-label{font-size:13px}.sup-counter-sub{font-size:12px}.sup-band{display:flex;flex-direction:column;gap:8px}.sup-band-head{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;margin:0}.sup-band-empty{margin:0;font-size:13px}.sup-band-blocking .sup-band-head{color:var(--bad)}.sup-band-warning .sup-band-head{color:var(--warn)}.sup-band-healthy .sup-band-head{color:var(--ok)}.sup-band-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:12px;font-weight:700;color:#fff}.sup-band-count-blocking{background:var(--bad)}.sup-band-count-warning{background:var(--warn)}.sup-band-count-healthy{background:var(--ok)}.sup-connectors{display:flex;flex-direction:column;gap:6px}.sup-connectors-head{margin:0;font-size:13px;font-weight:600;color:var(--text-muted)}.sup-connectors-strip{display:flex;flex-wrap:wrap;gap:8px}.sup-connector{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2, transparent)}.sup-connector.sev-ok{border-color:var(--ok)}.sup-connector.sev-degraded{border-color:var(--warn)}.sup-connector.sev-down{border-color:var(--bad)}.sup-connector-name{font-weight:600}.sup-connector-grafana{display:inline-flex;align-items:center;gap:2px;color:var(--accent);text-decoration:none}.sup-selfcheck-result{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:13px;padding:6px 0}.apitoken-create-form{display:flex;flex-direction:column;gap:12px;max-width:540px}.apitoken-field{display:flex;flex-direction:column;gap:4px}.apitoken-field>input{max-width:340px}.apitoken-scopes{display:flex;flex-wrap:wrap;gap:6px 16px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0}.apitoken-scopes>legend{padding:0 4px}.apitoken-scope{display:inline-flex;align-items:center;gap:6px}.apitoken-create-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.apitoken-secret{display:flex;flex-direction:column;gap:8px}.apitoken-secret-value{display:block;padding:8px 10px;background:var(--surface-2);border-radius:6px;word-break:break-all}.apitoken-secret-actions{display:flex;align-items:center;gap:10px}.apitoken-actions{display:inline-flex;align-items:center;gap:10px}.campagne-mode-card.is-disabled{opacity:.55;cursor:not-allowed}.sup-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.sup-tile{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;background:var(--surface-2, var(--panel));border:1px solid var(--border);border-left:3px solid var(--border)}.sup-health-tile{flex-direction:row;align-items:center;gap:6px}.sup-tile-head{display:flex;align-items:center;gap:6px}.sup-tile-label{font-weight:500}.sup-tile-val{margin-left:auto;font-variant-numeric:tabular-nums}.sup-tile-count{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.sup-tile-sub{font-size:12px}.sev-ok{color:var(--ok)}.sev-ok.sup-tile{border-left-color:var(--ok)}.sev-degraded{color:var(--warn)}.sev-degraded.sup-tile{border-left-color:var(--warn)}.sev-down{color:var(--bad)}.sev-down.sup-tile{border-left-color:var(--bad)}.sup-tile .sup-tile-count,.sup-tile .sup-tile-label{color:var(--text)}button.sup-section-tile{cursor:pointer;text-align:left;font:inherit;width:100%}button.sup-section-tile.on{outline:2px solid color-mix(in srgb,currentColor 40%,transparent)}.sup-drill{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface-2, var(--panel))}.sup-drill-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sup-drill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sup-drill-row{display:flex;align-items:center;gap:8px}.sup-drill-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.osrm-health-grid,.osrm-kpi-row{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0}.osrm-stat{display:flex;flex-direction:column;gap:2px;font-size:13px;font-variant-numeric:tabular-nums}.osrm-state-badge{font-weight:600;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid currentColor;width:fit-content}.osrm-usage{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.osrm-usage-head{font-weight:600;font-size:12px;margin-bottom:4px}.osrm-kpi-buckets{display:flex;flex-direction:column;gap:2px;margin:6px 0;font-size:13px}.osrm-kpi-buckets-label{font-size:12px}.osrm-bucket-list{list-style:none;margin:2px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.osrm-bucket-list li{display:inline-flex;gap:6px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;font-variant-numeric:tabular-nums}.osrm-bucket-n{font-weight:600}.sup-drill-n{font-weight:700;font-variant-numeric:tabular-nums}.sup-drill-empty{margin:4px 0}.rs-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);width:min(760px,94vw);padding:20px 24px;box-shadow:var(--shadow);max-height:88vh;overflow-y:auto}.rs-detail{display:flex;flex-direction:column;gap:10px;min-width:420px;max-width:720px}.rs-detail-header h2{margin:0 0 6px}.rs-detail-head-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rs-detail-version{font-size:.85rem}.rs-status-badge{text-transform:none}.rs-status-actif{background:var(--ok-soft, rgba(22,163,74,.14));color:var(--ok, #16a34a)}.rs-status-brouillon{background:var(--accent-soft, rgba(37,99,235,.14));color:var(--accent)}.rs-status-archive{background:var(--surface-2, rgba(0,0,0,.06));color:var(--text-muted, #5b6570)}.rs-detail-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:.88rem;margin:4px 0 2px}.rs-detail-banner--info{background:var(--accent-soft, rgba(37,99,235,.1));border:1px solid var(--accent)}.rs-detail-banner--edit{background:var(--ok-soft, rgba(22,163,74,.1));border:1px solid var(--ok, #16a34a)}.rs-detail-banner--muted{background:var(--surface-2, rgba(0,0,0,.04));border:1px solid var(--border);color:var(--text-muted, #5b6570)}.rs-detail-goto-config{margin-left:auto;white-space:nowrap}.rs-detail-meta{display:flex;align-items:center;gap:10px}.rs-detail-desc{margin:6px 0 0}.rs-detail-h3{margin:6px 0 2px;font-size:var(--type-label-size)}.rs-detail-soon{display:flex;align-items:center;gap:6px;color:var(--text-muted);border:1px dashed var(--border);border-radius:6px;padding:6px 10px;font-size:13px}.rs-detail-foot{display:flex;justify-content:flex-end}.rs-rule-order-note{margin:2px 0 6px}.rs-rule-list{display:flex;flex-direction:column;gap:4px}.rs-rule-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.rs-rule-row[draggable=true]{cursor:grab}.rs-rule-dragging{opacity:.55;outline:2px dashed var(--accent)}.rs-rule-overlap{border-color:var(--warn, #b8860b)}.rs-rule-prio{display:inline-flex;align-items:center;gap:4px;min-width:88px}.rs-rule-drag{color:var(--text-muted);cursor:grab}.rs-rule-rank{font-variant-numeric:tabular-nums;font-weight:600;min-width:14px;text-align:center}.rs-rule-move{display:inline-flex;gap:2px}.rs-rule-cond{flex:1 1 auto;min-width:0}.rs-rule-op{font-weight:600;min-width:14px;text-align:center}.rs-rule-factor{font-variant-numeric:tabular-nums;min-width:48px}.rs-rule-applies{color:var(--text-muted);min-width:72px}.rs-rule-del{margin-left:auto}.rs-rule-drag-hint{margin:4px 0 0;font-size:12px}.rs-rule-shadow-warn{margin-top:6px}.mes-cov-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.mes-cov-threshold-grp{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.mes-cov-flag-group{font-weight:600}.mes-cov-flag-row{display:flex;align-items:center;gap:10px}.mes-cov-flag-sublabel{min-width:74px;font-size:12px}.mes-cov-flag-summary{font-size:12px}.mes-cov-grain-grp,.mes-cov-slider{display:flex;align-items:center;gap:8px}.mes-cov-slider input[type=range]{width:120px;accent-color:var(--accent)}.mes-cov-slider-val{font-variant-numeric:tabular-nums;font-weight:600;min-width:38px}.mes-cov-engine-note{font-size:12px}.mes-cov-split{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);gap:16px}@media (max-width: 1100px){.mes-cov-split{grid-template-columns:1fr}}.mes-cov-list{display:flex;flex-direction:column;gap:4px;min-height:320px}.mes-cov-list-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;padding:4px 2px 8px}.mes-cov-state{padding:12px 2px}.mes-cov-trajet{border:1px solid var(--border);border-radius:8px;overflow:hidden}.mes-cov-trajet.is-flagged{border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}.mes-cov-trajet-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;padding:9px 12px;cursor:pointer;color:var(--text)}.mes-cov-trajet-row:hover{background:var(--surface-2)}.mes-cov-trajet.is-flagged .mes-cov-trajet-row{background:color-mix(in srgb,var(--bad) 8%,transparent)}.mes-cov-trajet-code{font-weight:600;font-variant-numeric:tabular-nums}.mes-cov-pill{font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.mes-cov-pill.is-insuf{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.mes-cov-pill.is-mid{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.mes-cov-pill.is-good{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.mes-cov-pill.is-none{background:var(--surface-2);color:var(--text-muted)}.mes-cov-flag{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent)}.mes-cov-trajet-share{margin-left:auto;font-size:12px}.mes-cov-polys{padding:6px 12px 12px 38px;border-top:1px solid var(--border);background:var(--surface-1)}.mes-cov-drill-pending{font-size:13px;margin:6px 0}.mes-cov-grain-section{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:8px 0 2px;opacity:.7}.mes-cov-poly-count{white-space:nowrap}.mes-cov-poly-head,.mes-cov-poly-row{display:grid;grid-template-columns:minmax(110px,1.4fr) minmax(64px,auto) minmax(110px,1.4fr) auto;align-items:center;gap:10px}.mes-cov-poly-head{padding:4px 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #5b6570);border-bottom:1px solid var(--border)}.mes-cov-poly-row{padding:5px 0;font-size:13px;border-bottom:1px solid var(--border)}.mes-cov-poly-row:last-child{border-bottom:0}.mes-cov-poly-status{display:inline-flex;align-items:center}.mes-cov-poly-actions{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}.mes-cov-poly-key{font-variant-numeric:tabular-nums;font-weight:500}.table-row-detail>td{padding:0}.mes-cov-trajet-detail{margin:0 0 6px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--surface-2);overflow:hidden}.mes-cov-detail-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border)}.mes-cov-detail-title{font-weight:600}.mes-cov-detail-count{font-size:12px;color:var(--text-muted, #5b6570)}.mes-cov-detail-close{margin-left:auto;display:inline-flex;background:none;border:0;cursor:pointer;color:var(--text-muted, #5b6570);padding:2px;border-radius:4px}.mes-cov-detail-close:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.mes-cov-trajet-table tr.is-cov-selected>td{background:color-mix(in srgb,var(--accent) 10%,transparent)}.mes-cov-trajet-table tr.is-cov-selected>td:first-child{box-shadow:inset 3px 0 0 0 var(--accent)}.mes-cov-poly-revue{margin-left:auto;display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px;padding:2px 4px}.mes-cov-poly-revue:hover{text-decoration:underline}.mes-cov-poly-livraison{margin-left:auto;display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px;padding:2px 4px}.mes-cov-poly-livraison:hover{text-decoration:underline}.mes-cov-poly-livraison+.mes-cov-poly-revue{margin-left:6px}.mes-cov-poly-task{display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px;padding:2px 4px;margin-left:6px}.mes-cov-poly-task:hover{text-decoration:underline}.mes-cov-mapwrap{position:relative;display:flex;flex-direction:column;gap:8px}.mes-cov-map-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.mes-cov-map-caption{position:absolute;top:44px;left:10px;z-index:2;background:var(--surface);border:1px solid var(--accent);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;box-shadow:var(--shadow);color:var(--text);pointer-events:none}.mes-cov-map{position:relative;height:460px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.mes-cov-map>*{height:100%}.admin-rbac-stack{display:flex;flex-direction:column;gap:var(--space-6, 32px)}.cfg-search{position:relative;width:100%}.cfg-search-input{width:100%}.cfg-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow, 0 6px 24px rgba(0, 0, 0, .24));max-height:340px;overflow-y:auto}.cfg-search-results>li{margin:0}.cfg-search-result{display:flex;align-items:baseline;gap:6px;width:100%;padding:7px 10px;border-radius:6px;cursor:pointer;text-align:left;background:none;border:none;color:inherit;font:inherit}.cfg-search-result:hover,.cfg-search-result:focus-visible{background:var(--surface-2)}.cfg-search-empty{padding:10px}.feedback-modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 10px);box-shadow:var(--shadow, 0 8px 28px rgba(0, 0, 0, .28));width:min(460px,calc(100vw - 32px));resize:both;overflow:auto;min-width:340px;min-height:300px;max-width:92vw;max-height:92vh}.feedback-modal{display:flex;flex-direction:column;gap:14px;padding:20px 22px}.feedback-title{margin:0}.feedback-message{min-height:150px;resize:vertical}.feedback-attachments .feedback-attach-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);padding:6px 10px;cursor:pointer;font-size:.85em}.feedback-attachments .feedback-attach-btn:hover:not(:disabled){background:var(--surface-3, var(--border))}.feedback-attachments .feedback-attach-btn:disabled{opacity:.6;cursor:default}.feedback-preview{display:flex;flex-direction:column;gap:10px}.feedback-preview dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px}.feedback-preview dt{color:var(--text-muted);font-size:.85em}.feedback-preview dd{margin:0}.feedback-preview-msg{white-space:pre-wrap}.feedback-preview-shot{max-width:100%;max-height:180px;border:1px solid var(--border);border-radius:4px}.cfg-field{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.cfg-field-head{display:flex;align-items:center;gap:6px}.cfg-field-label{font-weight:500}.cfg-field-body{display:flex;flex-direction:column;gap:6px}.cfg-field-value{font-variant-numeric:tabular-nums}.cfg-field-prov{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px}.orc-checkbox{display:flex;align-items:center;gap:8px}.cfg-filterfields-head{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.cfg-filterfields-head p{margin:0;flex:1}.tbl-sf-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}.csf-cols-right{margin-left:auto}.rbac-col-head{display:flex;flex-direction:column;align-items:center;gap:2px}.rbac-col-selectall{font-size:11px;padding:0;line-height:1.3}.rbac-col-selectall.is-mixed{font-style:italic;opacity:.85}.cfg-rgpd-subproc{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.cfg-subsection-title{margin:0 0 10px;font-size:1.02em}.cfgport-step-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:12px}.cfgport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;align-items:start}.cfgport-col{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.cfgport-col-head{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:1.02em}.diff-review{display:flex;flex-direction:column;gap:14px;margin-top:10px}.diff-mode-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diff-mode-btn{padding:6px 14px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;cursor:pointer;font-size:.92em}.diff-mode-btn:hover{background:var(--surface-2)}.diff-mode-btn.is-active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.diff-mode-hint{margin-left:6px;font-size:.86em}.diff-cat{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.diff-cat-headrow{display:flex;align-items:center}.diff-cat-selectall-head{display:inline-flex;align-items:center;gap:6px;padding:0 14px;white-space:nowrap;font-size:.84em;color:var(--text-muted);cursor:pointer}.diff-cat-head{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:var(--text)}.diff-cat-head:hover:not(:disabled){background:var(--surface-2)}.diff-cat-head:disabled{cursor:default;opacity:.65}.diff-cat-label{font-weight:600;flex:1}.diff-cat-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.7em;height:1.5em;padding:0 .55em;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:.82em;font-variant-numeric:tabular-nums}.diff-cat-open .diff-cat-count{background:var(--accent-weak);color:var(--text)}.diff-cat-chevron{color:var(--text-muted)}.diff-bucket-head{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:var(--text)}.diff-bucket-head:hover{background:var(--surface-2)}.diff-bucket-label{font-weight:600;flex:1}.diff-bucket-chevron{color:var(--text-muted)}.diff-cat-body{padding:10px 14px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.diff-cat-toolbar{display:flex;align-items:center;gap:14px}.diff-sel-count{font-size:.86em}.diff-changed-fields{display:inline-flex;flex-wrap:wrap;gap:6px}.diff-field-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;background:var(--surface-2);font-size:.86em}.diff-old{color:var(--text-muted);text-decoration:line-through}.diff-new{color:var(--accent);font-weight:600}.diff-key{font-family:var(--font-mono, ui-monospace, monospace);font-size:.9em}.diff-preview{margin-top:12px;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface)}.diff-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.diff-preview-fields,.diff-preview-attrs{display:flex;flex-direction:column;gap:4px;margin:0}.diff-preview-field,.diff-preview-attr{display:flex;align-items:center;gap:8px;font-size:.9em}.diff-preview-attr dt{min-width:140px;color:var(--text-muted);margin:0}.diff-preview-attr dd{margin:0}.diff-preview-title{font-weight:600;font-size:.92em}.diff-preview-actions{display:flex;gap:8px;margin-top:10px}.diff-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap}.diff-result-area{display:flex;flex-direction:column;gap:16px;margin-top:10px;align-items:flex-start}.diff-result-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diff-result-head h3{margin:0;font-size:1.15em}.diff-result-ok{color:var(--good);flex:0 0 auto}.diff-result-grid{display:flex;flex-wrap:wrap;gap:12px}.diff-result-card{display:flex;flex-direction:column;gap:2px;min-width:118px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.diff-result-card.add{border-color:color-mix(in srgb,var(--good) 42%,transparent)}.diff-result-card.chg{border-color:color-mix(in srgb,var(--accent) 42%,transparent)}.diff-result-card.rem{border-color:color-mix(in srgb,var(--bad) 42%,transparent)}.diff-result-n{font-size:1.6em;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.diff-excluded-note{margin:0}.inve-loads-section{display:flex;flex-direction:column;gap:16px}.inve-loads-head{display:flex;align-items:center;gap:8px}.inve-loads-head h2{margin:0;font-size:1.2em}.diff-upload-area{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.recon-q-filter-bar{display:flex;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}.recon-q-filters-label{font-weight:600;opacity:.8}.recon-q-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.recon-q-pager{display:flex;align-items:center;gap:10px;margin-top:12px;justify-content:flex-end}.recon-q-pager .muted{margin-right:auto}.recon-q-row-actions{display:flex;gap:6px}.szb-edit{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:6px 0 10px;padding:8px;border:1px dashed var(--border);border-radius:8px}.szb-edit label{display:flex;flex-direction:column;gap:2px;font-size:.78em}.szb-edit input{width:68px}.szb-forcage{margin:4px 0 10px}.szb-forcage .szb-forcage-hint{flex-basis:100%;margin:0 0 4px;font-size:.78em}.imports-templates{border:1px solid var(--border);border-radius:var(--radius, 12px);padding:12px 14px;margin-bottom:14px}.imports-templates-head{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:var(--text);padding:0}.imports-templates-title{font-weight:600;margin-right:auto}.imports-templates-chevron{color:var(--text-muted)}.imports-templates-body{margin-top:12px}.imports-templates-formatrow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.imports-templates-hint{margin:0}.imports-templates-row{display:flex;gap:8px;flex-wrap:wrap}.review-subview{margin-right:8px}.ovr-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:12px}.ovr-history-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);cursor:pointer;font-size:13px}.ovr-history-toggle input{cursor:pointer}.ovr-object{display:inline-flex;align-items:center;gap:8px}.ovr-object-key{font-weight:600}.ovr-type-badge{font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:4px;color:var(--text-muted);background:var(--surface-2, rgba(127,127,127,.14))}.ovr-type-badge.is-polygon{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.ovr-type-badge.is-rectangle{color:var(--warn);background:color-mix(in srgb,var(--warn) 20%,transparent)}.ovr-verdict-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.ovr-verdict-pill.is-bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,transparent)}.ovr-verdict-pill.is-warn{color:color-mix(in srgb,var(--warn) 72%,#7a5b00);background:color-mix(in srgb,var(--warn) 24%,transparent)}.ovr-verdict-pill.is-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 18%,transparent)}.ovr-verdict-pill.is-info{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.ovr-verdict-pill.is-none{color:var(--text-muted);background:var(--surface-2, rgba(127,127,127,.12))}.ovr-verdict-none,.ovr-note{color:var(--text-muted)}.ovr-state{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.ovr-state.is-active{color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent)}.ovr-state.is-inactive{color:var(--text-muted);border:1px solid var(--border)}.ovr-row-withdrawn{opacity:.55}.ovr-open-link{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:13px;padding:0;white-space:nowrap}.ovr-open-link:hover{text-decoration:underline}.plat-opstate-control{display:inline-flex;margin-bottom:12px}.plat-opstate-indicator{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px}.plat-opstate-indicator .plat-opstate-dot{width:9px;height:9px;border-radius:999px}.plat-opstate-indicator.is-read_only{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.plat-opstate-indicator.is-read_only .plat-opstate-dot{background:var(--accent)}.plat-opstate-indicator.is-maintenance{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.plat-opstate-indicator.is-maintenance .plat-opstate-dot{background:var(--bad);animation:plat-opstate-pulse 1.6s ease-in-out infinite}@keyframes plat-opstate-pulse{0%,to{opacity:1}50%{opacity:.35}}.plat-opstate-confirm{display:flex;flex-direction:column;gap:10px;min-width:min(460px,70vw)}.plat-opstate-confirm .plat-opstate-sessions{font-weight:600;color:var(--bad);margin:0}.plat-opstate-msg-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.plat-opstate-msg-field textarea{width:100%;resize:vertical;font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.auth-maint-screen{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:12px;border-radius:8px;color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.auth-maint-screen strong{display:block;color:var(--text)}.auth-maint-screen .auth-maint-msg{margin:4px 0 0;color:var(--text);font-size:13px;white-space:pre-wrap}.ds-btn-readonly{cursor:not-allowed}.readonly-inline-reason{color:var(--text-muted);font-size:12px;margin-left:8px;align-self:center}
