.theme-customization-wrapper{position:relative;display:inline-block}.theme-customization-trigger{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px var(--shadow-color)}.theme-customization-trigger:hover{background:var(--bg-card-alt);box-shadow:0 4px 8px var(--shadow-color-hover);transform:translateY(-1px);color:var(--color-primary)}.theme-customization-trigger:focus{outline:2px solid var(--color-primary);outline-offset:2px}.theme-customization-trigger.active{background:var(--bg-card-alt);box-shadow:0 4px 12px var(--color-primary-shadow-subtle);color:var(--color-primary)}.theme-customization-trigger i{font-size:1.125rem}.theme-customization-trigger-label{font-size:.9375rem;font-weight:500;margin-left:.5rem}.theme-customization-card{position:absolute;top:calc(100% + .75rem);right:0;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 8px 24px var(--shadow-color);z-index:1100;min-width:320px;max-width:420px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:themeCardSlideDown .2s cubic-bezier(.34,1.56,.64,1)}@keyframes themeCardSlideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.theme-customization-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.theme-customization-card-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-customization-card-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.theme-customization-card-close:hover{background:var(--border-color);color:var(--text-primary)}.theme-customization-card-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.theme-customization-card-body{padding:1.25rem;overflow-y:auto;max-height:calc(80vh - 4rem);display:flex;flex-direction:column;gap:1.5rem}.theme-customization-section{display:flex;flex-direction:column;gap:.75rem}.theme-customization-section-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.theme-customization-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem}.theme-customization-color-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg-card-alt);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-primary)}.theme-customization-color-btn:hover{background:var(--bg-row-hover);border-color:var(--text-muted);transform:translateY(-1px)}.theme-customization-color-btn.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.theme-customization-swatch{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--theme-swatch, #0d9488);box-shadow:inset 0 1px 2px #0000001a}.theme-customization-color-label{white-space:nowrap}.theme-customization-modes,.theme-customization-densities{display:flex;flex-wrap:wrap;gap:.5rem}.theme-customization-mode-btn,.theme-customization-density-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-card-alt);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;font-size:.875rem;font-weight:500;color:var(--text-primary)}.theme-customization-mode-btn:hover,.theme-customization-density-btn:hover{background:var(--bg-row-hover);border-color:var(--text-muted);transform:translateY(-1px)}.theme-customization-mode-btn.selected,.theme-customization-density-btn.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.theme-customization-mode-btn i{font-size:1rem;opacity:.9}.theme-customization-font-sizes{display:flex;flex-wrap:wrap;gap:.5rem}.theme-customization-font-btn{padding:.5rem 1rem;background:var(--bg-card-alt);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;font-size:.875rem;font-weight:500;color:var(--text-primary)}.theme-customization-font-btn:hover{background:var(--bg-row-hover);border-color:var(--text-muted);transform:translateY(-1px)}.theme-customization-font-btn.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);font-weight:600}@media(max-width:480px){.theme-customization-colors{grid-template-columns:repeat(2,1fr)}.theme-customization-card{min-width:280px;max-width:calc(100vw - 2rem);right:auto;left:0}}.navbar{position:sticky;top:0;width:100%;background:var(--bg-navbar);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color-subtle);z-index:1000;transition:all .3s ease}.navbar-container{max-width:1600px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:72px;gap:2rem}.navbar-logo{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;transition:opacity .2s ease;flex-shrink:0}.navbar-logo:hover{opacity:.8}.navbar-logo:active{opacity:.6}.navbar-logo-img{height:48px;width:auto;object-fit:contain;display:block}.navbar-menu{display:flex;list-style:none;margin:0;padding:0;gap:.25rem;align-items:center;flex:1;justify-content:center;min-width:0}.navbar-db-right{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:.5rem}.navbar-item{margin:0}.navbar-link{position:relative;background:transparent;border:none;color:var(--text-secondary);padding:.625rem 1rem;font-size:.9375rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;display:block;font-family:inherit;white-space:nowrap}.navbar-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background:var(--color-primary);border-radius:2px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.navbar-link:hover{color:var(--text-primary);background:var(--color-primary-light)}.navbar-link:hover:after{transform:translate(-50%) scaleX(1)}.navbar-link.active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.navbar-link.active:after{transform:translate(-50%) scaleX(1)}.navbar-link.navbar-logout:hover{color:#dc2626;background:#dc26261a}.navbar-link.navbar-logout:hover:after{background:linear-gradient(90deg,#dc2626,#b91c1c);transform:translate(-50%) scaleX(1)}.navbar-db-label{display:flex;align-items:center;gap:.5rem;padding:0 .5rem}.navbar-db-logo{width:1.75rem;height:1.75rem;object-fit:contain;flex-shrink:0}.navbar-db-logo-mobile{width:2rem;height:2rem}.navbar-db-label-text{font-size:.8125rem;font-weight:500;color:#64748b;white-space:nowrap}.navbar-db-dropdown{position:relative}.navbar-db-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:#1a1a1a;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-left:3px solid var(--db-accent, var(--color-primary));border-radius:6px;cursor:pointer;font-family:inherit;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.navbar-db-trigger:hover:not(:disabled){border-color:var(--db-accent, var(--color-primary));background:var(--color-primary-light);box-shadow:0 1px 3px #0000000f}.navbar-db-trigger.open{border-color:var(--db-accent, var(--color-primary));box-shadow:0 0 0 2px color-mix(in srgb,var(--db-accent, var(--color-primary)) 25%,transparent)}.navbar-db-trigger:focus{outline:none}.navbar-db-trigger:disabled{opacity:.7;cursor:not-allowed}.navbar-db-trigger-text{white-space:nowrap}.navbar-db-trigger-chevron{font-size:.6rem;opacity:.7;transition:transform .2s ease}.navbar-db-trigger.open .navbar-db-trigger-chevron{transform:rotate(180deg)}.navbar-db-list{position:absolute;top:calc(100% + .25rem);right:0;min-width:100%;list-style:none;margin:0;padding:.25rem;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:1100}.navbar-db-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#1a1a1a;background:transparent;border:none;border-radius:6px;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s ease;border-left:3px solid transparent}.navbar-db-option:hover{background:var(--color-primary-light)}.navbar-db-option.selected{background:color-mix(in srgb,var(--db-accent, var(--color-primary)) 12%,transparent);border-left-color:var(--db-accent, var(--color-primary))}.navbar-db-option-logo{width:1.25rem;height:1.25rem;object-fit:contain;flex-shrink:0}.navbar-db-option-label{flex:1;white-space:nowrap}.navbar-db-option-company{color:#64748b;font-weight:500}.navbar-db-option-sep{color:#cbd5e1;margin:0 .125rem}.navbar-db-option-db{font-weight:600}.navbar-db-trigger-text .navbar-db-option-company{color:#475569}.navbar-db-trigger-text .navbar-db-option-db{font-weight:600}.navbar-db-select{font-size:.875rem;font-weight:500;color:#1a1a1a;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:.375rem .625rem;cursor:pointer;min-width:7rem;font-family:inherit;transition:border-color .2s ease,background .2s ease}.navbar-db-select:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.navbar-db-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0d948833}.navbar-db-select:disabled{opacity:.7;cursor:not-allowed}.navbar-db-readonly{cursor:default}.navbar-db-hint{font-size:.8125rem;font-weight:500;color:#64748b;white-space:nowrap;padding:.375rem .5rem}.navbar-db-hint-mobile{display:block;padding:.5rem 0}.navbar-db-hint-mobile .navbar-db-option-company{color:#64748b}.navbar-db-hint-mobile .navbar-db-option-db{font-weight:600}.navbar-db-mobile{padding:.75rem 2.5rem;border-top:1px solid rgba(0,0,0,.06)}.navbar-db-mobile .navbar-db-label{flex-direction:column;align-items:flex-start;gap:.375rem}.navbar-db-dropdown-mobile{display:flex;flex-direction:column;gap:.375rem}.navbar-db-dropdown-mobile .navbar-db-label-text{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.navbar-db-trigger-mobile{width:100%;justify-content:flex-start;padding:.5rem .75rem}.navbar-db-list-mobile{position:static;margin-top:.25rem;box-shadow:0 2px 8px #00000014}.navbar-db-select-mobile{width:100%;min-width:0;padding:.5rem .75rem}.navbar-link-mobile.navbar-logout:hover{background:#dc26261a;color:#dc2626}.navbar-link-mobile.navbar-logout:hover:before{background:linear-gradient(180deg,#dc2626,#b91c1c);transform:scaleY(1)}.navbar-toggle{display:none;flex-direction:column;background:transparent;border:none;cursor:pointer;padding:.5rem;gap:5px;width:32px;height:32px;justify-content:center;align-items:center;position:relative}.navbar-toggle span{display:block;width:22px;height:2px;background:#1a1a1a;border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute}.navbar-toggle span:nth-child(1){top:8px}.navbar-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}.navbar-toggle span:nth-child(3){bottom:8px}.navbar-toggle.open span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.navbar-toggle.open span:nth-child(2){opacity:0;transform:translateY(-50%) scale(0)}.navbar-toggle.open span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.navbar-menu-mobile{display:none;flex-direction:column;background:#fff;border-top:1px solid rgba(0,0,0,.06);padding:.5rem 0;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.navbar-menu-mobile.open{max-height:500px}.navbar-link-mobile{background:transparent;border:none;color:#4a5568;padding:1rem 2.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:all .2s ease;font-family:inherit;position:relative}.navbar-link-mobile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);transform:scaleY(0);transition:transform .2s ease}.navbar-link-mobile:hover{background:var(--color-primary-light);color:#1a1a1a}.navbar-link-mobile.active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.navbar-link-mobile.active:before{transform:scaleY(1)}.navbar-theme-mobile-wrapper{padding:.5rem 1.5rem}.navbar-theme-mobile-wrapper .theme-customization-wrapper{width:100%}.navbar-theme-mobile-wrapper .theme-customization-trigger{width:100%;justify-content:flex-start;padding-left:2.5rem}@media(max-width:1200px){.navbar-menu{gap:.125rem}.navbar-link{padding:.625rem .75rem;font-size:.875rem}}@media(max-width:968px){.navbar-container{padding:0 1.5rem;gap:1rem}.navbar-logo-img{height:40px}.navbar-menu,.navbar-theme-desktop{display:none}.navbar-toggle,.navbar-menu-mobile{display:flex}}@media(max-width:640px){.navbar-container{padding:0 1.25rem;height:64px;gap:.75rem}.navbar-logo-img{height:36px}.navbar-link-mobile{padding:.875rem 1.5rem;font-size:.875rem}}@media print{.navbar{display:none!important}}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--text-primary, #333)}.form-field-required{color:var(--error-color, #dc3545);margin-left:.25rem}.form-field-input{padding:.625rem .75rem;border:1px solid var(--border-color, #ddd);border-radius:.375rem;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--bg-primary, #fff);color:var(--text-primary, #333)}.form-field-input:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 3px #007bff1a}.form-field-input:focus-visible{outline:2px solid var(--primary-color, #007bff);outline-offset:2px}.form-field-input:disabled{background-color:var(--bg-disabled, #f5f5f5);cursor:not-allowed;opacity:.6}.form-field-error .form-field-input{border-color:var(--error-color, #dc3545)}.form-field-error-message{font-size:.75rem;color:var(--error-color, #dc3545);margin-top:-.25rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page-gradient);padding:1rem}.login-card{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;padding:2.5rem;width:100%;max-width:420px;animation:slideUp .4s ease-out;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary)}.login-header{text-align:center;margin-bottom:2rem}.login-logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.login-logo{max-width:180px;max-height:120px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));animation:logoFadeIn .6s ease-out}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.login-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{font-size:.9375rem;color:#64748b;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:#475569}.form-group input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:all .2s ease;background:#f8fafc}.form-group input:focus{outline:none;border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px var(--color-primary-focus)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#94a3b8}.login-error{padding:.75rem 1rem;background:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem;text-align:center}.login-button{padding:.875rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px var(--color-primary-shadow-subtle);margin-top:.5rem}.login-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 12px var(--color-primary-shadow)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:480px){.login-card{padding:2rem 1.5rem}.login-header h1{font-size:1.75rem}.login-logo{max-width:140px;max-height:100px}}.board-container{width:100%;height:100%;padding:0;background:transparent;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.board-wrapper{width:100%;max-width:100%;height:100%;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-sizing:border-box;position:relative}.board-wrapper-has-scroll{overflow-x:auto}.board-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;box-sizing:border-box;min-width:100%}.board-table td,.board-table th{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.board-thead{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,var(--bg-card-alt) 0%,var(--border-color) 100%);box-shadow:0 2px 4px var(--shadow-color)}.board-th{padding:var(--table-th-padding-y, .625rem) var(--table-th-padding-x, .875rem);text-align:center;font-size:.59375rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;white-space:normal;word-wrap:break-word;line-height:1.3;background:transparent;border-bottom:2px solid var(--border-color);position:sticky;top:0;-webkit-user-select:none;user-select:none;transition:all .2s ease;min-width:70px}.board-th:first-child{border-top-left-radius:12px}.board-th:last-child{border-top-right-radius:12px}.board-th-sortable{cursor:pointer;position:relative}.board-th-sortable:hover,.board-th-sorted{background:var(--color-primary-light);color:var(--color-primary)}.board-th-sorted:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary)}.board-th-content{display:flex;align-items:center;justify-content:center;gap:.375rem;line-height:1.3}@media(min-width:1024px)and (max-width:1700px){.board-th-content{gap:.25rem}}.board-sort-icon{font-size:.59375rem;opacity:.5;transition:all .2s ease;font-weight:700;flex-shrink:0;margin-left:.25rem}.board-th-sortable:hover .board-sort-icon{opacity:1;transform:scale(1.1)}.board-th-sorted .board-sort-icon{opacity:1;color:var(--color-primary)}.board-th:not(:last-child){border-right:1px solid var(--border-color)}.board-tbody{background:var(--bg-card)}.board-row{border-bottom:1px solid var(--border-color);transition:all .15s ease;background:var(--bg-card)}.board-row:nth-child(2n){background:var(--bg-card-alt)}.board-row:nth-child(odd):hover{background:var(--bg-row-hover);transform:scale(1.001);box-shadow:0 2px 8px var(--shadow-color)}.board-row:nth-child(2n):hover{background:var(--bg-row-even-hover);transform:scale(1.001);box-shadow:0 2px 8px var(--shadow-color)}.board-row:last-child{border-bottom:none}.board-td{padding:var(--table-td-padding-y, .5rem) var(--table-td-padding-x, .75rem);font-size:.75rem;color:var(--text-primary);white-space:nowrap;border-right:1px solid var(--border-color);transition:color .15s ease;font-weight:400;overflow:hidden;text-overflow:ellipsis;text-align:center}.board-td:last-child{border-right:none}.board-th.board-date-column,.board-td.board-date-column{max-width:120px;min-width:100px;width:120px}@media(min-width:1024px)and (max-width:1700px){.board-th.board-date-column,.board-td.board-date-column{min-width:85px;max-width:105px;width:95px}}@media(min-width:768px)and (max-width:1024px){.board-th.board-date-column,.board-td.board-date-column{min-width:90px;max-width:110px;width:100px}}.board-empty-cell{text-align:center;padding:4rem 1.5rem;color:#94a3b8}.board-empty-cell p{margin:0;font-size:1rem;font-weight:500}.board-loading,.board-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;color:#94a3b8;min-height:400px}.board-loading p,.board-empty p{margin-top:1.5rem;font-size:1rem;font-weight:500}.loading-spinner{--spinner-size: clamp(1.5rem, min(10vw, 10vh), 3rem);width:var(--spinner-size);height:var(--spinner-size);flex-shrink:0;aspect-ratio:1;border:clamp(2px,.5rem,4px) solid #e2e8f0;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.board-wrapper::-webkit-scrollbar{width:12px;height:12px}.board-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}.board-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:6px;border:2px solid #f1f5f9}.board-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.board-wrapper::-webkit-scrollbar-corner{background:#f1f5f9}@media(min-width:1024px)and (max-width:1700px){.board-th{padding:.5rem .625rem;font-size:.5625rem;min-width:60px;white-space:nowrap}.board-td{padding:.4375rem .625rem;font-size:.6875rem;white-space:nowrap}.board-wrapper{overflow-x:hidden}.board-table{width:100%;table-layout:auto}}@media(min-width:768px)and (max-width:1024px){.board-th{padding:.5rem .625rem;font-size:.5625rem;min-width:70px;white-space:nowrap}.board-td{padding:.4375rem .625rem;font-size:.6875rem;white-space:nowrap}.board-wrapper{overflow-x:hidden}.board-table{width:100%;table-layout:auto}}@media(max-width:767px){.board-container{padding:0}.board-wrapper{overflow-x:auto}.board-th,.board-td{padding:.75rem .875rem;font-size:.8125rem;min-width:100px}.board-th{font-size:.6875rem;padding:.875rem}}.home{display:flex;flex-direction:column;background:var(--bg-page-gradient)}.home-content{flex:1;width:100%;max-width:100%;margin:0 auto;padding:.25rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.home-header{text-align:center;padding:.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06)}.home-header h1{font-size:clamp(1rem,2.5vw,1.5rem);font-weight:700;color:#1e293b;margin:0 0 .25rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:clamp(.625rem,1.2vw,.8125rem);color:#64748b;margin:0;font-weight:400}.dashboard-layout{display:grid;grid-template-columns:35% 65%;gap:.25rem;width:100%;height:calc(100vh - 81px);min-height:500px}.dashboard-left{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;align-items:stretch}.dashboard-filters{background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:.1875rem .25rem;flex-shrink:0;max-height:500px;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);opacity:1}.dashboard-filters.collapsed{max-height:0;padding:0 .25rem;margin:0;opacity:0;border-bottom:none;overflow:hidden}.filter-row{display:flex;flex-wrap:wrap;gap:.375rem;align-items:flex-end}.dashboard-filters .filter-group,.dashboard-filters .form-field.filter-group{display:flex;flex-direction:column;gap:.0625rem;width:7rem;min-width:7rem;max-width:7rem;flex:0 0 7rem}.dashboard-filters .filter-group label,.dashboard-filters .form-field.filter-group label{font-size:.4375rem;font-weight:500;color:#475569;white-space:nowrap}.dashboard-filters .filter-input,.dashboard-filters .filter-select,.dashboard-filters input.filter-input,.dashboard-filters select.filter-input,.dashboard-filters .form-field-input,.dashboard-filters input.form-field-input,.dashboard-filters select.form-field-input{padding:.125rem .25rem!important;border:1px solid #e2e8f0!important;border-radius:2px!important;font-size:.5rem!important;color:#334155!important;background:#fff!important;transition:all .2s ease!important;width:100%!important;line-height:1.2!important;height:auto!important;min-height:1.25rem!important;box-sizing:border-box!important}.dashboard-filters select,.dashboard-filters select.filter-input,.dashboard-filters select.form-field-input{padding:.125rem 1rem .125rem .25rem!important;font-size:.5rem!important;line-height:1.2!important;min-height:1.25rem!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpath fill='%23334155' d='M3 4.5L0.75 2.25h4.5z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .25rem center!important;background-size:5px!important;cursor:pointer!important;vertical-align:middle!important;border:1px solid #e2e8f0!important;border-radius:2px!important}.dashboard-filters .filter-input:focus,.dashboard-filters .filter-select:focus,.dashboard-filters input.filter-input:focus,.dashboard-filters select.filter-input:focus,.dashboard-filters .form-field-input:focus,.dashboard-filters input.form-field-input:focus,.dashboard-filters select.form-field-input:focus{outline:none!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-focus, rgba(57, 73, 171, .2))!important}.dashboard-filters .filter-input:disabled,.dashboard-filters .filter-select:disabled,.dashboard-filters input.filter-input:disabled,.dashboard-filters select.filter-input:disabled,.dashboard-filters .form-field-input:disabled,.dashboard-filters input.form-field-input:disabled,.dashboard-filters select.form-field-input:disabled{background:#f1f5f9!important;cursor:not-allowed!important;opacity:.6!important}.dashboard-filters .filter-input::placeholder,.dashboard-filters .form-field-input::placeholder,.dashboard-filters input.form-field-input::placeholder{color:#94a3b8!important;font-size:.5rem!important}.dashboard-right{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;align-items:stretch}.dashboard-card{background:#fff;border-radius:6px;box-shadow:0 1px 4px #0000000f;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;overflow:hidden;min-height:120px;transition:all .3s cubic-bezier(.4,0,.2,1);flex:1 1 auto}.dashboard-card-collapsed{min-height:auto;flex:0 0 auto}.dashboard-card-full{flex:1 1 auto;min-height:0}.dashboard-card-full.dashboard-card-collapsed{flex:0 0 auto}.dashboard-card-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:2px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 1px 3px #0000000d;flex-shrink:0;position:relative;overflow:hidden}.dashboard-card-header-left{display:flex;align-items:center;gap:.5rem;flex:1}.dashboard-card-collapse-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);color:#64748b;min-width:1.5rem;min-height:1.5rem;flex-shrink:0}.dashboard-card-collapse-btn:hover{background:var(--color-primary-light);color:var(--color-primary);transform:scale(1.1)}.dashboard-card-collapse-btn:active{transform:scale(.95)}.collapse-icon{font-size:.625rem;transition:opacity .2s ease;display:inline-block;line-height:1;width:1em;text-align:center}.dashboard-card-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);opacity:.9}.dashboard-card-header h2{font-size:.875rem;font-weight:700;color:#1e293b;margin:0;letter-spacing:-.01em;position:relative;z-index:1;text-shadow:0 1px 2px rgba(255,255,255,.8)}.dashboard-card-link{background:var(--color-primary);border:none;color:#fff;font-size:.625rem;font-weight:600;cursor:pointer;padding:.3125rem .625rem;border-radius:.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;z-index:1;box-shadow:0 2px 4px var(--color-primary-shadow-subtle);display:inline-flex;align-items:center;gap:.25rem}.dashboard-card-link:after{content:"";position:absolute;inset:0;border-radius:.25rem;background:linear-gradient(135deg,#ffffff1a,#fff0);opacity:0;transition:opacity .3s ease;pointer-events:none}.dashboard-card-link:hover{background:var(--color-primary-hover);color:#fff;transform:translate(3px) translateY(-1px);box-shadow:0 4px 8px var(--color-primary-shadow);letter-spacing:.02em}.dashboard-card-link:hover:after{opacity:1}.dashboard-card-link:active{transform:translate(1px) translateY(0);box-shadow:0 2px 4px var(--color-primary-shadow-subtle)}.dashboard-table-container{flex:1;overflow:hidden;min-height:0;max-height:1000px;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),flex .3s cubic-bezier(.4,0,.2,1);opacity:1}.dashboard-table-container.collapsed{max-height:0;min-height:0;flex:0;opacity:0;overflow:hidden}.dashboard-table-container .board-wrapper{overflow-y:auto!important;overflow-x:auto!important;height:100%!important;max-height:100%}.dashboard-table-container .board-wrapper::-webkit-scrollbar{width:8px;height:8px}.dashboard-table-container .board-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.dashboard-table-container .board-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:4px;border:1px solid #f1f5f9}.dashboard-table-container .board-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.dashboard-table-container .board-container{height:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.dashboard-table-container .board-loading{min-height:0;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;flex:1}.dashboard-table-container .board-th{padding:.1875rem .25rem!important;font-size:.4375rem!important;line-height:1.1!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dashboard-table-container .board-th-content{gap:.125rem!important;line-height:1.1!important}.dashboard-table-container .board-sort-icon{font-size:.4375rem!important;margin-left:.125rem!important}.dashboard-table-container .board-td{padding:.25rem .375rem!important;font-size:.625rem!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dashboard-table-container .board-table{table-layout:fixed!important;width:100%!important}.dashboard-table-container.dashboard-table-small .board-th,.dashboard-table-small .board-th{padding:.0625rem .125rem!important;font-size:.375rem!important;line-height:1.1!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dashboard-table-container.dashboard-table-small .board-td,.dashboard-table-small .board-td{padding:.1875rem .25rem!important;font-size:.5625rem!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dashboard-table-container.dashboard-table-small .board-table{table-layout:fixed!important;width:100%!important}.dashboard-table-container.dashboard-table-small .board-sort-icon,.dashboard-table-small .board-sort-icon{font-size:.375rem!important;margin-left:.0625rem!important}.dashboard-table-container.dashboard-table-small .board-th-content,.dashboard-table-small .board-th-content{gap:.125rem!important;line-height:1.1!important}.dashboard-table-container.dashboard-table-small .board-table{font-size:.5625rem!important}.dashboard-table-small .board-th:nth-child(1),.dashboard-table-small .board-td:nth-child(1){width:4%!important;max-width:4%!important}.dashboard-table-small .board-th:nth-child(2),.dashboard-table-small .board-td:nth-child(2){width:4%!important;max-width:4%!important}.dashboard-table-small .board-th:nth-child(3),.dashboard-table-small .board-td:nth-child(3){width:9%!important;max-width:9%!important}.dashboard-table-small .board-th:nth-child(4),.dashboard-table-small .board-td:nth-child(4){width:5%!important;max-width:5%!important}.dashboard-table-small .board-th:nth-child(5),.dashboard-table-small .board-td:nth-child(5){width:5%!important;max-width:5%!important}.dashboard-table-small .board-th:nth-child(6),.dashboard-table-small .board-td:nth-child(6){width:4%!important;max-width:4%!important}.dashboard-table-small .board-th:nth-child(7),.dashboard-table-small .board-td:nth-child(7){width:3%!important;max-width:3%!important}.dashboard-table-small .board-th:nth-child(8),.dashboard-table-small .board-td:nth-child(8){width:4%!important;max-width:4%!important}.dashboard-table-small .board-th:nth-child(9),.dashboard-table-small .board-td:nth-child(9){width:4%!important;max-width:4%!important}.dashboard-table-small .board-th:nth-child(10),.dashboard-table-small .board-td:nth-child(10){width:2%!important;max-width:2%!important}.dashboard-table-small .board-th:nth-child(11),.dashboard-table-small .board-td:nth-child(11){width:4%!important;max-width:4%!important}.dashboard-table-small .board-th:nth-child(12),.dashboard-table-small .board-td:nth-child(12){width:2%!important;max-width:2%!important}.dashboard-table-small .board-th:nth-child(13),.dashboard-table-small .board-td:nth-child(13){width:5%!important;max-width:5%!important}.dashboard-table-small .board-th:nth-child(14),.dashboard-table-small .board-td:nth-child(14){width:5%!important;max-width:5%!important}.dashboard-table-small .board-th:nth-child(n+15),.dashboard-table-small .board-td:nth-child(n+15){width:4%!important;max-width:4%!important}.dashboard-table-container .pagination-container{display:none}.dashboard-table-container .arrivages-grouped-cell{display:flex;flex-direction:column;gap:.0625rem;padding:.0625rem 0}.dashboard-table-container .arrivage-item{font-size:.4375rem;line-height:1.15;padding:.015625rem 0}.dashboard-table-container .reliquat-oa{font-size:.375rem;color:#64748b;font-style:italic;margin-top:.015625rem}@media(max-width:1400px){.dashboard-layout{grid-template-columns:minmax(0,35%) minmax(0,65%);height:auto;min-height:min(500px,80vh)}}@media(max-width:768px){.home-content{padding:.5rem;gap:.25rem}.dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.25rem;height:auto;min-height:auto}.dashboard-card{min-height:80px}.dashboard-card-header{padding:.5rem .625rem}.dashboard-card-header h2{font-size:.75rem}.dashboard-card-link{font-size:.5625rem;padding:.25rem .5rem}.dashboard-table-container{max-height:200px}.dashboard-table-small .board-table{font-size:.5rem!important}.dashboard-table-small .board-header-cell{font-size:.5rem!important;padding:.125rem .25rem!important}.dashboard-table-small .board-cell{padding:.0625rem .25rem!important;font-size:.5rem!important}}.filters-container{margin-bottom:.75rem;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);box-shadow:0 2px 6px var(--shadow-color);overflow:visible;transition:box-shadow .3s ease;width:100%;max-width:100%;box-sizing:border-box}.filters-container:hover{box-shadow:0 4px 12px var(--shadow-color-hover)}.filters-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.filters-footer-left{display:flex;align-items:center;gap:.5rem}.filters-footer-actions{display:flex;align-items:center;margin-left:auto}.filters-footer:has(.filters-reset) .filters-footer-actions{padding-left:.75rem;border-left:1px solid var(--border-color)}.filters-footer-actions .refresh-pages-control{margin-bottom:0}.filters-pagination{display:flex;align-items:center;gap:.75rem;margin-left:auto}.filters-pagination-btn{padding:.5rem .875rem;background:linear-gradient(135deg,var(--bg-card-alt) 0%,var(--border-color) 100%);border:2px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--text-primary);transition:all .2s ease;min-width:90px}.filters-pagination-btn:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 6px var(--color-primary-shadow)}.filters-pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--color-disabled-bg);border-color:var(--border-color)}.filters-pagination-page{font-size:.8125rem;color:var(--text-secondary);font-weight:600;padding:.5rem .875rem;background:var(--bg-card-alt);border-radius:6px;border:1px solid var(--border-color);min-width:110px;text-align:center}.filters-content{padding:.5rem .75rem;background:var(--bg-card-alt);animation:slideDown .3s ease-out;overflow:visible}.filters-legend{display:flex;justify-content:flex-end;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filters-grid{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:flex-end}.filter-field{display:flex;flex-direction:column;gap:.25rem;flex:1 1 0;min-width:0}.filter-field label{font-size:.6875rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.filter-input,.filter-select{padding:.3125rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.6875rem;background:var(--bg-input);color:var(--text-primary);transition:all .2s ease;font-family:inherit;width:100%;min-width:0}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.filter-input::placeholder{color:var(--text-muted)}.filter-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23334155' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:8px;padding-right:1.5rem;appearance:none}.filter-select:hover{border-color:var(--text-muted)}.filters-reset{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:.3125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.filters-reset:hover{transform:translateY(-1px);border-color:var(--text-muted);background:var(--bg-card-alt);color:var(--text-primary)}.filters-reset .reset-icon{font-size:.6875rem;display:inline-block;transition:transform .3s ease;flex-shrink:0}.filters-reset:hover .reset-icon{transform:rotate(180deg)}@media(max-width:1200px){.filters-grid{flex-wrap:wrap}}@media(max-width:768px){.filters-grid{flex-direction:column;gap:.5rem}.filter-field{flex:1 1 100%}.filters-header{padding:.5rem .75rem}.filters-content{padding:.5rem .625rem}.filters-footer{flex-direction:column;align-items:stretch}.filters-footer-left{justify-content:flex-start}.filters-footer-actions{margin-left:0;justify-content:flex-start}.filters-footer-actions .refresh-pages-control .refresh-pages-options{flex-wrap:wrap}}.pagination-container{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:15px 0;margin:0;flex-wrap:wrap}.pagination-btn{padding:.5rem .875rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:600;color:#334155;transition:all .2s ease;min-width:90px;display:flex;align-items:center;justify-content:center}.pagination-btn-icon{min-width:40px;padding:.5rem}.pagination-btn-icon i{font-size:.875rem}.pagination-btn:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 6px var(--color-primary-shadow)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.pagination-page-input-group{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#475569;font-weight:600;padding:.5rem .875rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;min-width:140px;justify-content:center}.pagination-page-label{color:#475569}.pagination-page-input{width:50px;padding:.25rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.8125rem;font-weight:600;text-align:center;background:#fff;color:#334155;transition:all .2s ease}.pagination-page-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.pagination-page-input:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.pagination-page-total{color:#64748b}.pagination-total-results{color:#64748b;font-size:.75rem;font-weight:500;margin-left:.25rem}.pagination-page{font-size:.8125rem;color:#475569;font-weight:600;padding:.5rem .875rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;min-width:110px;text-align:center}@media print{.pagination-container{display:none!important}}.color-legend{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a;padding:1.25rem;margin-bottom:1.5rem;transition:box-shadow .3s ease}.color-legend:hover{box-shadow:0 4px 12px #0000000f}.color-legend-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.color-legend-icon{font-size:1.5rem}.color-legend-title{margin:0;font-size:1rem;font-weight:700;color:#1e293b;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.color-legend-content{display:flex;flex-direction:column;gap:1rem}.color-legend-section{display:flex;flex-direction:column;gap:.75rem}.color-legend-section-title{margin:0;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.color-legend-items{display:flex;flex-direction:column;gap:.5rem}.color-legend-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease}.color-legend-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translate(2px)}.color-legend-color{font-size:.875rem;min-width:100px;display:flex;align-items:center;gap:.5rem}.color-legend-description{font-size:.875rem;color:#334155;flex:1}.color-legend-compact{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000a;width:2.5rem;height:2.5rem}.color-legend-compact:hover{background:#f8fafc;box-shadow:0 4px 8px #0000000f;transform:translateY(-1px)}.color-legend-compact:active{transform:translateY(0)}.color-legend-compact:focus{outline-offset:2px}.color-legend-compact-icon{font-size:1.25rem;line-height:1}.color-legend-compact-info{position:absolute;top:-.25rem;right:-.25rem;font-size:.75rem;background:var(--color-primary);color:#fff;border-radius:50%;width:1.125rem;height:1.125rem;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 4px #00000026;transition:all .2s ease;line-height:1;font-weight:600}.color-legend-compact:hover .color-legend-compact-info{background:var(--color-primary-hover);transform:scale(1.1)}.color-legend-compact-wrapper{position:relative;display:inline-block}.color-legend-card{position:absolute;top:calc(100% + .75rem);right:0;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px #0000001f;z-index:1000;min-width:320px;max-width:420px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideDownCard .2s cubic-bezier(.34,1.56,.64,1)}@keyframes slideDownCard{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.color-legend-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.color-legend-card-title{margin:0;font-size:1rem;font-weight:700;color:#1e293b;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.color-legend-card-close{background:none;border:none;font-size:1.5rem;line-height:1;color:#64748b;cursor:pointer;padding:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.color-legend-card-close:hover{background:#f1f5f9;color:#1e293b}.color-legend-card-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.color-legend-card-body{padding:1.25rem;overflow-y:auto;max-height:calc(80vh - 4rem)}.color-legend-compact.active{background:#f8fafc;box-shadow:0 4px 12px var(--color-primary-shadow-subtle)}@media(max-width:768px){.color-legend{padding:1rem}.color-legend-content{gap:.875rem}.color-legend-item{flex-direction:column;align-items:flex-start;gap:.5rem}.color-legend-color{min-width:auto}.color-legend-compact{width:2.25rem;height:2.25rem;padding:.375rem}.color-legend-compact-icon{font-size:1.125rem}.color-legend-compact-info{width:1rem;height:1rem;font-size:.625rem;top:-.125rem;right:-.125rem}.color-legend-card{min-width:280px;max-width:calc(100vw - 2rem);right:auto;left:0}}.refresh-pages-control{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;flex-wrap:wrap}.refresh-pages-fieldset{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;border:none;margin:0;padding:0}.refresh-pages-legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.refresh-pages-options{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.refresh-pages-option{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:6px;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;border:1px solid transparent}.refresh-pages-option:hover:not(.is-selected){background:#0d94880f}.refresh-pages-option.is-selected{background:#0d948814;border-color:#0d948840;box-shadow:0 0 0 1px #0d94881f}.refresh-pages-radio-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.refresh-pages-option-content{display:inline-flex;align-items:center;gap:.25rem}.refresh-pages-option-label{color:#475569;font-weight:500}.refresh-pages-input{width:2.75rem;padding:.25rem .375rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.8125rem;text-align:center;background:#fff;color:#1e293b;transition:border-color .2s ease,box-shadow .2s ease}.refresh-pages-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus)}.refresh-pages-input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}.refresh-pages-option-suffix,.refresh-pages-total{color:#64748b;font-size:.75rem}.refresh-pages-total{font-weight:500}.refresh-pages-divider{color:#94a3b8;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:0 .125rem}.refresh-pages-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2rem;min-width:2.5rem;padding:.375rem .875rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;flex-shrink:0;box-shadow:0 1px 3px var(--color-primary-shadow-subtle)}.refresh-pages-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-primary-shadow)}.refresh-pages-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px var(--color-primary-shadow-subtle)}.refresh-pages-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.refresh-pages-button:disabled{background:var(--color-disabled);color:#ffffffe6;cursor:not-allowed;box-shadow:none}.refresh-pages-button.is-loading{pointer-events:none}.refresh-pages-icon{font-size:.75rem;flex-shrink:0}.refresh-pages-icon.is-spinning{animation:refresh-pages-spin .8s linear infinite}@keyframes refresh-pages-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filters-footer-actions .refresh-pages-control{padding:.25rem .5rem;background:transparent;border:none;gap:.5rem}.filters-footer-actions .refresh-pages-control .refresh-pages-input{width:2.25rem;padding:.1875rem .25rem;font-size:.6875rem}.filters-footer-actions .refresh-pages-control .refresh-pages-option{padding:.1875rem .375rem}.filters-footer-actions .refresh-pages-control .refresh-pages-option-label,.filters-footer-actions .refresh-pages-control .refresh-pages-option-suffix,.filters-footer-actions .refresh-pages-control .refresh-pages-total{font-size:.6875rem}.filters-footer-actions .refresh-pages-control .refresh-pages-divider{font-size:.625rem}.filters-footer-actions .refresh-pages-control .refresh-pages-button{min-height:1.5rem;min-width:auto;padding:.25rem .5rem;font-size:.6875rem}.filters-footer-actions .refresh-pages-control .refresh-pages-icon{font-size:.625rem}.analyse-ventes{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page-gradient)}.analyse-ventes-content{flex:1;width:100%;max-width:1920px;margin:0 auto;padding:1.5rem;height:calc(100vh - 72px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-sizing:border-box}@media(min-width:1670px)and (max-width:1800px){.analyse-ventes-content{padding:.75rem .875rem}}.analyse-ventes-content::-webkit-scrollbar{width:10px}.analyse-ventes-content::-webkit-scrollbar-track{background:transparent}.analyse-ventes-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:5px}.analyse-ventes-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.analyse-ventes .board-th,.analyse-ventes .board-td{text-align:center!important}.analyse-ventes .board-th-content{justify-content:center!important}.analyse-ventes .board-th-content span{text-align:center!important}@media(min-width:1024px)and (max-width:1669px){.analyse-ventes-content{padding:1rem}.analyse-ventes .board-wrapper{overflow-x:hidden}}@media(min-width:1670px)and (max-width:1800px){.analyse-ventes-content{padding:.875rem}.analyse-ventes .board-wrapper{overflow-x:hidden}}@media(min-width:768px)and (max-width:1024px){.analyse-ventes-content{padding:1rem}.analyse-ventes .board-wrapper{overflow-x:hidden}}@media(max-width:767px){.analyse-ventes-content{padding:.875rem}.analyse-ventes .board-wrapper{overflow-x:auto}}@media(max-width:640px){.analyse-ventes-content{padding:.75rem}}.analyse-achats{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page-gradient)}.analyse-achats-content{flex:1;width:100%;max-width:1920px;margin:0 auto;padding:1.5rem;height:calc(100vh - 72px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-sizing:border-box}.error-message{margin:0;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-radius:12px;color:#991b1b;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 8px #dc26261a}.error-message p{margin:0;font-size:.9375rem;font-weight:500;flex:1}.error-message button{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #dc262633}.error-message button:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.analyse-achats-content::-webkit-scrollbar{width:10px}.analyse-achats-content::-webkit-scrollbar-track{background:transparent}.analyse-achats-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:5px}.analyse-achats-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.analyse-achats .board-th,.analyse-achats .board-td{text-align:center!important}.analyse-achats .board-th-content{justify-content:center!important}.analyse-achats .board-th-content span{text-align:center!important}@media(min-width:1024px)and (max-width:1700px){.analyse-achats-content{padding:1rem}.analyse-achats .board-wrapper{overflow-x:hidden}}@media(min-width:768px)and (max-width:1024px){.analyse-achats-content{padding:1rem}.analyse-achats .board-wrapper{overflow-x:hidden}}@media(max-width:767px){.analyse-achats-content{padding:.875rem}.analyse-achats .board-wrapper{overflow-x:auto}}@media(max-width:640px){.analyse-achats-content{padding:.75rem}}.params-search{margin-bottom:.75rem;padding:.5rem .75rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.params-search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.params-search-title{margin:0;font-size:1rem;color:#333;font-weight:600}.params-search-reset{background:transparent;color:#475569;border:1px solid #e2e8f0;padding:.3125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.params-search-reset:hover{transform:translateY(-1px);border-color:#cbd5e1;background:#f8fafc;color:#334155}.params-search-reset-icon{font-size:.6875rem;display:inline-block;transition:transform .3s ease;flex-shrink:0}.params-search-reset:hover .params-search-reset-icon{transform:rotate(180deg)}.params-search-cache{margin-bottom:.5rem}.params-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;align-items:end}.params-search-field{display:flex;flex-direction:column;gap:.25rem}.params-search-field label{font-size:.6875rem;font-weight:600;color:#475569}.params-search-required{color:#e53e3e;font-weight:700}.params-search-input{padding:.3125rem .5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.6875rem;transition:all .2s ease;background:#fff;color:#334155;font-family:inherit;width:100%}.params-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus)}.params-search-input:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.params-search-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23334155' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:8px;padding-right:1.5rem;appearance:none}.params-search-field-error{display:block;color:#e53e3e;font-size:.6875rem;margin-top:2px;font-weight:500}.params-search-actions{display:flex;align-items:flex-end;gap:.5rem;grid-column:1 / -1}.params-search-submit{padding:.3125rem .625rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.params-search-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow)}.params-search-submit:disabled{opacity:.5;cursor:not-allowed}.params-search-actions .params-search-print-btn{padding:.3125rem .625rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.params-search-actions .params-search-print-btn:hover,.params-search-actions .params-search-csv-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow)}.params-search-error{margin-top:.5rem;color:#dc2626;font-size:.6875rem;padding:.375rem .5rem;background:#fef2f2;border-radius:4px;border:1px solid #fecaca}.cache-info{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background-color:#0d948814;border:1px solid rgba(13,148,136,.25);border-radius:4px;margin-bottom:.5rem;font-size:.6875rem}.cache-info-icon{font-size:.75rem;flex-shrink:0}.cache-info-text{flex:1;color:var(--color-primary-hover)}.cache-refresh-button{padding:.25rem .5rem;background:transparent;color:var(--color-primary-hover);border:none;border-radius:4px;cursor:pointer;font-size:.6875rem;font-weight:600;letter-spacing:.025em;box-shadow:0 1px 3px var(--color-primary-focus);transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;display:inline-flex;align-items:center;gap:.25rem;position:relative;overflow:hidden}.cache-refresh-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.cache-refresh-button:hover:not(:disabled){transform:translateY(-1px)}.cache-refresh-button:hover:not(:disabled):before{left:100%}.cache-refresh-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px var(--color-primary-focus),0 1px 2px #0000001a}.cache-refresh-button:disabled{opacity:.7;cursor:not-allowed;background:var(--color-primary-light);box-shadow:0 2px 4px var(--color-primary-focus);transform:none;animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{box-shadow:0 2px 4px var(--color-primary-focus)}50%{box-shadow:0 2px 8px var(--color-primary-shadow-subtle)}}.cache-refresh-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cache-refresh-button .reset-icon{font-size:.875rem;line-height:1;transition:transform .3s ease;display:inline-block;flex-shrink:0}.cache-refresh-button .reset-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cache-refresh-button .button-text{transition:opacity .2s ease}.cache-refresh-button.loading{position:relative;pointer-events:none}.cache-refresh-button.loading:after{content:"";position:absolute;top:50%;left:50%;width:.875rem;height:.875rem;margin:-.4375rem 0 0 -.4375rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;opacity:1}.cache-refresh-button.loading .button-text{opacity:.7}.cache-refresh-button:not(:disabled):hover .reset-icon:not(.spinning){transform:rotate(180deg)}.cache-refresh-button:not(:disabled):active .reset-icon:not(.spinning){transform:rotate(180deg)}.taux-service{min-height:100vh;background:var(--bg-page-gradient);padding:20px}.taux-service-content{max-width:100%;margin:0 auto;background:#fffffff2;border-radius:12px;padding:20px;box-shadow:0 10px 40px #0000001a;overflow-x:hidden}@media(min-width:1024px)and (max-width:1700px){.taux-service{padding:15px}.taux-service-content{padding:20px}}@media(min-width:768px)and (max-width:1024px){.taux-service{padding:15px}.taux-service-content{padding:20px}}@media(max-width:767px){.taux-service{padding:10px}.taux-service-content{padding:15px}}.taux-service-actions{display:flex;justify-content:space-between;align-items:center;margin:20px 0;gap:20px}.print-button{padding:10px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.print-button:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-shadow)}.taux-service-pagination{display:flex;justify-content:center;align-items:center;gap:15px;padding:15px 0;margin:0}.pagination-button{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.pagination-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.pagination-info{font-size:.95rem;color:#555;font-weight:500}.taux-service-print-header,.taux-service-print-footer{display:none}.taux-service-totals,.board-print{display:none!important}.taux-service .board-th,.taux-service .board-td{text-align:center!important}.taux-service .board-table th:nth-child(5),.taux-service .board-table td:nth-child(5){text-align:left!important}.taux-service .board-th-content{justify-content:center!important}.taux-service .board-th-content span{text-align:center!important}@media print{nav,.navbar,header,footer{display:none!important}@page{size:A4 landscape;margin:10mm 10mm 15mm;@bottom-center{content:"Page " counter(page) " sur " counter(pages);font-size:9pt;color:#000;font-family:Arial,sans-serif}}.taux-service{background:#fff!important;padding:0!important;margin:0!important;min-height:auto!important}.taux-service-content{background:#fff!important;box-shadow:none!important;border-radius:0!important;padding:0!important;max-width:100%!important;margin:0!important}.params-search,.taux-service-actions,.taux-service-pagination{display:none!important}.taux-service-print-header{display:block!important;margin-bottom:10mm;page-break-after:avoid;visibility:visible!important}.print-header-top{display:flex!important;justify-content:space-between;align-items:center;margin-bottom:8mm;visibility:visible!important;width:100%!important}.print-header-logo{flex:0 0 auto;visibility:visible!important}.print-header-logo img{max-height:50mm;max-width:100mm;height:auto;width:auto;display:block!important;visibility:visible!important}.print-header-center{flex:1 1 auto;text-align:center;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;visibility:visible!important;padding:0 10mm}.print-header-title{font-size:18pt;font-weight:700;margin:0 0 2mm;text-transform:uppercase;text-align:center;display:block!important;visibility:visible!important;color:#000!important}.print-header-period{font-size:12pt;font-weight:400;margin:0 0 9mm;text-align:center;display:block!important;visibility:visible!important;color:#000!important}.print-header-client{font-size:24pt;font-weight:700;margin:auto 0 0;text-align:center;display:block!important;visibility:visible!important;color:#000!important}.print-header-datetime{flex:0 0 auto;text-align:right;font-size:10pt;line-height:1.5;display:flex!important;flex-direction:column;align-items:flex-end;margin-top:-15mm;visibility:visible!important;color:#000!important}.taux-service-print-footer{position:fixed!important;bottom:5mm!important;left:0!important;right:0!important;text-align:center!important;font-size:9pt!important;color:#000!important;display:block!important;visibility:visible!important;z-index:1000!important;page-break-inside:avoid!important}.print-header-datetime>div{display:block!important;visibility:visible!important;color:#000!important;font-weight:700!important;margin-bottom:18mm!important}.print-header-datetime>div:first-child{margin-bottom:6mm!important}.print-header-datetime>div:last-child{margin-bottom:0!important}.board-container,.board-wrapper{width:100%!important;max-width:100%!important;height:auto!important;overflow:visible!important;border:none!important;box-shadow:none!important;border-radius:0!important;background:#fff!important}.board-table{width:100%!important;border-collapse:collapse!important;font-size:7pt!important;page-break-inside:auto;table-layout:fixed!important}.board-thead{display:table-header-group!important;position:static!important;background:#f0f0f0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.board-th{padding:3pt 4pt!important;font-size:6.5pt!important;font-weight:700!important;border:none!important;background:#f0f0f0!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;text-align:center!important;white-space:normal!important;word-wrap:break-word!important;position:static!important;page-break-inside:avoid!important}.board-th-sorted,.board-th-sortable:hover{background:#f0f0f0!important;color:#000!important}.board-th-sorted:after{display:none!important}.board-tbody{display:table-row-group!important}.board-row{page-break-inside:avoid!important;page-break-after:auto!important;border-bottom:none!important;background:#fff!important}.board-row:hover{background:#fff!important;transform:none!important;box-shadow:none!important}.board-td{padding:3pt 4pt!important;font-size:7pt!important;border:none!important;text-align:center!important;white-space:normal!important;word-wrap:break-word!important;vertical-align:middle!important;background:#fff!important}.taux-service .board-table th:nth-child(5),.taux-service .board-table td:nth-child(5){text-align:left!important}.board-th.board-date-column,.board-td.board-date-column{width:50pt!important;min-width:50pt!important;max-width:50pt!important}.taux-service-totals,.board-screen{display:none!important}.board-print,.board-print[style*="display: none"]{display:block!important}.taux-service-totals{display:block!important;margin-top:0;page-break-before:auto;page-break-inside:avoid}.taux-service-totals .board-table{width:100%!important;border-collapse:collapse!important;margin-top:5mm;table-layout:fixed!important}.taux-service-totals .board-table th:nth-child(1),.taux-service-totals .board-table td:nth-child(1){width:8%!important}.taux-service-totals .board-table th:nth-child(2),.taux-service-totals .board-table td:nth-child(2){width:8%!important}.taux-service-totals .board-table th:nth-child(3),.taux-service-totals .board-table td:nth-child(3){width:6%!important}.taux-service-totals .board-table th:nth-child(4),.taux-service-totals .board-table td:nth-child(4){width:8%!important}.taux-service-totals .board-table th:nth-child(5),.taux-service-totals .board-table td:nth-child(5){width:12%!important}.taux-service-totals .board-table th:nth-child(6),.taux-service-totals .board-table td:nth-child(6){width:4%!important}.taux-service-totals .board-table th:nth-child(7),.taux-service-totals .board-table td:nth-child(7){width:7%!important}.taux-service-totals .board-table th:nth-child(8),.taux-service-totals .board-table td:nth-child(8){width:6%!important}.taux-service-totals .board-table th:nth-child(9),.taux-service-totals .board-table td:nth-child(9){width:6%!important}.taux-service-totals .board-table th:nth-child(10),.taux-service-totals .board-table td:nth-child(10){width:6%!important}.taux-service-totals .board-table th:nth-child(11),.taux-service-totals .board-table td:nth-child(11){width:6%!important}.taux-service-totals .board-table th:nth-child(12),.taux-service-totals .board-table td:nth-child(12){width:6%!important}.taux-service-totals .board-table th:nth-child(13),.taux-service-totals .board-table td:nth-child(13){width:8%!important}.taux-service-totals .board-table th:nth-child(14),.taux-service-totals .board-table td:nth-child(14){width:9%!important}.taux-service-totals .totals-row{background:#f0f0f0!important;color:#000!important;font-weight:700!important;page-break-inside:avoid!important;page-break-before:auto!important}.taux-service-totals .totals-row td{padding:3pt 4pt!important;font-size:7pt!important;border:none!important;text-align:center!important;background:#f0f0f0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;vertical-align:middle!important}.taux-service-totals .totals-row td:empty{padding:3pt 4pt!important}.taux-service-totals .totals-label{text-align:center!important;font-weight:700!important;padding:3pt 4pt!important;vertical-align:middle!important}.taux-service-totals .totals-value{text-align:center!important;font-weight:700!important;vertical-align:middle!important}.taux-service-totals .totals-row td:nth-child(9),.taux-service-totals .totals-row td:nth-child(10),.taux-service-totals .totals-row td:nth-child(12),.taux-service-totals .totals-row td:nth-child(14){text-align:center!important;padding:3pt 4pt!important;vertical-align:middle!important}.taux-service-totals .board-table{table-layout:fixed!important;width:100%!important}.taux-service-totals .totals-header-hidden{visibility:collapse!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.taux-service-totals .totals-header-hidden th{padding:0!important;height:0!important;border:none!important;visibility:collapse!important}.taux-service-totals .totals-row td{box-sizing:border-box!important}.taux-service-totals .taux-service-row{background:#f0f0f0!important;color:#000!important;font-weight:700!important;page-break-inside:avoid!important;page-break-before:auto!important}.taux-service-totals .taux-service-row td{padding:4pt!important;font-size:7pt!important;border:none!important;text-align:center!important;background:#f0f0f0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.taux-service-totals .taux-service-value{text-align:center!important;font-weight:700!important}.taux-service-totals .totals-row{margin-bottom:0!important}.taux-service-totals .taux-service-row{margin-top:16mm!important}button,input,select,.board-th-sortable{cursor:default!important}.board-sort-icon{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.taux-service-print-header{position:relative!important;z-index:9999!important}.taux-service-print-header>*{display:block!important;visibility:visible!important;opacity:1!important}.print-header-top{display:flex!important;visibility:visible!important;opacity:1!important}.print-header-datetime{display:block!important;visibility:visible!important;opacity:1!important}.print-header-datetime>div{display:block!important;visibility:visible!important;color:#000!important;opacity:1!important}.print-header-title,.print-header-period{display:block!important;visibility:visible!important;opacity:1!important}.board-tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}.board-table{page-break-after:auto}.board-thead tr{page-break-after:avoid;page-break-inside:avoid}.board-loading,.board-empty{display:none!important}.taux-service .board-table th:nth-child(1),.taux-service .board-table td:nth-child(1){width:8%!important}.taux-service .board-table th:nth-child(2),.taux-service .board-table td:nth-child(2){width:8%!important}.taux-service .board-table th:nth-child(3),.taux-service .board-table td:nth-child(3){width:6%!important}.taux-service .board-table th:nth-child(4),.taux-service .board-table td:nth-child(4){width:8%!important}.taux-service .board-table th:nth-child(5),.taux-service .board-table td:nth-child(5){width:12%!important}.taux-service .board-table th:nth-child(6),.taux-service .board-table td:nth-child(6){width:4%!important}.taux-service .board-table th:nth-child(7),.taux-service .board-table td:nth-child(7){width:7%!important}.taux-service .board-table th:nth-child(8),.taux-service .board-table td:nth-child(8){width:6%!important}.taux-service .board-table th:nth-child(9),.taux-service .board-table td:nth-child(9){width:6%!important}.taux-service .board-table th:nth-child(10),.taux-service .board-table td:nth-child(10){width:6%!important}.taux-service .board-table th:nth-child(11),.taux-service .board-table td:nth-child(11){width:6%!important}.taux-service .board-table th:nth-child(12),.taux-service .board-table td:nth-child(12){width:6%!important}.taux-service .board-table th:nth-child(13),.taux-service .board-table td:nth-child(13){width:8%!important}.taux-service .board-table th:nth-child(14),.taux-service .board-table td:nth-child(14){width:9%!important}}@media print{.taux-service{background:#fff;padding:0}.taux-service-content{background:#fff;box-shadow:none;padding:10mm;max-width:100%;margin:0}.params-search,.taux-service-pagination{display:none}.taux-service-content table{width:100%;border-collapse:collapse;font-size:8pt;page-break-inside:auto}.taux-service-content thead{display:table-header-group}.taux-service-content tbody{display:table-row-group}.taux-service-content tr{page-break-inside:avoid;page-break-after:auto}.taux-service-content th,.taux-service-content td{padding:4pt;border:1pt solid #000;text-align:left;vertical-align:top}.taux-service-content th{background-color:#f0f0f0!important;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}.taux-service-content .board-date-column{width:60pt;min-width:60pt;max-width:60pt}.taux-service-content{page-break-after:auto}.taux-service-content button,.taux-service-content input,.taux-service-content select{display:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.taux-service-content tbody tr{break-inside:avoid}}.etat-stocks{min-height:100vh;background:var(--bg-page-gradient);padding:20px}.etat-stocks-content{max-width:100%;margin:0 auto;background:var(--bg-card);border-radius:16px;padding:30px;box-shadow:0 8px 32px var(--shadow-color);overflow-x:hidden}@media(min-width:1024px)and (max-width:1700px){.etat-stocks{padding:15px}.etat-stocks-content{padding:20px}}@media(min-width:768px)and (max-width:1024px){.etat-stocks{padding:15px}.etat-stocks-content{padding:20px}}@media(max-width:767px){.etat-stocks{padding:10px}.etat-stocks-content{padding:15px}}.progress-loader{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-loader-content{background:#fff;border-radius:16px;padding:2rem;min-width:400px;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress-loader-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.progress-loader-text{text-align:center;margin-bottom:1.5rem}.progress-loader-message{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.progress-loader-percent{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-loader-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-loader-bar-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s ease;box-shadow:0 2px 4px var(--color-primary-shadow-subtle)}@media(max-width:640px){.progress-loader-content{min-width:300px;padding:1.5rem}.progress-loader-percent{font-size:1.5rem}}.etat-stocks h1{color:#2d3748;margin:0;font-size:2rem;font-weight:700}.etat-stocks .board-th,.etat-stocks .board-td{text-align:center!important}.etat-stocks .board-th-content{justify-content:center!important}.etat-stocks .board-th-content span{text-align:center!important}.reset-params-button{background:transparent;color:#475569;border:1px solid #e2e8f0;padding:.3125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.reset-params-button:hover{transform:translateY(-1px);border-color:#cbd5e1;background:#f8fafc;color:#334155}.reset-params-button .reset-icon{font-size:.6875rem;display:inline-block;transition:transform .3s ease;flex-shrink:0}.reset-params-button:hover .reset-icon{transform:rotate(180deg)}.error-message{background:#fed7d7;color:#c53030;padding:16px;border-radius:8px;margin-bottom:20px}.etat-stocks-pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:15px 0;margin:0}.etat-stocks-pagination:first-of-type{margin-top:0;margin-bottom:20px}.etat-stocks-pagination:last-of-type{margin-top:30px;margin-bottom:0}.pagination-button{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.pagination-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-shadow)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#4a5568;font-weight:500}.print-button-inline{padding:10px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;gap:8px}.print-button-inline:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-shadow)}.print-button-inline i{font-size:1rem}.etat-stocks-print-header{display:none}.board-print{display:none!important}.board-with-totals{display:flex;flex-direction:column}.board-screen{display:block}@media print{nav,.navbar,header,footer{display:none!important}@page{size:A4 landscape;margin:10mm 10mm 15mm;@bottom-center{content:"Page " counter(page) " sur " counter(pages);font-size:9pt;color:#000;font-family:Arial,sans-serif}}.etat-stocks{background:#fff!important;padding:0!important;margin:0!important;min-height:auto!important}.etat-stocks-content{background:#fff!important;box-shadow:none!important;border-radius:0!important;padding:0!important;max-width:100%!important;margin:0!important}.etat-stocks-content>div:first-of-type{display:none!important}.etat-stocks-content h1,.cache-info,.params-search,.reset-params-button,.etat-stocks-pagination,.board-screen{display:none!important}.board-print,.board-print[style*="display: none"]{display:block!important}.etat-stocks-print-header{display:block!important;margin-bottom:10mm;page-break-after:avoid;visibility:visible!important}.print-header-top{display:flex!important;justify-content:space-between;align-items:center;margin-bottom:8mm;visibility:visible!important;width:100%!important}.print-header-logo{flex:0 0 auto;visibility:visible!important}.print-header-logo img{max-height:50mm;max-width:100mm;height:auto;width:auto;display:block!important;visibility:visible!important}.print-header-center{flex:1 1 auto;text-align:center;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;visibility:visible!important;padding:0 10mm}.print-header-title{font-size:18pt;font-weight:700;margin-bottom:4mm;color:#000!important;display:block!important;visibility:visible!important}.print-header-period{font-size:12pt;margin-bottom:2mm;color:#000!important;display:block!important;visibility:visible!important}.print-header-depot{font-size:12pt;color:#000!important;display:block!important;visibility:visible!important}.print-header-datetime{flex:0 0 auto;text-align:right;font-size:10pt;color:#000!important;display:block!important;visibility:visible!important}.print-header-datetime>div{display:block!important;visibility:visible!important;color:#000!important;opacity:1!important;margin-bottom:2mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.board-tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}.board-table{page-break-after:auto}.board-thead tr{page-break-after:avoid;page-break-inside:avoid}.board-loading,.board-empty{display:none!important}.board-table th:nth-child(2),.board-table td:nth-child(2){width:30%!important;min-width:250px!important}}.arrivages{min-height:100vh;background:var(--bg-page-gradient);padding:20px}.arrivages-content{max-width:100%;margin:0 auto;background:#fffffff2;border-radius:16px;padding:30px;box-shadow:0 8px 32px #0000001a;overflow-x:hidden}@media(min-width:1024px)and (max-width:1700px){.arrivages{padding:15px}.arrivages-content{padding:20px}}@media(min-width:768px)and (max-width:1024px){.arrivages{padding:15px}.arrivages-content{padding:20px}}@media(max-width:767px){.arrivages{padding:10px}.arrivages-content{padding:15px}}.arrivages h1{color:#334155;margin-bottom:24px;font-size:2rem;font-weight:700}.arrivages-header{margin:20px 0;padding:15px;background:var(--color-primary);border-radius:8px;text-align:center}.arrivages-header h2{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.error-message{color:#dc2626;font-size:.6875rem;margin-top:.5rem;padding:.375rem .5rem;background:#fef2f2;border-radius:4px;border:1px solid #fecaca}.arrivages-grouped-cell{display:flex;flex-direction:column;gap:6px;padding:4px 0;align-items:center;justify-content:center;min-height:40px}.arrivage-item{text-align:center;line-height:1.4;white-space:nowrap}.reliquat-oa{font-size:.65rem;color:var(--color-primary);font-style:italic;margin-top:2px;font-weight:500}.modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:min(32rem,90vw);max-height:90vh;width:100%;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes slideUp{0%{transform:translateY(2rem);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.modal-title{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#64748b;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}@media(max-width:768px){.modal-content{max-width:min(32rem,95vw);max-height:95vh}.modal-header{padding:1rem}.modal-title{font-size:1.125rem}.modal-body{padding:1rem}}.journal-inventaire{min-height:100vh;background:var(--bg-page-gradient);padding:1.25rem}.journal-inventaire-content{position:relative;min-height:50vh;max-width:100%;margin:0 auto;background:#fffffff2;border-radius:1rem;padding:1.875rem;box-shadow:0 .5rem 2rem #00000014;overflow-x:hidden}.journal-inventaire-header{display:flex;align-items:center;gap:1rem;margin:0 0 1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#3949ab0f,#3949ab05);border-radius:.75rem;border-left:4px solid var(--color-primary, #3949ab);box-shadow:0 1px 3px #0000000a}.journal-inventaire-header-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;background:var(--color-primary, #3949ab);color:#fff;font-size:1.25rem;flex-shrink:0}.journal-inventaire-header-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;min-width:0}.journal-inventaire-header-label{font-size:clamp(.9375rem,2vw,1.0625rem);font-weight:600;color:#64748b;letter-spacing:.01em}.journal-inventaire-header-date{font-size:clamp(1.125rem,2.5vw,1.375rem);font-weight:700;color:#334155;letter-spacing:-.02em}@media print{.journal-inventaire-header{background:#f1f5f9;border-left-color:#334155;box-shadow:none}.journal-inventaire-header-icon{background:#475569}}.journal-inventaire-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.journal-inventaire-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;flex:1;min-width:0}.journal-inventaire-filter-field{display:flex;flex-direction:column;gap:.25rem}.journal-inventaire-filter-field label{font-size:.6875rem;font-weight:600;color:#475569}.journal-inventaire-filter-select,.journal-inventaire-filter-input{padding:.3125rem .5rem;font-size:.8125rem;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#334155;min-width:10rem}.journal-inventaire-filter-select:focus,.journal-inventaire-filter-input:focus{outline:none;border-color:var(--color-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.journal-inventaire-filter-input{min-width:8rem}.journal-inventaire-filter-groupes{position:relative;min-width:10rem}.journal-inventaire-filter-groupes-label{font-size:.6875rem;font-weight:600;color:#475569;display:block;margin-bottom:.25rem}.journal-inventaire-filter-groupes-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.3125rem .5rem;font-size:.8125rem;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#334155;cursor:pointer;text-align:left;transition:border-color .2s ease}.journal-inventaire-filter-groupes-trigger:hover{border-color:#cbd5e1}.journal-inventaire-filter-groupes-trigger:focus{outline:none;border-color:var(--color-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.journal-inventaire-filter-groupes-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-inventaire-filter-groupes-chevron{font-size:.625rem;color:#64748b;flex-shrink:0}.journal-inventaire-filter-groupes-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;min-width:100%;max-height:12rem;overflow-y:auto;padding:.375rem;border:1px solid #e2e8f0;border-radius:4px;background:#fff;box-shadow:0 4px 12px #0000001a;z-index:10;display:flex;flex-direction:column;gap:.25rem}.journal-inventaire-filter-groupe-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-inventaire-filter-checkboxes{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.journal-inventaire-filter-checkbox{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.journal-inventaire-filter-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary, #3949ab);cursor:pointer}.journal-inventaire-filter-empty{margin-top:0}.journal-inventaire-print-header{display:none}.journal-inventaire-toolbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.journal-inventaire-btn-print{background:transparent;color:#475569;border:1px solid #e2e8f0;padding:.3125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem;flex-shrink:0}.journal-inventaire-btn-print:hover:not(:disabled){transform:translateY(-1px);border-color:#cbd5e1;background:#f8fafc;color:#334155}.journal-inventaire-btn-print:disabled{opacity:.7;cursor:not-allowed}.journal-inventaire-print-icon{font-size:.6875rem;flex-shrink:0}.journal-inventaire-btn-refresh{background:transparent;color:#475569;border:1px solid #e2e8f0;padding:.3125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem;flex-shrink:0}.journal-inventaire-btn-refresh:hover:not(:disabled){transform:translateY(-1px);border-color:#cbd5e1;background:#f8fafc;color:#334155}.journal-inventaire-btn-refresh:disabled{opacity:.7;cursor:not-allowed}.journal-inventaire-refresh-icon{font-size:.6875rem;display:inline-block;transition:transform .3s ease;flex-shrink:0}.journal-inventaire-btn-refresh:hover:not(:disabled) .journal-inventaire-refresh-icon:not(.is-spinning){transform:rotate(180deg)}.journal-inventaire-refresh-icon.is-spinning{animation:journal-inventaire-spin .8s linear infinite}.journal-inventaire-message{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-top:1rem;border-radius:.5rem;font-size:.9375rem;font-weight:500;animation:journal-inventaire-message-in .3s ease}@keyframes journal-inventaire-message-in{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.journal-inventaire-message-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.journal-inventaire-message-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.journal-inventaire-message-icon{font-size:1.125rem;flex-shrink:0}.journal-inventaire-message-success .journal-inventaire-message-icon{color:#059669}.journal-inventaire-message-error .journal-inventaire-message-icon{color:#dc2626}.journal-inventaire-message-text{flex:1}.journal-inventaire-message-dismiss{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:.375rem;color:inherit;opacity:.7;cursor:pointer;transition:opacity .2s ease,background .2s ease}.journal-inventaire-message-dismiss:hover{opacity:1;background:#0000000f}.journal-inventaire-message-error .journal-inventaire-message-dismiss:hover{background:#b91c1c1a}.journal-inventaire-error{margin:0;color:#c62828;font-size:.875rem}.journal-inventaire-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem}.journal-inventaire-loading .loading-spinner{width:2.5rem;height:2.5rem;border:3px solid #e0e0e0;border-top-color:#3949ab;border-radius:50%;animation:journal-inventaire-spin .8s linear infinite}@keyframes journal-inventaire-spin{to{transform:rotate(360deg)}}.journal-inventaire-empty-block{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1.5rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.journal-inventaire-empty-block-success{background:#f0fdf4;border-color:#bbf7d0}.journal-inventaire-empty-info,.journal-inventaire-empty-success{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.journal-inventaire-empty-icon{font-size:1.75rem;color:#64748b;margin-bottom:.25rem}.journal-inventaire-empty-icon-success{color:#059669}.journal-inventaire-empty{margin:0;color:#475569;font-size:.9375rem;line-height:1.5}.journal-inventaire-empty-success-text{color:#047857;font-weight:600}.journal-inventaire-btn-create{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:#fff;background:var(--color-primary, #3949ab);border:none;border-radius:.5rem;cursor:pointer;transition:background .2s ease,transform .15s ease}.journal-inventaire-btn-create:hover:not(:disabled){background:var(--color-primary-dark, #303f9f);transform:translateY(-1px)}.journal-inventaire-btn-create:disabled{opacity:.7;cursor:not-allowed}.journal-inventaire-create-icon.is-spinning{animation:journal-inventaire-spin .8s linear infinite}.journal-inventaire-table-wrapper{overflow-x:auto;margin-top:1.5rem;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000f}.journal-inventaire-table{width:100%;border-collapse:collapse;font-size:clamp(.8125rem,1.5vw,.875rem)}.journal-inventaire-th,.journal-inventaire-td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid #eee}.journal-inventaire-th{background:var(--color-primary, #3949ab);color:#fff;font-weight:600;position:sticky;top:0;z-index:1}.journal-inventaire-th-toggle{width:3.25rem;min-width:3.25rem;text-align:center}.journal-inventaire-th-collapse-actions{vertical-align:middle}.journal-inventaire-collapse-actions{display:inline-flex;align-items:center;justify-content:center;gap:.25rem}.journal-inventaire-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:#fff3;color:#fff;border-radius:4px;cursor:pointer;transition:background .2s ease,color .2s ease}.journal-inventaire-collapse-btn:hover{background:#ffffff59;color:#fff}.journal-inventaire-collapse-btn .fa-solid{font-size:.6875rem}.journal-inventaire-collapse-btn:disabled{cursor:not-allowed;opacity:.9}.journal-inventaire-collapse-spinner{display:inline-block;width:.875rem;height:.875rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:journal-inventaire-spin .7s linear infinite}.journal-inventaire-table thead th:nth-child(2){padding-left:1rem}.journal-inventaire-th-num,.journal-inventaire-td-num{text-align:center;font-variant-numeric:tabular-nums}.journal-inventaire-td-editable{padding:.25rem .5rem}.journal-inventaire-input-qte{width:4.5rem;padding:.25rem .375rem;font-size:inherit;font-variant-numeric:tabular-nums;text-align:center;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.journal-inventaire-input-qte:hover{border-color:#cbd5e1}.journal-inventaire-input-qte:focus{outline:none;border-color:var(--color-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.journal-inventaire-input-qte::-webkit-outer-spin-button,.journal-inventaire-input-qte::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.journal-inventaire-input-qte[type=number]{-moz-appearance:textfield;appearance:textfield}.journal-inventaire-table thead .journal-inventaire-th{text-align:center}.journal-inventaire-table thead .journal-inventaire-th:nth-child(4){text-align:left}.journal-inventaire-row-data .journal-inventaire-td{text-align:center}.journal-inventaire-row-data .journal-inventaire-td:nth-child(4){text-align:left}.journal-inventaire-row-group{background:#f8fafc;cursor:pointer;transition:background .2s ease}.journal-inventaire-row-group:hover,.journal-inventaire-row-group:focus{background:#f1f5f9;outline:none}.journal-inventaire-row-subgroup{background:#f8fafc;cursor:pointer;transition:background .2s ease}.journal-inventaire-row-subgroup:hover,.journal-inventaire-row-subgroup:focus{background:#f1f5f9;outline:none}.journal-inventaire-row-data .journal-inventaire-td{background:#fff;color:#000}.journal-inventaire-row-data:nth-child(2n) .journal-inventaire-td{background:#fafafa}.journal-inventaire-td-toggle{width:3.25rem;min-width:3.25rem;text-align:center;vertical-align:middle}.journal-inventaire-cell-actions{display:inline-flex;align-items:center;justify-content:center;gap:.375rem}.journal-inventaire-print-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:4px;transition:color .2s ease,background .2s ease}.journal-inventaire-print-toggle:hover{color:var(--color-primary, #3949ab);background:#3949ab14}.journal-inventaire-print-toggle .fa-eye,.journal-inventaire-print-toggle .fa-eye-slash{font-size:.75rem}.journal-inventaire-print-excluded,.journal-inventaire-print-excluded .journal-inventaire-td{background:#fef2f2!important;color:#991b1b!important;opacity:.85}.journal-inventaire-print-excluded .journal-inventaire-td-group strong,.journal-inventaire-print-excluded .journal-inventaire-subgroup-label{text-decoration:line-through}.collapse-icon{font-size:.625rem;color:#64748b;transition:color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);display:inline-block;line-height:1;width:1em;text-align:center}.journal-inventaire-row-group:hover .collapse-icon,.journal-inventaire-row-group:focus .collapse-icon,.journal-inventaire-row-subgroup:hover .collapse-icon,.journal-inventaire-row-subgroup:focus .collapse-icon{color:var(--color-primary, #3949ab)}.collapse-icon-sub{margin-left:.5rem}.journal-inventaire-td-group{padding-left:1rem;font-weight:600;color:var(--color-primary-text, #1e293b)}.journal-inventaire-td-subgroup{padding-left:2rem}.journal-inventaire-row-data .journal-inventaire-td:nth-child(2){padding-left:1rem}.journal-inventaire-subgroup-label{color:#37474f}.journal-inventaire-btn-validate{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.3125rem .75rem;font-size:.6875rem;font-weight:600;color:#fff;background:#c62828;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;transition:background .2s ease,transform .2s ease}.journal-inventaire-btn-validate:hover{background:#b71c1c;transform:translateY(-1px)}.journal-inventaire-validate-icon{font-size:.6875rem;flex-shrink:0}.journal-inventaire-modal-old-warning{max-width:24rem}.journal-inventaire-modal-old-warning .modal-title{color:#b45309}.journal-inventaire-modal-old-warning-message{margin:0 0 .875rem;font-size:.875rem;color:#475569;line-height:1.5}.journal-inventaire-modal-validate{max-width:20rem}.journal-inventaire-modal-validate .modal-header,.journal-inventaire-modal-validate .modal-body{padding:.75rem 1rem}.journal-inventaire-modal-validate .modal-title{font-size:1rem}.journal-inventaire-modal-validate-message{margin:0 0 .875rem;font-size:.8125rem;color:#475569;line-height:1.45}.journal-inventaire-validation-progress{margin:0 0 .875rem;padding:.75rem;border-radius:.75rem;border:1px solid #dbeafe;background:linear-gradient(135deg,#3b82f614,#3b82f608)}.journal-inventaire-validation-progress-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.375rem}.journal-inventaire-validation-progress-title{font-size:.8125rem;font-weight:700;color:#1e3a8a}.journal-inventaire-validation-progress-time{font-size:.75rem;font-weight:700;color:#1d4ed8;font-variant-numeric:tabular-nums}.journal-inventaire-validation-progress-help{margin:0 0 .625rem;font-size:.75rem;color:#475569;line-height:1.4}.journal-inventaire-validation-progress-bar{width:100%;height:.45rem;border-radius:999px;background:#94a3b84d;overflow:hidden;margin:0 0 .625rem}.journal-inventaire-validation-progress-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e);transition:width .35s cubic-bezier(.4,0,.2,1)}.journal-inventaire-validation-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.journal-inventaire-validation-step{display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1.3}.journal-inventaire-validation-step-icon{width:1rem;text-align:center;font-weight:700}.journal-inventaire-validation-step-done .journal-inventaire-validation-step-icon,.journal-inventaire-validation-step-done .journal-inventaire-validation-step-label{color:#15803d}.journal-inventaire-validation-step-active .journal-inventaire-validation-step-icon,.journal-inventaire-validation-step-active .journal-inventaire-validation-step-label{color:#1d4ed8}.journal-inventaire-validation-step-pending .journal-inventaire-validation-step-icon,.journal-inventaire-validation-step-pending .journal-inventaire-validation-step-label{color:#64748b}.journal-inventaire-modal-validate-actions{display:flex;justify-content:flex-end;gap:.5rem}.journal-inventaire-modal-btn{padding:.375rem 1rem;font-size:.8125rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s cubic-bezier(.4,0,.2,1)}.journal-inventaire-modal-btn-no{background:#fff;color:#475569;border:1px solid #e2e8f0}.journal-inventaire-modal-btn-no:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.journal-inventaire-modal-btn-yes{background:#c62828;color:#fff;border:none}.journal-inventaire-modal-btn-yes:hover{background:#b71c1c;transform:translateY(-1px)}.journal-inventaire-modal-create{max-width:28rem}.journal-inventaire-modal-create .modal-body{padding:1rem 1.25rem}.journal-inventaire-modal-create-intro{margin:0 0 1.25rem;font-size:.8125rem;color:#64748b;line-height:1.5}.journal-inventaire-modal-create-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.journal-inventaire-modal-create-field{display:flex;flex-direction:column;gap:.375rem}.journal-inventaire-modal-create-field label{font-size:.8125rem;font-weight:500;color:#334155}.journal-inventaire-modal-create-input{padding:.5rem .75rem;font-size:.875rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.journal-inventaire-modal-create-input::placeholder{color:#94a3b8}.journal-inventaire-modal-create-input:hover{border-color:#cbd5e1}.journal-inventaire-modal-create-input:focus{outline:none;border-color:var(--color-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.journal-inventaire-modal-create-select{padding:.5rem 2rem .5rem .75rem;font-size:.875rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.journal-inventaire-modal-create-select:hover:not(:disabled){border-color:#cbd5e1}.journal-inventaire-modal-create-select:focus{outline:none;border-color:var(--color-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.journal-inventaire-modal-create-select:disabled{opacity:.7;cursor:not-allowed}.journal-inventaire-modal-create-field-label{font-size:.8125rem;font-weight:500;color:#334155;display:block;margin-bottom:.375rem}.journal-inventaire-modal-create-groupes{max-height:10rem;overflow-y:auto;padding:.5rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff}.journal-inventaire-modal-create-groupes-loading{font-size:.8125rem;color:#64748b}.journal-inventaire-modal-create-groupes-list{display:flex;flex-direction:column;gap:.375rem}.journal-inventaire-modal-create-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.journal-inventaire-modal-create-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary, #3949ab);cursor:pointer;flex-shrink:0}.journal-inventaire-modal-create-checkbox:hover{color:#1e293b}.journal-inventaire-modal-create-actions{display:flex;justify-content:flex-end;gap:.5rem}.journal-inventaire-modal-create .journal-inventaire-modal-btn-yes{background:var(--color-primary, #3949ab)}.journal-inventaire-modal-create .journal-inventaire-modal-btn-yes:hover{background:var(--color-primary-dark, #303f9f)}@media(max-width:767px){.journal-inventaire{padding:.625rem}.journal-inventaire-content{padding:1rem}.journal-inventaire-th,.journal-inventaire-td{padding:.5rem .375rem}}@media print{nav,.navbar,header,footer{display:none!important}@page{size:A4 landscape;margin:12mm}.journal-inventaire-toolbar,.journal-inventaire-print-toggle,.journal-inventaire-collapse-actions,.journal-inventaire-loading,.journal-inventaire-empty{display:none!important}.journal-inventaire{min-height:auto;padding:0;background:#fff!important}.journal-inventaire-content{min-height:auto;padding:0;box-shadow:none;background:#fff!important}.journal-inventaire-print-header,.journal-inventaire-table-wrapper,.journal-inventaire-th,.journal-inventaire-td{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.journal-inventaire-print-header{display:block!important;margin-bottom:10mm;padding:6mm 8mm;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)!important;border:none;border-radius:10px;page-break-after:avoid;visibility:visible!important}.journal-inventaire-print-header .print-header-top{display:flex!important;justify-content:flex-start;align-items:center;width:100%;gap:10mm;margin-bottom:0;visibility:visible!important}.journal-inventaire-print-header .print-header-logo{flex:0 0 auto;visibility:visible!important}.journal-inventaire-print-header .print-header-logo img{max-height:28mm;max-width:55mm;height:auto;width:auto;display:block!important;visibility:visible!important}.journal-inventaire-print-header .print-header-center{flex:1 1 auto;text-align:center;display:flex!important;align-items:center;justify-content:center;padding:0 8mm;visibility:visible!important}.journal-inventaire-print-header .print-header-title{font-size:18pt;font-weight:700;margin:0;color:var(--color-primary-text, #1e293b)!important;display:block!important;visibility:visible!important;letter-spacing:.02em}.journal-inventaire-table-wrapper{box-shadow:none;border:none;border-radius:8px;overflow:hidden;background:#fff!important}.journal-inventaire-table{width:100%;border-collapse:separate;border-spacing:0;font-size:9pt}.journal-inventaire-table thead{display:table-header-group}.journal-inventaire-table thead tr{break-inside:avoid;page-break-after:avoid}.journal-inventaire-th{background:var(--color-primary, #3949ab)!important;color:#fff!important;font-weight:700;font-size:9pt;border:none;padding:3mm 3.5mm;letter-spacing:.02em}.journal-inventaire-table thead th:first-child{border-radius:8px 0 0}.journal-inventaire-table thead th:last-child{border-radius:0 8px 0 0}.journal-inventaire-td{border:none;padding:2.5mm 3.5mm;color:var(--color-primary-text, #1e293b)!important}.journal-inventaire-row-group .journal-inventaire-td{background:#f8fafc!important;color:var(--color-primary-text, #1e293b)!important;font-weight:600}.journal-inventaire-row-subgroup .journal-inventaire-td{background:#f8fafc!important;color:#37474f!important;font-weight:500}.journal-inventaire-row-data .journal-inventaire-td{background:#fff!important}.journal-inventaire-row-data:nth-child(2n) .journal-inventaire-td{background:#fafafa!important}.journal-inventaire-table tbody tr{break-inside:avoid;page-break-inside:avoid}.journal-inventaire-print-excluded{display:none!important}.journal-inventaire-input-qte{border:none;background:transparent;-webkit-appearance:none;appearance:none;pointer-events:none}}.app{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;zoom:var(--font-size-scale, 1)}:root{--font-size-scale: 1;--table-th-padding-y: .625rem;--table-th-padding-x: .875rem;--table-td-padding-y: .5rem;--table-td-padding-x: .75rem;--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-active: #0d5c54;--color-primary-shadow: rgba(13, 148, 136, .35);--color-primary-shadow-subtle: rgba(13, 148, 136, .25);--color-primary-light: rgba(13, 148, 136, .08);--color-primary-border: rgba(13, 148, 136, .25);--color-primary-focus: rgba(13, 148, 136, .2);--color-disabled: #94a3b8;--color-disabled-bg: #f1f5f9;--bg-page: #f5f7fa;--bg-page-gradient: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--bg-card: #ffffff;--bg-card-alt: #fafbfc;--bg-input: #ffffff;--bg-navbar: rgba(255, 255, 255, .95);--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-color-subtle: rgba(0, 0, 0, .06);--shadow-color: rgba(0, 0, 0, .04);--shadow-color-hover: rgba(0, 0, 0, .06);--bg-row-hover: #f0f4f8;--bg-row-even-hover: #e8ecf1;color-scheme:light}[data-theme=dark]{color-scheme:dark;--bg-page: #0f172a;--bg-page-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--bg-card: #1e293b;--bg-card-alt: #334155;--bg-input: #334155;--bg-navbar: rgba(15, 23, 42, .95);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #475569;--border-color-subtle: rgba(255, 255, 255, .06);--shadow-color: rgba(0, 0, 0, .3);--shadow-color-hover: rgba(0, 0, 0, .4);--color-disabled: #64748b;--color-disabled-bg: #334155;--bg-row-hover: #334155;--bg-row-even-hover: #475569}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2rem;padding:.375rem .875rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 1px 3px var(--color-primary-shadow-subtle)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-primary-shadow)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px var(--color-primary-shadow-subtle)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary:disabled{background:var(--color-disabled);color:#ffffffe6;cursor:not-allowed;box-shadow:none}.btn-primary.btn-sm{min-height:1.5rem;padding:.25rem .5rem;font-size:.6875rem}.btn-secondary{padding:.5rem .875rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e2e8f0;border-radius:6px;font-size:.8125rem;font-weight:600;color:#334155;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 6px var(--color-primary-shadow)}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary:disabled{opacity:.4;cursor:not-allowed;background:var(--color-disabled-bg);border-color:#e2e8f0}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary, #1e293b);background-color:var(--bg-page, #f5f7fa);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-page);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}
