:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.auth-layout{display:flex;min-height:100vh;min-height:100dvh;background:var(--background-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.auth-sidebar{display:none;width:50%;max-width:720px;padding:var(--space-10);background:linear-gradient(135deg,#1a2332,#2d3a4d,#1a2332);position:relative;overflow:hidden;flex-direction:column}.auth-sidebar-pattern{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.auth-sidebar-pattern:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at center,rgba(90,158,158,.3) 1.5px,transparent 1.5px),radial-gradient(circle at center,rgba(90,122,158,.2) 1px,transparent 1px);background-size:50px 50px,80px 80px;background-position:0 0,25px 25px;opacity:.5}.auth-sidebar-pattern:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 80px,rgba(90,158,158,.08) 80px,rgba(90,158,158,.08) 81px),repeating-linear-gradient(-45deg,transparent,transparent 80px,rgba(90,122,158,.05) 80px,rgba(90,122,158,.05) 81px);opacity:.6}.auth-sidebar-header{position:relative;z-index:1;margin-bottom:var(--space-8);display:flex;justify-content:center}.auth-sidebar-logo{height:128px;width:auto}.auth-sidebar-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;overflow:visible}.auth-sidebar-title{font-size:2.25rem;font-weight:700;line-height:1.2;color:#fff;margin-bottom:var(--space-4)}.auth-sidebar-title span{background:linear-gradient(135deg,var(--color-maitrise) 0%,#7ec8c8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-sidebar-description{font-size:1.125rem;color:#ffffffb3;line-height:1.6;margin-bottom:var(--space-8);max-width:480px}.auth-sidebar-features{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.auth-sidebar-feature{display:flex;gap:var(--space-4);padding:var(--space-4);background:#ffffff0d;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-normal)}.auth-sidebar-feature:hover{background:#ffffff14;transform:translate(4px)}.auth-sidebar-feature-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-maitrise) 0%,var(--color-piloter) 100%);color:#fff}.auth-sidebar-feature-content h4{font-size:.9375rem;font-weight:600;color:#fff;margin-bottom:2px}.auth-sidebar-feature-content p{font-size:.8125rem;color:#fff9;line-height:1.4}.auth-sidebar-apps{display:flex;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.1)}.auth-sidebar-app{width:44px;height:44px;border-radius:var(--radius-lg);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);cursor:default;padding:6px}.auth-sidebar-app:hover{background:#ffffff1f;transform:translateY(-2px)}.auth-sidebar-app img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.auth-sidebar-footer{position:relative;z-index:1;font-size:.8125rem;color:#ffffff80;padding-top:var(--space-6)}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#10141a}.auth-main .auth-card-title{color:#fff}.auth-main .auth-card-subtitle{color:#ffffffb3}.auth-main .form-group label{color:#fffc}.auth-main .form-input{background:#ffffff14;border-color:#ffffff26;color:#fff}.auth-main .form-input::-moz-placeholder{color:#fff6}.auth-main .form-input::placeholder{color:#fff6}.auth-main .form-input:focus{border-color:var(--color-maitrise);box-shadow:0 0 0 3px #5a9e9e40}.auth-main .auth-divider{color:#ffffff80}.auth-main .auth-divider:before,.auth-main .auth-divider:after{background:#ffffff26}.auth-main .auth-links{border-top-color:#ffffff1a}.auth-main .auth-signup-link span{color:#fff9}.auth-main .auth-footer,.auth-main .input-action{color:#ffffff80}.auth-main .input-action:hover{color:#fff}.auth-card{width:100%;max-width:440px}.auth-card-header{text-align:center;margin-bottom:var(--space-8)}.auth-card-logo{margin-bottom:var(--space-4)}.auth-card-logo img{height:48px;width:auto}.auth-card-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.auth-card-subtitle{font-size:.9375rem;color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.auth-form .form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:0}.auth-form .form-group label{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--text-secondary)}.auth-form .form-group label svg{width:16px;height:16px;opacity:.7}.auth-form .form-input{width:100%;padding:var(--space-3) var(--space-4);font-size:.9375rem;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--background-secondary);color:var(--text-primary);transition:all var(--transition-fast)}.auth-form .form-input::-moz-placeholder{color:var(--text-muted)}.auth-form .form-input::placeholder{color:var(--text-muted)}.auth-form .form-input:focus{outline:none;border-color:var(--color-maitrise);box-shadow:0 0 0 3px #5a9e9e26}.auth-form .password-field{position:relative}.auth-form .password-field .form-input{padding-right:48px}.auth-form .input-action{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.auth-form .input-action:hover{color:var(--text-primary)}.auth-form-footer{display:flex;justify-content:flex-end;margin-top:calc(-1 * var(--space-2))}.auth-forgot{background:none;border:none;font-size:.875rem;color:var(--color-maitrise);cursor:pointer;transition:opacity var(--transition-fast)}.auth-forgot:hover{opacity:.8;text-decoration:underline}.auth-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-maitrise) 0%,var(--color-piloter) 100%);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 2px 8px #5a9e9e4d}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #5a9e9e66}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit .animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-sso-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:.9375rem;font-weight:600;color:var(--color-piloter);background:var(--background-secondary);border:2px solid var(--color-piloter);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal)}.auth-sso-btn:hover:not(:disabled){background:var(--color-piloter);color:#fff}.auth-sso-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:.8125rem;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-primary)}.auth-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-reagir-light, rgba(181, 90, 90, .1));border:1px solid var(--color-reagir);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.auth-error svg{flex-shrink:0;color:var(--color-reagir)}.auth-error span{font-size:.875rem;color:var(--color-reagir)}.auth-success{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-ameliorer-light, rgba(90, 143, 90, .1));border:1px solid var(--color-ameliorer);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.auth-success svg{flex-shrink:0;color:var(--color-ameliorer)}.auth-success span{font-size:.875rem;color:var(--color-ameliorer)}.auth-invite-info{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-piloter-light, rgba(90, 122, 158, .1));border:1px solid var(--color-piloter);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.auth-invite-info svg{flex-shrink:0;color:var(--color-piloter)}.auth-trial-badge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:linear-gradient(135deg,#5a9e9e1a,#5a8f5a1a);border:1px solid var(--color-maitrise);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.auth-trial-badge svg{color:var(--color-maitrise)}.auth-trial-badge-content h4{font-size:.875rem;font-weight:600;color:var(--color-maitrise)}.auth-trial-badge-content p{font-size:.75rem;color:var(--text-secondary)}.auth-links{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-primary)}.auth-back-link{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;font-size:.875rem;color:var(--color-maitrise);cursor:pointer;transition:opacity var(--transition-fast)}.auth-back-link:hover{opacity:.8}.auth-signup-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.auth-signup-link span{font-size:.875rem;color:var(--text-muted)}.auth-signup-link button{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;font-size:.875rem;font-weight:600;color:var(--color-ameliorer);cursor:pointer;transition:opacity var(--transition-fast)}.auth-signup-link button:hover{opacity:.8}.auth-footer{text-align:center;margin-top:var(--space-8);font-size:.8125rem;color:var(--text-muted)}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center}.auth-loading svg{color:var(--color-maitrise);margin-bottom:var(--space-4)}.auth-loading p{font-size:.9375rem;color:var(--text-muted)}@media(min-width:1024px){.auth-sidebar{display:flex}}@media(min-width:1280px){.auth-sidebar{padding:var(--space-12)}.auth-sidebar-title{font-size:2.5rem}}.auth-lang-switch{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.auth-lang-btn{padding:var(--space-1) var(--space-2);font-size:.8125rem;font-weight:500;color:#fff9;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.auth-lang-btn:hover{color:#ffffffe6;background:#ffffff1a}.auth-lang-btn.active{color:var(--color-maitrise);background:#5a9e9e33}.auth-lang-divider{color:#ffffff4d;font-size:.8125rem}.sidebar{width:220px;height:100vh;background:var(--background-navbar);display:flex;flex-direction:column;position:fixed;left:0;top:0;box-shadow:2px 0 12px var(--shadow-color-heavy);z-index:1000;border-right:1px solid var(--border-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sidebar-header{padding:16px 12px;border-bottom:1px solid var(--border-secondary);background:var(--background-secondary);display:flex;justify-content:space-between;align-items:center;gap:10px}.sidebar-logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:1.8rem;color:var(--brand-primary);filter:drop-shadow(0 2px 4px var(--shadow-color-heavy))}.logo-text h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-main);line-height:1.2}.logo-text p{margin:0;font-size:.7rem;color:var(--text-muted);font-weight:400}.sidebar-user{padding:12px;border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;gap:10px;background:var(--background-secondary)}.user-avatar-large{width:40px;height:40px;border-radius:50%;background:var(--brand-primary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;box-shadow:0 2px 8px var(--shadow-color-heavy);border:2px solid var(--border-primary)}.sidebar-user .user-info{flex:1}.sidebar-user .user-name{font-size:.85rem;font-weight:600;color:var(--text-main);margin-bottom:3px}.sidebar-user .user-role{font-size:.65rem;padding:2px 8px;border-radius:10px;display:inline-block;font-weight:600;letter-spacing:.2px;text-transform:uppercase}.sidebar-user .user-role.role-admin{background:rgba(var(--brand-rgb),.2);color:var(--brand-primary);border:1px solid var(--brand-primary)}.sidebar-user .user-role.role-operator{background:#64748b33;color:var(--text-muted);border:1px solid var(--border-secondary)}.sidebar-nav{flex:1;padding:8px 6px;overflow-y:auto}.nav-section-title{padding:10px 8px 4px;font-size:.65rem;font-weight:700;color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase}.nav-separator{height:1px;background:var(--border-secondary);margin:8px 0}.nav-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;margin-bottom:2px;text-align:left;border-left:2px solid transparent}.nav-item:hover{background:var(--background-tertiary);border-left-color:var(--brand-primary);transform:translate(2px)}.nav-item.active{background:rgba(var(--brand-rgb),.12);border-left-color:var(--brand-primary);box-shadow:0 0 12px rgba(var(--brand-rgb),.15)}.nav-icon{font-size:1.1rem;min-width:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .2s ease}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:var(--brand-primary)}.nav-label{font-size:.8rem;font-weight:500;color:var(--text-main);transition:all .2s ease}.nav-item.active .nav-label{color:var(--brand-primary);font-weight:600}.sidebar-footer{padding:8px 6px;border-top:1px solid var(--border-secondary);background:var(--background-secondary)}.btn-logout{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background-color:var(--color-reset-bg);border:1px solid var(--color-reset-border);border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-logout:hover{opacity:.9;transform:translate(2px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.btn-logout .nav-icon{color:var(--color-reset-fg);font-size:1.1rem}.btn-logout .nav-label{color:var(--color-reset-fg);font-weight:600;font-size:.8rem}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:var(--background-tertiary);border-radius:10px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:10px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--brand-primary)}.theme-toggle-btn{background:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .2s ease;flex-shrink:0}.theme-toggle-btn:hover{background:var(--background-secondary);border-color:var(--brand-primary);transform:scale(1.1);box-shadow:0 2px 8px var(--shadow-color-heavy)}.theme-toggle-btn:active{transform:scale(.95)}.unread-badge{display:inline-block;margin-left:8px;padding:2px 7px;background:linear-gradient(135deg,var(--color-ai) 0%,#b45309 100%);color:#fff;font-size:.7rem;font-weight:700;border-radius:12px;min-width:20px;text-align:center;box-shadow:0 2px 4px #d9770666;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 2px 4px #d9770666}50%{transform:scale(1.05);box-shadow:0 4px 8px #d9770699}}body.theme-dark .sidebar-user .user-role.role-admin{background-color:rgba(var(--brand-rgb),.3)!important;color:var(--brand-primary)!important;border:2px solid var(--brand-primary)!important;font-weight:700;box-shadow:0 0 10px rgba(var(--brand-rgb),.3)}body.theme-dark .sidebar-user .user-role.role-operator{background-color:#64748b4d!important;color:#94a3b8!important;border:2px solid #64748b!important;font-weight:700}@media(max-width:768px){.sidebar{width:200px}.logo-text h2{font-size:1rem}.user-avatar-large{width:36px;height:36px;font-size:1rem}.nav-item{padding:7px 8px}.theme-toggle-btn{width:32px;height:32px;font-size:1rem}}.active-reports-card{background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-secondary);overflow:hidden;transition:box-shadow .3s ease;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.active-reports-card:hover{box-shadow:0 2px 6px var(--shadow-color-heavy)}.active-reports-card .card-header{background:var(--background-primary);color:var(--text-main);padding:.4rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-primary)}.active-reports-card .card-header h3{margin:0;font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:.3rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.active-reports-card .count-badge{background:var(--color-error);padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:700;color:#fff}.active-reports-card .card-body{padding:.4rem;max-height:200px;overflow-y:auto}.loading-message,.error-message,.empty-message{text-align:center;padding:1rem;color:var(--text-muted);font-size:.7rem}.error-message{color:var(--color-error)}.locks-list{display:flex;flex-direction:column;gap:.25rem}.lock-item{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:.35rem;transition:all .2s ease;border-left:2px solid var(--border-secondary)}.lock-item:hover{background:var(--background-tertiary);transform:translate(2px);border-left-color:var(--color-error)}.lock-info{display:flex;flex-direction:column;gap:.2rem}.lock-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.bt-number{font-weight:600;font-size:.75rem;color:var(--brand-primary)}.status-badge{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem .4rem;border-radius:8px;font-size:.6rem;font-weight:500;background:var(--background-tertiary);color:var(--text-muted)}.lock-details{display:flex;align-items:center;gap:.6rem;font-size:.65rem;color:var(--text-muted);flex-wrap:wrap}.user-name,.customer,.time-ago{display:flex;align-items:center;gap:.15rem}.time-ago{color:var(--text-muted);font-style:italic}.active-reports-card .card-body::-webkit-scrollbar{width:6px}.active-reports-card .card-body::-webkit-scrollbar-track{background:var(--background-tertiary);border-radius:3px}.active-reports-card .card-body::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.active-reports-card .card-body::-webkit-scrollbar-thumb:hover{background:var(--brand-primary)}@media(max-width:768px){.active-reports-card .card-header h3{font-size:1rem}.lock-details{flex-direction:column;align-items:flex-start;gap:.25rem}}.nc-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.nc-modal-content{background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:100%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow-color-heavy)}.nc-modal-header{padding:1rem;border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:space-between;background:var(--background-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.nc-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nc-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.nc-modal-close:hover{background:var(--background-tertiary);color:var(--brand-primary);transform:rotate(90deg)}.nc-modal-body{flex:1;overflow-y:auto;padding:1rem}.nc-empty-message{text-align:center;color:var(--text-muted);padding:2rem;font-size:.9rem}.nc-reports-list{display:flex;flex-direction:column;gap:.5rem}.nc-report-item{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;transition:all .2s ease;border-left:3px solid var(--color-error);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.nc-report-item:hover{background:var(--background-tertiary);transform:translate(4px);box-shadow:0 2px 6px var(--shadow-color-heavy)}.nc-report-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.nc-report-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.nc-bt-number{font-weight:700;font-size:.95rem;color:var(--brand-primary)}.nc-count-badge{background:var(--color-error);color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.nc-report-details{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.nc-customer,.nc-part,.nc-status{display:flex;align-items:center;gap:.25rem}.nc-report-action{font-size:1.5rem;color:var(--text-muted);font-weight:300}.nc-modal-footer{padding:1rem;border-top:1px solid var(--border-secondary);display:flex;justify-content:flex-end;background:var(--background-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.nc-modal-btn-close{background:var(--background-tertiary);color:var(--text-main);border:1px solid var(--border-secondary);padding:.5rem 1.5rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nc-modal-btn-close:hover{background:var(--border-secondary);border-color:var(--brand-primary)}.nc-modal-body::-webkit-scrollbar{width:6px}.nc-modal-body::-webkit-scrollbar-track{background:var(--background-tertiary)}.nc-modal-body::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.nc-modal-body::-webkit-scrollbar-thumb:hover{background:var(--brand-primary)}@media(max-width:768px){.nc-modal-content{max-width:100%;max-height:90vh}.nc-report-details{flex-direction:column;align-items:flex-start;gap:.25rem}}.savings-comparison-container{padding:2rem;max-width:1600px;margin:0 auto;background:var(--background-body);color:var(--text-primary)}.comparison-config-panel{background:var(--background-secondary);border-radius:8px;margin-bottom:2rem;border:1px solid var(--border-primary);overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px var(--shadow-color)}.config-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--background-primary);border-bottom:1px solid var(--border-secondary)}.config-panel-header h3{margin:0;font-size:1.2rem;color:var(--module-color-actions)}.config-header-actions{display:flex;gap:.75rem}.btn-toggle-config,.btn-reset-config{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;font-family:inherit}.btn-toggle-config{background:var(--module-color-actions);color:var(--text-inverted);border-color:var(--module-color-actions)}.btn-toggle-config:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 6px var(--shadow-color)}.btn-reset-config{background:var(--color-reset-bg);color:var(--color-reset-fg);border-color:var(--color-reset-border)}.btn-reset-config:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 6px var(--shadow-color)}.config-panel-content{padding:1.5rem;background:var(--background-secondary)}.config-section{margin-bottom:2rem}.config-section:last-child{margin-bottom:0}.config-section h4{font-size:1.1rem;margin-bottom:.5rem;color:var(--module-color-actions);border-bottom:2px solid var(--border-secondary);padding-bottom:.5rem}.config-section-subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem;font-style:italic}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.config-item{display:flex;flex-direction:column;gap:.5rem}.config-item label{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--text-secondary);font-weight:500}.config-value{background:var(--module-color-actions);color:var(--text-inverted);padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.config-item input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--background-tertiary);border:1px solid var(--border-primary);outline:none;-webkit-appearance:none}.config-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--module-color-actions);cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:2px solid var(--text-inverted)}.config-item input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 8px #4dabf780}.config-item input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--module-color-actions);cursor:pointer;border:2px solid var(--text-inverted);-moz-transition:all .2s;transition:all .2s}.config-item input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 0 8px #4dabf780}.methods-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.method-config-card{background:var(--background-primary);border-radius:8px;border:2px solid;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 6px var(--shadow-color)}.method-config-header{padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-inverted)}.method-config-header h5{margin:0;font-size:1rem}.method-config-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:var(--background-secondary)}.config-item-small{display:flex;flex-direction:column;gap:.25rem}.config-item-small label{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-secondary)}.config-value-small{background:var(--background-tertiary);color:var(--module-color-actions);padding:.15rem .5rem;border-radius:8px;font-size:.8rem;font-weight:600;border:1px solid var(--border-primary)}.config-item-small input[type=number]{padding:.4rem;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.9rem;width:100%;font-family:inherit;transition:border-color .2s}.config-item-small input[type=number]:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus)}.config-item-small input[type=range]{width:100%;height:4px;border-radius:2px;background:var(--background-tertiary);border:1px solid var(--border-primary);outline:none;-webkit-appearance:none}.config-item-small input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--module-color-actions);cursor:pointer;border:2px solid var(--text-inverted)}.config-item-small input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--module-color-actions);cursor:pointer;border:2px solid var(--text-inverted)}.config-group{background:var(--background-tertiary);border-radius:6px;padding:.75rem;margin-bottom:.75rem;border:1px solid var(--border-secondary)}.config-group:last-child{margin-bottom:0}.config-group-title{font-size:.85rem;font-weight:600;color:var(--module-color-actions);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.config-help-text{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem;line-height:1.3;font-style:italic}.savings-comparison-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-secondary)}.savings-comparison-header h2{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.comparison-subtitle{color:var(--text-muted);font-size:.95rem}.comparison-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--background-secondary);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;border:2px solid var(--border-primary);transition:transform .2s,box-shadow .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px var(--shadow-color)}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-color-heavy)}.summary-card .card-icon{font-size:2.5rem;flex-shrink:0}.summary-card .card-content{flex:1}.summary-card .card-label{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.summary-card .card-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.summary-card .card-detail{font-size:.9rem;color:var(--module-color-improvement)}.summary-card.fastest{border-color:var(--module-color-metrology)}.summary-card.reliable{border-color:var(--module-color-improvement)}.summary-card.management{border-color:var(--module-color-actions)}.summary-card.savings{border-color:var(--module-color-ncs)}.comparison-section{background:var(--background-secondary);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px var(--shadow-color)}.comparison-section h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--module-color-actions);border-bottom:2px solid var(--border-secondary);padding-bottom:.75rem}.waterfall-chart{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.waterfall-row{display:flex;align-items:center;gap:1rem}.waterfall-label{min-width:180px;display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary)}.method-icon{font-size:1.5rem}.method-name{font-size:.95rem}.waterfall-bar-container{flex:1;display:flex;align-items:center;gap:1rem}.waterfall-bar{height:40px;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);transition:transform .2s;border:1px solid var(--border-primary)}.waterfall-bar:hover{transform:scaleY(1.1)}.bar-segments{display:flex;height:100%;width:100%}.bar-segment{height:100%;position:relative;cursor:help}.bar-segment.header{background:#3b82f6cc}.bar-segment.dimensions{background:#8b5cf6cc}.bar-segment.tolerances{background:#ec4899cc}.bar-segment.corrections{background:#ef4444cc}.bar-segment.ai-analysis{background:#7c3aedcc}.bar-segment.review{background:#22c55ecc}.waterfall-time{min-width:120px;text-align:right;font-size:.95rem}.waterfall-time strong{color:var(--text-primary);font-size:1.1rem}.time-saved{display:block;color:var(--module-color-improvement);font-size:.85rem;margin-top:.25rem}.waterfall-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:1rem;border-top:1px solid var(--border-secondary);margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.legend-color{width:20px;height:20px;border-radius:4px;display:inline-block;border:1px solid var(--border-primary)}.legend-color.header{background:#3b82f6cc}.legend-color.dimensions{background:#8b5cf6cc}.legend-color.tolerances{background:#ec4899cc}.legend-color.corrections{background:#ef4444cc}.legend-color.ai-analysis{background:#7c3aedcc}.legend-color.review{background:#22c55ecc}.breakdown-table-container,.qualitative-table-container{overflow-x:auto}.breakdown-table,.qualitative-table{width:100%;border-collapse:collapse;font-size:.9rem}.breakdown-table th,.breakdown-table td,.qualitative-table th,.qualitative-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-secondary)}.breakdown-table th,.qualitative-table th{background:var(--background-primary);font-weight:600;color:var(--text-primary);position:sticky;top:0;z-index:1;border-bottom:2px solid var(--border-primary)}.breakdown-table tbody tr:hover,.qualitative-table tbody tr:hover{background:var(--background-tertiary)}.breakdown-table .total-row{background:var(--background-primary);font-weight:700;border-top:2px solid var(--border-primary)}.breakdown-table .error-count{font-size:.8rem;color:var(--module-color-ncs);margin-left:.25rem}.qualitative-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;color:var(--text-inverted);white-space:nowrap}.software-dependency{font-size:.85rem;color:var(--text-muted);font-style:italic}.issues-advantages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.method-card{background:var(--background-primary);border-radius:12px;overflow:hidden;border:2px solid;transition:transform .2s,box-shadow .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px var(--shadow-color)}.method-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px var(--shadow-color-heavy)}.method-card-header{padding:1rem;display:flex;align-items:center;gap:.75rem;color:var(--text-inverted);font-weight:700}.method-icon-large{font-size:2rem}.method-card-header h4{margin:0;font-size:1.1rem}.method-card-body{padding:1.5rem;background:var(--background-secondary)}.issues-section,.advantages-section{margin-bottom:1.5rem}.issues-section:last-child,.advantages-section:last-child{margin-bottom:0}.issues-section h5,.advantages-section h5{font-size:1rem;margin-bottom:.75rem;color:var(--text-primary)}.issues-section ul,.advantages-section ul{list-style:none;padding:0;margin:0}.issue-item,.advantage-item{padding:.5rem 0 .5rem 1.5rem;position:relative;font-size:.9rem;line-height:1.5;border-bottom:1px solid var(--border-secondary);color:var(--text-secondary)}.issue-item:last-child,.advantage-item:last-child{border-bottom:none}.issue-item:before{content:"⚠️";position:absolute;left:0;font-size:.9rem}.advantage-item:before{content:"✅";position:absolute;left:0;font-size:.9rem}.cost-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.cost-card{background:var(--background-secondary);border-radius:12px;overflow:hidden;border:2px solid;transition:transform .2s,box-shadow .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px var(--shadow-color)}.cost-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-color-heavy)}.cost-card-header{padding:1rem;background:var(--background-primary);display:flex;align-items:center;gap:.5rem;font-weight:700;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.cost-card-body{padding:1.5rem;text-align:center}.cost-amount{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.cost-time{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.cost-savings{font-size:1rem;font-weight:600;padding:.5rem;background:var(--background-tertiary);border-radius:6px;border:1px solid var(--border-primary)}.savings-percentage{font-size:.85rem;opacity:.8}@media(max-width:768px){.savings-comparison-container{padding:1rem}.savings-comparison-header h2{font-size:1.5rem}.comparison-summary-cards{grid-template-columns:1fr}.waterfall-row{flex-direction:column;align-items:stretch}.waterfall-label{min-width:auto}.waterfall-bar-container{flex-direction:column;align-items:stretch}.waterfall-time{text-align:left;margin-top:.5rem}.issues-advantages-grid{grid-template-columns:1fr}.cost-comparison-grid{grid-template-columns:repeat(2,1fr)}.config-grid,.methods-config-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.savings-modal{background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);border-radius:var(--radius-lg);max-width:1400px;width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow-color-heavy);overflow:hidden}.savings-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:1px solid var(--border-secondary);background:var(--background-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.header-title-tabs{flex:1}.savings-modal-header h2{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-tabs{display:flex;gap:.5rem}.tab-button{background:transparent;color:var(--text-muted);border:1px solid var(--border-primary);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-button:hover{background:var(--background-tertiary);border-color:var(--brand-primary);color:var(--text-main)}.tab-button.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);font-weight:600}.header-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.btn-export-pdf{background:var(--brand-primary);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.savings-modal-content{padding:1.5rem 2rem;overflow-y:auto;flex:1;background:var(--background-primary)}.savings-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.savings-card{background:var(--background-secondary);border-radius:var(--radius-md);padding:1.5rem;display:flex;align-items:center;gap:1.25rem;border:1px solid var(--border-primary);transition:all .2s ease;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.savings-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy);border-color:var(--brand-primary)}.savings-icon{font-size:2.5rem;width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:rgba(var(--brand-rgb),.1)}.savings-primary .savings-icon{background:rgba(var(--brand-rgb),.1)}.savings-success .savings-icon{background:rgba(var(--brand-rgb),.15)}.savings-info .savings-icon{background:rgba(var(--color-ai-rgb),.1)}.savings-annual .savings-icon{background:rgba(var(--brand-rgb),.2)}.savings-content{flex:1}.savings-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.savings-value{font-size:1.75rem;font-weight:700;color:var(--text-main);margin-bottom:.25rem}.savings-subtitle{font-size:.75rem;color:var(--text-muted)}.savings-config{background:var(--background-secondary);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.config-header h3{margin:0;color:var(--text-main);font-size:1rem;font-weight:600}.config-actions{display:flex;align-items:center;gap:.75rem}.save-message{font-size:.75rem;font-weight:600;padding:.4rem .75rem;border-radius:var(--radius-sm);animation:fadeIn .3s ease}.save-message.success{color:var(--color-success);background:rgba(var(--color-success-rgb),.1);border:1px solid var(--color-success)}.save-message.error{color:var(--color-error);background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn-save{padding:.5rem 1rem;background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--color-success-rgb),.3)}.btn-save:hover:not(:disabled){background:var(--color-success-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-success-rgb),.4)}.btn-save:active:not(:disabled){transform:translateY(0)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-reset{padding:.5rem 1rem;background:var(--background-tertiary);color:var(--text-main);border:1px solid var(--border-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.btn-reset:hover{background:var(--background-primary);border-color:var(--brand-primary)}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.config-section{background:var(--background-primary);padding:1.25rem;border-radius:var(--radius-sm);border:1px solid var(--border-primary)}.config-section h4{margin:0 0 1rem;color:var(--text-main);font-size:.9rem;font-weight:600;border-bottom:1px solid var(--border-secondary);padding-bottom:.5rem}.config-item{margin-bottom:1rem}.config-item:last-child{margin-bottom:0}.config-item label{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;color:var(--text-muted);font-weight:500}.config-item input{padding:.6rem .75rem;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-main);font-size:.85rem;transition:all .2s ease}.config-item input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.config-help{font-size:.7rem;color:var(--text-muted);font-style:italic;margin-top:-.25rem}.config-summary{margin-top:1rem;padding:.75rem;background:var(--background-tertiary);border-radius:var(--radius-sm);border-left:3px solid var(--brand-primary);font-size:.75rem;color:var(--text-muted)}.config-hourly-rate{grid-column:1 / -1}.savings-table-section{margin-bottom:1.5rem}.savings-table-section h3{margin:0 0 1.25rem;color:var(--text-main);font-size:1rem;font-weight:600}.savings-search{margin-bottom:1rem}.savings-search .search-input{width:100%;max-width:500px;padding:.75rem 1rem;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-main);font-size:.85rem;transition:all .2s ease}.savings-search .search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.savings-search .search-input::-moz-placeholder{color:var(--text-muted)}.savings-search .search-input::placeholder{color:var(--text-muted)}.savings-table-container{background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);overflow:hidden}.savings-table{width:100%;border-collapse:collapse}.savings-table thead{background:var(--background-secondary);position:sticky;top:0;z-index:10}.savings-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-secondary)}.savings-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:all .2s ease}.savings-table tbody tr:hover{background:var(--background-tertiary)}.savings-table td{padding:.75rem 1rem;color:var(--text-main);font-size:.8rem}.cell-number{text-align:center}.cell-info{color:var(--color-info)}.cell-success{color:var(--color-success);font-weight:600}.no-data{padding:3rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.savings-explanation{background:var(--background-secondary);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.savings-explanation h4{margin:0 0 1.25rem;color:var(--text-main);font-size:1rem;font-weight:600}.explanation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.explanation-box{background:var(--background-primary);padding:1rem;border-radius:var(--radius-sm);border:1px solid var(--border-primary)}.explanation-box h5{margin:0 0 .75rem;color:var(--text-main);font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.explanation-box p{margin:0 0 .5rem;color:var(--text-muted);font-size:.75rem;line-height:1.5;font-family:Roboto Mono,Courier New,monospace}.explanation-detail{font-size:.7rem!important;color:var(--text-muted)!important;font-style:italic;font-family:inherit!important}.btn-close{width:2.5rem;height:2.5rem;border-radius:50%;background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-close:hover{background:var(--background-tertiary);color:var(--brand-primary);transform:rotate(90deg)}@media(max-width:768px){.savings-modal{width:100vw;max-height:100vh;border-radius:0}.savings-modal-header{padding:1rem 1.25rem}.savings-modal-header h2{font-size:.95rem}.savings-modal-content{padding:1rem 1.25rem}.savings-summary,.config-grid,.explanation-grid{grid-template-columns:1fr}.savings-value{font-size:1.5rem}.savings-table-container{overflow-x:auto}.savings-table{min-width:800px}}.kpi-dashboard{display:flex;flex-direction:column;gap:.25rem;padding:0;margin:0}.kpi-section{background:var(--background-secondary);border-radius:var(--radius-md);padding:.4rem;border:1px solid var(--border-secondary);box-shadow:0 2px 8px var(--shadow-color)}.kpi-section-title{margin:0 0 .2rem;font-size:.6rem;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:.2rem;text-transform:uppercase;letter-spacing:.5px}.kpi-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem}.kpi-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.3rem}.kpi-card{background:var(--background-primary);border-radius:var(--radius-sm);padding:.35rem;display:flex;flex-direction:column;gap:.15rem;border-left:2px solid var(--kpi-accent, var(--brand-primary));transition:all .2s ease;cursor:default;position:relative;width:100%;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.kpi-card:hover{transform:translate(2px);box-shadow:0 2px 6px var(--shadow-color-heavy)}.kpi-card.kpi-clickable{cursor:pointer}.kpi-card.kpi-clickable:hover{transform:translate(4px) scale(1.02);box-shadow:0 4px 12px rgba(var(--brand-rgb),.4);border-left-color:var(--brand-primary)}.kpi-card.kpi-clickable:active{transform:translate(2px) scale(.98)}.kpi-icon{position:absolute;top:.3rem;right:.3rem;font-size:1rem;opacity:.2;color:var(--text-muted)}.kpi-content{display:flex;flex-direction:column;gap:.1rem}.kpi-label{font-size:.6rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.kpi-value{font-size:1.2rem;font-weight:700;line-height:1;color:var(--text-main)}.kpi-subtitle{font-size:.55rem;color:var(--text-muted);margin-top:.1rem;line-height:1.2}.kpi-primary{--kpi-accent: var(--color-info)}.kpi-success{--kpi-accent: var(--brand-primary)}.kpi-warning{--kpi-accent: var(--color-warning)}.kpi-info{--kpi-accent: var(--color-info)}.kpi-danger{--kpi-accent: var(--color-error)}.kpi-gold{--kpi-accent: var(--color-ai)}.kpi-quality{--kpi-accent: var(--brand-primary)}.kpi-today{--kpi-accent: var(--color-error)}.kpi-week,.kpi-month{--kpi-accent: var(--color-info)}.kpi-operators,.kpi-metric{--kpi-accent: var(--brand-primary)}.kpi-imperial{--kpi-accent: var(--color-warning)}.kpi-time{--kpi-accent: var(--brand-primary)}.kpi-ai{--kpi-accent: var(--color-ai)}.kpi-list-card{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:.5rem;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.kpi-list-card h4{margin:0 0 .3rem;font-size:.65rem;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:.3rem;text-transform:uppercase;letter-spacing:.3px}.kpi-list{display:flex;flex-direction:column;gap:.25rem}.kpi-list-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .4rem;background:var(--background-secondary);border-radius:var(--radius-sm);transition:all .2s ease;border-left:2px solid var(--border-secondary)}.kpi-list-item:hover{transform:translate(2px);background:var(--background-tertiary);border-left-color:var(--brand-primary)}.kpi-list-item .rank{font-weight:700;font-size:.75rem;color:var(--brand-primary);min-width:1rem}.kpi-list-item .name{flex:1;font-weight:500;color:var(--text-main);font-size:.7rem}.kpi-list-item .count{font-size:.65rem;color:var(--text-muted);font-weight:600}.kpi-section{animation:slideIn .3s ease-out}.kpi-section:nth-child(1){animation-delay:0s}.kpi-section:nth-child(2){animation-delay:.1s}.kpi-section:nth-child(3){animation-delay:.2s}.kpi-section:nth-child(4){animation-delay:.3s}.kpi-section:nth-child(5){animation-delay:.4s}@media(max-width:1024px){.kpi-value{font-size:1.75rem}.kpi-icon{font-size:2rem}}@media(max-width:768px){.kpi-dashboard{gap:1.5rem}.kpi-section{padding:1rem}.kpi-grid-2{grid-template-columns:1fr}.kpi-card{padding:1rem}.kpi-value{font-size:1.5rem}.kpi-icon{font-size:1.75rem}}.modal-overlay.notification-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex!important;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.notification-details-modal{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 8px 32px #0006;max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-secondary);background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,transparent 100%)}.modal-title{display:flex;align-items:center;gap:12px}.modal-icon{font-size:1.8rem}.modal-title h2{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.btn-close-modal{background:transparent;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.btn-close-modal:hover{background:var(--background-secondary);color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1}.notification-time-badge{display:inline-block;padding:6px 12px;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:6px;font-size:.85rem;color:var(--text-secondary);margin-bottom:20px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.detail-section h3:before{content:"";width:3px;height:16px;background:var(--module-color-ncs);border-radius:2px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:6px}.detail-item .detail-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-item .detail-value{font-size:1rem;color:var(--text-primary);font-weight:500}.completion-info{display:flex;flex-direction:column;gap:12px}.completion-bar-container{height:32px;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:6px;overflow:hidden;position:relative}.completion-bar{height:100%;background:linear-gradient(90deg,#ef4444,#f87171);transition:width .5s ease;position:relative}.completion-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2))}.completion-stats{display:flex;align-items:baseline;gap:12px}.completion-rate-large{font-size:2rem;font-weight:700;color:#ef4444}.completion-required-large{font-size:.9rem;color:var(--text-muted)}.cells-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cells-stat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:6px;text-align:center}.cells-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.cells-value{font-size:1.8rem;font-weight:700}.cells-value.filled{color:#22c55e}.cells-value.empty{color:#ef4444}.cells-value.total{color:var(--module-color-ncs)}.missing-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.field-badge-modal{padding:6px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:.85rem;color:#ef4444;font-family:monospace;font-weight:500;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--border-secondary);background:var(--background-secondary)}.btn-modal{flex:1;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.btn-modal.btn-primary{background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;box-shadow:0 2px 8px #e07b394d}.btn-modal.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e07b3980}.btn-modal.btn-secondary{background:var(--background-primary);border:1px solid var(--border-primary);color:var(--text-secondary)}.btn-modal.btn-secondary:hover{background:var(--background-tertiary);color:var(--text-primary);border-color:var(--module-color-ncs)}.btn-modal.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.btn-modal.btn-warning:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b80}@media(max-width:768px){.notification-details-modal{width:95%;max-height:90vh}.detail-grid,.cells-stats{grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse}.btn-modal{width:100%}}.foreman-notifications{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;box-shadow:0 2px 8px var(--shadow-color-heavy);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-secondary)}.notification-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:6px}.connection-status{font-size:.75rem;padding:4px 8px;border-radius:4px;font-weight:600}.connection-status.connected{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.connection-status.disconnected{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.no-notifications{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:.85rem;font-style:italic}.notifications-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.notification-card-compact{display:flex;align-items:center;gap:12px;padding:12px;background:var(--background-secondary);border:2px solid rgba(239,68,68,.3);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;pointer-events:auto;z-index:1}.notification-card-compact:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#ef4444;border-radius:8px 0 0 8px}.notification-card-compact:hover{box-shadow:0 4px 12px var(--shadow-color-heavy);border-color:#ef444499;background:var(--background-tertiary)}.notification-icon-compact{font-size:1.5rem;min-width:32px;display:flex;align-items:center;justify-content:center}.notification-content-compact{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.notification-main-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bt-number-compact{font-family:monospace;font-weight:700;font-size:.9rem;color:var(--module-color-ncs)}.operator-name-compact{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-stats-compact{display:flex;align-items:center;gap:8px}.completion-badge,.cells-badge{padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:700}.completion-badge{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.cells-badge{background:var(--background-primary);color:var(--text-secondary);border:1px solid var(--border-secondary);font-family:monospace}.notification-arrow{font-size:1.5rem;color:var(--text-muted);transition:all .2s ease}.notification-card-compact:hover .notification-arrow{color:var(--module-color-ncs);transform:translate(4px)}.notification-card{display:flex;gap:12px;padding:16px;background:var(--background-secondary);border:2px solid transparent;border-radius:8px;transition:all .2s ease;position:relative;overflow:hidden}.notification-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;transition:width .3s ease}.notification-card.incomplete{border-color:#ef44444d}.notification-card.incomplete:before{background:#ef4444}.notification-card:hover{transform:translate(4px);box-shadow:0 4px 12px var(--shadow-color-heavy);border-color:#ef444480}.notification-card:hover:before{width:6px}.notification-icon{font-size:1.8rem;min-width:40px;display:flex;align-items:flex-start;justify-content:center;padding-top:2px}.notification-content{flex:1;display:flex;flex-direction:column;gap:12px}.notification-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notification-title strong{font-size:.95rem;font-weight:600;color:var(--text-primary)}.notification-time{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.notification-details{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--background-primary);border-radius:6px;border:1px solid var(--border-secondary)}.detail-row{display:flex;align-items:center;gap:8px;font-size:.85rem}.detail-label{font-weight:600;color:var(--text-secondary);min-width:90px}.detail-value{color:var(--text-primary);flex:1}.bt-number{font-family:monospace;font-weight:700;color:var(--module-color-ncs)}.completion-rate{padding:2px 8px;border-radius:4px;font-weight:700;font-size:.9rem}.completion-rate.low{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.completion-required{color:var(--text-muted);font-size:.8rem}.missing-fields{padding:8px 12px;background:#ef44440d;border-radius:6px;border:1px solid rgba(239,68,68,.2)}.missing-fields strong{font-size:.8rem;color:#ef4444;display:block;margin-bottom:6px}.fields-list{display:flex;flex-wrap:wrap;gap:6px}.field-badge{padding:4px 8px;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:4px;font-size:.75rem;color:var(--text-secondary);font-family:monospace}.field-badge.more{background:#ef444426;border-color:#ef44444d;color:#ef4444;font-weight:600}.notification-actions{display:flex;gap:8px;margin-top:4px}.btn-action{flex:1;padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px}.btn-view{background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;border:none;box-shadow:0 2px 6px #e07b394d}.btn-view:hover{transform:translateY(-2px);box-shadow:0 4px 10px #e07b3980}.btn-dismiss{background:var(--background-secondary);border-color:var(--border-secondary);color:var(--text-secondary)}.btn-dismiss:hover{background:var(--background-tertiary);border-color:var(--module-color-ncs);color:var(--text-primary)}.notifications-list::-webkit-scrollbar{width:8px}.notifications-list::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:4px}.notifications-list::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}.notifications-list::-webkit-scrollbar-thumb:hover{background:var(--module-color-ncs)}@media(max-width:768px){.notification-card{flex-direction:column;gap:8px}.notification-icon{min-width:auto}.notification-actions{flex-direction:column}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-label{min-width:auto}}.trial-usage-banner{padding:8px 16px;border-radius:6px;margin-bottom:12px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.trial-banner-info{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border:1px solid rgba(59,130,246,.3)}.trial-banner-warning{background:linear-gradient(135deg,#f59e0b1a,#d977061a);border:1px solid rgba(245,158,11,.3)}.trial-banner-danger{background:linear-gradient(135deg,#ef44441a,#dc26261a);border:1px solid rgba(239,68,68,.3)}.trial-banner-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.trial-banner-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.trial-banner-info .trial-banner-icon{background:#3b82f633;color:#3b82f6}.trial-banner-warning .trial-banner-icon{background:#f59e0b33;color:#f59e0b}.trial-banner-danger .trial-banner-icon{background:#ef444433;color:#ef4444}.icon-alert,.icon-info{font-style:normal}.trial-banner-text{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px}.trial-banner-title{font-weight:600;font-size:.85rem;color:var(--text-primary, #1f2937)}.trial-banner-details{font-size:.75rem;color:var(--text-secondary, #6b7280)}.trial-days{opacity:.8}.trial-banner-progress{flex-shrink:0;width:120px;height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.trial-banner-progress-bar{height:100%;border-radius:3px;transition:width .3s ease}.trial-banner-info .trial-banner-progress-bar{background:linear-gradient(90deg,#3b82f6,#2563eb)}.trial-banner-warning .trial-banner-progress-bar{background:linear-gradient(90deg,#f59e0b,#d97706)}.trial-banner-danger .trial-banner-progress-bar{background:linear-gradient(90deg,#ef4444,#dc2626)}.trial-banner-cta{flex-shrink:0;padding:6px 14px;background:linear-gradient(135deg,var(--brand-primary, #3b82f6),var(--brand-hover, #2563eb));color:#fff!important;border:none;border-radius:4px;font-size:.75rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease}.trial-banner-cta:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}@media(max-width:600px){.trial-banner-content{flex-direction:column;align-items:flex-start;gap:8px}.trial-banner-progress{width:100%}.trial-banner-cta{width:100%;text-align:center}}.dashboard{padding:8px 12px;max-width:100%;margin:0;animation:fadeIn .3s ease-out;height:100%;overflow:auto}.dashboard-header{margin-bottom:8px;border-bottom:1px solid var(--border-secondary);padding-bottom:6px}.dashboard-header h1{margin:0 0 2px;font-size:1.2rem;font-weight:600;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header p{margin:0;font-size:.75rem;color:var(--text-muted)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;padding:16px;background:rgba(var(--brand-rgb),.05);border-radius:var(--radius-lg);border:1px solid rgba(var(--brand-rgb),.2)}.dashboard-section{margin-bottom:6px}.section-title{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:18px;background:var(--brand-primary);border-radius:2px}.action-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy);border-color:var(--brand-primary)}.action-btn.action-primary{border-color:var(--brand-primary);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.action-btn.action-primary:hover{box-shadow:0 4px 12px rgba(var(--brand-rgb),.5)}.action-btn.action-primary .action-text strong,.action-btn.action-primary .action-text small{color:#fff}.action-btn.action-secondary:hover{border-color:var(--badge-status-afaire-fg)}.action-btn.action-tertiary:hover{border-color:var(--badge-status-complete-fg)}.action-btn.action-completed{border-color:var(--badge-status-termine-border);background:var(--background-primary)}.action-btn.action-completed.active{border-color:var(--badge-status-termine-fg);background:linear-gradient(135deg,var(--badge-status-termine-fg) 0%,var(--badge-status-complete-fg) 100%);color:#fff}.action-btn.action-analytics{border-color:#2563eb4d;background:linear-gradient(135deg,#2563eb0d,#1d4ed80d)}.action-btn.action-messages{background:linear-gradient(135deg,#60a5fa1a,#3b82f61a);border:1px solid rgba(96,165,250,.3);position:relative}.action-icon{font-size:1.6rem;min-width:32px;display:flex;align-items:center;justify-content:center;opacity:.9}.action-text{display:flex;flex-direction:column;gap:2px}.action-text strong{font-size:.9rem;font-weight:600;color:var(--text-main)}.action-text small{font-size:.75rem;color:var(--text-muted)}.foreman-dashboard{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto 1fr auto;gap:16px;height:calc(100vh - 140px);overflow:visible}.foreman-dashboard h2{font-size:1.2rem;font-weight:600;color:var(--text-main);margin:8px 0;display:flex;align-items:center;gap:8px;grid-column:1 / -1}.foreman-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;grid-column:1 / -1}.foreman-dashboard>.foreman-notifications,.foreman-dashboard>div:first-child{grid-column:1 / -1}.active-indicator{display:inline-block;margin-right:4px;animation:pulse 2s ease-in-out infinite}.archives-section{margin-top:32px;border-top:2px solid var(--border-primary);padding-top:24px}.archives-section .reports-list-header h2{color:var(--text-muted);display:flex;align-items:center;gap:8px}@media(max-width:768px){.dashboard{padding:16px}.dashboard-header h1{font-size:1.3rem}.dashboard-cards,.quick-actions,.admin-stats{grid-template-columns:1fr}.foreman-dashboard{grid-template-columns:1fr;height:auto;overflow-y:auto}.foreman-stats{grid-template-columns:repeat(2,1fr)}.foreman-card{max-height:300px}}.duplicate-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.duplicate-modal-content{background:var(--background-primary, #fff);border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.duplicate-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color, #e0e0e0)}.duplicate-modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary, #333)}.duplicate-modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary, #666);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.duplicate-modal-close:hover{background-color:var(--background-secondary, #f5f5f5);color:var(--text-primary, #333)}.duplicate-modal-body{padding:20px;overflow-y:auto;flex:1}.duplicate-modal-description{margin:0 0 20px;color:var(--text-secondary, #666);line-height:1.6}.duplicate-modal-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px;font-size:.9rem}.duplicate-modal-form{display:flex;flex-direction:column;gap:20px}.duplicate-modal-field{display:flex;flex-direction:column;gap:8px}.duplicate-modal-field label{font-weight:600;color:var(--text-primary, #333);font-size:.95rem}.duplicate-modal-field input{padding:12px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:1rem;color:var(--text-primary, #333);background-color:var(--background-primary, #fff);transition:border-color .2s}.duplicate-modal-field input:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 3px #007bff1a}.duplicate-modal-field input::-moz-placeholder{color:var(--text-muted, #999)}.duplicate-modal-field input::placeholder{color:var(--text-muted, #999)}.duplicate-modal-footer{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color, #e0e0e0);justify-content:flex-end}.duplicate-modal-btn{padding:10px 24px;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.duplicate-modal-btn-cancel{background-color:var(--background-secondary, #f5f5f5);color:var(--text-primary, #333);border:1px solid var(--border-color, #ddd)}.duplicate-modal-btn-cancel:hover{background-color:var(--background-tertiary, #e0e0e0)}.duplicate-modal-btn-confirm{background-color:var(--primary-color, #007bff);color:#fff}.duplicate-modal-btn-confirm:hover{background-color:var(--primary-hover, #0056b3);box-shadow:0 2px 8px #007bff4d}.duplicate-modal-btn-confirm:active{transform:translateY(1px)}@media(prefers-color-scheme:dark){.duplicate-modal-content{background:var(--background-primary, #1e1e1e)}.duplicate-modal-header h2{color:var(--text-primary, #e0e0e0)}.duplicate-modal-close{color:var(--text-secondary, #999)}.duplicate-modal-close:hover{background-color:var(--background-secondary, #2a2a2a);color:var(--text-primary, #e0e0e0)}.duplicate-modal-description{color:var(--text-secondary, #999)}.duplicate-modal-field label{color:var(--text-primary, #e0e0e0)}.duplicate-modal-field input{background-color:var(--background-secondary, #2a2a2a);border-color:var(--border-color, #444);color:var(--text-primary, #e0e0e0)}.duplicate-modal-btn-cancel{background-color:var(--background-secondary, #2a2a2a);color:var(--text-primary, #e0e0e0)}.duplicate-modal-btn-cancel:hover{background-color:var(--background-tertiary, #3a3a3a)}}.reports-list-container{padding:20px 24px;max-width:100%;margin:0;animation:fadeIn .3s ease-out;min-height:100vh;background:var(--background-body)}.reports-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-secondary)}.reports-list-header h1{margin:0;font-size:1.5rem;font-weight:600;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-create-report{padding:12px 24px;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #e07b394d;display:flex;align-items:center;gap:8px}.btn-create-report:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e07b3980}.btn-create-report span{font-size:1.2rem}.reports-list-toolbar{margin-bottom:20px}.search-bar{display:flex;gap:12px;align-items:center}.search-bar input{flex:1;padding:12px 16px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.9rem;transition:all .2s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.search-bar input:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus);box-shadow:0 0 0 2px #e07b391a}.search-bar input::-moz-placeholder{color:var(--text-secondary)}.search-bar input::placeholder{color:var(--text-secondary)}.search-bar button{padding:12px 20px;background:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.search-bar button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.search-bar button:disabled{opacity:.6;cursor:not-allowed}.error-message,.loading-message,.empty-message{padding:32px;text-align:center;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);margin-top:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.error-message{border-color:var(--badge-status-retard-border);color:var(--badge-status-retard-fg)}.empty-message p{margin:8px 0}.reports-table-container{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color-heavy);margin-top:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.reports-table thead{background:var(--background-secondary);border-bottom:2px solid var(--module-color-ncs)}.reports-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;border-right:1px solid var(--border-secondary)}.reports-table tbody tr:hover{background:#e07b3914;cursor:pointer}.reports-table td{padding:12px 16px;color:var(--text-primary);border-right:1px solid var(--border-secondary)}.reports-table .bt-number{font-weight:600;color:var(--module-color-ncs);font-family:monospace}.reports-table .date-cell{color:var(--text-muted);font-size:.8rem}.reports-table .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.reports-table .status-badge.status-vierge{background:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border:1px solid var(--badge-status-afaire-border)}.reports-table .status-badge.status-en_cours,.reports-table .status-badge.status-draft{background:var(--badge-status-encours-bg);color:var(--badge-status-encours-fg);border:1px solid var(--badge-status-encours-border)}.reports-table .status-badge.status-fini,.reports-table .status-badge.status-completed{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border:1px solid var(--badge-status-complete-border)}.status-badge-wrapper{position:relative;display:inline-block;padding:5px 12px;border-radius:14px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;border:1px solid transparent;white-space:nowrap}.status-select-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.status-badge-wrapper.status-vierge{background-color:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border-color:var(--badge-status-afaire-border)}.status-badge-wrapper.status-en_cours{background-color:var(--badge-status-encours-bg);color:var(--badge-status-encours-fg);border-color:var(--badge-status-encours-border)}.status-badge-wrapper.status-valide,.status-badge-wrapper.status-termine{background-color:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border-color:var(--badge-status-complete-border)}body.theme-dark .btn-create-report{background:linear-gradient(135deg,#ffa726,#42a5f5);box-shadow:0 4px 20px #ffa726b3,0 0 40px #ffa72680;border:2px solid rgba(255,255,255,.3);text-shadow:0 2px 4px rgba(0,0,0,.8);font-weight:700}body.theme-dark .btn-create-report:hover{box-shadow:0 6px 30px #ffa726e6,0 0 60px #ffa72699;border-color:#ffffff80;transform:translateY(-3px)}@media(max-width:768px){.reports-list-container{padding:16px}.reports-list-header{flex-direction:column;gap:12px;align-items:flex-start}.reports-list-header h1{font-size:1.3rem}.btn-create-report{width:100%;justify-content:center}.search-bar{flex-direction:column}.search-bar button{width:100%}.reports-table{font-size:.75rem}.reports-table th,.reports-table td{padding:8px 10px}}.actions-cell{display:flex;gap:8px;align-items:center;justify-content:center}.btn-duplicate-report{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:6px;padding:6px 12px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-duplicate-report:hover{background:var(--background-tertiary);border-color:var(--module-color-actions);transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color-heavy)}.btn-duplicate-report:active{transform:translateY(0)}.report-selection-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-audit) 100%);display:flex;align-items:center;justify-content:center;z-index:9998;overflow-y:auto}.report-selection-container{background:var(--background-primary);border-radius:12px;padding:40px;max-width:1400px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.report-selection-header{text-align:center;margin-bottom:30px}.report-selection-header h1{margin:0 0 10px;color:var(--text-primary);font-size:2.5rem}.user-welcome{color:var(--text-secondary);font-size:1.2rem;display:flex;align-items:center;gap:12px;justify-content:center}.role-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:700;text-transform:uppercase}.role-admin{background:var(--module-color-ncs);color:#fff}.role-operator{background:var(--badge-status-afaire-fg);color:#fff}.error-message{background:var(--badge-status-retard-bg);border:1px solid var(--badge-status-retard-border);color:var(--badge-status-retard-fg);padding:12px;border-radius:6px;margin-bottom:20px;text-align:center}.admin-toolbar{display:flex;gap:12px;margin-bottom:20px;justify-content:flex-end}.btn-admin{padding:10px 20px;background:var(--module-color-ncs);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-admin:hover{transform:translateY(-2px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.loading-message{text-align:center;padding:40px;color:var(--text-secondary);font-size:1.2rem}.search-section{margin-bottom:30px}.search-bar{display:flex;gap:16px;margin-bottom:20px}.search-input{flex:1;padding:12px 20px;border:2px solid var(--border-primary);border-radius:8px;font-size:1.1rem;font-family:inherit;transition:border-color .3s ease;background:var(--background-input);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus)}.btn-new-report{padding:12px 24px;background:var(--module-color-ncs);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-new-report:hover{transform:translateY(-2px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.filter-tabs{display:flex;gap:8px;border-bottom:2px solid var(--border-secondary)}.filter-tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.filter-tab:hover{color:var(--text-primary);background:var(--background-tertiary)}.filter-tab.active{color:var(--module-color-ncs);border-bottom-color:var(--module-color-ncs)}.reports-grid{margin-top:30px}.reports-category{margin-bottom:40px}.reports-category h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--border-secondary)}.reports-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.report-card{background:var(--background-secondary);border:2px solid var(--border-primary);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.report-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px var(--shadow-color-heavy);border-color:var(--module-color-ncs)}.report-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.report-status{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:700;text-transform:uppercase}.status-vierge{background:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg)}.status-en-cours{background:var(--badge-status-encours-bg);color:var(--badge-status-encours-fg)}.status-fini{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg)}.report-bt{font-weight:700;color:var(--module-color-ncs);font-size:1.1rem}.report-card-body{margin-bottom:16px}.report-card-body h3{margin:0 0 8px;color:var(--text-primary);font-size:1.3rem}.part-name-2{color:var(--text-secondary);font-size:.95rem;margin:0 0 12px}.report-details{display:flex;flex-direction:column;gap:4px}.report-details p{margin:0;color:var(--text-secondary);font-size:.9rem}.report-details strong{color:var(--text-primary)}.report-card-footer{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border-secondary);font-size:.85rem;color:var(--text-muted)}.no-reports{text-align:center;padding:60px 20px;color:var(--text-muted)}.no-reports p{font-size:1.2rem;margin-bottom:20px}.btn-create-first{padding:12px 24px;background:var(--module-color-ncs);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-create-first:hover{transform:translateY(-2px);box-shadow:0 2px 8px var(--shadow-color-heavy)}body.theme-dark .btn-admin,body.theme-dark .btn-new-report,body.theme-dark .btn-create-first{background:linear-gradient(135deg,#ffa726,#42a5f5);box-shadow:0 4px 20px #ffa726b3,0 0 40px #ffa72680;border:2px solid rgba(255,255,255,.3);text-shadow:0 2px 4px rgba(0,0,0,.8);font-weight:700}body.theme-dark .btn-admin:hover,body.theme-dark .btn-new-report:hover,body.theme-dark .btn-create-first:hover{box-shadow:0 6px 30px #ffa726e6,0 0 60px #ffa72699;border-color:#ffffff80;transform:translateY(-3px)}@media(max-width:768px){.report-selection-container{padding:20px}.reports-list{grid-template-columns:1fr}.search-bar{flex-direction:column}.filter-tabs{overflow-x:auto;flex-wrap:nowrap}}.profile-management-modal{max-width:1000px;min-width:700px;max-height:85vh;width:90%}.btn-add-user{padding:8px 16px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3);margin-bottom:16px}.btn-add-user:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.5)}.new-user-form-section{background:var(--background-secondary);padding:16px;border-radius:6px;margin-bottom:16px;border:1px solid var(--border-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.new-user-form-section h3{margin:0 0 12px;color:var(--module-color-ncs);font-size:1rem;font-weight:600}.new-user-form-inline{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.form-group-inline{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px}.form-group-inline label{font-weight:600;color:var(--text-primary);font-size:.75rem}.form-group-inline input,.form-group-inline select{width:100%;padding:8px 12px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;font-size:.85rem;color:var(--text-primary);transition:all .2s ease}.form-group-inline input:focus,.form-group-inline select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px rgba(var(--brand-rgb),.2)}.form-actions-inline{display:flex;gap:6px}.users-table .clickable-row{transition:all .2s ease;cursor:pointer}.users-table .clickable-row:hover{background:#e07b391a;transform:scale(1.01)}.users-table .clickable-row:active{transform:scale(1.005)}.users-table tbody tr.user-inactive{opacity:.5}.status-badge{padding:3px 10px;border-radius:10px;font-size:.7rem;font-weight:600;display:inline-block;text-transform:uppercase;letter-spacing:.2px}.status-badge.active{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border:1px solid var(--badge-status-complete-border)}.status-badge.inactive{background:var(--badge-status-retard-bg);color:var(--badge-status-retard-fg);border:1px solid var(--badge-status-retard-border)}.btn-deactivate{background:var(--badge-status-encours-bg);color:var(--badge-status-encours-fg);border:1px solid var(--badge-status-encours-border)}.btn-deactivate:hover{background:#fbbf244d;border-color:#fbbf2480}.btn-activate{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border:1px solid var(--badge-status-complete-border)}.btn-activate:hover{background:#34d3994d;border-color:#34d39980}.loading-message,.no-users{text-align:center;padding:32px;color:var(--text-muted);font-size:.9rem}.level-badge{padding:4px 12px;border-radius:10px;font-size:.75rem;font-weight:600;display:inline-block;letter-spacing:.3px;cursor:pointer;transition:all .2s ease}.level-badge.level-2{background:linear-gradient(135deg,#10b98133,#05966933);color:#10b981;border:1px solid rgba(16,185,129,.4)}body.theme-light .level-badge.level-2{color:#047857;border-color:#04785766}.level-badge.level-4{background:#e07b3933;color:var(--module-color-ncs);border:1px solid rgba(224,123,57,.3)}.level-badge.level-5{background:linear-gradient(135deg,#fbbf244d,#f59e0b4d);color:#f59e0b;border:1px solid rgba(245,158,11,.5);font-weight:700}.level-warning{margin-top:8px;padding:10px 12px;background:#10b9811a;border-left:3px solid #10b981;border-radius:4px;font-size:.75rem;color:var(--text-primary);width:100%}.level-warning strong{color:#10b981}body.theme-light .level-warning{border-left-color:#047857}body.theme-light .level-warning strong{color:#047857}.level-edit-inline{display:flex;gap:6px;align-items:center}.level-select-inline{padding:4px 8px;border:1px solid var(--border-primary);border-radius:4px;background:var(--background-input);color:var(--text-primary);font-size:.75rem;font-family:inherit;min-width:200px}.level-select-inline:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #e07b3933}.btn-save-inline{background:linear-gradient(135deg,var(--badge-status-complete-fg) 0%,#10b981 100%);color:#fff;padding:4px 10px;font-size:.9rem}.btn-save-inline:hover{transform:scale(1.1)}.btn-cancel-inline{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.4);padding:4px 10px;font-size:.9rem}.btn-cancel-inline:hover{background:#ef44444d;border-color:#ef444499}.profile-edit-modal{max-width:500px}.profile-edit-info .form-group{margin-bottom:1rem}.profile-edit-info .form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.level-select-full{width:100%;padding:10px 14px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.level-select-full:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #e07b3933}.user-metadata p{margin:.5rem 0;font-size:.85rem;color:var(--text-muted)}@media(max-width:1080px){.profile-management-modal{min-width:95%;max-width:95%}}@media(max-width:768px){.profile-management-modal{min-width:100%;max-width:100%;width:100%}.users-table{font-size:.7rem}.users-table th,.users-table td{padding:6px}.new-user-form-inline{flex-direction:column}.form-group-inline{width:100%}.level-edit-inline{flex-direction:column}.level-select-inline{min-width:150px}.actions-group{flex-direction:column}}.quotas-banner{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:8px;padding:1rem;margin-bottom:1rem}.quotas-plan{font-size:.75rem;color:var(--text-muted);background:var(--background-tertiary);padding:2px 8px;border-radius:4px}.quotas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.quota-item{display:flex;flex-direction:column;gap:4px;padding:.5rem .75rem;background:var(--background-primary);border:1px solid var(--border-tertiary);border-radius:6px;transition:all .2s ease}.settings-modal{max-width:800px;max-height:85vh;overflow-y:auto}.settings-body{display:flex;flex-direction:column;gap:30px}.settings-section{background-color:var(--background-secondary);padding:20px;border-radius:8px;border:1px solid var(--border-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.settings-section-title{margin:0 0 20px;color:var(--module-color-ncs);font-size:1.3rem;padding-bottom:10px;border-bottom:2px solid var(--border-secondary)}.settings-group{margin-bottom:20px}.settings-group:last-child{margin-bottom:0}.backup-group{margin-left:30px;padding-left:20px;border-left:3px solid var(--module-color-ncs)}.settings-label{display:block;font-weight:700;color:var(--text-primary);margin-bottom:8px;font-size:1rem}.settings-label-required{color:var(--badge-status-retard-fg);margin-left:4px}.settings-checkbox{margin-right:10px;width:18px;height:18px;cursor:pointer;vertical-align:middle}.settings-input{width:100%;padding:10px 12px;border:1px solid var(--border-primary);border-radius:6px;background-color:var(--background-input);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:border-color .3s ease}.settings-input:focus{outline:none;border-color:var(--border-focus);background-color:var(--background-input-focus)}.settings-input::-moz-placeholder{color:var(--text-secondary)}.settings-input::placeholder{color:var(--text-secondary)}.number-input{width:150px}.path-input-group{display:flex;gap:8px;align-items:center}.path-input{flex:1}.btn-browse,.btn-test{padding:10px 16px;background-color:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:1.2rem;cursor:pointer;transition:all .3s ease;min-width:45px;display:flex;align-items:center;justify-content:center}.btn-browse:hover,.btn-test:hover{background-color:var(--background-secondary);border-color:var(--module-color-ncs);transform:translateY(-2px)}.btn-browse:active,.btn-test:active{transform:translateY(0)}.settings-help{margin:8px 0 0;font-size:.9rem;color:var(--text-muted);font-style:italic}.settings-warning{background-color:var(--badge-status-encours-bg);border:1px solid var(--badge-status-encours-border);color:var(--badge-status-encours-fg);padding:12px 16px;border-radius:6px;font-size:.95rem;display:flex;align-items:center;gap:8px}.path-status{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.9rem}.path-status.success{color:var(--badge-status-complete-fg)}.path-status.error{color:var(--badge-status-retard-fg)}.path-status.testing{color:var(--module-color-ncs)}.settings-modal .modal-footer{margin-top:0;padding-top:20px;border-top:1px solid var(--border-secondary)}.modal-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--background-tertiary)}.modal-btn:disabled:hover{background-color:var(--background-tertiary);transform:none}@media(max-width:768px){.settings-modal{max-width:95%;max-height:90vh}.path-input-group{flex-wrap:wrap}.path-input{width:100%;flex:0 0 100%}.btn-browse,.btn-test{flex:1}.backup-group{margin-left:15px;padding-left:15px}}.modal-overlay-customers{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-in-out}.customer-management-modal{background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:95%;max-width:1200px;min-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow-color-heavy);animation:slideIn .3s ease-out;overflow:hidden}.customer-management-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-secondary);background:var(--background-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.customer-management-modal .modal-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-main);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.customer-management-modal .modal-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.customer-management-modal .modal-close-btn:hover{background:var(--background-tertiary);color:var(--brand-primary);transform:rotate(90deg)}.customer-management-modal .modal-body{padding:1rem;overflow-y:auto;flex:1}.btn-add-customer{padding:8px 16px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3);margin-bottom:16px}.btn-add-customer:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.5)}.new-customer-form-section{margin-bottom:20px;padding:16px;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:8px}.new-customer-form-section h3{margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text-main)}.new-customer-form-inline{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.form-group-inline{flex:1;min-width:200px}.form-group-inline label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:600;color:var(--text-primary)}.form-group-inline input{width:100%;padding:8px 12px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;font-size:.85rem;color:var(--text-primary);transition:all .2s ease}.form-group-inline input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px rgba(var(--brand-rgb),.2)}.form-group-inline input::-moz-placeholder{color:var(--text-secondary)}.form-group-inline input::placeholder{color:var(--text-secondary)}.form-actions-inline{display:flex;gap:8px;align-items:flex-end}.btn-save{padding:8px 16px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.5)}.btn-cancel{padding:8px 16px;background:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.btn-cancel:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.customers-table .clickable-row{transition:all .2s ease}.customers-table .clickable-row:hover{background:#e07b391a;transform:scale(1.005);cursor:pointer}.customers-table .clickable-row:active{transform:scale(1.002)}.customers-table .clickable-row td *{pointer-events:none}.customers-empty{text-align:center;padding:48px 24px;color:var(--text-muted)}.customers-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.4}.customers-empty p{font-size:1rem;margin-bottom:24px;color:var(--text-muted)}.btn-start{padding:8px 16px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.btn-start:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.5)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10001;animation:fadeIn .2s ease-out}.modal-content{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px var(--shadow-color-heavy),0 10px 10px -5px var(--shadow-color);animation:slideIn .3s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-secondary)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--background-tertiary);color:var(--brand-primary);transform:rotate(90deg)}.modal-content form{padding:20px}.form-group .required{color:var(--color-error)}.form-group input{width:100%;padding:10px 12px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;color:var(--text-primary);transition:all .2s}.form-group input:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-secondary)}.loading-message,.no-customers{text-align:center;padding:32px;color:var(--text-muted);font-size:.9rem}@media(max-width:1280px){.customer-management-modal{min-width:95%;max-width:95%}}@media(max-width:768px){.customer-management-modal{min-width:100%;max-width:100%;width:100%}.customers-table{font-size:.7rem}.customers-table th,.customers-table td{padding:6px}.new-customer-form-inline{flex-direction:column}.form-group-inline{width:100%}.actions-group{flex-direction:column}.modal-content{width:95%}}.analytics-container{padding:20px 24px;max-width:100%;margin:0;min-height:100vh;animation:fadeIn .3s ease-out}.analytics-table .badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600;text-align:center;white-space:nowrap}.analytics-table .badge-vierge{background-color:var(--badge-status-afaire-bg, #d3d5d7);color:var(--badge-status-afaire-fg, #313538);border:1px solid var(--badge-status-afaire-border, #c4c6c8)}.analytics-table .badge-en_cours{background-color:var(--badge-status-encours-bg, #a6ddee);color:var(--badge-status-encours-fg, #09404a);border:1px solid var(--badge-status-encours-border, #8ecae1)}.analytics-table .badge-termine{background-color:#c8e6c9;color:#2e7d32;border:1px solid #a5d6a7}.analytics-table .badge-valide{background-color:var(--badge-status-complete-bg, #a7d8b0);color:var(--badge-status-complete-fg, #144826);border:1px solid var(--badge-status-complete-border, #91c89f)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.analytics-header{margin-bottom:24px}.header-top{display:flex;align-items:center;gap:16px;margin-bottom:8px}.analytics-header h1{margin:0;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-back{padding:8px 16px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.btn-back:hover{background:var(--background-secondary);border-color:var(--module-color-ncs);transform:translate(-2px)}.analytics-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--border-primary);padding-bottom:0}.tab-btn{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease;position:relative;top:2px}.tab-btn:hover{color:var(--text-primary);background:var(--background-secondary)}.tab-btn.active{color:var(--module-color-ncs);border-bottom-color:var(--module-color-ncs)}.analytics-content{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--background-primary);border-radius:12px;padding:20px;box-shadow:0 2px 8px var(--shadow-color-heavy);border:1px solid var(--border-primary);display:flex;align-items:center;gap:16px;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy)}.stat-icon{font-size:2rem;opacity:.9}.stat-content{flex:1}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-detail{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.card-primary{border-left:4px solid var(--module-color-ncs)}.card-success{border-left:4px solid #22c55e}.card-info{border-left:4px solid #3b82f6}.stats-section{background:var(--background-primary);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px var(--shadow-color-heavy);border:1px solid var(--border-primary)}.stats-section h2{margin:0 0 16px;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.status-card{background:var(--background-secondary);border-radius:8px;padding:16px;text-align:center;border:1px solid var(--border-secondary)}.status-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.status-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.progress-bar-container{margin-top:16px}.progress-bar{width:100%;height:40px;background:var(--background-secondary);border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--border-secondary)}.progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem;transition:width .5s ease}.progress-legend{margin-top:8px;font-size:.85rem;color:var(--text-secondary);text-align:center}.search-bar{margin-bottom:16px}.search-input{width:100%;max-width:500px;padding:12px 16px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.9rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--module-color-ncs);box-shadow:0 0 0 3px #e07b391a}.table-container{background:var(--background-primary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color-heavy);border:1px solid var(--border-primary)}.analytics-table{width:100%;border-collapse:collapse}.analytics-table thead{background:var(--background-secondary);border-bottom:2px solid var(--border-primary)}.analytics-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.analytics-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background .2s ease}.analytics-table tbody tr:hover{background:var(--background-secondary)}.analytics-table tbody tr:last-child{border-bottom:none}.analytics-table td{padding:12px 16px;font-size:.9rem;color:var(--text-primary)}.cell-bold{font-weight:600}.cell-number{text-align:right;font-family:Monaco,Courier New,monospace}.cell-success{color:#22c55e;font-weight:600}.cell-warning{color:#f97316;font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.status-vierge{background:#94a3b833;color:#64748b}.status-badge.status-en_cours{background:#3b82f633;color:#3b82f6}.status-badge.status-termine{background:#22c55e33;color:#22c55e}.status-badge.status-valide{background:#a855f733;color:#a855f7}.mini-progress{width:100%;height:8px;background:var(--background-secondary);border-radius:4px;overflow:hidden;border:1px solid var(--border-secondary)}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .3s ease}.loading-message{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:1.1rem}.access-denied{text-align:center;padding:60px 20px;background:var(--background-primary);border-radius:12px;border:1px solid var(--border-primary);max-width:500px;margin:60px auto}.access-denied h2{margin:0 0 16px;font-size:1.5rem;color:var(--text-primary)}.access-denied p{margin:0 0 24px;color:var(--text-secondary)}@media(max-width:768px){.analytics-container{padding:16px}.stats-cards{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,1fr)}.analytics-tabs{flex-wrap:wrap}.tab-btn{font-size:.85rem;padding:10px 16px}.analytics-table{font-size:.8rem}.analytics-table th,.analytics-table td{padding:8px 12px}}.ai-analytics-page{width:100%;min-height:100vh;background:var(--background-primary);color:var(--text-main);padding:1.5rem;overflow-y:auto}.ai-analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.btn-back{background:var(--background-secondary);color:var(--brand-primary);border:1px solid var(--border-primary);padding:.6rem 1.2rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--background-tertiary);border-color:var(--brand-primary);transform:translate(-2px)}.btn-export-pdf{background:var(--brand-primary);color:#fff;border:none;padding:.7rem 1.5rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.btn-export-pdf:hover{background:var(--brand-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.4)}.btn-export-pdf:active{transform:translateY(0)}.ai-analytics-header h1{margin:0;font-size:1.8rem;font-weight:700;color:var(--text-main);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{margin:0;font-size:.9rem;color:var(--text-muted)}.global-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:1.2rem;text-align:center;transition:all .2s ease;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.stat-card:hover{transform:translateY(-4px);border-color:var(--brand-primary);box-shadow:0 6px 20px var(--shadow-color-heavy)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.8rem;font-weight:600}.stat-value{font-size:2.5rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem}.stat-value.extraction{color:var(--brand-primary)}.stat-value.precision{color:var(--color-success)}.stat-detail{font-size:.8rem;color:var(--text-muted)}.ai-analytics-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-secondary)}.tab-btn{background:transparent;color:var(--text-muted);border:none;padding:.9rem 1.8rem;font-size:.95rem;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;position:relative;bottom:-2px}.tab-btn:hover{color:var(--text-main);background:rgba(var(--brand-rgb),.05)}.tab-btn.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);background:var(--background-secondary)}.ai-analytics-content{background:var(--background-primary)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.chart-section{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:1.5rem;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.chart-section.full-width{grid-column:1 / -1}.chart-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-main)}.chart-info{margin-top:1rem;padding:.8rem;background:rgba(var(--brand-rgb),.1);border-left:3px solid var(--brand-primary);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-main)}.no-data{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1.1rem;grid-column:1 / -1}.table-section{background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:1.5rem;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.table-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input{flex:1;min-width:300px;padding:.7rem 1rem;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-main);font-size:.9rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.search-input::-moz-placeholder{color:var(--text-muted)}.search-input::placeholder{color:var(--text-muted)}.status-filter{padding:.7rem 1rem;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-main);font-size:.9rem;cursor:pointer;transition:all .2s ease}.status-filter:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-primary)}.ai-table{width:100%;border-collapse:collapse;background:var(--background-primary);font-size:.85rem}.ai-table thead{background:var(--background-secondary);position:sticky;top:0;z-index:10}.ai-table th{padding:.9rem .7rem;text-align:left;font-weight:600;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid var(--border-secondary);transition:all .2s ease}.ai-table th:hover{background:var(--background-tertiary);color:var(--text-main)}.ai-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:all .2s ease}.ai-table tbody tr.clickable-row{cursor:pointer}.ai-table tbody tr.clickable-row:hover{background:var(--background-tertiary);transform:translate(4px);border-left:3px solid var(--brand-primary)}.ai-table td{padding:.9rem .7rem;color:var(--text-main)}.no-results{text-align:center;padding:3rem;color:var(--text-muted);font-style:italic}.rate-cell{font-weight:700;font-size:.9rem}.rate-cell.extraction{color:var(--brand-primary)}.rate-cell.precision{color:var(--color-success)}.status-badge{display:inline-block;padding:.25rem .7rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-vierge{background:var(--background-tertiary);color:var(--text-muted)}.status-badge.status-en-cours{background:rgba(var(--color-warning-rgb),.2);color:var(--color-warning);border:1px solid var(--color-warning)}.status-badge.status-termine{background:rgba(var(--color-success-rgb),.2);color:var(--color-success);border:1px solid var(--color-success)}.status-badge.status-valide{background:rgba(var(--brand-rgb),.2);color:var(--brand-primary);border:1px solid var(--brand-primary)}.status-badge.status-default{background:var(--background-secondary);color:var(--text-muted);border:1px solid var(--border-primary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding:1rem;background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary)}.pagination button{padding:.6rem 1.2rem;background:var(--background-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-main);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pagination button:hover:not(:disabled){background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.pagination button:disabled{opacity:.3;cursor:not-allowed}.pagination span{font-size:.85rem;color:var(--text-muted)}@media(max-width:1400px){.charts-grid{grid-template-columns:1fr}.chart-section.full-width{grid-column:1}}@media(max-width:768px){.ai-analytics-page{padding:1rem}.ai-analytics-header h1{font-size:1.4rem}.global-stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:2rem}.table-wrapper{overflow-x:scroll}.ai-table{font-size:.75rem}.ai-table th,.ai-table td{padding:.6rem .4rem}.pagination{flex-direction:column;gap:1rem}.pagination span{order:-1}}.recharts-text{fill:var(--text-muted)!important}.recharts-cartesian-grid line{stroke:var(--border-secondary)!important}.recharts-legend-item-text{color:var(--text-main)!important}.operator-chat-button{position:fixed;bottom:30px;right:30px;width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#e07b39,#c55a1a);border:3px solid rgba(255,255,255,.2);box-shadow:0 8px 24px #e07b3966,0 4px 12px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999}.operator-chat-button:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 12px 32px #e07b3999,0 6px 16px #0006;background:linear-gradient(135deg,#f08a47,#d66622)}.operator-chat-button:active{transform:scale(.98)}.operator-chat-button.disconnected{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 4px 12px #6c757d4d;cursor:not-allowed}.operator-chat-button.disconnected:hover{transform:none;box-shadow:0 4px 12px #6c757d4d}.operator-chat-button.new-reply{animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 8px 24px #e07b3966,0 4px 12px #0000004d}50%{box-shadow:0 8px 32px #e07b39cc,0 4px 16px #e07b3999,0 0 40px #e07b3966}}.chat-icon{font-size:32px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.chat-badge{position:absolute;top:-5px;right:-5px;min-width:28px;height:28px;border-radius:14px;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 8px;box-shadow:0 4px 12px #dc354566,0 2px 6px #0000004d;border:2px solid white;animation:badge-pop .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.connection-indicator{position:absolute;top:-3px;left:-3px;font-size:18px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:blink 1s ease-in-out infinite}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.3}}@media(max-width:768px){.operator-chat-button{bottom:20px;right:20px;width:60px;height:60px}.chat-icon{font-size:28px}.chat-badge{min-width:24px;height:24px;font-size:12px}}.message-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.message-modal-content{background:linear-gradient(135deg,#1e2229,#141821);border:1px solid rgba(224,123,57,.3);border-radius:12px;box-shadow:0 20px 60px #0009;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.message-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(224,123,57,.2);background:linear-gradient(135deg,rgba(224,123,57,.1),transparent)}.message-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#e07b39;text-shadow:0 2px 4px rgba(0,0,0,.3)}.close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#c5cdd6;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.close-button:hover{background:#e07b3933;border-color:#e07b39;color:#e07b39;transform:scale(1.1)}.message-modal-tabs{display:flex;gap:8px;padding:16px 24px 0;background:linear-gradient(to bottom,rgba(224,123,57,.05),transparent)}.tab-button{flex:1;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:8px 8px 0 0;color:#8b95a5;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tab-button:hover{background:#e07b391a;color:#c5cdd6}.tab-button.active{background:linear-gradient(135deg,#e07b3933,#e07b391a);border-color:#e07b3966;color:#e07b39;border-bottom:2px solid #e07b39}.message-modal-body{flex:1;overflow-y:auto;padding:24px}.new-message-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#c5cdd6;font-size:.95rem}.form-input,.form-textarea{padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#c5cdd6;font-size:.95rem;font-family:inherit;transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;background:#ffffff14;border-color:#e07b39;box-shadow:0 0 0 3px #e07b391a}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6c757d}.form-input::placeholder,.form-textarea::placeholder{color:#6c757d}.form-textarea{resize:vertical;min-height:150px}.report-info{padding:12px 16px;background:#e07b391a;border-left:3px solid #e07b39;border-radius:6px;color:#c5cdd6;font-size:.9rem}.send-button{padding:14px 24px;background:linear-gradient(135deg,#e07b39,#c55a1a);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #e07b394d}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#f08a47,#d66622);transform:translateY(-2px);box-shadow:0 6px 16px #e07b3966}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);cursor:not-allowed;opacity:.6}.messages-history{min-height:400px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#8b95a5;text-align:center}.empty-hint{margin-top:8px;font-size:.9rem;color:#6c757d}.messages-list{display:flex;flex-direction:column;gap:16px}.message-item{padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-left:3px solid #6c757d;border-radius:8px;transition:all .2s ease}.message-item:hover{background:#ffffff0d;border-left-color:#e07b39}.message-item.status-unread{border-left-color:#ffc107}.message-item.status-read{border-left-color:#17a2b8}.message-item.status-replied{border-left-color:#28a745}.message-header-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.message-subject{font-weight:700;font-size:1.05rem;color:#e07b39}.message-status{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.message-status.status-unread{background:#ffc10733;color:#ffc107}.message-status.status-read{background:#17a2b833;color:#17a2b8}.message-status.status-replied{background:#28a74533;color:#28a745}.message-date{font-size:.85rem;color:#6c757d;margin-bottom:12px}.message-content{color:#c5cdd6;line-height:1.6;white-space:pre-wrap}.admin-response{margin-top:16px;padding:16px;background:#e07b391a;border-left:3px solid #e07b39;border-radius:6px}.response-label{font-weight:700;color:#e07b39;margin-bottom:8px;font-size:.9rem}.response-content{color:#c5cdd6;line-height:1.6;white-space:pre-wrap;margin-bottom:8px}.response-date{font-size:.8rem;color:#6c757d}.message-modal-body::-webkit-scrollbar{width:8px}.message-modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.message-modal-body::-webkit-scrollbar-thumb{background:#e07b394d;border-radius:4px}.message-modal-body::-webkit-scrollbar-thumb:hover{background:#e07b3980}@media(max-width:768px){.message-modal-content{width:95%;max-height:90vh}.message-modal-header{padding:16px 20px}.message-modal-tabs{padding:12px 20px 0}.message-modal-body{padding:20px}.tab-button{font-size:.85rem;padding:10px 12px}}.admin-message-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in-out}.admin-message-content{background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-color-heavy);width:95%;max-width:1200px;height:85vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out;overflow:hidden}.admin-message-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-secondary);background:var(--background-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.admin-message-header h2{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-main);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.connection-status{margin:0;font-size:.75rem;color:var(--text-muted)}.close-button{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.close-button:hover{background:var(--background-tertiary);color:var(--brand-primary);transform:rotate(90deg)}.admin-message-body{flex:1;display:grid;grid-template-columns:400px 1fr;overflow:hidden}.messages-sidebar{border-right:1px solid var(--border-secondary);display:flex;flex-direction:column;background:var(--background-secondary)}.filter-buttons{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--border-secondary)}.filter-btn{flex:1;padding:8px 12px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:var(--background-tertiary);color:var(--text-primary)}.filter-btn.active{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);border-color:var(--brand-primary);color:#fff;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.messages-sidebar-list{flex:1;overflow-y:auto;padding:8px}.message-list-item{padding:12px;margin-bottom:8px;background:var(--background-input);border:1px solid var(--border-primary);border-left:3px solid var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.message-list-item:hover{background:var(--background-tertiary);border-left-color:var(--brand-primary);transform:translate(4px)}.message-list-item.selected{background:rgba(var(--brand-rgb),.15);border-left-color:var(--brand-primary);border-color:var(--brand-primary)}.message-list-item.status-unread{border-left-color:var(--color-warning);font-weight:600}.message-list-item.status-replied{opacity:.8}.message-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.message-from{font-size:.9rem;color:var(--text-primary);font-weight:600}.status-badge{font-size:1rem}.message-list-subject{font-size:.95rem;color:var(--brand-primary);font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-list-date{font-size:.8rem;color:var(--text-muted)}.message-details-panel{display:flex;flex-direction:column;overflow:hidden}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.1rem}.no-selection p:first-child{font-size:4rem;margin:0 0 16px}.message-details-header{padding:20px 24px;border-bottom:1px solid var(--border-secondary);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.message-details-header h3{margin:0 0 12px;font-size:1.3rem;font-weight:700;color:var(--brand-primary)}.message-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:.9rem;color:var(--text-muted)}.message-meta .status-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.message-meta .status-badge.status-unread{background:rgba(var(--color-warning-rgb),.2);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.3)}.message-meta .status-badge.status-read{background:rgba(var(--color-info-rgb),.2);color:var(--color-info);border:1px solid rgba(var(--color-info-rgb),.3)}.message-meta .status-badge.status-replied{background:rgba(var(--color-success-rgb),.2);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.3)}.report-link{padding:8px 12px;background:rgba(var(--brand-rgb),.1);border-left:3px solid var(--brand-primary);border-radius:4px;font-size:.9rem;color:var(--text-primary);margin-top:8px}.delete-btn{padding:8px 12px;background:rgba(var(--color-error-rgb),.1);border:1px solid rgba(var(--color-error-rgb),.3);border-radius:6px;color:var(--color-error);font-size:1.2rem;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:rgba(var(--color-error-rgb),.2);border-color:var(--color-error);transform:scale(1.1)}.message-details-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.message-body,.previous-response{padding:16px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.message-body label,.previous-response label,.reply-section label{display:block;font-weight:700;color:var(--brand-primary);margin-bottom:12px;font-size:.95rem}.message-text,.response-text{color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.previous-response{background:rgba(var(--brand-rgb),.05);border-color:var(--brand-primary)}.response-date{margin-top:12px;font-size:.85rem;color:var(--text-muted)}.reply-section{display:flex;flex-direction:column;gap:12px}.reply-textarea{padding:12px 16px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;font-family:inherit;resize:vertical;min-height:120px;transition:all .2s ease}.reply-textarea:focus{outline:none;background:var(--background-input-focus);border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.reply-textarea::-moz-placeholder{color:var(--text-secondary)}.reply-textarea::placeholder{color:var(--text-secondary)}.send-reply-btn{padding:14px 24px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);border:none;border-radius:var(--radius-md);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(var(--brand-rgb),.3);align-self:flex-start}.send-reply-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--brand-rgb),.4)}.send-reply-btn:disabled{background:var(--color-secondary-bg);cursor:not-allowed;opacity:.6;box-shadow:none}.loading-state,.empty-state{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-muted);text-align:center}.messages-sidebar-list::-webkit-scrollbar,.message-details-content::-webkit-scrollbar{width:10px;height:10px}.messages-sidebar-list::-webkit-scrollbar-track,.message-details-content::-webkit-scrollbar-track{background:var(--background-secondary)}.messages-sidebar-list::-webkit-scrollbar-thumb,.message-details-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:5px}.messages-sidebar-list::-webkit-scrollbar-thumb:hover,.message-details-content::-webkit-scrollbar-thumb:hover{background:var(--brand-primary)}@media(max-width:1024px){.admin-message-body{grid-template-columns:300px 1fr}}@media(max-width:768px){.admin-message-content{width:100%;height:100vh;border-radius:0}.admin-message-body{grid-template-columns:1fr}.messages-sidebar{display:none}.filter-buttons{flex-direction:column}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-in-out}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay-users{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-in-out}.user-management-modal{background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:95%;max-width:1400px;min-width:1000px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow-color-heavy);animation:slideIn .3s ease-out;overflow:hidden}.user-management-modal .modal-header,.user-management-modal .page-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-secondary);background:var(--background-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.user-management-modal .modal-title,.page-header .header-title h1{margin:0;font-size:1rem;font-weight:600;color:var(--text-main);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header .header-actions{display:flex;align-items:center;gap:.75rem}.user-management-modal .modal-close-btn,.btn-close-modal{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.user-management-modal .modal-close-btn:hover,.btn-close-modal:hover{background:var(--background-tertiary);color:var(--brand-primary);transform:rotate(90deg)}.user-management-modal .modal-body,.user-management-modal>.error-message,.user-management-modal>.users-table-container{padding:1rem;overflow-y:auto}.btn-glossy.btn-primary{padding:8px 16px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.btn-glossy.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.5)}.btn-secondary{padding:8px 16px;background:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.error-message{background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);color:var(--color-error);padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.users-table .clickable-row{transition:all .2s ease}.users-table .clickable-row:hover{background:#e07b391a;transform:scale(1.005);cursor:pointer}.users-table .clickable-row:active{transform:scale(1.002)}.users-table .clickable-row td *{pointer-events:none}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.no-users{text-align:center;padding:32px;color:var(--text-muted);font-size:.9rem}.loading{text-align:center;padding:3rem;color:var(--text-muted);font-size:1.1rem}.loading-message{text-align:center;padding:32px;color:var(--text-muted);font-size:.9rem}.role-badge{padding:4px 12px;border-radius:10px;font-size:.75rem;font-weight:600;display:inline-block;letter-spacing:.3px}.badge-super-admin{background:linear-gradient(135deg,#fbbf244d,#f59e0b4d);color:#f59e0b;border:1px solid rgba(245,158,11,.5)}.badge-admin{background:rgba(var(--brand-rgb),.2);color:var(--brand-primary);border:1px solid rgba(var(--brand-rgb),.3)}.badge-operator{background:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border:1px solid var(--badge-status-afaire-border)}.status-badge{padding:3px 10px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-active{background:rgba(var(--color-success-rgb),.2);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.3)}.status-inactive{background:rgba(var(--color-error-rgb),.2);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.3)}.user-edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex!important;justify-content:center;align-items:center;z-index:99999;animation:fadeIn .2s ease-out}.modal-content{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:12px;width:90%;max-width:600px;box-shadow:0 20px 25px -5px var(--shadow-color-heavy),0 10px 10px -5px var(--shadow-color);animation:slideIn .3s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.modal-content h2{margin:0;padding:20px;border-bottom:1px solid var(--border-secondary);color:var(--text-primary);font-size:1.1rem;font-weight:600;background:var(--background-secondary)}.modal-content form{padding:20px;max-height:70vh;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:10px 12px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;color:var(--text-primary);transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.form-group input::-moz-placeholder{color:var(--text-secondary)}.form-group input::placeholder{color:var(--text-secondary)}.form-group small{display:block;margin-top:6px;color:var(--text-muted);font-size:.8rem}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-secondary);background:var(--background-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:1rem;border-top:1px solid var(--border-secondary);background:var(--background-secondary)}@media(max-width:1480px){.user-management-modal{min-width:95%;max-width:95%}}@media(max-width:768px){.user-management-modal{min-width:100%;max-width:100%;width:100%}.users-table{font-size:.7rem}.users-table th,.users-table td{padding:6px}.action-buttons,.actions-group{flex-direction:column;gap:4px}.modal-content{width:95%}}.quotas-banner{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:1rem;margin:1rem 0}.quotas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-tertiary)}.quotas-title{font-weight:600;font-size:.9rem;color:var(--text-main)}.quotas-plan{font-size:.75rem;color:var(--text-muted);background:var(--background-tertiary);padding:2px 8px;border-radius:var(--radius-sm)}.quotas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.quota-item{display:flex;flex-direction:column;gap:4px;padding:.5rem .75rem;background:var(--background-primary);border:1px solid var(--border-tertiary);border-radius:var(--radius-sm);transition:all .2s ease}.quota-item:hover{border-color:var(--brand-primary);box-shadow:0 2px 8px rgba(var(--brand-rgb),.1)}.quota-item.quota-exhausted{border-color:var(--color-error);background:rgba(var(--color-error-rgb),.05)}.quota-role{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.quota-count{font-size:.85rem;color:var(--text-main)}.quota-count .unlimited{color:var(--color-success);font-style:italic}.quota-count .quota-remaining{font-size:.7rem;color:var(--text-muted);margin-left:4px}.quota-item.quota-exhausted .quota-remaining{color:var(--color-error);font-weight:600}@media(max-width:768px){.quotas-grid{grid-template-columns:1fr 1fr}.quotas-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.pricing-dashboard{padding:2rem;min-height:100vh;background:var(--bg-body)}.pricing-dashboard.loading{display:flex;align-items:center;justify-content:center}.spinner{font-size:1.5rem;color:var(--brand-primary)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-content h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content p{margin:0;color:var(--text-muted);font-size:.95rem}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--brand-rgb),.4)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.alert{padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:var(--radius-lg);display:flex;justify-content:space-between;align-items:center;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:rgba(var(--color-error-rgb),.1);border-left:4px solid var(--color-error);color:var(--color-error)}.alert-success{background:rgba(var(--color-success-rgb),.1);border-left:4px solid var(--color-success);color:var(--color-success)}.alert-close{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.6;transition:opacity .2s}.alert-close:hover{opacity:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease;box-shadow:var(--shadow-sm)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card.highlight{background:var(--brand-surface-light);border:2px solid rgba(var(--brand-rgb),.3)}.stat-icon{font-size:2.5rem;line-height:1}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-main)}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-secondary)}.tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:500;color:var(--text-muted);transition:all .2s ease}.tab:hover:not(:disabled){color:var(--text-main);background:rgba(var(--brand-rgb),.05)}.tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.tab:disabled{opacity:.4;cursor:not-allowed}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.plan-card{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:1.5rem;transition:all .3s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.plan-card.inactive{opacity:.6;background:var(--background-tertiary)}.plan-card-header{border-bottom:2px solid var(--border-secondary);padding-bottom:1rem}.plan-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.plan-title-row h3{margin:0;font-size:1.4rem;font-weight:600;color:var(--text-main)}.badge-inactive{padding:.25rem .75rem;background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border-radius:var(--radius-xl);font-size:.75rem;font-weight:600}.plan-description{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.5}.plan-price{display:flex;align-items:baseline;gap:.5rem}.price-amount{font-size:2rem;font-weight:700;color:var(--brand-primary)}.price-period{font-size:.9rem;color:var(--text-muted)}.plan-stats{padding:.75rem;background:var(--brand-surface-light);border-radius:var(--radius-lg);text-align:center}.stat-item{font-size:.9rem;color:var(--text-muted)}.stat-item strong{color:var(--brand-primary);font-size:1.2rem}.plan-limits,.plan-features{display:flex;flex-direction:column;gap:.5rem}.plan-limits h4,.plan-features h4{margin:0;font-size:.9rem;font-weight:600;color:var(--text-main);text-transform:uppercase;letter-spacing:.5px}.plan-limits ul,.plan-features ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.plan-limits li{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--background-secondary);border-radius:var(--radius-md);font-size:.85rem}.limit-label{color:var(--text-muted)}.limit-value{font-weight:600;color:var(--text-main)}.plan-features li{font-size:.85rem;color:var(--text-muted);padding-left:.5rem}.features-more{font-style:italic;color:var(--brand-primary)}.plan-card-actions{display:flex;gap:.75rem;margin-top:auto}.btn-edit,.btn-delete{flex:1;padding:.75rem;border:none;border-radius:var(--radius-lg);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit{background:rgba(var(--color-info-rgb),.1);color:var(--color-info);border:1px solid rgba(var(--color-info-rgb),.3)}.btn-edit:hover{background:rgba(var(--color-info-rgb),.2);transform:translateY(-2px)}.btn-delete{background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.3)}.btn-delete:hover{background:rgba(var(--color-error-rgb),.2);transform:translateY(-2px)}.plan-card-footer{display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem;border-top:1px solid var(--border-secondary);font-size:.75rem;color:var(--text-muted)}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:var(--background-secondary);border-radius:var(--radius-xl);border:2px dashed var(--border-secondary)}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:var(--text-main)}.empty-state p{margin:0 0 1.5rem;color:var(--text-muted)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.product-card{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:1.5rem;transition:all .3s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.product-card.inactive{opacity:.6;background:var(--background-tertiary)}.product-card-header{border-bottom:2px solid var(--border-secondary);padding-bottom:1rem}.product-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.product-title-content{display:flex;align-items:center;gap:.5rem}.product-icon{font-size:1.5rem}.product-title-content h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-main)}.product-description{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.5}.product-type,.product-price{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--background-secondary);border-radius:var(--radius-md)}.type-label,.price-label{font-size:.85rem;color:var(--text-muted)}.type-value{font-weight:600;color:var(--text-main);font-size:.9rem}.product-card-actions{display:flex;gap:.75rem;margin-top:auto}.product-card-footer{padding-top:.75rem;border-top:1px solid var(--border-secondary);font-size:.75rem;color:var(--text-muted)}.overrides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.override-card{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:1.5rem;transition:all .3s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.override-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.override-card.expired{opacity:.7;border:2px solid rgba(var(--color-error-rgb),.3)}.override-card-header{border-bottom:2px solid var(--border-secondary);padding-bottom:1rem}.override-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.override-title-row h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-main)}.badge-expired{padding:.25rem .75rem;background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border-radius:var(--radius-xl);font-size:.75rem;font-weight:600}.override-plan{margin:0;font-size:.9rem;color:var(--text-muted)}.override-section{padding:.75rem;background:var(--brand-surface-light);border-radius:var(--radius-lg);border-left:3px solid var(--brand-primary)}.override-section h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px}.price-comparison{display:flex;align-items:center;gap:1rem;font-size:1.1rem}.price-old{text-decoration:line-through;color:var(--text-muted)}.price-arrow{color:var(--brand-primary);font-weight:700}.price-new{font-weight:700;color:var(--color-success);font-size:1.3rem}.discount-value{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-success)}.limits-list,.addons-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.limits-list li,.addons-list li{font-size:.9rem;color:var(--text-main)}.override-notes{margin:0;font-size:.85rem;color:var(--text-muted);font-style:italic;line-height:1.5}.override-validity{padding:.75rem;background:rgba(var(--color-success-rgb),.1);border-radius:var(--radius-md);text-align:center;font-size:.9rem;font-weight:600}.override-validity .expired{color:var(--color-error);background:rgba(var(--color-error-rgb),.1)}.override-validity .valid{color:var(--color-success)}.override-card-actions{display:flex;gap:.75rem;margin-top:auto}.override-editor .readonly-field{padding:.75rem;background:var(--background-tertiary);border-radius:var(--radius-lg);font-weight:500;color:var(--text-main)}.addons-selection{display:flex;flex-direction:column;gap:.75rem}.addon-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--background-secondary);border-radius:var(--radius-lg);border:2px solid transparent;transition:all .2s ease}.addon-item:hover{background:var(--brand-surface-light);border-color:rgba(var(--brand-rgb),.2)}.addon-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.addon-item label{margin:0;cursor:pointer;font-size:.95rem;color:var(--text-main)}@media(max-width:768px){.pricing-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem}.stats-grid,.plans-grid,.products-grid,.overrides-grid,.form-row{grid-template-columns:1fr}}.modal-overlay{z-index:100000}.platform-admin{padding:2rem;max-width:1400px;margin:0 auto}.platform-header{margin-bottom:2rem}.platform-header h1{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.platform-header p{color:var(--text-muted);font-size:1rem}.error-banner{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);color:#ff3b30;padding:1rem;border-radius:8px;margin-bottom:1rem}.platform-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border-secondary)}.platform-tabs .tab{padding:1rem 2rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;position:relative}.platform-tabs .tab:hover,.platform-tabs .tab.active{color:var(--brand-primary)}.platform-tabs .tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--brand-primary)}.platform-stats{animation:fadeIn .3s ease}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-value{font-size:3rem;font-weight:700;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{color:var(--text-muted);font-size:.9rem}.stat-value-small{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:.5rem}.level-stats{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:var(--text-muted)}.companies-overview{padding:1.5rem}.companies-overview h3{margin-bottom:1rem}.platform-companies{animation:fadeIn .3s ease}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.company-card{padding:1.5rem;transition:all .3s ease}.platform-users{animation:fadeIn .3s ease}.platform-users h2{margin-bottom:1.5rem}.data-table .clickable-row{transition:all .2s ease}.data-table .clickable-row:hover{background:#e07b391a;transform:scale(1.005);cursor:pointer}.data-table .clickable-row:active{transform:scale(1.002)}.user-metadata{margin-top:20px;padding:15px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px}.user-metadata p{margin:0 0 5px;font-size:.9em;color:var(--text-muted)}.user-metadata p:last-child{margin-bottom:0}.modal .form-group{margin-bottom:1rem}.modal .form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.modal .form-group input,.modal .form-group select{width:100%;padding:10px 14px;background:var(--background-input);border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.modal .form-group input:focus,.modal .form-group select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #e07b3933}.modal .form-group input:disabled{opacity:.7;cursor:not-allowed}.modal .form-group small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.85em}.modal-footer-split{display:flex;gap:10px;justify-content:space-between;align-items:center}.modal-footer-left,.modal-footer-right{display:flex;gap:10px}.modal-footer-left{flex:1}.modal-footer-left button,.modal-footer-right button{min-width:120px}@media(max-width:768px){.platform-admin{padding:1rem}.stats-grid,.companies-grid{grid-template-columns:1fr}.platform-tabs{overflow-x:auto}.section-header{flex-direction:column;gap:1rem;align-items:stretch}}.config-tabs{display:flex;gap:.5rem;padding:0 1.5rem;border-bottom:1px solid var(--border-secondary);margin-bottom:1rem;overflow-x:auto}.config-tab{padding:.75rem 1rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.config-tab:hover{color:var(--text-primary)}.config-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.config-section{padding:.5rem}.config-section h3{margin-bottom:1rem;font-size:1.1rem;color:var(--text-primary)}.config-section h4{margin:1.5rem 0 .75rem;font-size:.95rem;color:var(--text-secondary)}.config-section .hint{color:var(--text-muted);font-size:.85rem;margin-bottom:1rem}.plan-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize}.plan-badge.plan-trial{background:#34c75926;color:#34c759}.plan-badge.plan-starter{background:#5ac8fa26;color:#5ac8fa}.plan-badge.plan-professional{background:#e07b3926;color:var(--brand-primary)}.plan-badge.plan-enterprise{background:#af52de26;color:#af52de}.plan-badge.plan-custom{background:#ffd60a26;color:#ffd60a}.current-usage{font-weight:400;color:var(--text-muted);font-size:.85rem;margin-left:.5rem}.module-group{margin-bottom:1.5rem;padding:1rem;background:#ffffff05;border-radius:8px;border:1px solid var(--border-secondary)}.module-group h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-primary)}.module-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.module-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff08;border-radius:6px;cursor:pointer;transition:all .2s ease}.module-toggle:hover{background:#ffffff0f}.module-toggle.enabled{background:#34c7591a;border:1px solid rgba(52,199,89,.3)}.module-toggle.locked{opacity:.7;cursor:not-allowed}.module-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-primary)}.module-toggle .toggle-label{font-size:.85rem;color:var(--text-secondary);flex:1}.module-toggle .locked-badge{font-size:.7rem;padding:.15rem .4rem;background:#ffffff1a;border-radius:4px;color:var(--text-muted)}.api-key-result{text-align:center}.api-key-result p{margin-bottom:1rem}.generated-key{display:block;padding:1rem;background:#0000004d;border-radius:6px;font-size:.85rem;word-break:break-all;margin-bottom:1rem;color:#34c759}.checkbox-group{display:flex;gap:1rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.subscription-info{background:#ffffff08;border-radius:8px;padding:1rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-secondary)}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.status-trial{background:#34c75926;color:#34c759}.status-badge.status-active{background:#5ac8fa26;color:#5ac8fa}.status-badge.status-suspended,.status-badge.status-cancelled{background:#ff3b3026;color:#ff3b30}.status-badge.status-past_due{background:#ff950026;color:#ff9500}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.usage-item{background:#ffffff08;padding:1rem;border-radius:8px;text-align:center}.usage-label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.usage-value{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.success-banner{background:#34c7591a;border:1px solid rgba(52,199,89,.3);color:#34c759;padding:1rem;border-radius:8px;margin:0 1.5rem 1rem}.btn-small{padding:.35rem .75rem;font-size:.8rem}.company-config-modal .modal-body{padding:0 1.5rem 1.5rem}.main-layout{display:flex;width:100vw;height:100vh;background-color:var(--background-body);overflow:hidden}.main-content{margin-left:220px;flex:1;height:100vh;overflow-y:auto;overflow-x:hidden;background-color:var(--background-body)}.main-content::-webkit-scrollbar{width:10px}.main-content::-webkit-scrollbar-track{background:var(--background-tertiary);border-radius:10px}.main-content::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:10px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--brand-primary)}@media(max-width:768px){.main-content{margin-left:200px}}@media(max-width:640px){.main-content{margin-left:0;width:100%}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}}.fullscreen-pdf-analyzer{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--background-body);z-index:9999;display:flex;flex-direction:column;overflow:hidden}.fullscreen-header{background:var(--background-primary);border-bottom:2px solid var(--module-color-ncs);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px var(--shadow-color-heavy);flex-shrink:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-left h1{margin:0 0 4px;font-size:1.5rem;font-weight:600;color:var(--module-color-ncs)}.header-left p{margin:0;font-size:.9rem;color:var(--text-muted)}.header-actions{display:flex;gap:16px;align-items:center}.zone-counter{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:linear-gradient(135deg,var(--badge-status-complete-fg) 0%,#16a34a 100%);border-radius:8px;min-width:80px;box-shadow:0 2px 8px #22c55e4d}.zone-count{font-size:1.8rem;font-weight:700;color:#fff;line-height:1;margin-bottom:2px}.zone-label{font-size:.75rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.btn-analyze,.btn-back{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-analyze{background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;box-shadow:0 4px 12px #e07b3966;min-width:180px}.btn-analyze:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #e07b3999}.btn-analyze:disabled{background:var(--color-secondary-bg);cursor:not-allowed;box-shadow:none}.btn-back{background:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border);box-shadow:0 2px 8px var(--shadow-color-heavy)}.btn-back:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy)}.btn-back:disabled{opacity:.5;cursor:not-allowed}.fullscreen-error{background:linear-gradient(135deg,var(--badge-status-retard-fg) 0%,#dc2626 100%);color:#fff;padding:12px 24px;text-align:center;font-weight:600;box-shadow:0 2px 8px #ef444466;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.fullscreen-pdf-container{flex:1;overflow:hidden;background:var(--background-body);display:flex;justify-content:center;align-items:center;padding:24px}.fullscreen-pdf-container .pdf-viewer-container{width:100%;height:100%;max-width:none;max-height:none}.fullscreen-pdf-container .pdf-page-wrapper{height:calc(100vh - 200px)}.fullscreen-instructions{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--background-primary);padding:12px 24px;border-radius:8px;border:1px solid var(--module-color-ncs);color:var(--text-primary);font-size:.9rem;box-shadow:0 4px 12px var(--shadow-color-heavy);z-index:10;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-analyze:disabled{animation:pulse 1.5s ease-in-out infinite}@media(max-width:768px){.fullscreen-header{flex-direction:column;gap:12px;padding:12px 16px}.header-actions{width:100%;justify-content:space-between}.btn-analyze,.btn-back{padding:10px 16px;font-size:.9rem}.btn-analyze{min-width:140px}.zone-counter{min-width:60px;padding:6px 12px}.zone-count{font-size:1.4rem}.fullscreen-pdf-container{padding:12px}}.status-options{display:flex;flex-direction:column;gap:10px;margin:20px 0}.radio-option{display:flex;align-items:center;gap:10px}.mobile-view{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--background-color, #f5f5f5);z-index:9999;overflow:hidden;display:flex;flex-direction:column}.mobile-header{background:var(--primary-color, #2196F3);color:#fff;padding:12px 16px;box-shadow:0 2px 8px #00000026;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.mobile-close-btn{background:#fff3;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.mobile-close-btn:hover{background:#ffffff4d}.mobile-close-btn:active{transform:scale(.95)}.mobile-title{font-size:18px;font-weight:600;margin:0}.mobile-content{flex:1;display:flex;overflow:hidden}.mobile-dimensions-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 8px 12px 12px;-webkit-overflow-scrolling:touch}.mobile-dimension-card{background:var(--card-background, white);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px #00000014}.mobile-card-header{display:flex;align-items:baseline;gap:6px;margin-bottom:10px;font-size:16px;flex-wrap:wrap}.mobile-row-number{color:var(--primary-color, #2196F3);font-weight:700;font-size:18px;min-width:32px}.mobile-dimension-symbol{color:var(--accent-color, #FF9800);font-size:18px;font-weight:600}.mobile-dimension-value{color:var(--text-color, #333);font-weight:600;font-size:16px;word-break:break-word}.mobile-tolerances{display:flex;gap:12px;padding:8px;background:var(--background-light, #f9f9f9);border-radius:4px;margin-bottom:10px;font-size:13px;flex-wrap:wrap}.mobile-tolerance-min{color:#f44336;font-weight:600}.mobile-tolerance-center{color:var(--text-secondary, #666);font-weight:500}.mobile-tolerance-max{color:#4caf50;font-weight:600}.mobile-input-row{display:flex;gap:8px;align-items:center}.mobile-measurement-input{flex:1;font-size:20px;padding:12px;border:2px solid var(--border-color, #ddd);border-radius:6px;text-align:center;background:var(--input-background, white);color:var(--text-color, #333);min-height:48px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-measurement-input:focus{outline:none;border-color:var(--primary-color, #2196F3);box-shadow:0 0 0 3px #2196f31a}.mobile-status-badge{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;transition:all .3s}.mobile-status-badge.status-empty{background:#e0e0e0}.mobile-status-badge.status-ok{background:#c8e6c9}.mobile-status-badge.status-nok{background:#ffcdd2}.mobile-surface-finish,.mobile-gdt-frame{margin-top:8px;padding:6px 10px;background:var(--info-background, #E3F2FD);border-radius:4px;font-size:12px;color:var(--info-text, #1976D2)}.mobile-piece-selector{width:60px;background:var(--sidebar-background, #fafafa);border-left:1px solid var(--border-color, #e0e0e0);overflow-y:auto;overflow-x:hidden;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;box-shadow:-2px 0 8px #0000000d}.mobile-piece-label{font-size:11px;font-weight:600;color:var(--text-secondary, #666);text-align:center;margin-bottom:4px;writing-mode:horizontal-tb}.mobile-piece-btn{width:44px;height:44px;border:2px solid var(--border-color, #ddd);border-radius:8px;background:#fff;color:var(--text-color, #333);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;min-height:44px;min-width:44px}.mobile-piece-btn:hover{background:var(--hover-background, #f0f0f0);border-color:var(--primary-color, #2196F3)}.mobile-piece-btn.active{background:var(--primary-color, #2196F3);color:#fff;border-color:var(--primary-color, #2196F3);transform:scale(1.1);box-shadow:0 2px 8px #2196f34d}.mobile-piece-btn:active{transform:scale(.95)}@media(prefers-color-scheme:dark){.mobile-view{background:#121212}.mobile-dimension-card{background:#1e1e1e;border-color:#333;color:#fff}.mobile-card-header,.mobile-dimension-value{color:#fff}.mobile-tolerances{background:#2c2c2c}.mobile-measurement-input{background:#2c2c2c;color:#fff;border-color:#404040}.mobile-piece-selector{background:#1e1e1e;border-left-color:#333}.mobile-piece-btn{background:#2c2c2c;color:#fff;border-color:#404040}.mobile-piece-btn:hover{background:#383838}.mobile-status-badge.status-empty{background:#424242}}*{-webkit-tap-highlight-color:transparent}.mobile-view input,.mobile-view button{touch-action:manipulation}.mobile-dimensions-list{scroll-behavior:smooth}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-dimension-card{animation:slideIn .2s ease-out}@media(max-width:360px){.mobile-piece-selector{width:50px}.mobile-piece-btn{width:38px;height:38px;font-size:14px}.mobile-measurement-input{font-size:18px;padding:10px}.mobile-status-badge{width:42px;height:42px;font-size:20px}}@media(min-width:768px){.mobile-dimensions-list{padding:20px}.mobile-dimension-card{max-width:600px;margin-left:auto;margin-right:auto}.mobile-piece-selector{width:80px}.mobile-piece-btn{width:56px;height:56px;font-size:18px}}:root{--ast-piloter: #5a7a9e;--ast-piloter-light: #8aa4c0;--ast-piloter-dark: #456080;--ast-piloter-rgb: 90, 122, 158;--ast-reagir: #b55a5a;--ast-reagir-light: #d4918f;--ast-reagir-dark: #8b4545;--ast-reagir-rgb: 181, 90, 90;--ast-anticiper: #c88b4a;--ast-anticiper-light: #e2b07a;--ast-anticiper-dark: #a06e35;--ast-anticiper-rgb: 200, 139, 74;--ast-ameliorer: #5a8f5a;--ast-ameliorer-light: #8ab88a;--ast-ameliorer-dark: #456e45;--ast-ameliorer-rgb: 90, 143, 90;--ast-maitrise: #5a9e9e;--ast-maitrise-light: #8ac8c8;--ast-maitrise-dark: #4a8e8e;--ast-maitrise-rgb: 90, 158, 158;--ast-primary: var(--ast-maitrise);--ast-primary-light: var(--ast-maitrise-light);--ast-primary-dark: var(--ast-maitrise-dark);--ast-success: var(--ast-ameliorer);--ast-success-light: var(--ast-ameliorer-light);--ast-success-dark: var(--ast-ameliorer-dark);--ast-warning: var(--ast-anticiper);--ast-warning-light: var(--ast-anticiper-light);--ast-warning-dark: var(--ast-anticiper-dark);--ast-danger: var(--ast-reagir);--ast-danger-light: var(--ast-reagir-light);--ast-danger-dark: var(--ast-reagir-dark);--ast-info: var(--ast-piloter);--ast-info-light: var(--ast-piloter-light);--ast-info-dark: var(--ast-piloter-dark);--ast-bg-primary: #ffffff;--ast-bg-secondary: #f8f9fa;--ast-bg-tertiary: #f1f3f5;--ast-bg-inverse: #1a1a2e;--ast-text-primary: #2d3748;--ast-text-secondary: #4a5568;--ast-text-muted: #718096;--ast-text-inverse: #f7fafc;--ast-border-primary: #e2e8f0;--ast-border-secondary: #cbd5e0;--ast-border-focus: var(--ast-maitrise);--ast-space-0: 0;--ast-space-1: 4px;--ast-space-2: 8px;--ast-space-3: 12px;--ast-space-4: 16px;--ast-space-5: 20px;--ast-space-6: 24px;--ast-space-8: 32px;--ast-space-10: 40px;--ast-space-12: 48px;--ast-space-16: 64px;--ast-space-20: 80px;--ast-space-24: 96px;--ast-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--ast-font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--ast-text-xs: .75rem;--ast-text-sm: .8125rem;--ast-text-base: .875rem;--ast-text-lg: 1rem;--ast-text-xl: 1.125rem;--ast-text-2xl: 1.25rem;--ast-text-3xl: 1.5rem;--ast-font-normal: 400;--ast-font-medium: 500;--ast-font-semibold: 600;--ast-font-bold: 700;--ast-leading-tight: 1.25;--ast-leading-normal: 1.5;--ast-leading-relaxed: 1.75;--ast-radius-none: 0;--ast-radius-sm: 3px;--ast-radius-md: 4px;--ast-radius-lg: 6px;--ast-radius-xl: 8px;--ast-radius-2xl: 12px;--ast-radius-3xl: 16px;--ast-radius-full: 9999px;--ast-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--ast-shadow-md: 0 2px 4px rgba(0, 0, 0, .08);--ast-shadow-lg: 0 4px 8px rgba(0, 0, 0, .12);--ast-shadow-xl: 0 8px 16px rgba(0, 0, 0, .15);--ast-shadow-focus: 0 0 0 3px rgba(var(--ast-maitrise-rgb), .2);--ast-transition-fast: .15s ease;--ast-transition-normal: .25s ease;--ast-transition-slow: .35s ease;--ast-z-dropdown: 100;--ast-z-sticky: 200;--ast-z-fixed: 300;--ast-z-modal-backdrop: 400;--ast-z-modal: 500;--ast-z-popover: 600;--ast-z-tooltip: 700}[data-theme=dark],.ast-dark{--ast-bg-primary: #1a1a2e;--ast-bg-secondary: #16213e;--ast-bg-tertiary: #0f3460;--ast-bg-inverse: #ffffff;--ast-text-primary: #f7fafc;--ast-text-secondary: #e2e8f0;--ast-text-muted: #a0aec0;--ast-text-inverse: #2d3748;--ast-border-primary: #2d3748;--ast-border-secondary: #4a5568}.ast-reset,.ast-reset *{box-sizing:border-box;margin:0;padding:0}.ast-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ast-space-2);padding:var(--ast-space-2) var(--ast-space-4);font-family:var(--ast-font-family);font-size:var(--ast-text-sm);font-weight:var(--ast-font-medium);line-height:var(--ast-leading-normal);text-decoration:none;border-radius:var(--ast-radius-lg);border:1px solid transparent;cursor:pointer;transition:all var(--ast-transition-fast);white-space:nowrap}.ast-btn:focus{outline:none;box-shadow:var(--ast-shadow-focus)}.ast-btn:disabled{opacity:.5;cursor:not-allowed}.ast-btn-primary{background:var(--ast-primary);color:#fff}.ast-btn-primary:hover:not(:disabled){background:var(--ast-primary-dark)}.ast-btn-secondary{background:var(--ast-bg-secondary);color:var(--ast-text-primary);border-color:var(--ast-border-primary)}.ast-btn-secondary:hover:not(:disabled){background:var(--ast-bg-tertiary)}.ast-btn-danger{background:var(--ast-danger);color:#fff}.ast-btn-danger:hover:not(:disabled){background:var(--ast-danger-dark)}.ast-btn-success{background:var(--ast-success);color:#fff}.ast-btn-success:hover:not(:disabled){background:var(--ast-success-dark)}.ast-btn-warning{background:var(--ast-warning);color:#fff}.ast-btn-warning:hover:not(:disabled){background:var(--ast-warning-dark)}.ast-btn-ghost{background:transparent;color:var(--ast-text-secondary)}.ast-btn-ghost:hover:not(:disabled){background:var(--ast-bg-secondary)}.ast-btn-link{background:transparent;color:var(--ast-primary);padding:0;border:none}.ast-btn-link:hover:not(:disabled){color:var(--ast-primary-dark);text-decoration:underline}.ast-btn-xs{padding:var(--ast-space-1) var(--ast-space-2);font-size:var(--ast-text-xs)}.ast-btn-sm{padding:var(--ast-space-1) var(--ast-space-3);font-size:var(--ast-text-xs)}.ast-btn-lg{padding:var(--ast-space-3) var(--ast-space-6);font-size:var(--ast-text-base)}.ast-btn-xl{padding:var(--ast-space-4) var(--ast-space-8);font-size:var(--ast-text-lg)}.ast-btn-icon{padding:var(--ast-space-2);aspect-ratio:1}.ast-btn-block{width:100%}.ast-input{width:100%;padding:var(--ast-space-2) var(--ast-space-3);font-family:var(--ast-font-family);font-size:var(--ast-text-sm);line-height:var(--ast-leading-normal);color:var(--ast-text-primary);background:var(--ast-bg-primary);border:1px solid var(--ast-border-primary);border-radius:var(--ast-radius-lg);transition:all var(--ast-transition-fast)}.ast-input::-moz-placeholder{color:var(--ast-text-muted)}.ast-input::placeholder{color:var(--ast-text-muted)}.ast-input:focus{outline:none;border-color:var(--ast-border-focus);box-shadow:var(--ast-shadow-focus)}.ast-input:disabled{background:var(--ast-bg-secondary);cursor:not-allowed;opacity:.7}.ast-input-error{border-color:var(--ast-danger)}.ast-input-error:focus{box-shadow:0 0 0 3px rgba(var(--ast-reagir-rgb),.2)}.ast-input-success{border-color:var(--ast-success)}.ast-input-sm{padding:var(--ast-space-1) var(--ast-space-2);font-size:var(--ast-text-xs)}.ast-input-lg{padding:var(--ast-space-3) var(--ast-space-4);font-size:var(--ast-text-base)}.ast-textarea{min-height:100px;resize:vertical}.ast-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23718096'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--ast-space-3) center;background-size:16px;padding-right:var(--ast-space-10)}.ast-form-group{display:flex;flex-direction:column;gap:var(--ast-space-1);margin-bottom:var(--ast-space-4)}.ast-label{font-size:var(--ast-text-sm);font-weight:var(--ast-font-medium);color:var(--ast-text-primary)}.ast-label-required:after{content:" *";color:var(--ast-danger)}.ast-help-text{font-size:var(--ast-text-xs);color:var(--ast-text-muted)}.ast-error-text{font-size:var(--ast-text-xs);color:var(--ast-danger)}.ast-card{background:var(--ast-bg-primary);border:1px solid var(--ast-border-primary);border-radius:var(--ast-radius-xl);box-shadow:var(--ast-shadow-sm);overflow:hidden}.ast-card-header{padding:var(--ast-space-4);border-bottom:1px solid var(--ast-border-primary)}.ast-card-title{font-size:var(--ast-text-lg);font-weight:var(--ast-font-semibold);color:var(--ast-text-primary);margin:0}.ast-card-subtitle{font-size:var(--ast-text-sm);color:var(--ast-text-muted);margin-top:var(--ast-space-1)}.ast-card-body{padding:var(--ast-space-4)}.ast-card-footer{padding:var(--ast-space-4);border-top:1px solid var(--ast-border-primary);background:var(--ast-bg-secondary)}.ast-card-flat{box-shadow:none}.ast-card-elevated{box-shadow:var(--ast-shadow-lg)}.ast-card-interactive{cursor:pointer;transition:all var(--ast-transition-fast)}.ast-card-interactive:hover{box-shadow:var(--ast-shadow-md);transform:translateY(-2px)}.ast-badge{display:inline-flex;align-items:center;gap:var(--ast-space-1);padding:var(--ast-space-1) var(--ast-space-2);font-size:var(--ast-text-xs);font-weight:var(--ast-font-medium);line-height:1;border-radius:var(--ast-radius-full)}.ast-badge-piloter{background:var(--ast-piloter-light);color:var(--ast-piloter-dark)}.ast-badge-reagir{background:var(--ast-reagir-light);color:var(--ast-reagir-dark)}.ast-badge-anticiper{background:var(--ast-anticiper-light);color:var(--ast-anticiper-dark)}.ast-badge-ameliorer{background:var(--ast-ameliorer-light);color:var(--ast-ameliorer-dark)}.ast-badge-maitrise{background:var(--ast-maitrise-light);color:var(--ast-maitrise-dark)}.ast-badge-primary{background:var(--ast-primary-light);color:var(--ast-primary-dark)}.ast-badge-success{background:var(--ast-success-light);color:var(--ast-success-dark)}.ast-badge-warning{background:var(--ast-warning-light);color:var(--ast-warning-dark)}.ast-badge-danger{background:var(--ast-danger-light);color:var(--ast-danger-dark)}.ast-badge-info{background:var(--ast-info-light);color:var(--ast-info-dark)}.ast-badge-neutral{background:var(--ast-bg-tertiary);color:var(--ast-text-secondary)}.ast-badge-outline{background:transparent;border:1px solid currentColor}.ast-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--ast-z-modal-backdrop);padding:var(--ast-space-4)}.ast-modal{position:relative;background:var(--ast-bg-primary);border-radius:var(--ast-radius-2xl);box-shadow:var(--ast-shadow-xl);max-width:90vw;max-height:90vh;display:flex;flex-direction:column;z-index:var(--ast-z-modal)}.ast-modal-sm{width:400px}.ast-modal-md{width:500px}.ast-modal-lg{width:700px}.ast-modal-xl{width:900px}.ast-modal-full{width:100%;height:100%;max-width:100vw;max-height:100vh;border-radius:0}.ast-modal-header{padding:var(--ast-space-4);border-bottom:1px solid var(--ast-border-primary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ast-modal-title{font-size:var(--ast-text-lg);font-weight:var(--ast-font-semibold);color:var(--ast-text-primary);margin:0}.ast-modal-close{background:transparent;border:none;cursor:pointer;padding:var(--ast-space-1);color:var(--ast-text-muted);border-radius:var(--ast-radius-md);transition:all var(--ast-transition-fast)}.ast-modal-close:hover{background:var(--ast-bg-secondary);color:var(--ast-text-primary)}.ast-modal-body{padding:var(--ast-space-4);overflow-y:auto;flex:1}.ast-modal-footer{padding:var(--ast-space-4);border-top:1px solid var(--ast-border-primary);display:flex;justify-content:flex-end;gap:var(--ast-space-2);flex-shrink:0}.ast-alert{padding:var(--ast-space-3) var(--ast-space-4);border-radius:var(--ast-radius-lg);border:1px solid transparent;display:flex;align-items:flex-start;gap:var(--ast-space-3)}.ast-alert-icon{flex-shrink:0;width:20px;height:20px}.ast-alert-content{flex:1}.ast-alert-title{font-weight:var(--ast-font-semibold);margin-bottom:var(--ast-space-1)}.ast-alert-info{background:rgba(var(--ast-piloter-rgb),.1);border-color:var(--ast-info-light);color:var(--ast-info-dark)}.ast-alert-success{background:rgba(var(--ast-ameliorer-rgb),.1);border-color:var(--ast-success-light);color:var(--ast-success-dark)}.ast-alert-warning{background:rgba(var(--ast-anticiper-rgb),.1);border-color:var(--ast-warning-light);color:var(--ast-warning-dark)}.ast-alert-danger{background:rgba(var(--ast-reagir-rgb),.1);border-color:var(--ast-danger-light);color:var(--ast-danger-dark)}.ast-table{width:100%;border-collapse:collapse;font-size:var(--ast-text-sm)}.ast-table th,.ast-table td{padding:var(--ast-space-3) var(--ast-space-4);text-align:left;border-bottom:1px solid var(--ast-border-primary)}.ast-table th{font-weight:var(--ast-font-semibold);color:var(--ast-text-secondary);background:var(--ast-bg-secondary)}.ast-table tbody tr:hover{background:var(--ast-bg-secondary)}.ast-table-striped tbody tr:nth-child(2n){background:var(--ast-bg-secondary)}.ast-table-compact th,.ast-table-compact td{padding:var(--ast-space-2) var(--ast-space-3)}.ast-dropdown{position:relative;display:inline-block}.ast-dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--ast-bg-primary);border:1px solid var(--ast-border-primary);border-radius:var(--ast-radius-lg);box-shadow:var(--ast-shadow-lg);z-index:var(--ast-z-dropdown);padding:var(--ast-space-1) 0;margin-top:var(--ast-space-1)}.ast-dropdown-item{display:block;width:100%;padding:var(--ast-space-2) var(--ast-space-4);font-size:var(--ast-text-sm);color:var(--ast-text-primary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background var(--ast-transition-fast)}.ast-dropdown-item:hover{background:var(--ast-bg-secondary)}.ast-dropdown-divider{height:1px;background:var(--ast-border-primary);margin:var(--ast-space-1) 0}.ast-tooltip{position:relative}.ast-tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:var(--ast-space-1) var(--ast-space-2);background:var(--ast-bg-inverse);color:var(--ast-text-inverse);font-size:var(--ast-text-xs);border-radius:var(--ast-radius-md);white-space:nowrap;z-index:var(--ast-z-tooltip);margin-bottom:var(--ast-space-1);opacity:0;visibility:hidden;transition:all var(--ast-transition-fast)}.ast-tooltip:hover .ast-tooltip-content{opacity:1;visibility:visible}.ast-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--ast-border-primary);border-top-color:var(--ast-primary);border-radius:50%;animation:ast-spin .8s linear infinite}.ast-spinner-sm{width:16px;height:16px;border-width:2px}.ast-spinner-lg{width:32px;height:32px;border-width:3px}.ast-spinner-xl{width:48px;height:48px;border-width:4px}@keyframes ast-spin{to{transform:rotate(360deg)}}.ast-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ast-radius-full);background:var(--ast-primary-light);color:var(--ast-primary-dark);font-weight:var(--ast-font-semibold);font-size:var(--ast-text-sm);overflow:hidden}.ast-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ast-avatar-xs{width:24px;height:24px;font-size:var(--ast-text-xs)}.ast-avatar-sm{width:32px;height:32px;font-size:var(--ast-text-xs)}.ast-avatar-lg{width:56px;height:56px;font-size:var(--ast-text-lg)}.ast-avatar-xl{width:80px;height:80px;font-size:var(--ast-text-2xl)}.ast-avatar-group{display:flex}.ast-avatar-group .ast-avatar{border:2px solid var(--ast-bg-primary);margin-left:-8px}.ast-avatar-group .ast-avatar:first-child{margin-left:0}.ast-hidden{display:none!important}.ast-block{display:block}.ast-inline{display:inline}.ast-inline-block{display:inline-block}.ast-flex{display:flex}.ast-inline-flex{display:inline-flex}.ast-grid{display:grid}.ast-flex-row{flex-direction:row}.ast-flex-col{flex-direction:column}.ast-flex-wrap{flex-wrap:wrap}.ast-flex-nowrap{flex-wrap:nowrap}.ast-items-start{align-items:flex-start}.ast-items-center{align-items:center}.ast-items-end{align-items:flex-end}.ast-items-stretch{align-items:stretch}.ast-justify-start{justify-content:flex-start}.ast-justify-center{justify-content:center}.ast-justify-end{justify-content:flex-end}.ast-justify-between{justify-content:space-between}.ast-justify-around{justify-content:space-around}.ast-flex-1{flex:1}.ast-flex-auto{flex:auto}.ast-flex-none{flex:none}.ast-shrink-0{flex-shrink:0}.ast-grow-0{flex-grow:0}.ast-gap-0{gap:0}.ast-gap-1{gap:var(--ast-space-1)}.ast-gap-2{gap:var(--ast-space-2)}.ast-gap-3{gap:var(--ast-space-3)}.ast-gap-4{gap:var(--ast-space-4)}.ast-gap-5{gap:var(--ast-space-5)}.ast-gap-6{gap:var(--ast-space-6)}.ast-gap-8{gap:var(--ast-space-8)}.ast-m-0{margin:0}.ast-m-1{margin:var(--ast-space-1)}.ast-m-2{margin:var(--ast-space-2)}.ast-m-3{margin:var(--ast-space-3)}.ast-m-4{margin:var(--ast-space-4)}.ast-m-auto{margin:auto}.ast-mx-auto{margin-left:auto;margin-right:auto}.ast-my-auto{margin-top:auto;margin-bottom:auto}.ast-mt-0{margin-top:0}.ast-mt-1{margin-top:var(--ast-space-1)}.ast-mt-2{margin-top:var(--ast-space-2)}.ast-mt-3{margin-top:var(--ast-space-3)}.ast-mt-4{margin-top:var(--ast-space-4)}.ast-mt-6{margin-top:var(--ast-space-6)}.ast-mt-8{margin-top:var(--ast-space-8)}.ast-mb-0{margin-bottom:0}.ast-mb-1{margin-bottom:var(--ast-space-1)}.ast-mb-2{margin-bottom:var(--ast-space-2)}.ast-mb-3{margin-bottom:var(--ast-space-3)}.ast-mb-4{margin-bottom:var(--ast-space-4)}.ast-mb-6{margin-bottom:var(--ast-space-6)}.ast-mb-8{margin-bottom:var(--ast-space-8)}.ast-ml-0{margin-left:0}.ast-ml-1{margin-left:var(--ast-space-1)}.ast-ml-2{margin-left:var(--ast-space-2)}.ast-ml-3{margin-left:var(--ast-space-3)}.ast-ml-4{margin-left:var(--ast-space-4)}.ast-ml-auto{margin-left:auto}.ast-mr-0{margin-right:0}.ast-mr-1{margin-right:var(--ast-space-1)}.ast-mr-2{margin-right:var(--ast-space-2)}.ast-mr-3{margin-right:var(--ast-space-3)}.ast-mr-4{margin-right:var(--ast-space-4)}.ast-mr-auto{margin-right:auto}.ast-p-0{padding:0}.ast-p-1{padding:var(--ast-space-1)}.ast-p-2{padding:var(--ast-space-2)}.ast-p-3{padding:var(--ast-space-3)}.ast-p-4{padding:var(--ast-space-4)}.ast-p-6{padding:var(--ast-space-6)}.ast-p-8{padding:var(--ast-space-8)}.ast-px-0{padding-left:0;padding-right:0}.ast-px-2{padding-left:var(--ast-space-2);padding-right:var(--ast-space-2)}.ast-px-4{padding-left:var(--ast-space-4);padding-right:var(--ast-space-4)}.ast-px-6{padding-left:var(--ast-space-6);padding-right:var(--ast-space-6)}.ast-py-0{padding-top:0;padding-bottom:0}.ast-py-2{padding-top:var(--ast-space-2);padding-bottom:var(--ast-space-2)}.ast-py-4{padding-top:var(--ast-space-4);padding-bottom:var(--ast-space-4)}.ast-py-6{padding-top:var(--ast-space-6);padding-bottom:var(--ast-space-6)}.ast-pt-0{padding-top:0}.ast-pt-4{padding-top:var(--ast-space-4)}.ast-pb-0{padding-bottom:0}.ast-pb-4{padding-bottom:var(--ast-space-4)}.ast-pl-0{padding-left:0}.ast-pl-4{padding-left:var(--ast-space-4)}.ast-pr-0{padding-right:0}.ast-pr-4{padding-right:var(--ast-space-4)}.ast-w-full{width:100%}.ast-w-auto{width:auto}.ast-w-screen{width:100vw}.ast-min-w-0{min-width:0}.ast-max-w-full{max-width:100%}.ast-max-w-screen{max-width:100vw}.ast-h-full{height:100%}.ast-h-auto{height:auto}.ast-h-screen{height:100vh}.ast-min-h-0{min-height:0}.ast-min-h-screen{min-height:100vh}.ast-text-xs{font-size:var(--ast-text-xs)}.ast-text-sm{font-size:var(--ast-text-sm)}.ast-text-base{font-size:var(--ast-text-base)}.ast-text-lg{font-size:var(--ast-text-lg)}.ast-text-xl{font-size:var(--ast-text-xl)}.ast-text-2xl{font-size:var(--ast-text-2xl)}.ast-text-3xl{font-size:var(--ast-text-3xl)}.ast-font-normal{font-weight:var(--ast-font-normal)}.ast-font-medium{font-weight:var(--ast-font-medium)}.ast-font-semibold{font-weight:var(--ast-font-semibold)}.ast-font-bold{font-weight:var(--ast-font-bold)}.ast-text-left{text-align:left}.ast-text-center{text-align:center}.ast-text-right{text-align:right}.ast-uppercase{text-transform:uppercase}.ast-lowercase{text-transform:lowercase}.ast-capitalize{text-transform:capitalize}.ast-normal-case{text-transform:none}.ast-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ast-line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ast-line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ast-text-primary{color:var(--ast-text-primary)}.ast-text-secondary{color:var(--ast-text-secondary)}.ast-text-muted{color:var(--ast-text-muted)}.ast-text-inverse{color:var(--ast-text-inverse)}.ast-text-piloter{color:var(--ast-piloter)}.ast-text-reagir{color:var(--ast-reagir)}.ast-text-anticiper{color:var(--ast-anticiper)}.ast-text-ameliorer{color:var(--ast-ameliorer)}.ast-text-maitrise{color:var(--ast-maitrise)}.ast-text-success{color:var(--ast-success)}.ast-text-warning{color:var(--ast-warning)}.ast-text-danger{color:var(--ast-danger)}.ast-text-info{color:var(--ast-info)}.ast-bg-primary{background-color:var(--ast-bg-primary)}.ast-bg-secondary{background-color:var(--ast-bg-secondary)}.ast-bg-tertiary{background-color:var(--ast-bg-tertiary)}.ast-bg-inverse{background-color:var(--ast-bg-inverse)}.ast-bg-transparent{background-color:transparent}.ast-bg-piloter{background-color:var(--ast-piloter)}.ast-bg-reagir{background-color:var(--ast-reagir)}.ast-bg-anticiper{background-color:var(--ast-anticiper)}.ast-bg-ameliorer{background-color:var(--ast-ameliorer)}.ast-bg-maitrise{background-color:var(--ast-maitrise)}.ast-border{border:1px solid var(--ast-border-primary)}.ast-border-0{border:none}.ast-border-t{border-top:1px solid var(--ast-border-primary)}.ast-border-b{border-bottom:1px solid var(--ast-border-primary)}.ast-border-l{border-left:1px solid var(--ast-border-primary)}.ast-border-r{border-right:1px solid var(--ast-border-primary)}.ast-rounded-none{border-radius:0}.ast-rounded-sm{border-radius:var(--ast-radius-sm)}.ast-rounded{border-radius:var(--ast-radius-md)}.ast-rounded-lg{border-radius:var(--ast-radius-lg)}.ast-rounded-xl{border-radius:var(--ast-radius-xl)}.ast-rounded-2xl{border-radius:var(--ast-radius-2xl)}.ast-rounded-full{border-radius:var(--ast-radius-full)}.ast-shadow-none{box-shadow:none}.ast-shadow-sm{box-shadow:var(--ast-shadow-sm)}.ast-shadow{box-shadow:var(--ast-shadow-md)}.ast-shadow-lg{box-shadow:var(--ast-shadow-lg)}.ast-shadow-xl{box-shadow:var(--ast-shadow-xl)}.ast-overflow-auto{overflow:auto}.ast-overflow-hidden{overflow:hidden}.ast-overflow-scroll{overflow:scroll}.ast-overflow-visible{overflow:visible}.ast-overflow-x-auto{overflow-x:auto}.ast-overflow-y-auto{overflow-y:auto}.ast-relative{position:relative}.ast-absolute{position:absolute}.ast-fixed{position:fixed}.ast-sticky{position:sticky}.ast-inset-0{top:0;right:0;bottom:0;left:0}.ast-top-0{top:0}.ast-right-0{right:0}.ast-bottom-0{bottom:0}.ast-left-0{left:0}.ast-z-0{z-index:0}.ast-z-10{z-index:10}.ast-z-20{z-index:20}.ast-z-50{z-index:50}.ast-z-dropdown{z-index:var(--ast-z-dropdown)}.ast-z-modal{z-index:var(--ast-z-modal)}.ast-cursor-pointer{cursor:pointer}.ast-cursor-default{cursor:default}.ast-cursor-not-allowed{cursor:not-allowed}.ast-cursor-grab{cursor:grab}.ast-cursor-grabbing{cursor:grabbing}.ast-pointer-events-none{pointer-events:none}.ast-pointer-events-auto{pointer-events:auto}.ast-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ast-select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.ast-select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.ast-opacity-0{opacity:0}.ast-opacity-25{opacity:.25}.ast-opacity-50{opacity:.5}.ast-opacity-75{opacity:.75}.ast-opacity-100{opacity:1}.ast-transition{transition:all var(--ast-transition-normal)}.ast-transition-fast{transition:all var(--ast-transition-fast)}.ast-transition-slow{transition:all var(--ast-transition-slow)}.ast-transition-none{transition:none}@media(min-width:640px){.sm\:ast-hidden{display:none!important}.sm\:ast-block{display:block}.sm\:ast-flex{display:flex}.sm\:ast-grid{display:grid}}@media(min-width:768px){.md\:ast-hidden{display:none!important}.md\:ast-block{display:block}.md\:ast-flex{display:flex}.md\:ast-grid{display:grid}.md\:ast-flex-row{flex-direction:row}}@media(min-width:1024px){.lg\:ast-hidden{display:none!important}.lg\:ast-block{display:block}.lg\:ast-flex{display:flex}.lg\:ast-grid{display:grid}}@media(min-width:1280px){.xl\:ast-hidden{display:none!important}.xl\:ast-block{display:block}.xl\:ast-flex{display:flex}.xl\:ast-grid{display:grid}}.ast-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--brand-primary: #5a7a9e;--brand-hover: #456080;--brand-rgb: 90, 122, 158;--brand-surface-light: #e8eff5;--brand-surface-dark: rgba(90, 122, 158, .15);--module-color: #5a7a9e;--module-color-light: #8aa4c0;--module-color-dark: #456080;--module-color-rgb: 90, 122, 158;--module-color-bg: rgba(90, 122, 158, .1);--color-ai: #d97706;--color-ai-rgb: 217, 119, 6;--color-error: #b55a5a;--color-error-rgb: 181, 90, 90;--color-warning: #c8a03c;--color-warning-rgb: 200, 160, 60;--color-success: #5a8f5a;--color-success-rgb: 90, 143, 90;--color-success-hover: #456e45;--color-info: #6090b0;--color-info-rgb: 96, 144, 176;--color-danger: #b55a5a;--color-danger-light: #e8d4d4;--color-danger-dark: #8b4545;--color-success-light: #d4e5d4;--color-success-dark: #456e45;--color-warning-light: #f5edd0;--color-warning-dark: #9a8030;--color-info-light: #a0c0d8;--color-info-dark: #486880;--bg-body: #f0f2f5;--bg-surface: #ffffff;--bg-sidebar: #1a2030;--bg-input: #ffffff;--background-body: #f0f2f5;--border-color: #dee2e6;--text-main: #212529;--text-primary: #212529;--text-secondary: #495057;--text-muted: #6c757d;--text-dim: #adb5bd;--text-inverse: #ffffff;--text-inverted: #ffffff;--text-placeholder: #adb5bd;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-glow: 0 0 20px rgba(90, 122, 158, .15);--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-full: 9999px;--badge-status-complete-bg: #d1e7dd;--badge-status-complete-fg: #0f5132;--badge-status-complete-border: #badbcc;--badge-status-encours-bg: #d8e8f0;--badge-status-encours-fg: #3a5a70;--badge-status-encours-border: #c0d8e8;--badge-status-retard-bg: #f8d7da;--badge-status-retard-fg: #842029;--badge-status-retard-border: #f5c2c7;--badge-status-afaire-bg: #e2e3e5;--badge-status-afaire-fg: #41464b;--badge-status-afaire-border: #d3d6d8;--badge-risk-faible-bg: #d1e7dd;--badge-risk-faible-fg: #0f5132;--badge-risk-faible-border: #badbcc;--badge-risk-moyen-bg: #fff3cd;--badge-risk-moyen-fg: #664d03;--badge-risk-moyen-border: #ffecb5;--badge-risk-eleve-bg: #ffe5d0;--badge-risk-eleve-fg: #984c0c;--badge-risk-eleve-border: #fecba1;--badge-risk-critique-bg: #f8d7da;--badge-risk-critique-fg: #842029;--badge-risk-critique-border: #f5c2c7;--color-save-bg: #d4edda;--color-save-fg: #155724;--color-save-border: #c3e6cb;--color-create-bg: #d4e5f0;--color-create-fg: #3a5a70;--color-create-border: #b8d0e0;--color-reset-bg: #f8d7da;--color-reset-fg: #721c24;--color-reset-border: #f5c6cb;--color-secondary-bg: #e2e3e5;--color-secondary-fg: #383d41;--color-secondary-border: #d6d8db;--color-nav-btn-fg: #495057;--color-nav-btn-hover-bg: rgba(90, 122, 158, .1);--color-link: #5a7a9e;--color-link-hover: #456080;--background-primary: rgba(255, 255, 255, .95);--background-secondary: rgba(248, 249, 250, .9);--background-tertiary: rgba(233, 236, 239, .8);--background-navbar: rgba(255, 255, 255, .85);--background-input: #ffffff;--background-input-focus: #ffffff;--background-dropdown: #ffffff;--background-card: rgba(255, 255, 255, .95);--background-card-solid: #ffffff;--background-hover: rgba(0, 0, 0, .03);--border-primary: rgba(0, 0, 0, .1);--border-secondary: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .04);--border-focus: var(--module-color);--border-left-accent: var(--module-color);--shadow-color: rgba(0, 0, 0, .08);--shadow-color-heavy: rgba(90, 122, 158, .15);--glass-blur: 16px;--glass-blur-strong: 20px;--modal-bg: rgba(255, 255, 255, .95);--modal-overlay-bg: rgba(0, 0, 0, .5);--modal-blur: 12px;--font-family-sans: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "Consolas", "Menlo", "Monaco", monospace;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--color-piloter: #5a7a9e;--color-maitrise: #5a9e9e;--color-ameliorer: #5a8f5a;--color-anticiper: #c88b4a;--color-reagir: #b55a5a;--color-ameliorer-light: rgba(90, 143, 90, .1);--color-reagir-light: rgba(181, 90, 90, .1);--color-piloter-light: rgba(90, 122, 158, .1);--navbar-height: 60px;--sidebar-width: 250px;--sidebar-width-collapsed: 60px;--z-header: 100;--z-dropdown: 200;--z-modal: 900;--z-toast: 1000}body.theme-dark{--bg-body: #10141a;--bg-surface: #1e2632;--bg-sidebar: #0d1117;--bg-input: rgba(42, 52, 70, .4);--background-body: #10141a;--border-color: rgba(255, 255, 255, .1);--text-main: #e0e0e0;--text-primary: #e0e0e0;--text-secondary: #bdbdbd;--text-muted: #9e9e9e;--text-dim: #6c757d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(90, 122, 158, .2);--background-primary: rgba(30, 38, 50, .6);--background-secondary: rgba(36, 45, 60, .5);--background-tertiary: rgba(42, 52, 70, .4);--background-navbar: rgba(26, 32, 44, .75);--background-input: rgba(42, 52, 70, .4);--background-input-focus: rgba(42, 52, 70, .6);--background-dropdown: rgba(30, 38, 50, .95);--background-card: rgba(30, 38, 50, .6);--background-card-solid: #1e2632;--background-hover: rgba(255, 255, 255, .05);--border-primary: rgba(255, 255, 255, .1);--border-secondary: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .04);--border-focus: var(--module-color);--border-left-accent: var(--module-color);--shadow-color: rgba(0, 0, 0, .5);--shadow-color-heavy: rgba(0, 0, 0, .7);--modal-bg: rgba(30, 38, 50, .95);--modal-overlay-bg: rgba(0, 0, 0, .8);--badge-status-complete-bg: rgba(15, 81, 50, .3);--badge-status-complete-fg: #8ab88a;--badge-status-complete-border: rgba(90, 143, 90, .4);--badge-status-encours-bg: rgba(58, 90, 112, .3);--badge-status-encours-fg: #8aa4c0;--badge-status-encours-border: rgba(90, 122, 158, .4);--badge-status-retard-bg: rgba(132, 32, 41, .3);--badge-status-retard-fg: #d4918f;--badge-status-retard-border: rgba(181, 90, 90, .4);--badge-status-afaire-bg: rgba(255, 255, 255, .1);--badge-status-afaire-fg: #9e9e9e;--badge-status-afaire-border: rgba(255, 255, 255, .15);--badge-risk-faible-bg: rgba(15, 81, 50, .3);--badge-risk-faible-fg: #8ab88a;--badge-risk-faible-border: rgba(90, 143, 90, .4);--badge-risk-moyen-bg: rgba(102, 77, 3, .3);--badge-risk-moyen-fg: #e2c06a;--badge-risk-moyen-border: rgba(200, 160, 60, .4);--badge-risk-eleve-bg: rgba(152, 76, 12, .3);--badge-risk-eleve-fg: #e2b07a;--badge-risk-eleve-border: rgba(200, 139, 74, .4);--badge-risk-critique-bg: rgba(132, 32, 41, .3);--badge-risk-critique-fg: #d4918f;--badge-risk-critique-border: rgba(181, 90, 90, .4);--color-save-bg: rgba(21, 87, 36, .3);--color-save-fg: #8ab88a;--color-save-border: rgba(90, 143, 90, .5);--color-create-bg: rgba(58, 90, 112, .3);--color-create-fg: #8aa4c0;--color-create-border: rgba(90, 122, 158, .5);--color-reset-bg: rgba(114, 28, 36, .3);--color-reset-fg: #d4918f;--color-reset-border: rgba(181, 90, 90, .5);--color-secondary-bg: rgba(255, 255, 255, .1);--color-secondary-fg: #bdbdbd;--color-secondary-border: rgba(255, 255, 255, .15);--color-nav-btn-fg: #bdbdbd;--color-nav-btn-hover-bg: rgba(90, 122, 158, .15);--color-link: #8aa4c0;--color-link-hover: #a0b8d0;--scrollbar-track: rgba(0, 0, 0, .2);--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .25)}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{isolation:isolate}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;line-height:1.3;color:var(--text-main);margin:0}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.5px}h2{font-size:1.125rem;font-weight:600}h3{font-size:1rem;font-weight:600}h4{font-size:.95rem;font-weight:600}h5{font-size:.875rem;font-weight:600}h6{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}p{margin:0 0 1rem;font-size:.875rem;color:var(--text-main)}small{font-size:.75rem;font-weight:500;color:var(--text-muted)}strong{font-weight:600}em{font-style:italic}code,pre{font-family:Roboto Mono,monospace;font-size:13px}code{background:var(--background-secondary);padding:2px 6px;border-radius:var(--radius-sm);color:var(--text-main)}pre{background:var(--background-secondary);padding:1rem;border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--border-color)}pre code{background:none;padding:0}.font-mono{font-family:Roboto Mono,monospace;font-size:13px}.text-ai{color:var(--color-ai)}.bg-ai-subtle{background-color:#d977061a}.border-ai{border-color:var(--color-ai)}.text-primary{color:var(--brand-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.text-muted{color:var(--text-muted)}body{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;background-color:var(--bg-body);color:var(--text-main);transition:background-color .3s ease,color .3s ease;margin:0}body.theme-light,body.theme-dark{background-image:none}#root{padding:0;margin:0;min-height:100vh}.container{margin:20px auto;padding:0 20px;max-width:1400px}a{color:var(--color-link);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-link-hover);text-decoration:underline}a:focus{outline:2px solid var(--border-focus);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}select{background:var(--background-input);color:var(--text-primary);border-color:var(--border-primary)}select option{background:var(--background-dropdown);color:var(--text-primary)}body.theme-dark select{background:var(--background-input);color:var(--text-primary);border-color:var(--border-primary)}body.theme-dark select option,body.theme-light select option{background:var(--background-dropdown);color:var(--text-primary)}input:disabled,select:disabled,textarea:disabled{background:#ffffff05;border-color:#ffffff0d;color:var(--text-secondary);cursor:not-allowed;opacity:.6}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem}.glass-panel{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);box-shadow:0 4px 15px var(--shadow-color-heavy);border-radius:8px}.glass-panel-light{background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);box-shadow:0 4px 20px var(--shadow-color-heavy);border-radius:8px}.glass-navbar{background:var(--background-navbar);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-secondary);box-shadow:0 2px 15px var(--shadow-color-heavy)}.glass-card{background:var(--background-secondary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-primary);border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px var(--shadow-color);transition:all .3s ease}.glass-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--shadow-color-heavy)}.glass-input{background:var(--background-input);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-primary);border-radius:8px;padding:.75rem;color:var(--text-main);transition:all .2s ease}.glass-input:focus{background:var(--background-input-focus);border-color:var(--border-focus);outline:none}.glass-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));z-index:1000}.blur-sm{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.blur-lg{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.blur-xl{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.glass-border{border:1px solid var(--border-primary)}.glass-shadow{box-shadow:0 4px 15px var(--shadow-color-heavy)}.glass-rounded{border-radius:8px}.btn{position:relative;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);font-family:var(--font-family-sans);cursor:pointer;transition:all var(--transition-normal);border:1px solid var(--border-color);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--bg-surface);color:var(--text-main);box-shadow:var(--shadow-sm);overflow:hidden}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(to bottom,var(--module-color),var(--module-color-dark));color:var(--text-inverse);border-color:var(--module-color-dark)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000004d;opacity:.9}.btn-secondary{background:var(--background-secondary);border:1px solid var(--border-primary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--background-tertiary);border-color:var(--module-color)}.btn-ghost{background:transparent;border:none;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){color:var(--module-color);background:var(--module-color-bg)}.btn-success{background:linear-gradient(to bottom,var(--color-success),var(--color-success-dark));color:var(--text-inverse);border-color:var(--color-success-dark)}.btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000004d;opacity:.9}.btn-warning{background:linear-gradient(to bottom,var(--color-warning),var(--color-warning-dark));color:var(--text-inverse);border-color:var(--color-warning-dark)}.btn-warning:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000004d;opacity:.9}.btn-danger{background:linear-gradient(to bottom,var(--color-danger),var(--color-danger-dark));color:var(--text-inverse);border-color:var(--color-danger-dark)}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000004d;opacity:.9}.btn-info{background:linear-gradient(to bottom,var(--color-info),var(--color-info-dark));color:var(--text-inverse);border-color:var(--color-info-dark)}.btn-info:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000004d;opacity:.9}.btn-ai{background:linear-gradient(to bottom,var(--color-ai),#b45309);color:var(--text-inverse);border-color:#b45309}.btn-ai:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000004d;opacity:.9}.btn-save{background:var(--color-save-bg);color:var(--color-save-fg);border-color:var(--color-save-border)}.btn-create{background:var(--color-create-bg);color:var(--color-create-fg);border-color:var(--color-create-border)}.btn-reset{background:var(--color-reset-bg);color:var(--color-reset-fg);border-color:var(--color-reset-border)}.btn-glossy{background:#ffffff0d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-primary);color:var(--text-main);padding:10px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.btn-glossy:hover{background:#4973441a;border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-glossy:active{transform:translateY(0)}.btn-glossy:disabled{opacity:.5;cursor:not-allowed}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:all .2s ease;color:var(--text-main)}.btn-icon:hover{background:var(--brand-surface-dark);color:var(--brand-primary)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-addon{padding:10px 16px;background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-addon:hover{background:var(--background-secondary);border-color:var(--brand-primary)}.btn-sm{padding:6px 12px;font-size:.75rem}.btn-lg{padding:12px 24px;font-size:1rem}.btn-block{width:100%;display:block}.btn-outline{background:transparent;border:2px solid currentColor}.btn-outline:hover{background:currentColor;color:var(--text-inverse)}.btn-outline-primary{background:transparent;border:1px solid var(--module-color);color:var(--module-color)}.btn-outline-primary:hover:not(:disabled){background:var(--module-color);color:var(--text-inverse)}.btn-primary:before,.btn-success:before,.btn-danger:before,.btn-warning:before,.btn-info:before,.btn-ai:before{content:"";position:absolute;top:1px;left:1px;right:1px;height:50%;border-radius:var(--radius-sm);background:linear-gradient(to bottom,#ffffff80,#ffffff1a);pointer-events:none}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;margin:0 3px;border:1px solid;letter-spacing:.3px;font-family:Inter,sans-serif;text-align:center}.badge-basic{background:#64d2ff33;color:#64d2ff;border-color:#64d2ff}.badge-premium{background:#bf5af233;color:#bf5af2;border-color:#bf5af2}.badge-enterprise{background:#ffd60a33;color:#ffd60a;border-color:#ffd60a}.badge-super-admin,.role-badge.super-admin{background:var(--brand-primary);color:var(--text-inverse);border-color:var(--brand-primary)}.badge-admin,.role-badge.admin{background:rgba(var(--brand-rgb),.2);color:var(--brand-primary);border-color:var(--brand-primary)}.badge-operator,.role-badge.operator{background:#64748b33;color:var(--text-muted);border-color:var(--border-secondary)}.role-badge{display:inline-block;padding:.375rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.level-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;display:inline-block;cursor:default;transition:all .2s ease}.level-badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.level-badge.level-1{background:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border:1px solid var(--badge-status-afaire-border)}.level-badge.level-2{background:rgba(var(--brand-rgb),.2);color:var(--brand-primary);border:1px solid rgba(var(--brand-rgb),.4)}.level-badge.level-3{background:linear-gradient(135deg,#14b8a633,#0d948833);color:#14b8a6;border:1px solid rgba(20,184,166,.4)}.level-badge.level-4{background:rgba(var(--brand-rgb),.3);color:var(--brand-primary);border:1px solid rgba(var(--brand-rgb),.5)}.level-badge.level-5{background:linear-gradient(135deg,#d977064d,#b453094d);color:var(--color-ai);border:1px solid rgba(217,119,6,.5);font-weight:700}.level-badge.level-6{background:#ff375f33;color:#ff375f;border:1px solid rgba(255,55,95,.4)}.badge-risk-faible{background:var(--badge-risk-faible-bg);color:var(--badge-risk-faible-fg);border-color:var(--badge-risk-faible-border)}.badge-risk-moyen{background:var(--badge-risk-moyen-bg);color:var(--badge-risk-moyen-fg);border-color:var(--badge-risk-moyen-border)}.badge-risk-eleve{background:var(--badge-risk-eleve-bg);color:var(--badge-risk-eleve-fg);border-color:var(--badge-risk-eleve-border)}.badge-risk-critique{background:var(--badge-risk-critique-bg);color:var(--badge-risk-critique-fg);border-color:var(--badge-risk-critique-border)}.badge-status-complete,.status-badge.status-valide,.status-badge.status-termine,.status-badge.status-fini,.status-badge.status-completed,.status-badge.complete,.status-active{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border-color:var(--badge-status-complete-border)}.badge-status-encours,.status-badge.status-en_cours,.status-badge.status-draft,.status-badge.encours,.report-status.status-in_progress,.report-status.status-draft{background:var(--badge-status-encours-bg);color:var(--badge-status-encours-fg);border-color:var(--badge-status-encours-border)}.badge-status-retard,.status-badge.retard{background:var(--badge-status-retard-bg);color:var(--badge-status-retard-fg);border-color:var(--badge-status-retard-border)}.badge-status-afaire,.status-badge.status-vierge,.status-badge.afaire{background:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border-color:var(--badge-status-afaire-border)}.status-inactive,.badge-inactive{background:var(--badge-status-retard-bg);color:var(--badge-status-retard-fg);border-color:var(--badge-status-retard-border)}.status-badge.status-finalise,.status-badge.status-finalized{background:rgba(var(--brand-rgb),.15);color:var(--brand-primary);border-color:rgba(var(--brand-rgb),.3)}.report-status{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.65rem;font-weight:600;text-align:center;text-transform:uppercase}.report-status.status-termine,.report-status.status-completed{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border:1px solid var(--badge-status-complete-border)}.report-status.status-revision{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.initials-badge,.user-initials-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--brand-primary);color:#fff;font-weight:700;font-size:.85rem;box-shadow:0 2px 6px rgba(var(--brand-rgb),.3)}.unread-badge-action{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;font-size:.75rem;font-weight:700;padding:4px 8px;border-radius:12px;min-width:24px;text-align:center;box-shadow:0 2px 4px rgba(var(--brand-rgb),.4);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.badge-ai{background:#d977061a;color:var(--color-ai);border-color:#d9770633}.badge-active{background:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border-color:var(--badge-status-complete-border)}.badge-sm{padding:.125rem .5rem;font-size:.75rem}.badge-lg{padding:.375rem 1rem;font-size:1rem}body.theme-dark .status-badge.status-vierge,body.theme-dark .status-badge-wrapper.status-vierge{background-color:#ffa726!important;color:#000!important;border-color:#ffcc80!important;font-weight:700}body.theme-dark .status-badge.status-en_cours,body.theme-dark .status-badge.status-draft,body.theme-dark .status-badge-wrapper.status-en_cours{background-color:#0288d1!important;color:#fff!important;border-color:#4fc3f7!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}body.theme-dark .status-badge.status-valide,body.theme-dark .status-badge-wrapper.status-valide{background-color:#4caf50!important;color:#fff!important;border-color:#81c784!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 0 10px #4caf5080}body.theme-dark .status-badge.status-termine,body.theme-dark .status-badge.status-fini,body.theme-dark .status-badge.status-completed,body.theme-dark .status-badge-wrapper.status-termine{background-color:#2e7d32!important;color:#fff!important;border-color:#66bb6a!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}body.theme-light .badge-status-encours,body.theme-light .status-badge.status-en_cours,body.theme-light .status-badge-wrapper.status-en_cours{background-color:#0288d1!important;color:#fff!important;border-color:#4fc3f7!important}body.theme-light .badge-status-complete,body.theme-light .badge-status-termine,body.theme-light .status-badge.status-termine,body.theme-light .status-badge.status-fini,body.theme-light .status-badge.status-completed,body.theme-light .status-badge-wrapper.status-termine{background-color:#2e7d32!important;color:#fff!important;border-color:#66bb6a!important}.card{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);padding:20px;transition:all .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-color-heavy)}.dashboard-card{background:var(--background-primary);border-radius:var(--radius-lg);padding:8px;box-shadow:0 2px 8px var(--shadow-color-heavy),inset 0 1px #ffffff0d;transition:all .2s ease;cursor:default;position:relative;overflow:hidden;border:1px solid var(--border-primary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.dashboard-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--brand-primary));opacity:.8}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy);border-color:var(--brand-primary)}.dashboard-card.card-primary{color:var(--brand-primary);cursor:pointer}.dashboard-card.card-primary:hover{background:var(--background-secondary)}.dashboard-card.card-success{color:var(--badge-status-complete-fg)}.dashboard-card.card-warning{color:var(--badge-status-encours-fg)}.dashboard-card.card-info{color:var(--color-info);cursor:pointer}.dashboard-card.card-info:hover{background:var(--background-secondary)}.card-icon{font-size:1.2rem;margin-bottom:2px;opacity:.9}.card-content h3{margin:0 0 2px;font-size:.5rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.card-value{margin:0 0 4px;font-size:1.2rem;font-weight:700;color:var(--text-main);line-height:1}.card-description{margin:0;font-size:.6rem;color:var(--text-muted)}.card-action{margin-top:2px;font-size:.6rem;font-weight:600;color:currentColor;display:flex;align-items:center;gap:4px;opacity:.9}.stat-card{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:12px;text-align:center;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color-heavy);border-color:var(--brand-primary)}.stat-card .stat-label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.stat-card .stat-value,.stat-value{display:block;font-size:1.6rem;font-weight:700;color:var(--brand-primary)}.stat-value-small{font-size:1.2rem;font-weight:700;color:var(--brand-primary);margin-top:.5rem}.stat-mini{text-align:center;padding:1rem}.stat-item{text-align:center;padding:12px;background:var(--background-primary);border-radius:var(--radius-md);border:1px solid var(--border-primary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.stat-item .stat-value{font-size:1.5rem;font-weight:700;color:var(--brand-primary);margin-bottom:4px}.stat-item .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.module-card{background:var(--background-primary);border-radius:var(--radius-lg);padding:15px;box-shadow:var(--shadow-md);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid var(--border-primary)}.module-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-color-heavy)}.module-card .module-title{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:4px}.foreman-card{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:12px;box-shadow:0 2px 8px var(--shadow-color-heavy);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;overflow:hidden}.foreman-card h3{font-size:.9rem;font-weight:600;color:var(--text-main);margin:0 0 8px;display:flex;align-items:center;gap:6px;flex-shrink:0}.company-card{padding:1.5rem;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all .3s ease}.company-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.company-card.inactive{opacity:.6}.company-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.company-header h3{font-size:1.2rem}.company-info{margin-bottom:1rem;color:var(--text-muted)}.company-info p{margin:.5rem 0}.company-actions{display:flex;gap:.5rem}.company-actions button{flex:1;padding:.75rem;font-size:.9rem}.card-title,.dashboard-card-title{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-secondary)}.glass-panel{background:var(--background-primary);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);box-shadow:var(--shadow-md);border-radius:var(--radius-lg)}.activity-empty{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;box-shadow:0 2px 8px var(--shadow-color-heavy),inset 0 1px #ffffff0d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4;filter:grayscale(100%)}.activity-empty p{margin:0 0 16px;font-size:.9rem;color:var(--text-muted)}.card.inactive,.dashboard-card.inactive{opacity:.6}.error-banner{background:rgba(var(--color-error),.1);border:1px solid var(--color-error);color:var(--color-error);padding:1rem;border-radius:var(--radius-lg);margin-bottom:1rem}.table,.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm);background:var(--background-secondary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-primary)}.table th,.table td,.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;color:var(--text-primary);vertical-align:middle}.table tbody tr,.data-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background-color var(--transition-fast)}.table tbody tr:last-child,.data-table tbody tr:last-child{border-bottom:none}.table thead,.data-table thead{background:var(--background-tertiary)}.table th,.data-table th{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-primary);white-space:nowrap}.table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table th.sortable:hover{background-color:var(--background-secondary)}.table th.sortable:after{content:" ↕";opacity:.3}.table th.sortable.asc:after{content:" ↑";opacity:1}.table th.sortable.desc:after{content:" ↓";opacity:1}.table th.sorted{color:var(--module-color)}.table tbody tr:hover,.data-table tbody tr:hover{background-color:var(--background-tertiary);cursor:pointer}.table tbody tr.clickable-row:hover,.data-table tbody tr.clickable-row:hover{background:rgba(var(--brand-rgb),.1);transform:scale(1.002)}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:rgba(var(--brand-rgb),.1)}.users-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-main);border-bottom:2px solid var(--border-secondary)}.users-table td{padding:1rem;border-bottom:1px solid var(--border-secondary);color:var(--text-main)}.users-table tbody tr{transition:background-color .2s ease}.users-table tbody tr:hover{background:rgba(var(--brand-rgb),.05)}.reports-table-container{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px var(--shadow-color-heavy),inset 0 1px #ffffff0d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.reports-table{width:100%;border-collapse:collapse;font-size:.85rem}.reports-table thead{background:var(--background-secondary);border-bottom:2px solid rgba(var(--brand-rgb),.5)}.reports-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-main);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;border-right:1px solid var(--border-secondary)}.reports-table th:last-child{border-right:none}.reports-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background-color .2s ease}.reports-table tbody tr:hover{background:rgba(var(--brand-rgb),.08);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(var(--brand-rgb),.2)}.reports-table tbody tr:last-child{border-bottom:none}.reports-table td{padding:12px 16px;color:var(--text-main);border-right:1px solid var(--border-secondary)}.reports-table td:last-child{border-right:none}.reports-table .bt-number,.table td.numeric,td.font-mono,.report-bt{font-family:Roboto Mono,monospace;font-size:13px;font-weight:600;color:var(--brand-primary)}.reports-table .date-cell,.date-cell{color:var(--text-muted);font-size:.8rem}.users-table-container{padding:1.5rem;overflow-x:auto}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.inactive-row{opacity:.5}.report-row{background:var(--background-primary)}.report-row:hover{background:var(--background-tertiary);opacity:1}.report-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;padding-right:4px;max-height:400px}.report-list::-webkit-scrollbar{width:6px}.report-list::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:3px}.report-list::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.report-list::-webkit-scrollbar-thumb:hover{background:var(--brand-primary)}.report-item{display:grid;grid-template-columns:2fr 2fr 1.5fr;gap:8px;padding:8px;background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-size:.8rem}.report-item:hover{transform:translate(4px);background:var(--background-tertiary);border-color:var(--brand-primary);box-shadow:0 2px 8px var(--shadow-color-heavy)}.report-item.report-active{background:linear-gradient(90deg,rgba(var(--brand-rgb),.1) 0%,var(--background-secondary) 100%);border-color:rgba(var(--brand-rgb),.3)}.report-item.report-active:hover{border-color:rgba(var(--brand-rgb),.6);background:linear-gradient(90deg,rgba(var(--brand-rgb),.15) 0%,var(--background-tertiary) 100%)}.report-operator{color:var(--text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-time{color:var(--text-muted);font-size:.7rem;text-align:right;font-family:Roboto Mono,monospace}.actions-cell{text-align:center;padding:8px!important}.reports-loading{padding:32px;text-align:center;color:var(--text-muted);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.no-reports{text-align:center;padding:16px;color:var(--text-muted);font-size:.8rem;font-style:italic}.admin-table-container{overflow-x:auto;max-height:50vh;overflow-y:auto;border-radius:6px;border:1px solid var(--border-primary);background:var(--background-primary)}.admin-table{width:100%;border-collapse:collapse;font-size:.75rem;table-layout:auto}.admin-table thead{position:sticky;top:0;background:var(--background-secondary);z-index:10}.admin-table th{padding:8px;text-align:left;font-weight:600;color:var(--text-primary);text-transform:uppercase;font-size:.7rem;letter-spacing:.3px;border-bottom:2px solid var(--brand-primary);white-space:nowrap;line-height:1.2}.admin-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background-color .2s ease;height:40px}.admin-table tbody tr:hover{background:rgba(var(--brand-rgb),.1)}.admin-table td{padding:6px 8px;color:var(--text-muted);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;line-height:1.2}.admin-table td strong{color:var(--text-primary);font-weight:600}.admin-table td:last-child{white-space:nowrap!important;min-width:120px;padding:4px 8px}.admin-table .actions-group{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;justify-content:flex-start}.admin-table .btn-action{padding:4px 8px;border:none;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:500;transition:all .2s ease;white-space:nowrap;line-height:1;display:inline-flex;align-items:center;gap:3px;height:24px}.admin-table .btn-action.btn-edit{background:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border:1px solid var(--badge-status-afaire-border)}.admin-table .btn-action.btn-edit:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-1px)}.admin-table .btn-action.btn-delete{background:linear-gradient(135deg,var(--color-error) 0%,#b91c1c 100%);color:#fff;border:none;box-shadow:0 2px 6px rgba(var(--color-error-rgb),.3)}.admin-table .btn-action.btn-delete:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(var(--color-error-rgb),.5)}.admin-table .btn-action.btn-warn{background:rgba(var(--color-warning-rgb),.2);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.3)}.admin-table .btn-action.btn-warn:hover:not(:disabled){background:rgba(var(--color-warning-rgb),.3);border-color:rgba(var(--color-warning-rgb),.5);transform:translateY(-1px)}.admin-table .btn-action:disabled{opacity:.3;cursor:not-allowed}.admin-table .initials-badge,.admin-table .user-initials-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);color:#fff;font-weight:700;font-size:.65rem;letter-spacing:.3px;flex-shrink:0;line-height:1}.admin-table .status-badge{padding:2px 8px;border-radius:8px;font-size:.65rem;font-weight:600;display:inline-block;text-transform:uppercase;letter-spacing:.2px;line-height:1.2;white-space:nowrap}.admin-table .status-badge.status-active,.admin-table .status-badge.active{background:rgba(var(--color-success-rgb),.2);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.3)}.admin-table .status-badge.status-inactive,.admin-table .status-badge.inactive{background:rgba(var(--color-error-rgb),.2);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.3)}.admin-table .role-badge,.admin-table .level-badge{padding:2px 8px;border-radius:8px;font-size:.65rem;font-weight:600;display:inline-block;letter-spacing:.2px;line-height:1.2;white-space:nowrap}.admin-table-empty{text-align:center;padding:32px;color:var(--text-muted);font-size:.9rem}@media(max-width:768px){.reports-table{font-size:.75rem}.reports-table th,.reports-table td{padding:8px 10px}.report-item{grid-template-columns:1fr;gap:6px}.admin-table{font-size:.75rem}.admin-table th,.admin-table td{padding:8px}.admin-table .actions-group{flex-direction:column;gap:4px}}.form-field{display:flex;flex-direction:column;margin-bottom:15px}.form-field label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;letter-spacing:.5px;font-family:Inter,sans-serif}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],textarea,select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:14px;transition:all .15s ease;background:var(--bg-input);color:var(--text-main);box-shadow:inset 0 1px 2px #00000012}textarea{min-height:80px;height:auto;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--module-color);background:var(--background-input-focus);box-shadow:0 0 0 3px rgba(var(--module-color-rgb),.15)}textarea[readOnly],input[readOnly],select[readOnly]{background:var(--background-tertiary);cursor:default;opacity:.7}input:disabled,select:disabled,textarea:disabled{background:#ffffff05;border-color:#ffffff0d;color:var(--text-muted);cursor:not-allowed;opacity:.6}body.theme-light input:disabled,body.theme-light select:disabled,body.theme-light textarea:disabled{background:#0000000d;border-color:#0000001a}.form-section{display:flex;flex-direction:column;background:var(--background-primary);border-radius:var(--radius-md);margin-bottom:var(--space-5);border:1px solid var(--border-primary);border-left:3px solid var(--module-color)}.form-header{padding:var(--space-4) var(--space-5);background:var(--background-secondary);border-bottom:1px solid var(--border-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-secondary);display:flex;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);padding:var(--space-4)}.form-grid .full-width{grid-column:1 / -1}.form-group{margin-bottom:1.5rem}.form-group input,.form-group select{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--text-main);font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--brand-primary);background:#ffffff14}body.theme-light .form-group input:focus,body.theme-light .form-group select:focus{border-color:var(--brand-primary)}.input-primary{border-color:var(--brand-primary)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #dc26261a}.input-success{border-color:var(--color-success)}.input-success:focus{box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select option{background:var(--background-dropdown);color:var(--text-main)}input[type=checkbox],input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--brand-primary)}.form-error{color:var(--color-error);font-size:.75rem;margin-top:4px;font-weight:500}.form-success{color:var(--color-success);font-size:.75rem;margin-top:4px;font-weight:500}.form-hint{color:var(--text-muted);font-size:.75rem;margin-top:4px}.input-group{display:flex;gap:0}.input-group input{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group button,.input-group .btn{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:none}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-blur));-webkit-backdrop-filter:blur(var(--modal-blur));display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-overlay.active{display:flex}.modal{width:90%;max-width:500px;background:var(--modal-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-color-heavy);padding:0;animation:slideUp .3s ease;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content{background:var(--background-primary);padding:0;border-radius:var(--radius-lg);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-secondary);background:var(--background-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0}.modal-header h2,.modal-title{font-size:1.5rem;margin:0;color:var(--text-main);font-weight:600;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close,.close{background:none;border:none;font-size:2rem;color:var(--text-muted);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.modal-close:hover,.close:hover{color:var(--brand-primary);transform:rotate(90deg)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-secondary);flex-shrink:0}.modal-footer button{flex:1}.modal .form-group,.modal-content .form-group{margin-bottom:1.5rem}.modal .form-group label,.modal-content .form-group label{display:block;margin-bottom:.5rem;color:var(--text-muted);font-weight:500;font-size:.9rem}.modal .form-group input,.modal .form-group select,.modal .form-group textarea,.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:.75rem;background:var(--background-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-main);font-size:1rem;transition:all .3s ease}.modal .form-group input:focus,.modal .form-group select:focus,.modal .form-group textarea:focus,.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.modal .form-group small,.modal-content .form-group small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.8rem}.modal .error-message,.modal-content .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.error-banner{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);color:#ff3b30;padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal{width:95%;max-width:none}.modal-header,.modal-body{padding:1rem}.modal-footer{padding:1rem;flex-direction:column}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.m-0{margin:0}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.w-full{width:100%}.h-full{height:100%}.w-auto{width:auto}.h-auto{height:auto}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-100{z-index:100}.z-1000{z-index:1000}.z-10000{z-index:10000}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-600:oklch(44.6% .03 256.802);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-4{margin-top:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-gray-600{color:var(--color-gray-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}*{box-sizing:border-box}html{font-size:16px}.navbar{background:var(--background-navbar);box-shadow:0 2px 15px var(--shadow-color-heavy);z-index:var(--z-header,100);border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);border-top:none;justify-content:space-between;align-items:center;padding:10px 30px;display:flex;position:sticky;top:0}.navbar-content{justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.navbar-brand{letter-spacing:.5px;color:var(--text-main);align-items:center;gap:8px;font-size:1.1rem;font-weight:500;display:flex}.navbar-brand img{height:40px}.navbar-menu{flex-grow:1;justify-content:center;align-items:center;gap:10px;display:flex}.navbar-user{align-items:center;gap:12px;display:flex}.user-name{color:var(--text-muted);font-size:.9rem}.nav-btn{border:1px solid var(--border-secondary);color:var(--color-nav-btn-fg);border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.3px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border-top-color:#ffffff4d;border-left-color:#ffffff4d;padding:6px 12px;font-size:.85rem;font-weight:400;transition:all .15s;box-shadow:0 2px 5px #0000000d}.nav-btn:hover{background:var(--color-nav-btn-hover-bg);border-color:var(--border-primary);color:var(--text-main)}.nav-btn.active{background:linear-gradient(to bottom,#5a8755,var(--brand-primary));color:#fff;text-shadow:0 -1px 1px #0000004d;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#3d6139;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a,0 2px 4px #0000004d}.nav-btn.active:before{content:"";pointer-events:none;background:linear-gradient(#ffffff80,#ffffff1a);border-radius:3px;height:50%;position:absolute;top:1px;left:1px;right:1px}.nav-btn.active:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.nav-item-container{position:relative}.dropdown-menu{background-color:var(--background-dropdown);border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-shadow:0 4px 12px var(--shadow-color-heavy);z-index:var(--z-dropdown,200);min-width:180px;margin-top:8px;padding:5px 0;animation:.15s ease-out fadeIn;display:none;position:absolute;top:100%;left:0}.dropdown-menu.active{display:block}.dropdown-item{text-align:left;width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;padding:8px 15px;font-size:.85rem;transition:background-color .15s;display:block}.dropdown-item:hover{background-color:var(--background-secondary)}.dropdown-item.active{background:linear-gradient(to bottom,var(--brand-surface-light),var(--brand-primary));color:var(--text-inverse);font-weight:500}.btn{cursor:pointer;border:1px solid var(--border-secondary);border-radius:var(--radius-md);letter-spacing:.2px;background-color:var(--background-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-main);border-top-color:#fff6;border-left-color:#fff6;padding:10px 16px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .15s;box-shadow:0 2px 5px #0000000d}.btn:hover:not(.btn-reset){opacity:1;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 5px #0000000d}.btn-primary{background-color:var(--brand-primary);color:var(--text-inverse);border-color:var(--brand-hover)}.btn-primary:hover{background-color:var(--brand-hover)}.btn-save{background-color:var(--color-save-bg);color:var(--color-save-fg);border-color:var(--color-save-border)}.btn-create{background-color:var(--color-create-bg);color:var(--color-create-fg);border-color:var(--color-create-border)}.btn-reset,.btn-danger{background:linear-gradient(to bottom,#f88,var(--color-error));color:#fff;text-shadow:0 -1px 1px #0000004d;border-color:#c82333;position:relative;box-shadow:0 2px 4px #0000004d}.btn-reset:before,.btn-danger:before{content:"";border-radius:var(--radius-sm);pointer-events:none;background:linear-gradient(#ffffff80,#ffffff1a);height:50%;position:absolute;top:1px;left:1px;right:1px}.btn-secondary{background-color:var(--color-secondary-bg);color:var(--color-secondary-fg);border-color:var(--color-secondary-border)}.btn-link{color:var(--color-link);cursor:pointer;box-shadow:none;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.btn-link:hover{color:var(--color-link-hover);box-shadow:none;transform:none}.btn-logout{background-color:var(--color-reset-bg);color:var(--color-reset-fg);border-color:var(--color-reset-border);padding:4px 10px;font-size:.8rem}.theme-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:16px;line-height:1;transition:background-color .2s,border-color .2s;display:flex}.theme-toggle-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-primary)}.badge{letter-spacing:.3px;border:1px solid;border-radius:99px;margin:0 3px;padding:2px 8px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;display:inline-block}.badge-risk-faible{background-color:var(--badge-risk-faible-bg);color:var(--badge-risk-faible-fg);border-color:var(--badge-risk-faible-border)}.badge-risk-moyen{background-color:var(--badge-risk-moyen-bg);color:var(--badge-risk-moyen-fg);border-color:var(--badge-risk-moyen-border)}.badge-risk-eleve{background-color:var(--badge-risk-eleve-bg);color:var(--badge-risk-eleve-fg);border-color:var(--badge-risk-eleve-border)}.badge-risk-critique{background-color:var(--badge-risk-critique-bg);color:var(--badge-risk-critique-fg);border-color:var(--badge-risk-critique-border)}.badge-status-complete,.status-badge.status-valide,.status-badge.status-termine,.status-badge.status-fini,.status-badge.status-completed{background-color:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border-color:var(--badge-status-complete-border)}.badge-status-encours,.status-badge.status-en_cours,.status-badge.status-draft{background-color:var(--badge-status-encours-bg);color:var(--badge-status-encours-fg);border-color:var(--badge-status-encours-border)}.badge-status-retard{background-color:var(--badge-status-retard-bg);color:var(--badge-status-retard-fg);border-color:var(--badge-status-retard-border)}.badge-status-afaire,.status-badge.status-vierge{background-color:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border-color:var(--badge-status-afaire-border)}.badge-ai{color:var(--color-ai);background:#d977061a;border:1px solid #d9770633}.data-table,table{border-collapse:collapse;background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;margin:15px 0;overflow:hidden}.data-table th,.data-table td,table th,table td{border-bottom:1px solid var(--border-primary);text-align:left;padding:12px 16px;font-size:.9rem}.data-table tbody tr:last-child td,table tbody tr:last-child td{border-bottom:none}.data-table th,table th{background-color:var(--bg-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align:left;padding:12px 16px;font-size:12px;font-weight:600}.data-table tbody tr:hover,table tbody tr:hover{background-color:var(--background-tertiary);cursor:pointer}.data-table td.numeric,td.font-mono{font-family:Roboto Mono,monospace;font-size:13px}.dashboard-card,.card{background:var(--background-primary);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-primary);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);padding:20px}.dashboard-card-title,.card-title{color:var(--text-main);border-bottom:1px solid var(--border-secondary);margin-bottom:15px;padding-bottom:10px;font-size:1.1rem;font-weight:600}.module-card{background:var(--background-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;border:1px solid var(--border-primary);flex-direction:column;padding:15px;transition:all .2s;display:flex;position:relative;overflow:hidden}.module-card:hover{box-shadow:0 8px 25px var(--shadow-color-heavy);transform:translateY(-4px)}.module-card .module-title{color:var(--text-main);margin-bottom:4px;font-size:1.1rem;font-weight:600}.filter-bar{background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);flex-wrap:wrap;align-items:flex-end;gap:15px;margin:20px 0;padding:15px;display:flex}.filter-group{flex-direction:column;flex-grow:1;min-width:150px;display:flex}.filter-group label{color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:600}.filter-group input,.filter-group select{border-radius:var(--radius-sm);padding:6px 8px;font-size:.9rem}.filter-bar .btn{flex-shrink:0;height:40px}.page-header{background:linear-gradient(to bottom,rgba(var(--brand-rgb),.85),rgba(var(--brand-rgb),.65));border:1px solid rgba(var(--brand-rgb),.9);color:var(--text-inverse);border-radius:var(--radius-md);text-align:center;text-shadow:0 1px 2px #0003;margin-bottom:25px;padding:12px 20px;transition:all .2s}.page-title{letter-spacing:.3px;margin-bottom:4px;font-size:1.1rem;font-weight:600}.page-subtitle{color:#ffffffe6;font-size:.85rem}.loading{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.spinner{border:4px solid var(--border-primary);border-top:4px solid var(--brand-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.action-buttons{text-align:center;flex-wrap:wrap;justify-content:center;gap:8px;margin:15px 0;display:flex}.no-data{text-align:center;color:var(--text-muted);padding:40px 20px;font-style:italic}.module-page{background:var(--background-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:15px;padding:20px;display:none}.module-page.active{animation:.3s fadeIn;display:block}.dashboard-layout{grid-template-columns:2fr 1fr;align-items:flex-start;gap:20px;display:grid}.dashboard-home{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.kpi-grid{grid-template-columns:repeat(8,1fr);gap:.25rem;margin:0;display:grid}.glass-panel{background:var(--background-primary);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-primary);box-shadow:var(--shadow-md);border-radius:var(--radius-lg)}.footer{background:var(--background-secondary);text-align:center;border-radius:var(--radius-md);color:var(--text-muted);border:1px solid var(--border-primary);margin-top:20px;padding:12px;font-size:.8rem}body.theme-dark .status-badge.status-vierge,body.theme-dark .status-badge-wrapper.status-vierge{font-weight:700;color:#000!important;background-color:#ffa726!important;border-color:#ffcc80!important}body.theme-dark .status-badge.status-en_cours,body.theme-dark .status-badge.status-draft,body.theme-dark .status-badge-wrapper.status-en_cours{text-shadow:0 1px 2px #00000080;font-weight:700;color:#fff!important;background-color:#0288d1!important;border-color:#4fc3f7!important}body.theme-dark .status-badge.status-valide,body.theme-dark .status-badge-wrapper.status-valide{text-shadow:0 1px 2px #00000080;font-weight:700;box-shadow:0 0 10px #4caf5080;color:#fff!important;background-color:#4caf50!important;border-color:#81c784!important}body.theme-dark .status-badge.status-termine,body.theme-dark .status-badge.status-fini,body.theme-dark .status-badge.status-completed,body.theme-dark .status-badge-wrapper.status-termine{text-shadow:0 1px 2px #00000080;font-weight:700;color:#fff!important;background-color:#2e7d32!important;border-color:#66bb6a!important}body.theme-light .badge-status-encours,body.theme-light .status-badge.status-en_cours,body.theme-light .status-badge-wrapper.status-en_cours{color:#fff!important;background-color:#0288d1!important;border-color:#4fc3f7!important}body.theme-light .badge-status-complete,body.theme-light .badge-status-termine,body.theme-light .status-badge.status-termine,body.theme-light .status-badge.status-fini,body.theme-light .status-badge.status-completed,body.theme-light .status-badge-wrapper.status-termine{color:#fff!important;background-color:#2e7d32!important;border-color:#66bb6a!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.app-grid{display:grid;grid-template-columns:65fr 35fr;gap:0;height:100vh;width:100vw;margin:0}@media(max-width:1200px){.app-grid{grid-template-columns:1fr}}.report-container,.report-main-panel,.ai-panel-container{background:var(--background-primary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.report-main-panel{zoom:.85}.ai-panel-container{padding:16px;border-right:none;border-left:1px solid var(--border-primary)}.ai-panel-header h2{margin-top:0;color:var(--module-color-actions);border-bottom:1px solid var(--border-secondary);padding-bottom:8px}.ai-panel-body{flex-grow:1;font-size:1.1rem;color:var(--text-primary)}.ai-panel-body ul{line-height:1.6}.header{background-color:var(--background-secondary);color:var(--text-primary);padding:3px 8px;display:flex;justify-content:space-between;align-items:flex-start;position:relative;min-height:80px;border-bottom:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-left{display:flex;flex-direction:column;z-index:2}.logo{display:flex;align-items:center}.logo-image-placeholder,.logo-image{width:140px;height:50px;-o-object-fit:contain;object-fit:contain}.logo-image-placeholder{background-color:var(--background-tertiary);border:2px dashed var(--border-secondary);border-radius:4px;display:flex;justify-content:center;align-items:center;color:var(--text-muted);font-weight:700;font-size:.9rem}.header-title-container{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;display:flex;align-items:center;gap:12px}.header-title{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.info-section-grid-final{display:grid;grid-template-columns:minmax(110px,auto) 1fr minmax(110px,auto) 1fr minmax(110px,auto) 1fr;gap:12px 16px;padding:20px;background-color:var(--background-secondary);border-radius:8px;margin-bottom:20px;align-items:center;border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.info-section-grid-final label{text-align:right;font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px}.info-section-grid-final input,.info-section-grid-final select{width:100%;padding:8px 10px;background-color:#fff;border:1px solid #cccccc;border-radius:6px;color:#000;font-size:.9rem;font-weight:500;transition:border-color .2s}.info-section-grid-final input:focus,.info-section-grid-final select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #0d6efd40}.table-container{padding:5px;overflow-x:hidden}.inspection-table{width:100%;border-collapse:collapse;font-size:.75rem;table-layout:fixed;background:var(--background-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.inspection-table th,.inspection-table td{border:1px solid var(--border-primary);padding:2px;text-align:center;min-width:30px;height:28px;word-wrap:break-word;color:var(--text-primary)}.inspection-table th{background-color:var(--background-tertiary);font-weight:700}.inspection-table tbody tr{cursor:pointer;background-color:var(--background-secondary)}.inspection-table tbody tr:hover{background-color:var(--background-tertiary)}.inspection-table tbody tr.selected-row{background-color:rgba(var(--module-color-actions-rgb),.2);outline:2px solid var(--module-color-actions)}.gdt-symbol-cell{display:flex;justify-content:center;align-items:center;height:24px}.gdt-symbol-cell svg{width:18px;height:18px}.symbol-select{width:100%;border:none;background-color:transparent;font-family:inherit;font-size:.85rem;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:var(--text-primary)}body.theme-dark .symbol-select{color:#fff;background-color:#1e232d80}body.theme-dark .symbol-select option{background-color:#1a1f2a;color:#fff}body.theme-light .symbol-select{color:#1c2a3a}body.theme-light .symbol-select option{background-color:#fff;color:#1c2a3a}.symbol-select:focus{outline:1px solid var(--border-focus);background-color:var(--background-tertiary)}.inspection-table .editable-cell{width:100%;border:none;background-color:transparent;font-family:inherit;font-size:inherit;box-sizing:border-box;padding:1px;color:var(--text-primary);text-align:center;resize:none;overflow:hidden;line-height:1.2;height:100%}.inspection-table .editable-cell:focus{outline:1px solid var(--border-focus);background-color:var(--background-tertiary)}.inspection-table td.keyboard-active{outline:3px solid var(--module-color-actions);outline-offset:-3px;background-color:rgba(var(--module-color-actions-rgb),.15);position:relative;z-index:10}.inspection-table td.keyboard-active.editing{outline:3px solid var(--module-color-success);background-color:rgba(var(--module-color-success-rgb),.15)}.inspection-table td.keyboard-active .editable-cell,.inspection-table td.keyboard-active .symbol-select{background-color:transparent}.inspection-table.keyboard-navigation-active{box-shadow:0 0 0 2px var(--module-color-actions)}.col-min{background-color:var(--min-color);color:var(--min-text-color)}.col-min .editable-cell{color:var(--min-text-color)}.col-min .editable-cell:focus{color:var(--text-primary)}.col-center{background-color:var(--center-color);color:var(--center-text-color);font-weight:700}.col-max{background-color:var(--max-color);color:var(--max-text-color)}.col-max .editable-cell{color:var(--max-text-color)}.col-max .editable-cell:focus{color:var(--text-primary)}.col-ok{font-weight:900;color:var(--badge-status-complete-fg);font-size:.9rem;vertical-align:middle}.col-nc{font-weight:900;color:var(--badge-status-retard-fg);font-size:.9rem;vertical-align:middle}.inspection-table .editable-cell.measurement-input{padding:1px;text-align:center}.inspection-table .editable-cell.invalid-measurement{background-color:var(--badge-risk-critique-bg);color:var(--badge-risk-critique-fg);font-weight:700}.gdt-symbol-font{font-family:"Ansi GD&T",ANSI GDT,GDT,Arial,sans-serif!important;font-size:.85em;line-height:1}.gdt-frame{display:flex;align-items:stretch;border:2px solid var(--border-primary);height:40px;background-color:var(--background-secondary);font-size:1rem;font-weight:700;color:var(--text-primary)}.gdt-frame-segment{display:flex;align-items:center;justify-content:center;padding:0 8px;border-left:2px solid var(--border-primary);white-space:nowrap;gap:4px}.gdt-frame-segment:first-child{border-left:none}.gdt-frame-segment svg{width:24px;height:24px;margin:0 4px}.gdt-frame-inline{display:inline-flex;align-items:stretch;border:1px solid var(--border-primary);height:18px;background-color:var(--background-secondary);color:var(--text-primary);font-size:.65rem;font-weight:700;vertical-align:middle;margin-right:3px;flex-shrink:0}.gdt-frame-inline .gdt-frame-segment{display:flex;align-items:center;justify-content:center;padding:0 2px;border-left:1px solid var(--border-primary);white-space:nowrap;gap:1px}.gdt-frame-inline .gdt-frame-segment:first-child{border-left:none}.gdt-frame-inline .gdt-frame-segment svg{width:12px;height:12px;margin:0 1px}.gdt-frame-inline .gdt-symbol-font{font-size:.9em}.dimension-cell-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%}.dimension-cell-content .editable-cell{flex-grow:1;min-width:50px;width:100%}.menubar{display:flex;align-items:center;background:var(--background-navbar);padding:0;border-bottom:2px solid var(--border-focus);width:auto;box-sizing:border-box;flex-shrink:0;min-height:36px;box-shadow:0 1px 4px var(--shadow-color-heavy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:100}.menubar-menus{display:flex;flex:1}.menubar-back-btn{background-color:var(--background-secondary);color:var(--text-primary);border:none;border-right:1px solid var(--border-primary);padding:0 20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.menubar-back-btn:hover{background-color:var(--background-tertiary);color:var(--border-focus)}.menu{position:relative}.menu-title{color:var(--text-primary);padding:10px 16px;display:block;cursor:pointer;font-size:.8rem;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.2px;transition:all .2s ease;border-bottom:2px solid transparent;background:none;border:none;font-family:inherit;width:100%;text-align:left}.menu:hover .menu-title,.menu.open .menu-title{background-color:var(--background-secondary);color:var(--border-focus);border-bottom-color:var(--border-focus)}.dropdown-content{display:none;position:absolute;background:var(--background-dropdown);min-width:200px;box-shadow:0 2px 12px var(--shadow-color-heavy);z-index:10;border:1px solid var(--border-primary);border-top:2px solid var(--border-focus);border-radius:0 0 4px 4px;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dropdown-item{color:var(--text-primary);padding:8px 12px;text-decoration:none;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;cursor:pointer;transition:all .15s ease;border-left:2px solid transparent}.dropdown-item:hover{background-color:var(--background-secondary);border-left-color:var(--border-focus);color:var(--border-focus);padding-left:14px}.dropdown-item.active{background-color:rgba(var(--module-color-actions-rgb),.2);font-weight:600;border-left-color:var(--border-focus)}.dropdown-item .check-mark{font-size:.9rem;color:var(--border-focus)}.menu.open .dropdown-content{display:block;animation:fadeInDown .2s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item-form{padding:8px 12px;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-primary);background-color:var(--background-secondary);border-left:2px solid transparent}.dropdown-item-form label{margin-right:8px;font-weight:500}.dropdown-input{width:70px;padding:4px 6px;border:1px solid var(--border-secondary);border-radius:3px;text-align:center;font-size:.8rem;background-color:var(--background-input);color:var(--text-primary);transition:all .2s ease}.dropdown-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px #0d6efd33}.dropdown-separator{border-top:1px solid var(--border-secondary)!important;margin:4px 0!important}.tolerance-container{display:flex;gap:16px;margin-top:16px;align-items:flex-start}.tolerance-column{display:flex;flex-direction:column;gap:16px;flex:1}.tolerance-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--background-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tolerance-table th,.tolerance-table td{border:1px solid var(--border-primary);padding:2px;text-align:center}.tolerance-table th{font-weight:700;padding:6px 4px;background-color:var(--background-tertiary);color:var(--text-primary)}.tolerance-input{width:100%;background-color:transparent;border:none;color:var(--text-primary);text-align:center;font-family:inherit;font-size:inherit;padding:2px 0;box-sizing:border-box;resize:none;overflow:hidden;display:flex;justify-content:center;align-items:center;line-height:1.2}.tolerance-input:focus{outline:1px solid var(--border-focus);background-color:var(--background-tertiary)}.general-tolerance-field{background-color:var(--background-secondary);padding:12px;border:1px solid var(--border-primary);border-radius:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.general-tolerance-field label{font-weight:700;margin-right:10px;color:var(--text-secondary)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-close-btn{font-size:2.2rem;line-height:1;cursor:pointer;border:none;background:none;color:var(--text-muted);font-weight:700}.modal-close-btn:hover{color:var(--text-primary)}.modal-btn{padding:10px 20px;border:none;border-radius:4px;font-size:1.1rem;font-weight:700;cursor:pointer}.modal-btn-primary{background-color:var(--color-create-bg);color:var(--color-create-fg);border:1px solid var(--color-create-border)}.modal-btn-secondary{background-color:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border)}.modal-btn-danger{background-color:var(--color-reset-bg);color:var(--color-reset-fg);border:1px solid var(--color-reset-border);margin-right:auto}.modal-tabs{display:flex;border-bottom:2px solid var(--border-secondary);margin-bottom:20px}.tab-btn{padding:10px 20px;cursor:pointer;border:none;background-color:transparent;font-size:1.1rem;font-weight:700;color:var(--text-muted);border-bottom:3px solid transparent;margin-bottom:-2px}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--border-focus);border-bottom-color:var(--border-focus)}.tab-content{min-height:250px}.gdt-modal-section{background-color:var(--background-secondary);padding:16px;border-radius:6px;border:1px solid var(--border-primary)}.gdt-modal-section h4{margin-top:0;color:var(--border-focus);border-bottom:1px solid var(--border-secondary);padding-bottom:8px}.gdt-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:8px}.gdt-modal-symbol-btn{display:flex;justify-content:center;align-items:center;height:50px;border:2px solid var(--border-secondary);background-color:var(--background-secondary);cursor:pointer;border-radius:4px;transition:all .15s ease}.gdt-modal-symbol-btn svg{width:32px;height:32px}.gdt-modal-symbol-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-primary)}.gdt-modal-symbol-btn.selected{background-color:rgba(var(--module-color-actions-rgb),.2);border-color:var(--border-focus)}.gdt-modal-input-group{display:flex;gap:16px;align-items:center}.gdt-modal-input-group label{font-weight:700}.gdt-modal-input{padding:8px;border:1px solid var(--border-secondary);border-radius:4px;font-size:1.1rem;background-color:var(--background-input);color:var(--text-primary)}.gdt-modal-checkbox-group label{margin-right:16px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.gdt-modal-checkbox-group svg{width:24px;height:24px}.sf-modal-section{background-color:var(--background-secondary);padding:16px;border-radius:6px;border:1px solid var(--border-primary)}.sf-modal-section h4{margin-top:0;color:var(--border-focus);border-bottom:1px solid var(--border-secondary);padding-bottom:8px}.sf-input-group{display:flex;align-items:center;gap:10px}.sf-input-group label{font-weight:700}.sf-input-group .gdt-modal-input{width:100px}.sf-radio-group{display:flex;gap:15px}.sf-lay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(45px,1fr));gap:8px}.sf-lay-btn{display:flex;justify-content:center;align-items:center;height:45px;border:2px solid var(--border-secondary);background-color:var(--background-secondary);cursor:pointer;border-radius:4px}.sf-lay-btn svg{width:30px;height:30px}.sf-lay-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-primary)}.sf-lay-btn.selected{background-color:rgba(var(--module-color-actions-rgb),.2);border-color:var(--border-focus)}.surface-finish-viewer{display:flex;align-items:center;gap:3px;font-size:.65rem;font-weight:700}.sf-symbol-container{position:relative;width:18px;height:18px}.sf-base-symbol{font-size:18px;line-height:1;font-family:Times New Roman,Times,serif}.sf-lay-symbol-overlay{position:absolute;top:-8px;left:2px;width:14px;height:14px}.sf-lay-symbol-overlay svg{width:100%;height:100%}.sf-text{white-space:nowrap}.theme-modal-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:1.1rem}.theme-modal-row label{font-weight:700;color:var(--text-primary)}.color-input-wrapper{display:flex;align-items:center;gap:8px}.theme-modal-color-picker{width:40px;height:40px;border:1px solid var(--border-secondary);border-radius:4px;cursor:pointer;padding:0;background-color:transparent}.theme-modal-color-picker::-webkit-color-swatch-wrapper{padding:0}.theme-modal-color-picker::-webkit-color-swatch{border:none;border-radius:4px}.theme-modal-hex-input{width:100px;padding:8px;border:1px solid var(--border-secondary);border-radius:4px;font-family:Courier New,Courier,monospace;font-size:1.1rem;text-align:center;background-color:var(--background-input);color:var(--text-primary)}.width-input-wrapper{display:flex;align-items:center;gap:8px}.theme-modal-number-input{width:100px;padding:8px;border:1px solid var(--border-secondary);border-radius:4px;font-family:Courier New,Courier,monospace;font-size:1.1rem;text-align:center;background-color:var(--background-input);color:var(--text-primary)}.file-upload-wrapper input[type=file]{display:none}.file-upload-btn{display:inline-block;padding:10px 15px;background-color:var(--color-create-bg);color:var(--color-create-fg);border-radius:4px;cursor:pointer;font-weight:700;text-align:center;transition:background-color .2s;border:1px solid var(--color-create-border)}.file-upload-btn:hover{opacity:.9;transform:translateY(-1px)}.file-upload-btn.file-loaded{background-color:var(--color-save-bg);color:var(--color-save-fg);border-color:var(--color-save-border)}.ai-error-message{color:var(--color-reset-fg);background-color:var(--color-reset-bg);padding:10px;border-radius:4px;border:1px solid var(--color-reset-border)}.captured-image-preview{margin:16px 0;padding:16px;background-color:var(--background-secondary);border:1px solid var(--border-primary);border-radius:4px}.captured-image-preview h3{margin-top:0;margin-bottom:12px;color:var(--border-focus);font-size:16px}.captured-image-preview img{display:block;margin:0 auto;max-height:300px}.captured-image-preview p{margin-top:8px;margin-bottom:0;text-align:center}.ai-instruction{font-style:italic;color:var(--text-muted);margin-bottom:8px;text-align:center}.ai-viewer-wrapper{position:relative;flex-grow:1;border:1px solid var(--border-primary);border-radius:4px;overflow:hidden}.analyzing-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fffc;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:20;color:#000;font-weight:700;font-size:1.2rem}body.theme-dark .analyzing-overlay{background-color:#000c;color:var(--text-primary)}.pdf-viewer-container{display:flex;flex-direction:column;height:100%;max-height:70vh}.pdf-error-message{padding:30px;text-align:center;background-color:var(--background-secondary);border:2px solid var(--border-focus);border-radius:8px;margin:20px;color:var(--text-primary)}.pdf-error-message h3{margin-top:0;color:var(--color-reset-fg);font-size:1.4rem}.pdf-error-message ul{list-style-position:inside;color:var(--text-secondary)}.pdf-loading-message{padding:40px;text-align:center;color:var(--text-primary)}.pdf-loading-message p{margin-top:15px;font-size:1.1rem}.pdf-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);gap:16px;flex-wrap:wrap}.pdf-controls-group{display:flex;align-items:center;gap:8px}.pdf-controls-info{flex:1;text-align:right}.pdf-controls button{padding:4px 12px;font-size:1rem;font-weight:700;cursor:pointer;border:1px solid var(--border-secondary);background-color:var(--background-secondary);color:var(--text-primary);border-radius:4px;transition:background-color .2s}.pdf-controls button:hover:not(:disabled){background-color:var(--background-tertiary)}.pdf-controls button:disabled{opacity:.5;cursor:not-allowed}.pdf-controls span{font-weight:500;color:var(--text-primary)}.pdf-page-wrapper{position:relative;overflow:auto;flex-grow:1;background-color:var(--background-body);display:flex;justify-content:center;align-items:flex-start;padding:16px;min-height:200px}.pdf-page-wrapper .react-pdf__Page{display:block!important;position:relative!important}.pdf-page-wrapper .react-pdf__Page__canvas{display:block!important;max-width:100%;height:auto!important;box-shadow:0 0 8px var(--shadow-color-heavy);background-color:#fff!important}.pdf-page-wrapper .react-pdf__Document{display:block!important}.selection-overlay{position:absolute;top:0;left:0;cursor:crosshair;z-index:10;pointer-events:none}.pdf-page-wrapper>.react-pdf__Page{position:relative}.pdf-page-wrapper canvas.selection-overlay-handler{position:absolute;top:0;left:0;z-index:15}.user-selection-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--background-body);display:flex;align-items:center;justify-content:center;z-index:9999}.user-selection-box{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;padding:24px;max-width:1200px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 24px var(--shadow-color-heavy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.user-selection-box h1{margin:0 0 6px;color:var(--text-primary);font-size:1.5rem;font-weight:700;text-align:center}.user-selection-subtitle{text-align:center;color:var(--text-muted);margin-bottom:20px;font-size:.85rem}.user-selection-error{background:var(--color-reset-bg);border:1px solid var(--color-reset-border);color:var(--color-reset-fg);padding:10px;border-radius:6px;margin-bottom:16px;text-align:center;font-size:.85rem}.no-users-message{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:.9rem}.user-list-container{display:flex;flex-direction:column;gap:20px;margin-bottom:16px}.user-list-container-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.user-column{display:flex;flex-direction:column;gap:10px}.section-title-column{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;padding:10px 12px;background:var(--background-secondary);border-radius:8px;border-left:4px solid var(--border-focus);text-align:center}.user-list-column{display:flex;flex-direction:column;gap:8px;flex:1;min-height:200px;max-height:50vh;overflow-y:auto;padding-right:4px}.user-list-column::-webkit-scrollbar{width:6px}.user-list-column::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:3px}.user-list-column::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.user-list-column::-webkit-scrollbar-thumb:hover{background:var(--module-color-ncs)}.no-users-in-column{text-align:center;padding:24px 12px;color:var(--text-muted);font-size:.8rem;font-style:italic}.super-badge{margin-left:6px;font-size:.9rem}.user-list-item.super-admin{border-color:#ffd70066;box-shadow:0 0 10px #ffd70033}.user-list-item.super-admin:hover{border-color:#ffd700b3;box-shadow:0 0 15px #ffd7004d;background:#ffd7000d}@media(max-width:768px){.user-list-container-columns{grid-template-columns:1fr}.user-selection-box{max-width:95%}}.user-section{display:flex;flex-direction:column;gap:8px}.section-title{font-size:.9rem;font-weight:600;color:var(--text-muted);margin:0;padding:6px 10px;background:var(--background-secondary);border-radius:6px;border-left:3px solid var(--border-focus)}.user-list{display:flex;flex-direction:column;gap:6px}.user-list-item{background:var(--background-secondary);border:1px solid var(--border-secondary);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:row;align-items:center;gap:14px}.user-list-item:hover{transform:translate(4px);box-shadow:0 2px 8px var(--shadow-color-heavy);border-color:var(--border-focus)}.user-list-item-operator:hover{border-color:var(--module-color-actions);background:#6798d40d}.user-list-item-admin:hover{border-color:var(--module-color-ncs);background:#ff80000d}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--module-color-ncs);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px var(--shadow-color-heavy)}.user-list-item-operator .user-avatar{background:var(--module-color-actions)}.user-arrow{margin-left:auto;color:var(--text-muted);font-size:1.2rem;transition:transform .2s ease}.user-list-item:hover .user-arrow{transform:translate(4px);color:var(--text-primary)}.user-info{flex:1}.user-name{font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:4px}.user-role{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.user-selection-new-btn{width:100%;padding:10px;background-color:var(--color-create-bg);color:var(--color-create-fg);border:1px solid var(--color-create-border);border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.user-selection-new-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy)}.new-user-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:var(--text-primary);font-size:.85rem}.form-group input,.form-group select{padding:8px 10px;border:1px solid var(--border-secondary);border-radius:6px;font-size:.85rem;font-family:inherit;background:var(--background-input);color:var(--text-primary);transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #0d6efd33}.form-actions{display:flex;gap:10px;margin-top:6px}.btn-primary,.btn-secondary{flex:1;padding:10px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--color-create-bg);color:var(--color-create-fg);border:1px solid var(--color-create-border)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy)}.btn-secondary{background-color:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border)}.btn-secondary:hover{background-color:var(--background-tertiary)}@media print{body{background-color:#fff!important;color:#000!important}#root{padding:0}.menubar{display:none!important}.report-container,.report-main-panel{border:none!important;box-shadow:none!important;background-color:#fff!important}.info-section-grid-final{background-color:#e6f3f8!important}.info-section-grid-final label{color:#000!important}.info-section-grid-final input,.info-section-grid-final select{color:#000!important;border-bottom-color:#999!important}.inspection-table th,.inspection-table td{border:1px solid #bfbfbf!important;color:#000!important}.inspection-table th{background-color:#f2f2f2!important}.inspection-table tbody tr{background-color:#fff!important}.inspection-table .editable-cell{color:#000!important}.col-min{background-color:#a3d5ff!important;color:#000!important}.col-center{background-color:#e2efda!important;color:#000!important}.col-max{background-color:#ffb3b3!important;color:#000!important}.symbol-select{color:#000!important}.gdt-frame,.gdt-frame-inline{background-color:#fff!important;color:#000!important;border-color:#000!important}.gdt-frame-segment{border-color:#000!important}}body.theme-dark .inspection-table .editable-cell,body.theme-dark .inspection-table .measurement-input{color:#fff!important;background-color:#2d3748!important;border:1px solid #4a5568}body.theme-dark .inspection-table .editable-cell:focus,body.theme-dark .inspection-table .measurement-input:focus{background-color:#3a475a!important}body.theme-dark .col-min,body.theme-dark .col-min .editable-cell{background-color:#1c3d5a!important;color:#e0f2ff!important}body.theme-dark .col-max,body.theme-dark .col-max .editable-cell{background-color:#5a1d1d!important;color:#ffe0e0!important}body.theme-dark .col-center{background-color:#1d5a39!important;color:#e0ffe8!important;font-weight:700}body.theme-dark .info-section-grid-final input,body.theme-dark .info-section-grid-final select{background-color:#2a2f3a!important;border:1px solid #4a5568!important;color:#e0e0e0!important}@keyframes badge-pulse{0%,to{box-shadow:0 2px 8px #dc354566}50%{box-shadow:0 2px 16px #dc3545cc,0 0 24px #dc354566}}.auto-save-indicator{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--background-secondary);border-radius:6px;border:1px solid var(--border-primary);font-size:.75rem;transition:all .3s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.auto-save-indicator__icon{font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.auto-save-indicator__content{display:flex;flex-direction:column;gap:2px}.auto-save-indicator__status{font-weight:600;color:var(--text-primary);line-height:1.2}.auto-save-indicator__time{color:var(--text-muted);font-size:.7rem;line-height:1.2}.auto-save-indicator__time-label{opacity:.8}.auto-save-indicator__time-value{font-weight:600;color:var(--text-primary)}.auto-save-indicator__time-since{opacity:.7;margin-left:4px}.auto-save-indicator--saved{border-color:#22c55e4d;background-color:#22c55e0d}.auto-save-indicator--saved .auto-save-indicator__icon{color:#22c55e}.auto-save-indicator--unsaved{border-color:#fb923c4d;background-color:#fb923c0d}.auto-save-indicator--unsaved .auto-save-indicator__icon{color:#fb923c;animation:pulse-unsaved 2s ease-in-out infinite}@keyframes pulse-unsaved{0%,to{opacity:1}50%{opacity:.5}}.auto-save-indicator--saving{border-color:#3b82f64d;background-color:#3b82f60d}.auto-save-indicator--saving .auto-save-indicator__icon{color:#3b82f6;animation:spin-saving 1s linear infinite}@keyframes spin-saving{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.auto-save-indicator{font-size:.7rem;padding:4px 8px;gap:6px}.auto-save-indicator__icon{width:16px;height:16px;font-size:.9rem}.auto-save-indicator__time{font-size:.65rem}}
