.erp-pro-filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px;border-bottom:1px solid var(--border);background:var(--bg, transparent)}.erp-pro-filter-bar input[type=search]{min-width:220px}.erp-pro-pills{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-elev);border-bottom:1px solid var(--border);align-items:center}.erp-pro-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#e5e7eb;font-size:.85rem;color:#1f2937}.erp-pro-pill button{background:transparent;border:0;cursor:pointer;padding:0 0 0 4px;opacity:.6;font-size:.95rem;line-height:1}.erp-pro-pill button:hover{opacity:1}.erp-pro-pills-clear{margin-left:auto;font-size:.8rem;background:transparent;border:1px dashed var(--border);border-radius:4px;padding:2px 8px;cursor:pointer}.erp-pro-table-toolbar{display:flex;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.erp-pro-table-toolbar .separator{width:1px;height:20px;background:var(--border);display:inline-block}.density-compact td,.density-compact th{padding:2px 6px;line-height:1.2;font-size:.85rem}.density-normal td,.density-normal th{padding:6px 10px;line-height:1.4}.density-large td,.density-large th{padding:10px 14px;line-height:1.6;font-size:1rem}.erp-table-frozen-first th:first-child,.erp-table-frozen-first td:first-child{position:sticky;left:0;background:inherit;z-index:1;box-shadow:1px 0 0 var(--border)}.show-on-tablet,.show-on-mobile{display:none!important}@media (max-width: 1279px) and (min-width: 768px){.hide-on-tablet{display:none!important}.show-on-tablet{display:inline-flex!important}}@media (max-width: 767px){.hide-on-mobile{display:none!important}.show-on-mobile{display:inline-flex!important}.erp-pro-filter-bar{padding:8px;gap:6px}.erp-pro-table-toolbar{padding:8px;gap:6px;flex-wrap:nowrap;overflow-x:auto}.erp-pro-table-toolbar .split-btn-main .split-btn-label{display:none}}@media (max-width: 767px){.erp-pro-pills{flex-wrap:nowrap;overflow-x:auto;padding:6px 8px}.erp-pro-pill,.erp-pro-pills-clear{flex-shrink:0}}.erp-pro-header-count-inline{display:inline}.erp-pro-header-count{display:none}@media (max-width: 767px){.erp-pro-header-count-inline{display:none}.erp-pro-header-count{display:block;font-size:.85rem;color:var(--fg-muted, #6b7280);margin-top:2px;width:100%}}.erp-mobile-filter-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:erp-mfd-fade .18s ease-out}.erp-mobile-filter-sheet{background:var(--bg-elev, #fff);width:100%;max-height:90vh;border-radius:12px 12px 0 0;display:flex;flex-direction:column;box-shadow:0 -4px 20px #0003;animation:erp-mfd-slide-up .22s ease-out}.erp-mobile-filter-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.erp-mobile-filter-body{padding:16px;overflow-y:auto;flex:1;gap:12px;display:flex;flex-direction:column}.erp-mobile-filter-footer{padding:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}@keyframes erp-mfd-fade{0%{opacity:0}to{opacity:1}}@keyframes erp-mfd-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.erp-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:var(--accent, #2563eb);color:#fff;border-radius:999px;font-size:.7rem;font-weight:600}.data-grid.resizable-cols{table-layout:fixed}.data-grid.resizable-cols th,.data-grid.resizable-cols td{overflow:hidden;text-overflow:ellipsis}.erp-col-resize-handle{background:transparent;transition:background .12s ease;z-index:1}.erp-col-resize-handle:hover{background:var(--accent, #3b82f6);opacity:.4}.erp-col-resize-handle:active{background:var(--accent, #3b82f6);opacity:.8}.split-button{display:inline-flex;align-items:stretch;position:relative;border:1px solid var(--border, #d0d7de);border-radius:6px;background:var(--bg-elev, #fff)}.split-btn-main,.split-btn-arrow{cursor:pointer;font:inherit;color:inherit;display:inline-flex;align-items:center;margin:0;background:transparent;border:0;border-radius:0}.split-btn-main{padding:.4rem .8rem}.split-btn-arrow{padding:.4rem .5rem;min-width:26px;justify-content:center;border-left:1px solid var(--border, #d0d7de)}.split-btn-main:hover,.split-btn-arrow:hover{background:var(--bg-hover, rgba(0,0,0,.05))}.split-button.active{background:var(--accent-soft, #dbeafe);border-color:var(--accent, #2563eb)}.split-button.active .split-btn-arrow{border-left-color:var(--accent, #2563eb)}.split-button.active .split-btn-main{font-weight:600}.split-button.disabled{cursor:not-allowed;opacity:.55}.split-button.disabled .split-btn-main,.split-button.disabled .split-btn-arrow{cursor:not-allowed}.split-button-menu{position:absolute;top:100%;left:0;z-index:1000;margin-top:2px;min-width:280px;max-height:420px;overflow:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #00000026}@media (max-width: 767px){.split-btn-arrow{min-width:36px;padding:8px 10px}.split-btn-main{padding:8px 12px}.split-button-menu{min-width:240px}}.split-btn-main-compact .split-btn-label{display:none}.split-btn-main-compact>span[aria-hidden=true]{margin-right:0!important}.search-with-clear{position:relative;display:inline-block}.search-with-clear input[type=search]{padding-right:28px}.search-with-clear input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-with-clear .clear-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer;padding:2px 6px;font-size:.85rem;color:var(--fg-muted, #6b7280);border-radius:3px;line-height:1}.search-with-clear .clear-btn:hover{background:var(--bg-hover, rgba(0,0,0,.06));color:var(--fg, #111)}.kw-form-page{--kw-bg: var(--bg);--kw-bg-card: var(--bg-elev);--kw-border: var(--border);--kw-border-soft: var(--border);--kw-label-fg: var(--fg-muted);--kw-value-fg: var(--fg);--kw-readonly-bg: rgba(255, 255, 255, .04);--kw-readonly-fg: var(--fg-muted);--kw-edit-underline: #dc2626;--kw-row-gap: 6px}[data-theme=light] .kw-form-page{--kw-bg: #f5f6f8;--kw-bg-card: #ffffff;--kw-border: #d8dde4;--kw-border-soft: #e5e9ef;--kw-label-fg: #1f2937;--kw-value-fg: #111827;--kw-readonly-bg: #eef0f3;--kw-readonly-fg: #4b5563}.kw-section-block{background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:6px;padding:.85rem 1rem .95rem;display:flex;flex-direction:column}.kw-section-title{margin:0 0 .5rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-bottom:1px solid var(--kw-border-soft);padding-bottom:.4rem}.kw-section-body{display:flex;flex-direction:column;gap:var(--kw-row-gap)}.kw-form-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.kw-form-grid.three-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.kw-field-row{display:flex;align-items:center;gap:8px;min-height:22px;font-size:.875rem}.kw-field-indent{padding-left:1rem}.kw-field-label{flex-shrink:0;text-align:right;color:var(--kw-label-fg);font-weight:400;font-size:.85rem;padding-right:4px}.kw-field-value{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px;padding:2px 6px;font-size:.9rem;color:var(--kw-value-fg);background:transparent;min-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kw-field-value.editable{background:var(--kw-bg-card);border-bottom:1px solid var(--kw-edit-underline)}.kw-field-value.read-only{background:var(--kw-readonly-bg);color:var(--kw-readonly-fg);border-bottom:1px solid transparent}.kw-field-value.emphasis{font-weight:600;color:var(--kw-value-fg)}.kw-field-value.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.kw-field-value.numeric{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums}.kw-field-empty{display:inline-block;min-width:1ch}.kw-field-hint{margin-left:auto;color:#6b7280;font-size:.78rem;font-weight:400}.kw-field-inline{display:flex;gap:6px;flex-wrap:wrap;flex:1}.kw-check-row{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--kw-label-fg);-webkit-user-select:none;user-select:none}.kw-check-box{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.95rem;color:#1d4ed8}.kw-check-box[data-checked=true]{color:#16a34a}.kw-check-label{color:var(--kw-label-fg)}.kw-action-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:6px;margin-top:1rem}.kw-action-bar .kw-actions-left,.kw-action-bar .kw-actions-right{display:flex;gap:.5rem}.kw-action-bar button{padding:.4rem .9rem;font-size:.85rem}.kw-subtabs{display:flex;gap:2px;border-bottom:1px solid var(--kw-border);margin-bottom:.6rem}.kw-subtab{padding:.35rem .85rem;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;font-size:.82rem;cursor:pointer;color:#4b5563}.kw-subtab.active{background:#fff7ed;border-color:#fdba74;color:#c2410c;font-weight:600}.kw-mouv-table{width:100%;font-size:.82rem;border-collapse:collapse}.kw-mouv-table th,.kw-mouv-table td{padding:4px 8px;border-bottom:1px solid var(--kw-border-soft);text-align:left}.kw-mouv-table th{background:#f3f4f6;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#374151}.kw-mouv-table tbody tr:nth-child(2n){background:#fafbfc}.kw-mouv-table tbody tr:hover{background:#eff6ff}.kw-mouv-table td.num{text-align:right;font-variant-numeric:tabular-nums}.kw-more-wrapper{position:relative}.kw-more-button{width:100%;text-align:left}.kw-more-menu{position:absolute;top:100%;left:0;right:0;z-index:30;background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:6px;box-shadow:0 8px 20px #00000014;padding:4px;display:flex;flex-direction:column;gap:1px;max-height:360px;overflow-y:auto}.kw-more-menu button{text-align:left;padding:.4rem .6rem;background:transparent;border:none;font-size:.82rem;cursor:pointer;border-radius:3px;display:flex;gap:6px;align-items:center}.kw-more-menu button:hover{background:#eff6ff}.kw-more-menu button.active{background:#dbeafe;color:#1d4ed8;font-weight:600}@media (max-width: 1280px){.kw-form-grid{grid-template-columns:1fr}}@media (max-width: 700px){.kw-field-row{flex-direction:column;align-items:stretch;gap:2px}.kw-field-label{text-align:left;width:auto!important}}.kw-toolbar{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f7f7f8;border:1px solid var(--kw-border-soft);border-bottom:1px solid var(--kw-border);border-radius:4px 4px 0 0;flex-wrap:wrap}.kw-toolbar-button{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:3px;font-size:.82rem;cursor:pointer;color:#1f2937}.kw-toolbar-button:hover:not(:disabled){background:#eff6ff}.kw-toolbar-button:disabled{cursor:not-allowed;opacity:.6;background:#f3f4f6}.kw-toolbar-icon{font-weight:700;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;min-width:14px}.kw-icon-green .kw-toolbar-icon{color:#16a34a}.kw-icon-red .kw-toolbar-icon{color:#dc2626}.kw-icon-blue .kw-toolbar-icon{color:#2563eb}.kw-icon-gray .kw-toolbar-icon{color:#6b7280}.kw-icon-orange .kw-toolbar-icon{color:#c2410c}.kw-toolbar-spacer{flex:1}.kw-toolbar-select{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#1f2937}.kw-toolbar-select-label{color:#6b7280}.kw-toolbar-select select{padding:3px 6px;font-size:.82rem;border:1px solid var(--kw-border);border-radius:3px;background:var(--kw-bg-card)}.kw-toolbar-select select:disabled{background:#f3f4f6;color:#4b5563;cursor:not-allowed}.kw-data-table-wrap{border:1px solid var(--kw-border);border-radius:4px;overflow-x:auto;background:var(--kw-bg-card)}.kw-toolbar+.kw-data-table-wrap{border-top:none;border-radius:0 0 4px 4px}.kw-data-table{width:100%;font-size:.82rem;border-collapse:collapse}.kw-data-table thead th{background:#fefce8;font-weight:600;font-size:.78rem;color:#374151;padding:5px 8px;border-bottom:1px solid #facc15;border-right:1px solid #fde68a;text-align:left}.kw-data-table thead th:last-child{border-right:none}.kw-data-table tbody td{padding:4px 8px;border-bottom:1px solid var(--kw-border-soft);border-right:1px solid var(--kw-border-soft)}.kw-data-table tbody td:last-child{border-right:none}.kw-data-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.kw-data-table tbody td.editable-cell{border-color:#fca5a5}.kw-data-table tbody tr:nth-child(2n){background:#fafbfc}.kw-data-table tbody tr:hover:not(.empty-row):not(.pad-row){background:#eff6ff;cursor:pointer}.kw-data-table tbody tr.selected{background:#dbeafe!important}.kw-data-table .kw-sel-cell{text-align:center;color:#2563eb;font-weight:700}.kw-data-table .empty-row td{background:#fefce8;text-align:center;font-style:italic;color:#6b7280;padding:18px 8px}.kw-data-table .pad-row td{height:22px;background:transparent}.kw-commentaires-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;align-items:stretch}.kw-commentaire-col{display:flex;flex-direction:column;border:1px solid var(--kw-border);border-radius:4px;background:var(--kw-bg-card);overflow:hidden}.kw-commentaire-header{background:#fefce8;border-bottom:1px solid #facc15;padding:6px 10px;font-weight:600;font-size:.82rem;color:#374151}.kw-commentaire-body{padding:10px;flex:1;display:flex;flex-direction:column}.kw-commentaire-textarea{flex:1;width:100%;min-height:240px;resize:vertical;border:1px solid var(--kw-border-soft);border-radius:3px;padding:6px 8px;font-size:.85rem;font-family:inherit;background:var(--kw-bg-card);color:var(--kw-value-fg)}.kw-commentaire-textarea[readonly]{background:#fafbfc}.kw-commentaire-rtf{flex:1;min-height:240px;border:1px solid var(--kw-border-soft);border-radius:3px;padding:8px 10px;font-size:.85rem;background:var(--kw-bg-card);overflow:auto}.kw-commentaire-photo{max-width:100%;max-height:280px;object-fit:contain;margin:auto}.kw-commentaire-empty{flex:1;display:flex;align-items:center;justify-content:center;font-style:italic;color:#9ca3af;font-size:.85rem}@media (max-width: 1024px){.kw-commentaires-grid{grid-template-columns:1fr}}.kw-form-page .product-tabs{max-height:calc(100vh - 2rem);overflow-y:auto}.kw-form-page .product-tabs::-webkit-scrollbar{width:6px}.kw-form-page .product-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.kw-form-page .product-tab{font-size:.82rem!important;padding:.4rem .6rem!important}.kw-form-page .product-tab .icon{font-size:.95rem}.kw-property-grid-wrap{display:flex;flex-direction:column;gap:.6rem}.kw-property-section{border:1px solid var(--kw-border);border-radius:4px;background:var(--kw-bg-card);overflow:hidden}.kw-property-section-title{width:100%;text-align:left;background:#f3f4f6;padding:6px 12px;font-weight:600;font-size:.85rem;color:#1e3a8a;border:0;border-bottom:1px solid #e5e7eb;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.kw-property-section-title:before{content:"▾";font-size:.7em;color:#1e3a8a}.kw-property-section.collapsed .kw-property-section-title{border-bottom:none}.kw-property-section.collapsed .kw-property-section-title:before{content:"▸"}.kw-property-grid{width:100%;border-collapse:collapse;font-size:.85rem}.kw-property-grid tr:nth-child(2n){background:#eff6ff}.kw-property-grid tr:nth-child(odd){background:#f0fdf4}.kw-property-grid td{padding:4px 10px;vertical-align:middle;color:#111827;border-right:1px solid rgba(0,0,0,.04)}.kw-property-grid td:last-child{border-right:none}.kw-property-label{width:35%;color:#1f2937;font-weight:500}.kw-property-value.mono{font-family:ui-monospace,Consolas,monospace}.kw-property-select{display:inline-block;background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:3px;padding:1px 8px;font-size:.82rem;color:#4b5563;cursor:not-allowed}.kw-property-thumb{display:inline-block;width:32px;height:32px;object-fit:cover;border:1px solid var(--kw-border);border-radius:3px;vertical-align:middle}.kw-property-thumb-empty{display:inline-block;width:32px;height:32px;background:#f3f4f6;border:1px dashed var(--kw-border);border-radius:3px;text-align:center;line-height:30px;font-size:.7rem;color:#9ca3af;vertical-align:middle}.kw-tag-yellow{display:inline-block;background:#fef9c3;color:#713f12;padding:4px 12px;font-weight:600;font-size:.85rem;border:1px solid #fde68a;border-radius:3px}.kw-mini-title{margin:.85rem 0 .4rem;font-size:.82rem;font-weight:600;text-transform:uppercase;color:#6b7280;letter-spacing:.03em}.kw-promo-row{display:flex;align-items:center;gap:8px;padding:4px 0;flex-wrap:wrap}.kw-promo-label{display:inline-block;width:100px;font-weight:600;font-size:.82rem;color:#1f2937;background:#fefce8;padding:4px 8px;border:1px solid #facc15;border-radius:3px;text-align:center}.kw-promo-validite{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px;font-size:.85rem}.kw-promo-validite .kw-field-value{display:inline-flex}.product-layout-horizontal{display:block!important;width:100%;grid-template-columns:none!important}.product-layout-horizontal>.product-content{width:100%;max-width:100%;min-width:0;flex:1 1 auto}.product-layout-horizontal .kw-form-grid,.product-layout-horizontal .kw-form-grid.three-col{width:100%}.product-layout-horizontal .kw-form-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.product-layout-horizontal .kw-form-grid.three-col{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.product-tabs-horizontal{background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:6px 6px 0 0;padding:0 4px;position:relative}.product-tab-horizontal{transition:background 80ms ease}.product-tab-horizontal:hover:not(.active){background:var(--kw-readonly-bg)!important}.product-layout-continuous>.product-tabs{position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow-y:auto}.product-content-continuous>section{background:var(--kw-bg-card);border:1px solid var(--kw-border);border-radius:6px;padding:.85rem 1rem}.product-content-continuous>section+section{margin-top:.85rem}.product-content-continuous>section>h3{position:sticky;top:0;background:var(--kw-bg-card);padding-top:.5rem;margin:0 0 .5rem!important;z-index:1}.product-tab[draggable=true]{-webkit-user-select:none;user-select:none}.product-tab[draggable=true]:active{cursor:grabbing}.product-tabs .product-tab{padding-right:4px!important}@media (max-width: 900px){.product-layout-continuous{display:block}.product-layout-continuous>.product-tabs{position:sticky;top:0;max-height:40vh;margin-bottom:12px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color-scheme:dark;--bg: #0f172a;--bg-elev: #1e293b;--fg: #e2e8f0;--fg-muted: #94a3b8;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .18);--positive: #22c55e;--negative: #ef4444;--border: #334155;--field-bg: #1e293b;--field-bg-readonly: #273548;background:var(--bg);color:var(--fg)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light;--bg: #f8fafc;--bg-elev: #ffffff;--fg: #0f172a;--fg-muted: #64748b;--accent: #0284c7;--accent-soft: #dbeafe;--positive: #15803d;--negative: #dc2626;--border: #cbd5e1;--field-bg: #ffffff;--field-bg-readonly: #f1f5f9}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg)}input,select,textarea{background:var(--bg-elev);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;font:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #38bdf826}[data-theme=light] .filter-bar input{background:#fff}button:not(.tab):not(.pill):not(.cdstats-spinner):not(.journals-tab):not(.split-btn-main):not(.split-btn-arrow){background:var(--bg-elev);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.4rem .8rem;cursor:pointer}button:not(.tab):not(.pill):not(.cdstats-spinner):not(.journals-tab):not(.split-btn-main):not(.split-btn-arrow):hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.6;cursor:not-allowed}button{font:inherit;cursor:pointer}input{font:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-rows:auto auto 1fr auto;min-height:100vh}.app-shell-v2{display:grid;grid-template-areas:"header header" "sidebar main" "sidebar footer";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;min-height:100vh}.app-shell-v2>.app-header{grid-area:header}.app-shell-v2>.app-sidebar{grid-area:sidebar}.app-shell-v2>.app-main{grid-area:main}.app-shell-v2>footer{grid-area:footer}.app-sidebar{width:240px;background:var(--bg-elev);border-right:1px solid var(--border);padding:.5rem 0;position:relative;transition:width .2s;overflow-y:auto}.app-sidebar.collapsed{width:56px}.sidebar-toggle{position:absolute;top:.5rem;right:.5rem;background:transparent!important;border:1px solid var(--border)!important;color:var(--fg-muted)!important;width:24px;height:24px;padding:0!important;border-radius:4px;font-size:.85rem;line-height:1}.sidebar-group{margin-bottom:.25rem}.sidebar-group-header{display:flex;align-items:center;gap:8px;width:100%;padding:.5rem .75rem;background:transparent!important;border:none!important;color:var(--fg)!important;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-align:left}.sidebar-group-header:hover{background:#38bdf814!important}.sidebar-group-header .icon{font-size:1.1rem;flex-shrink:0;width:24px;text-align:center}.sidebar-group-header .label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-group-header .chevron{color:var(--fg-muted);font-size:.75rem}.sidebar-group-items{list-style:none;padding:0;margin:0 0 .25rem}.sidebar-group-items a{display:block;padding:.4rem .75rem .4rem 2.5rem;font-size:.85rem;color:var(--fg-muted);text-decoration:none;border-left:3px solid transparent}.sidebar-group-items a:hover{background:#38bdf80d;color:var(--fg);text-decoration:none}.sidebar-group-items a.active{color:var(--fg);border-left-color:var(--accent);background:#38bdf81a;font-weight:500}.sidebar-burger,.sidebar-backdrop{display:none}@media (max-width: 768px){.app-shell-v2{grid-template-areas:"header" "main" "footer";grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.app-sidebar{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;transform:translate(-100%);transition:transform .25s ease;z-index:1100;box-shadow:4px 0 16px #0000004d}.app-sidebar.mobile-open{transform:translate(0)}.app-sidebar.collapsed{width:280px}.app-sidebar .sidebar-toggle{display:none}.sidebar-burger{display:inline-block;position:fixed;top:.5rem;left:.5rem;z-index:1099;background:var(--bg-elev)!important;color:var(--fg)!important;border:1px solid var(--border)!important;width:40px;height:40px;padding:0!important;border-radius:6px;font-size:1.5rem;line-height:1}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1050}.app-header{padding-left:60px!important}.app-header h1{font-size:1rem}.app-header .user{flex-wrap:wrap;gap:.5rem}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-elev);border-bottom:1px solid var(--border)}.app-header h1{font-size:1.1rem;margin:0;font-weight:600}.app-header .user{color:var(--fg-muted);font-size:.9rem}.app-header .user button{margin-left:.75rem;background:transparent;color:var(--fg);border:1px solid var(--border);padding:.3rem .75rem;border-radius:6px}.app-main{padding:1.5rem;max-width:1280px;margin:0 auto;width:100%}.login-page{display:grid;place-items:center;min-height:100vh;padding:1.5rem}.login-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:360px}.login-card h2{margin-top:0}.login-card label{display:block;margin:.75rem 0 .25rem;font-size:.9rem;color:var(--fg-muted)}.login-card input{width:100%;padding:.55rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg)}.login-card button{margin-top:1.25rem;width:100%;padding:.6rem;border:none;background:var(--accent);color:#0f172a;font-weight:600;border-radius:6px}.login-card .error{color:var(--negative);font-size:.85rem;margin-top:.5rem;min-height:1em}.filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch;margin-bottom:1.5rem}.filter-bar .filter-group{display:flex;gap:.5rem;align-items:stretch;flex-wrap:wrap}.filter-bar .filter-group-actions{margin-left:auto;align-items:flex-end}.filter-bar label{display:flex;flex-direction:column;gap:.15rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;min-width:180px;font-size:.7rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.filter-bar .filter-group-hours label{min-width:110px}.filter-bar .filter-group-register label{min-width:220px}.filter-bar .filter-group-hours input[type=time]{width:100%;min-width:70px}.filter-bar label>input,.filter-bar label>select{border:none;background:transparent;outline:none;padding:0;font-size:.95rem;color:var(--fg);font-weight:500;text-transform:none;letter-spacing:normal}.filter-bar label>select{cursor:pointer}.filter-bar label>select:focus,.filter-bar label>input:focus{outline:none}.filter-bar label:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf826}.filter-bar input,.filter-bar select{padding:.4rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg)}.filter-action-btn{background:transparent;border:1px solid var(--border);color:var(--fg-muted);border-radius:4px;padding:.15rem .45rem;cursor:pointer;align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.filter-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--fg)}.filter-action-btn:disabled{opacity:.6;cursor:not-allowed}.filter-reset-btn{background:transparent;border:1px solid var(--border);color:var(--fg-muted);border-radius:4px;padding:.15rem .45rem;cursor:pointer;align-self:flex-end;font-size:.8rem;display:inline-flex;align-items:center;gap:4px}.calc-method-toggle{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;align-self:flex-end}.calc-method-btn{padding:3px 10px;font-size:.78rem;cursor:pointer;background:transparent;color:var(--fg-muted);border:none;font-weight:400;display:inline-flex;align-items:center;gap:4px;min-height:32px}.calc-method-btn.active{background:var(--accent, #2563eb);color:#fff;font-weight:600}.calc-method-icon{display:inline-flex}.calc-method-label{display:inline}.charts-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}@media (max-width: 720px){.charts-grid{grid-template-columns:1fr}}.kpi-stats-row{display:grid;gap:1rem;margin-bottom:1rem}.kpi-stats-row-5{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-stats-row-6{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:1.5rem}@media (max-width: 1180px){.kpi-stats-row-5,.kpi-stats-row-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.kpi-stats-row{gap:.6rem;margin-bottom:.75rem}.kpi-stats-row-5,.kpi-stats-row-6{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 380px){.kpi-stats-row-5,.kpi-stats-row-6{grid-template-columns:1fr}}.comparison-table th:first-child,.comparison-table td:first-child{background:var(--bg-elev);min-width:160px;max-width:240px}.comparison-table tbody tr:nth-child(2n) td:first-child{background:#94a3b80f}@media (max-width: 1023px){.comparison-table-wrapper{overflow-x:visible!important;width:100%}.comparison-table thead{display:none}.comparison-table{display:block;overflow-x:visible;border:none;background:transparent;border-radius:0;width:100%;max-width:100%}.comparison-table tbody{display:block;width:100%}.comparison-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:8px;box-shadow:0 1px 2px #0000000a;width:auto;max-width:100%;box-sizing:border-box}.comparison-table tbody tr.comparison-stats-row{background:#38bdf80f!important;border-color:var(--accent, #2563eb);border-style:dashed}.comparison-table tbody tr td:first-child{grid-column:1 / -1;background:transparent!important;border:none;padding:0 0 8px;margin:0 0 4px;border-bottom:1px solid var(--border);font-size:.95rem;min-width:0;max-width:none;text-align:left;display:block}.comparison-table tbody tr td:first-child:before{content:none}.comparison-table tbody tr td:not(:first-child){display:block!important;border:none;padding:3px 0;white-space:normal;min-width:0;max-width:100%;width:100%;box-sizing:border-box;font-size:.9rem;font-variant-numeric:tabular-nums;text-align:right;color:var(--fg);overflow:hidden}.comparison-table tbody tr td:not(:first-child):before{content:attr(data-label);float:left;color:var(--fg-muted);font-weight:500;font-size:.8rem;text-align:left;font-style:normal;white-space:nowrap;margin-right:12px}}@media (max-width: 640px){.comparison-table tbody tr{grid-template-columns:1fr;padding:10px 12px}.comparison-table tbody tr td:not(:first-child):before{font-size:.75rem}.comparison-table tbody tr td:not(:first-child){font-size:.85rem}}.stats-section-grid{display:grid;gap:1rem;align-items:start;grid-template-columns:minmax(0,1fr) 380px}.stats-section-grid--full{grid-template-columns:1fr}@media (max-width: 900px){.stats-section-grid{grid-template-columns:1fr}.stats-section-grid>:nth-child(2){max-height:320px}}@media (max-width: 640px){.filter-bar{flex-direction:column;gap:.5rem;margin-bottom:1rem;width:100%;box-sizing:border-box;min-width:0}.filter-bar .filter-group{width:100%;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem;gap:.5rem;box-sizing:border-box;min-width:0}.filter-bar input,.filter-bar select{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.filter-bar .filter-group-period{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"preset preset" "from   to";min-width:0}.filter-bar .filter-group-period>label:nth-child(1){grid-area:preset}.filter-bar .filter-group-period>label:nth-child(2){grid-area:from}.filter-bar .filter-group-period>label:nth-child(3){grid-area:to}.filter-bar .filter-group-hours{display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch}.filter-bar .filter-group-hours .filter-reset-btn{align-self:stretch}.filter-bar .filter-group-actions{margin-left:0;justify-content:space-between;flex-wrap:nowrap}.filter-bar label{background:transparent;border:1px solid var(--border);min-width:0;width:100%;padding:.4rem .6rem;font-size:.65rem}.filter-bar label>input,.filter-bar label>select{font-size:.9rem}.calc-method-toggle{flex:1 1 auto}.calc-method-btn{flex:1;justify-content:center;padding:6px 8px}.calc-method-label{display:none}.calc-method-icon{font-size:1.1rem}}.kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:1.5rem}.kpi-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem}.kpi-card .label{color:var(--fg-muted);font-size:.85rem}.kpi-card .value{font-size:1.6rem;font-weight:600;margin:.25rem 0}.kpi-card .delta{font-size:.85rem}.kpi-card .delta.up{color:var(--positive)}.kpi-card .delta.down{color:var(--negative)}.kpi-card .delta.flat{color:var(--fg-muted)}.section{margin-top:1.5rem}.section h3{margin:0 0 .75rem;font-size:1rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.payment-list,.daily-list{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem}.payment-list table,.daily-list table{width:100%;border-collapse:collapse}.payment-list th,.payment-list td,.daily-list th,.daily-list td{padding:.5rem .25rem;text-align:left;border-bottom:1px solid var(--border)}.payment-list th,.daily-list th{color:var(--fg-muted);font-size:.8rem;font-weight:500}.payment-list tr:last-child td,.daily-list tr:last-child td{border-bottom:none}.payment-list .num,.daily-list .num{text-align:right;font-variant-numeric:tabular-nums}.loader{color:var(--fg-muted);font-style:italic}@keyframes cdstats-loading-slide{0%{background-position:-50% 0}to{background-position:150% 0}}@keyframes cdstats-spin{to{transform:rotate(360deg)}}.cdstats-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:cdstats-spin .8s linear infinite;vertical-align:middle;margin-right:6px}.cdstats-skeleton{background:linear-gradient(90deg,#94a3b814,#94a3b833,#94a3b814);background-size:200% 100%;animation:cdstats-shimmer 1.4s ease-in-out infinite;border-radius:6px;display:inline-block}[data-theme=light] .cdstats-skeleton{background:linear-gradient(90deg,#0f172a0d,#0f172a1f,#0f172a0d);background-size:200% 100%;animation:cdstats-shimmer 1.4s ease-in-out infinite}@keyframes cdstats-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.error-box{color:var(--negative);padding:1rem;background:#ef44441a;border-radius:6px}.app-nav{display:flex;gap:1rem;padding:0 1.5rem;background:var(--bg-elev);border-bottom:1px solid var(--border);flex-wrap:wrap}.app-nav a{white-space:nowrap}.app-nav a{color:var(--fg-muted);padding:.6rem .25rem;text-decoration:none;border-bottom:2px solid transparent}.app-nav a:hover{color:var(--fg);text-decoration:none}.app-nav a.active{color:var(--fg);border-bottom-color:var(--accent)}.tab-bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tab{background:var(--bg-elev);color:var(--fg-muted);border:1px solid var(--border);padding:.45rem 1rem;border-radius:6px;white-space:nowrap}.tab.active{background:var(--accent);color:#0f172a;border-color:var(--accent);font-weight:600}@media (max-width: 640px){.tab-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:thin}.tab{flex-shrink:0;padding:.4rem .75rem;font-size:.85rem}}.journals-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1rem;flex-wrap:wrap}.journals-tab{padding:10px 16px;border:0;background:transparent;cursor:pointer;color:var(--fg-muted);font-size:.95rem;font-weight:500;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;transition:color .15s ease,border-bottom-color .15s ease}.journals-tab:hover{color:var(--fg)}.journals-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.journals-tab .journals-tab-count{margin-left:.4rem;color:var(--fg-muted);font-weight:400;font-size:.85em}.journals-tab.active .journals-tab-count{color:var(--accent)}.store-selector{font-size:.85rem;color:var(--fg-muted);margin-right:1rem}.store-selector select,.store-selector input{background:var(--bg-elev);color:var(--fg);border:1px solid var(--border);padding:.25rem .5rem;border-radius:4px}.muted{color:var(--fg-muted)}.share-link-btn{background:transparent;color:var(--fg-muted);border:1px solid var(--border);padding:.3rem .75rem;border-radius:6px;margin-right:.75rem;font-size:.85rem;transition:color .15s,border-color .15s,background .15s}.share-link-btn:hover{color:var(--fg);border-color:var(--accent)}.sparkline{display:inline-block;vertical-align:middle}.sparkline-empty{background:#94a3b81a;border-radius:3px}.heatmap-wrap{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-x:auto}.heatmap-legend{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-bottom:.5rem}.heatmap-legend-bar{display:inline-block;width:120px;height:8px;border-radius:2px;background:linear-gradient(to right,#38bdf84d,#fbbf24b3,#ef4444e6)}.heatmap-grid{display:grid;gap:1px;font-size:.72rem}.heatmap-col-header{color:var(--fg-muted);text-align:center;font-variant-numeric:tabular-nums;padding:2px 0;white-space:nowrap;overflow:hidden}.heatmap-row-header{color:var(--fg-muted);padding-right:.5rem;text-align:right;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:flex-end}.heatmap-cell{border-radius:2px;cursor:pointer;transition:outline-color .1s;outline:1px solid transparent}.heatmap-cell.hover{outline-color:var(--accent);z-index:1;position:relative}.heatmap-cell.clickable{cursor:pointer}.heatmap-hover-info{margin-top:.5rem;font-size:.85rem;color:var(--fg-muted)}.risk-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.risk-cohort-info{font-size:.9rem}.warning-box{margin-top:.5rem;padding:.5rem .75rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.4);border-radius:6px;color:#fbbf24;font-size:.85rem}.risk-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .6rem;border-radius:999px;font-size:.85rem;font-variant-numeric:tabular-nums}.risk-badge .risk-score{font-weight:700}.risk-badge .risk-level{font-size:.75rem;opacity:.85}.risk-low{background:#22c55e2e;color:#22c55e}.risk-watch{background:#fbbf242e;color:#fbbf24}.risk-high{background:#f9731633;color:#fb923c}.risk-critical{background:#ef444438;color:#ef4444}.risk-row:hover{background:#38bdf80d}.risk-detail{background:var(--bg);color:var(--fg);padding:.75rem 1rem;border-radius:6px;border-left:3px solid var(--accent)}.risk-detail-section+.risk-detail-section{margin-top:1rem}.risk-detail-section ul{margin:.25rem 0 0 1rem;padding:0}.risk-detail-section li{margin:.15rem 0;font-size:.85rem}.risk-factors{width:100%;margin-top:.5rem;font-size:.8rem}.risk-factors th,.risk-factors td{padding:.3rem .5rem;border-bottom:1px solid var(--border)}.risk-factors th{color:var(--fg-muted);font-weight:500;text-align:left}.risk-factors th.num,.risk-factors td.num{text-align:right;font-variant-numeric:tabular-nums}.signal-chip{display:inline-block;margin:0 .2rem .2rem 0;padding:.1rem .5rem;border-radius:999px;background:#38bdf81f;color:var(--accent);font-size:.75rem;white-space:nowrap}.timeline{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem}.timeline-row{display:grid;grid-template-columns:80px 32px 1fr auto;align-items:center;gap:.5rem;padding:.4rem .5rem;border-left:3px solid transparent;border-radius:4px}.timeline-row+.timeline-row{margin-top:2px}.timeline-row.sev-info{border-left-color:#38bdf866}.timeline-row.sev-notice{border-left-color:#fbbf2499}.timeline-row.sev-warning{border-left-color:#f97316b3}.timeline-row.sev-alert{border-left-color:#ef4444cc}.timeline-row:hover{background:#38bdf80d}.timeline-time{font-size:.78rem;color:var(--fg-muted);font-variant-numeric:tabular-nums;text-align:right}.timeline-date{font-weight:600}.timeline-marker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#94a3b826;color:var(--fg-muted);font-size:.85rem;font-weight:700}.timeline-marker.kind-vente{background:#38bdf82e;color:var(--accent)}.timeline-marker.kind-reglement{background:#22c55e2e;color:#22c55e}.timeline-marker.kind-offert{background:#fbbf2433;color:#fbbf24}.timeline-marker.kind-retour{background:#f9731633;color:#fb923c}.timeline-marker.kind-perte{background:#fbbf242e;color:#fbbf24}.timeline-marker.kind-ligneeffacee,.timeline-marker.kind-ticketabandonne{background:#ef44442e;color:#ef4444}.timeline-marker.kind-apport{background:#22c55e26;color:#22c55e}.timeline-marker.kind-prelevement,.timeline-marker.kind-depense{background:#f973162e;color:#fb923c}.timeline-content{min-width:0}.timeline-title{font-size:.9rem}.timeline-detail{font-size:.8rem}.timeline-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sequences-list{display:flex;flex-direction:column;gap:.5rem}.sequence-card{background:var(--bg-elev);border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:.75rem 1rem}.sequence-card.sev-info{border-left-color:#38bdf899}.sequence-card.sev-notice{border-left-color:#fbbf24b3}.sequence-card.sev-warning{border-left-color:#f97316cc}.sequence-card.sev-alert{border-left-color:#ef4444e6}.sequence-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.sequence-pattern{font-weight:600}.sequence-meta{color:var(--fg-muted);font-size:.85rem}.sequence-detail{font-size:.9rem;margin-bottom:.4rem}.sequence-events{display:flex;flex-wrap:wrap;gap:.25rem}.section-title{display:flex;align-items:center;margin:1.5rem 0 .5rem;font-size:1rem}.pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.35;color:#fff;border:1px solid transparent;white-space:nowrap}.pill-nouveau{background:#38bdf8;border-color:#0ea5e9}.pill-averifier{background:#f59e0b;border-color:#d97706}.pill-justifie{background:#22c55e;border-color:#15803d}.pill-suspect{background:#f97316;border-color:#c2410c}.pill-confirme{background:#ef4444;border-color:#b91c1c}.pill-fauxpositif{background:#14b8a6;border-color:#0f766e}.pill-formationnecessaire{background:#a78bfa;border-color:#7c3aed}.pill-clos{background:#64748b;border-color:#334155}.pill-sev-info{background:#38bdf8}.pill-sev-notice{background:#f59e0b}.pill-sev-warning{background:#f97316}.pill-sev-alert{background:#ef4444}.pill-level-info{background:#38bdf8}.pill-level-warning{background:#f59e0b}.pill-level-critical{background:#ef4444}.kpi-strip{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.6rem .75rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.kpi-total{margin-left:auto;font-weight:600;padding:.2rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.85rem}.split-pane{display:grid;grid-template-columns:1.6fr 1fr;gap:1rem;align-items:start}.split-pane .list-pane table tr.selected{outline:2px solid #38bdf8}.split-pane .detail-pane article{background:#ffffff05;padding:.8rem;border-radius:6px}.split-pane .detail-pane dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem .6rem;font-size:.85rem}.split-pane .detail-pane dt{color:var(--fg-muted)}.split-pane .detail-pane textarea{width:100%;min-height:4rem;margin:.5rem 0}.split-pane .detail-pane .actions{display:flex;flex-wrap:wrap;gap:.3rem}.event-list{list-style:none;padding:0;margin:.5rem 0 0}.event-list li{padding:.4rem 0;border-bottom:1px solid rgba(148,163,184,.15);font-size:.85rem}.event-list time{color:var(--fg-muted);margin-right:.4rem}.event-list em{color:var(--fg-muted)}.event-list p{margin:.2rem 0}.row-atypical{background:#fbbf2412}.row-month-total{background:#ffffff0a;font-weight:600}[data-theme=light] .row-month-total{background:#0000000a}.data-grid,.daily-table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-grid.density-compact th,.data-grid.density-compact td{padding:.15rem .5rem;font-size:.78rem;line-height:1.2}.data-grid.frozen-first th:first-child,.data-grid.frozen-first td:first-child{position:sticky;left:0;background:var(--bg, white);z-index:1;box-shadow:1px 0 0 var(--border)}.data-grid.frozen-first thead th:first-child{z-index:2}.data-grid th,.data-grid td,.daily-table th,.daily-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}.data-grid th,.daily-table th{background:var(--bg-elev);color:var(--fg-muted);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;text-align:left}.data-grid th.num,.data-grid td.num,.daily-table th.num,.daily-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-grid tbody tr:nth-child(2n),.daily-table tbody tr:nth-child(2n){background:#94a3b80f}.data-grid tbody tr:hover,.daily-table tbody tr:hover{background:#38bdf81a}.data-grid tbody tr:last-child td,.daily-table tbody tr:last-child td{border-bottom:none}.data-grid tr.selected td{background:#38bdf826!important}.month-block{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;margin-bottom:1rem}.month-block>summary{cursor:pointer;padding:.5rem 0;font-size:1rem;list-style:none}.month-block>summary::-webkit-details-marker{display:none}.month-block>summary:before{content:"▾";display:inline-block;margin-right:.5rem;transition:transform .15s}.month-block:not([open])>summary:before{transform:rotate(-90deg)}.export-buttons{display:inline-flex;gap:.3rem;align-items:center}.export-buttons .label{color:var(--fg-muted);font-size:.85rem}.ticket-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:999;display:flex;justify-content:flex-end}.ticket-drawer{background:var(--bg);width:min(820px,100%);height:100vh;display:flex;flex-direction:column;box-shadow:-4px 0 16px #0000004d;border-left:1px solid var(--border)}.ticket-drawer header{display:flex;align-items:flex-start;gap:8px;padding:1rem;border-bottom:1px solid var(--border);background:var(--bg-elev)}.ticket-drawer-body{padding:1rem;overflow-y:auto;flex:1}.ticket-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:.6rem .8rem}.ticket-card.contrepasse{border-left:3px solid var(--negative)}.product-detail .product-actions{display:flex;gap:8px;padding:.5rem 0;flex-wrap:wrap;align-items:center}.product-header{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.product-header-codes{display:flex;flex-direction:column;gap:.5rem}.product-header-libelle .muted{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.product-header-thumb{width:80px;height:80px;border:1px solid var(--border);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.product-header-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}.product-layout{display:grid;grid-template-columns:240px 1fr;gap:1rem;margin-bottom:1rem}.product-tabs{display:flex;flex-direction:column;gap:4px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem;height:fit-content;position:sticky;top:.5rem}.product-tab{display:flex;align-items:center;gap:8px;text-align:left;padding:.6rem .75rem!important;border:1px solid transparent!important;background:transparent!important;color:var(--fg)!important;border-radius:6px;font-size:.9rem;cursor:pointer;width:100%}.product-tab:hover{background:#38bdf814!important}.product-tab.active{background:#38bdf826!important;border-color:var(--accent)!important;font-weight:600}.product-tab .icon{font-size:1.05rem;width:22px;text-align:center}.product-content{display:flex;flex-direction:column;gap:1rem}.product-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.product-card h3.section-title{margin-top:0;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.product-grid{display:grid;gap:1rem}.product-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.product-grid.three-col{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.product-grid.four-col{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.product-field{display:grid;grid-template-columns:140px 1fr;gap:8px;align-items:baseline;padding:.35rem 0;border-bottom:1px dashed rgba(148,163,184,.15)}.product-field:last-child{border-bottom:none}.product-field .muted{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}@media (max-width: 768px){.product-layout{grid-template-columns:1fr}.product-tabs{flex-direction:row;flex-wrap:wrap;position:static}.product-tab{flex:1 1 auto}.product-header{grid-template-columns:1fr;gap:.75rem}.product-field{grid-template-columns:1fr;gap:2px}}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.doc-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.doc-card h3.section-title{margin-top:0}.doc-totals{display:flex;justify-content:flex-end;margin-top:1rem}.doc-totals-inner{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem 1.5rem;min-width:320px}.doc-totals-inner .row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.95rem}.doc-totals-inner .row.total{border-top:2px solid var(--accent);padding-top:.5rem;margin-top:.5rem;font-size:1.2rem}@media print{.app-header,.app-sidebar,.app-nav,.filter-bar,.page-header button,.sidebar-burger,footer{display:none!important}.app-main{padding:0!important;max-width:100%!important}.doc-card{box-shadow:none!important;border:1px solid #ccc!important}}.totals{padding:.5rem 0}.empty{text-align:center;color:var(--fg-muted);font-style:italic}.icon-text{display:inline-flex;align-items:center;gap:6px}button .icon-text{gap:6px}.sidebar-group-header .icon svg{display:inline-block;vertical-align:middle}@media (max-width: 640px){html,body,.app-shell-v2,.app-main{max-width:100vw;overflow-x:hidden}.app-header{flex-wrap:wrap;row-gap:6px}.app-header .user{min-width:0;flex-wrap:wrap;justify-content:flex-end}.app-header .user>*{min-width:0;max-width:100%}.app-main{padding:.75rem}.app-header{padding:.5rem .75rem .5rem 56px}.app-header h1{font-size:.95rem}.app-header .user{font-size:.8rem}.app-header .user button{padding:.25rem .55rem;font-size:.8rem;margin-left:.4rem}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.kpi-card{padding:.75rem}.kpi-card .value{font-size:1.25rem}.kpi-card .label{font-size:.75rem}.data-grid,.daily-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;font-size:.78rem}.data-grid th,.data-grid td,.daily-table th,.daily-table td{padding:.35rem .5rem}.section{margin-top:1rem}.section h3,.section-title{font-size:.9rem}.page-header{flex-direction:column;align-items:stretch;gap:.5rem}.page-header h2{font-size:1.1rem}}@media (max-width: 380px){.app-header h1{font-size:.85rem}.kpi-grid{grid-template-columns:1fr}.kpi-card .value{font-size:1.4rem}}
