: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;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;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::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;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.upgrade-prompt-inline{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#e07b391a,#f39c121a);border:1px solid rgba(224,123,57,.3);border-radius:8px;font-size:.9rem}.upgrade-prompt-inline .upgrade-icon{font-size:1.2rem}.upgrade-prompt-inline .upgrade-text{color:#c5cdd6}.upgrade-prompt-inline .upgrade-text strong{color:#fff;font-weight:600}.upgrade-prompt-inline .plan-badge{padding:4px 8px;border-radius:8px;font-size:.8rem;font-weight:600;text-transform:capitalize}.upgrade-btn-small{padding:6px 12px;border-radius:6px;border:none;background:linear-gradient(135deg,#e07b39,#f39c12);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.upgrade-btn-small:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e07b3966}.upgrade-prompt-card{background:linear-gradient(135deg,#1e2229,#141821);border:2px solid rgba(224,123,57,.3);border-radius:16px;padding:32px;max-width:500px;margin:0 auto;text-align:center;box-shadow:0 8px 24px #0000004d}.upgrade-header{margin-bottom:24px}.upgrade-icon-large{font-size:4rem;margin-bottom:16px}.upgrade-title{margin:0;font-size:1.8rem;font-weight:700;color:#fff}.upgrade-content{display:flex;flex-direction:column;gap:20px}.upgrade-feature-name{font-size:1.3rem;font-weight:600;color:#e07b39;margin:0}.upgrade-description{font-size:1rem;color:#8b939c;margin:0;line-height:1.6}.upgrade-plan-info{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;background:#2a2f3a80;border-radius:12px}.upgrade-current-plan,.upgrade-required-plan{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#c5cdd6}.upgrade-arrow{font-size:1.5rem;color:#e07b39}.upgrade-prompt-card .plan-badge{padding:6px 12px;border-radius:12px;font-size:.9rem;font-weight:600;text-transform:capitalize}.upgrade-btn-large{padding:14px 32px;border-radius:12px;border:none;background:linear-gradient(135deg,#e07b39,#f39c12);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #e07b394d}.upgrade-btn-large:hover{transform:translateY(-2px);box-shadow:0 8px 24px #e07b3980}.upgrade-btn-large:active{transform:translateY(0)}.upgrade-footer{font-size:.85rem;color:#6c757d;margin:0;font-style:italic}@media(max-width:768px){.upgrade-prompt-card{padding:24px}.upgrade-icon-large{font-size:3rem}.upgrade-title{font-size:1.5rem}.upgrade-feature-name{font-size:1.1rem}.upgrade-plan-info{flex-direction:column;gap:8px}.upgrade-arrow{transform:rotate(90deg)}.upgrade-btn-large{font-size:1rem;padding:12px 24px}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.upgrade-prompt-card{animation:fadeInScale .3s ease}.homepage-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,var(--background-body) 0%,var(--background-secondary) 50%,var(--background-body) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.homepage-content{position:relative;z-index:10;max-width:900px;width:90%;text-align:center}.homepage-header{margin-bottom:60px}.homepage-logo{animation:fadeInDown .8s ease-out}.logo-icon{font-size:6rem;margin-bottom:20px;filter:drop-shadow(0 10px 20px rgba(224,123,57,.4))}.homepage-title{font-size:4rem;font-weight:900;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;margin:0 0 16px;text-shadow:0 4px 12px rgba(224,123,57,.3);letter-spacing:-2px}.homepage-subtitle{font-size:1.4rem;color:var(--text-muted);margin:0;font-weight:300}.homepage-actions{display:flex;gap:30px;justify-content:center;margin-bottom:60px;animation:fadeInUp .8s ease-out .2s both}.homepage-btn{flex:1;max-width:380px;background:var(--background-primary);border:2px solid var(--border-primary);border-radius:20px;padding:40px 30px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px var(--shadow-color-heavy);display:flex;flex-direction:column;align-items:center;gap:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.homepage-btn:hover{transform:translateY(-8px);box-shadow:0 20px 40px var(--shadow-color-heavy);border-color:var(--module-color-ncs);background:var(--background-secondary)}.homepage-btn:active{transform:translateY(-4px)}.btn-icon{font-size:4rem;transition:all .3s ease;opacity:.8}.homepage-btn:hover .btn-icon{transform:scale(1.1);opacity:1;filter:drop-shadow(0 4px 12px rgba(224,123,57,.5))}.btn-content{text-align:center}.btn-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.homepage-btn:hover .btn-title{color:var(--module-color-ncs)}.btn-description{font-size:1rem;color:var(--text-muted);font-weight:400}.btn-login{position:relative;overflow:hidden}.btn-login:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--module-color-ncs),transparent);opacity:0;transition:opacity .3s ease}.btn-login:hover:before{opacity:1}.btn-create{position:relative;overflow:hidden}.btn-create:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--badge-status-afaire-fg),transparent);opacity:0;transition:opacity .3s ease}.btn-create:hover{border-color:var(--badge-status-afaire-fg);background:var(--background-secondary)}.btn-create:hover:before{opacity:1}.btn-create:hover .btn-title{color:var(--badge-status-afaire-fg)}.homepage-footer{animation:fadeIn 1s ease-out .4s both}.homepage-footer p{color:var(--text-secondary);font-size:.9rem;margin:0}.homepage-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.bg-shape{position:absolute;border-radius:50%;background:#e07b390d;animation:float 20s infinite ease-in-out;border:1px solid rgba(224,123,57,.1)}.shape-1{width:300px;height:300px;top:10%;left:-100px;animation-delay:0s}.shape-2{width:200px;height:200px;bottom:20%;right:-50px;animation-delay:5s}.shape-3{width:150px;height:150px;top:60%;left:50%;animation-delay:10s}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(50px,-50px) scale(1.1)}50%{transform:translate(100px,50px) scale(.9)}75%{transform:translate(-50px,100px) scale(1.05)}}@media(max-width:768px){.homepage-title{font-size:2.5rem}.homepage-subtitle{font-size:1.1rem}.homepage-actions{flex-direction:column;gap:20px}.homepage-btn{max-width:100%;padding:30px 20px}.btn-title{font-size:1.4rem}.btn-description{font-size:.9rem}.logo-icon{font-size:4rem}}.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(--module-color-ncs);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-primary);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(--module-color-ncs);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-primary);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-color:var(--badge-status-afaire-bg);color:var(--module-color-ncs);border:1px solid var(--module-color-ncs)}.sidebar-user .user-role.role-operator{background-color:var(--badge-status-encours-bg);color:var(--module-color-actions);border:1px solid var(--module-color-actions)}.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(--module-color-ncs);transform:translate(2px)}.nav-item.active{background:rgba(var(--module-color-ncs-rgb),.12);border-left-color:var(--module-color-ncs);box-shadow:0 0 12px rgba(var(--module-color-ncs-rgb),.15)}.nav-icon{font-size:1.1rem;min-width:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s ease}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:var(--module-color-ncs)}.nav-label{font-size:.8rem;font-weight:500;color:var(--text-primary);transition:all .2s ease}.nav-item.active .nav-label{color:var(--module-color-ncs);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(--module-color-ncs)}.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(--module-color-ncs);transform:scale(1.1);box-shadow:0 2px 8px var(--shadow-color-heavy)}.theme-toggle-btn:active{transform:scale(.95)}body.theme-dark .sidebar-user .user-role.role-admin{background-color:#ffa726!important;color:#000!important;border:2px solid #ffcc80!important;font-weight:700;text-shadow:none;box-shadow:0 0 10px #ffa72680}body.theme-dark .sidebar-user .user-role.role-operator{background-color:#42a5f5!important;color:#000!important;border:2px solid #90caf9!important;font-weight:700;text-shadow:none;box-shadow:0 0 10px #42a5f580}@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}}.dashboard{padding:20px 24px;max-width:100%;margin:0;animation:fadeIn .3s ease-out;min-height:100vh}.dashboard-header{margin-bottom:20px;border-bottom:1px solid var(--border-secondary);padding-bottom:12px}.dashboard-header h1{margin:0 0 4px;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}.dashboard-header p{margin:0;font-size:.85rem;color:var(--text-muted)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.dashboard-card{background:var(--background-primary);border-radius:8px;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,currentColor);opacity:.8}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-heavy);border-color:currentColor}.dashboard-card.card-primary{color:var(--module-color-ncs);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(--badge-status-afaire-fg);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-primary);line-height:1}.card-description{margin:0;font-size:.6rem;color:var(--text-secondary)}.card-action{margin-top:2px;font-size:.6rem;font-weight:600;color:currentColor;display:flex;align-items:center;gap:4px;opacity:.9}.dashboard-section{margin-bottom:24px}.section-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:18px;background:var(--module-color-ncs);border-radius:2px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.action-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;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(--module-color-ncs)}.action-btn.action-primary{border-color:var(--module-color-ncs);background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;box-shadow:0 2px 8px #e07b394d}.action-btn.action-primary:hover{box-shadow:0 4px 12px #e07b3980}.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-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-primary)}.action-text small{font-size:.75rem;color:var(--text-muted)}.activity-empty{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;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)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;padding:16px;background:#e07b390d;border-radius:8px;border:1px solid rgba(224,123,57,.2)}.stat-item{text-align:center;padding:12px;background:var(--background-primary);border-radius:6px;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(--module-color-ncs);margin-bottom:4px}.stat-item .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.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),inset 0 1px #ffffff0d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.reports-table thead{background:var(--background-secondary);border-bottom:2px solid rgba(var(--module-color-ncs-rgb),.5)}.reports-table tbody tr:hover{background:rgba(var(--module-color-ncs-rgb),.08);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(var(--module-color-ncs-rgb),.2)}.reports-table .status-badge.status-en_cours{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-finalise,.reports-table .status-badge.status-finalized{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.reports-table .status-badge.status-draft{background:#8b93a626;color:var(--text-muted);border:1px solid rgba(139,147,166,.3)}.reports-loading{padding:32px;text-align:center;color:var(--text-muted);background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}body.theme-dark .action-btn.action-primary,body.theme-dark .btn-start{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 .action-btn.action-primary:hover,body.theme-dark .btn-start:hover{box-shadow:0 6px 30px #ffa726e6,0 0 60px #ffa72699;border-color:#ffffff80;transform:translateY(-3px)}@media(max-width:768px){.dashboard{padding:16px}.dashboard-header h1{font-size:1.3rem}.dashboard-cards,.quick-actions{grid-template-columns:1fr}.card-value{font-size:1.5rem}.admin-stats{grid-template-columns:1fr}.reports-table{font-size:.75rem}.reports-table th,.reports-table td{padding:8px 10px}}.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::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{width:100%;border-collapse:collapse;font-size:.85rem}.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 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:#e07b3914;cursor:pointer}.reports-table tbody tr:last-child{border-bottom:none}.reports-table td{padding:12px 16px;color:var(--text-primary);border-right:1px solid var(--border-secondary)}.reports-table td:last-child{border-right:none}.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(--module-color-ncs);color:#fff;border-color:var(--module-color-actions)}.status-badge-wrapper.status-en_cours{background-color:var(--badge-status-encours-fg);color:#423403;border-color:#e2ac21}.status-badge-wrapper.status-valide{background-color:#4caf50;color:#fff;border-color:#66bb6a}.status-badge-wrapper.status-termine{background-color:var(--badge-status-complete-fg);color:#064e3b;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}}.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:900px;max-height:85vh}.btn-add-user{padding:8px 16px;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;margin-bottom:16px;transition:all .2s ease;box-shadow:0 2px 8px #e07b394d}.btn-add-user:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e07b3980}.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{padding:6px 10px;border:1px solid var(--border-primary);border-radius:4px;background:var(--background-input);color:var(--text-primary);font-size:.8rem;font-family:inherit;transition:all .2s ease}.form-group-inline input:focus,.form-group-inline select:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus);box-shadow:0 0 0 2px #e07b3933}.form-actions-inline{display:flex;gap:6px}.btn-save,.btn-cancel{padding:6px 14px;border:none;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save{background:linear-gradient(135deg,var(--badge-status-complete-fg) 0%,#10b981 100%);color:#fff;box-shadow:0 2px 6px #34d3994d}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 10px #34d39980}.btn-cancel{background:#e07b391a;border:1px solid rgba(224,123,57,.3);color:var(--module-color-ncs)}.btn-cancel:hover{background:#e07b3933;border-color:#e07b3980}.users-table-container{overflow-x:auto;max-height:50vh;overflow-y:auto;border-radius:6px;border:1px solid var(--border-primary)}.users-table{width:100%;border-collapse:collapse;font-size:.8rem}.users-table thead{position:sticky;top:0;background:var(--background-secondary);z-index:10}.users-table th{padding:10px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.users-table td{padding:10px;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.users-table tbody tr{transition:background .2s ease}.users-table tbody tr:hover{background:#e07b391a}.users-table tbody tr.user-inactive{opacity:.5}.user-initials-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;font-weight:700;font-size:.85rem;box-shadow:0 2px 6px #e07b394d}.role-badge-table{padding:3px 10px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.2px}.role-admin{background:#e07b3933;color:var(--module-color-ncs);border:1px solid rgba(224,123,57,.3)}.role-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;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-action{padding:5px 10px;border:none;border-radius:4px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s ease}.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}@media(max-width:768px){.users-table{font-size:.75rem}.users-table th,.users-table td{padding:8px}.new-user-form-inline{flex-direction:column}.form-group-inline{width:100%}}.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::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}}.customer-management{padding:20px 24px;max-width:100%;margin:0;animation:fadeIn .3s ease-out;min-height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.customer-header{margin-bottom:20px;border-bottom:1px solid var(--border-secondary);padding-bottom:12px}.customer-header h1{margin:1rem 0 4px;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}.customer-header p{margin:0;font-size:.85rem;color:var(--text-muted)}.btn-back{padding:8px 16px;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:all .2s ease;margin-bottom:12px;display:inline-block;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-back:hover{border-color:var(--module-color-ncs);transform:translate(-2px);box-shadow:0 2px 8px #e07b394d}.customer-actions{display:flex;justify-content:space-between;align-items:center;background:var(--background-primary);border:1px solid var(--border-primary);padding:16px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px var(--shadow-color-heavy);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-add-customer{background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #e07b394d}.btn-add-customer:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e07b3980}.customer-count{color:var(--text-muted);font-size:.9rem}.customer-count strong{color:var(--module-color-ncs);font-size:1.2rem}.customers-table-container{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;box-shadow:0 2px 8px var(--shadow-color-heavy);overflow-x:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.customers-empty{text-align:center;padding:48px 24px;color:var(--text-muted)}.customers-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.4;filter:grayscale(100%)}.customers-empty p{font-size:1rem;margin-bottom:24px;color:var(--text-muted)}.btn-start{padding:10px 24px;background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #e07b394d}.btn-start:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e07b3980}.customers-table{width:100%;border-collapse:collapse;font-size:.85rem}.customers-table thead tr{background:var(--background-secondary);border-bottom:2px solid var(--module-color-ncs)}.customers-table th{padding:12px 10px;text-align:left;font-weight:600;color:var(--text-primary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.customers-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background-color .2s ease}.customers-table tbody tr:hover{background:#e07b390d}.customers-table td{padding:12px 10px;color:var(--text-muted)}.customers-table td strong{color:var(--module-color-ncs)}.action-buttons{display:flex;gap:8px}.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s ease;font-weight:500}.btn-edit{background:var(--badge-status-afaire-fg);color:#fff}.btn-edit:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3b82f666}.btn-delete{background:var(--badge-status-retard-fg);color:#fff}.btn-delete:hover{transform:translateY(-1px);box-shadow:0 2px 8px #ef444466}body.theme-dark .btn-delete{background:#8b0000;color:#fff;border:1px solid #A52A2A}body.theme-dark .btn-delete:hover{background:brown;box-shadow:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;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}.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(--text-primary)}.modal-content form{padding:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group .required{color:var(--badge-status-retard-fg)}.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 #e07b391a}.form-group input::placeholder{color:var(--text-secondary)}.form-group small{display:block;margin-top:6px;color:var(--text-muted);font-size:.8rem}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-secondary)}.btn-cancel,.btn-save{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.btn-cancel{background:var(--color-secondary-bg);color:var(--color-secondary-fg);border:1px solid var(--color-secondary-border)}.btn-cancel:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-color-heavy)}.btn-save{background:linear-gradient(135deg,var(--module-color-ncs) 0%,var(--module-color-actions) 100%);color:#fff;box-shadow:0 2px 8px #e07b394d}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e07b3980}@media(max-width:768px){.customer-management{padding:16px}.customer-header h1{font-size:1.3rem}.customer-actions{flex-direction:column;gap:12px;align-items:stretch}.customers-table{font-size:.75rem}.customers-table th,.customers-table td{padding:8px 6px}.action-buttons{flex-direction:column;gap:4px}.modal-content{width:95%}}.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(--module-color-ncs)}@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}.organization-list{padding:20px;max-width:1200px;margin:0 auto}.organization-list .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.organization-list h1{font-size:28px;color:#333;margin:0}.btn-primary{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;cursor:pointer;transition:background .3s}.btn-primary:hover{background:#45a049}.org-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.org-table thead{background:#f5f5f5}.org-table th{padding:16px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #ddd}.org-table td{padding:16px;border-bottom:1px solid #eee}.org-table tbody tr:hover{background:#f9f9f9}.status{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.status-suspended{background:#fff3cd;color:#856404}.btn-icon{background:transparent;border:none;font-size:20px;cursor:pointer;padding:4px 8px;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.btn-danger:hover{filter:brightness(.8)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:12px;min-width:400px;max-width:90%;box-shadow:0 4px 20px #0000004d}.modal-content h2{margin-top:0;margin-bottom:20px;color:#333}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4caf50}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:30px}.form-actions button{padding:10px 20px;border-radius:6px;border:none;font-size:14px;cursor:pointer}.form-actions button[type=button]{background:#f5f5f5;color:#333}.form-actions button[type=button]:hover{background:#e0e0e0}.loading,.error{text-align:center;padding:40px;font-size:18px}.error{color:#d32f2f}.super-admin-dashboard{min-height:100vh;background:linear-gradient(135deg,#0f1419,#1a1f2e);color:#c5cdd6;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:linear-gradient(135deg,#1e2229,#141821);border-radius:12px;margin-bottom:24px;border:1px solid rgba(224,123,57,.2);box-shadow:0 4px 12px #0000004d}.header-left h1{margin:0;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#e07b39,#f39c12);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-left .subtitle{margin:4px 0 0;font-size:.95rem;color:#8b939c}.header-right{display:flex;gap:12px}.btn-refresh{padding:10px 20px;border-radius:8px;border:1px solid #2a2f3a;background:linear-gradient(135deg,#1e2229,#141821);color:#c5cdd6;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-refresh:hover{border-color:#e07b39;transform:translateY(-2px);box-shadow:0 4px 8px #e07b394d}.btn-logout{padding:12px 24px;border-radius:8px;border:2px solid #e74c3c;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #e74c3c66;animation:pulse 2s ease-in-out infinite}.btn-logout:hover{border-color:#ff6b6b;transform:translateY(-3px) scale(1.05);box-shadow:0 6px 16px #e74c3c99;background:linear-gradient(135deg,#e74c3c,#ff6b6b)}.btn-logout:active{transform:translateY(-1px) scale(.98)}@keyframes pulse{0%,to{box-shadow:0 4px 12px #e74c3c66}50%{box-shadow:0 4px 20px #e74c3cb3}}.dashboard-nav{display:flex;gap:12px;margin-bottom:24px;background:linear-gradient(135deg,#1e2229,#141821);padding:12px;border-radius:12px;border:1px solid rgba(224,123,57,.2)}.dashboard-nav button{flex:1;padding:14px 24px;border:1px solid #2a2f3a;border-radius:8px;background:transparent;color:#8b939c;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dashboard-nav button:hover{color:#c5cdd6;border-color:#e07b39}.dashboard-nav button.active{background:linear-gradient(135deg,#e07b39,#f39c12);color:#fff;border-color:#e07b39;box-shadow:0 4px 12px #e07b3966}.overview-content{display:flex;flex-direction:column;gap:24px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.metric-card{background:linear-gradient(135deg,#1e2229,#141821);border:1px solid rgba(224,123,57,.2);border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease}.metric-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #e07b3933;border-color:#e07b39}.metric-card.highlight{background:linear-gradient(135deg,#2c3440,#1e2229);border-color:#e07b39}.metric-icon{font-size:2.5rem;margin-bottom:12px}.metric-value{font-size:2.2rem;font-weight:700;color:#fff;margin-bottom:8px}.metric-label{font-size:.95rem;color:#8b939c;font-weight:500;margin-bottom:4px}.metric-detail{font-size:.85rem;color:#6c757d}.recent-organizations,.organizations-content{background:linear-gradient(135deg,#1e2229,#141821);border:1px solid rgba(224,123,57,.2);border-radius:12px;padding:24px}.recent-organizations h2,.organizations-content h2{margin:0 0 20px;font-size:1.5rem;font-weight:700;color:#fff}.organizations-table{width:100%;border-collapse:collapse;background:transparent}.organizations-table thead{background:linear-gradient(135deg,#2a2f3a,#1e2229)}.organizations-table th{padding:14px 16px;text-align:left;font-size:.9rem;font-weight:600;color:#e07b39;border-bottom:2px solid #e07b39}.organizations-table td{padding:14px 16px;border-bottom:1px solid #2a2f3a;font-size:.95rem}.organizations-table tbody tr{transition:all .2s ease}.organizations-table tbody tr:hover{background:#e07b391a}.org-name{font-weight:600;color:#fff;margin-bottom:4px}.org-slug{font-size:.85rem;color:#6c757d;font-family:Courier New,monospace}.org-date{font-size:.8rem;color:#6c757d;margin-top:4px}.org-info{display:flex;flex-direction:column;gap:2px}.contact-info{display:flex;flex-direction:column;gap:4px}.contact-email,.billing-email{font-size:.85rem;color:#6c757d}.usage-cell{font-family:Courier New,monospace;font-size:.9rem}.filters-bar{display:flex;gap:20px;align-items:center;margin-bottom:20px;padding:16px;background:#2a2f3a4d;border-radius:8px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.9rem;font-weight:600;color:#8b939c}.filter-group select{padding:8px 16px;border-radius:6px;border:1px solid #2a2f3a;background:#1e2229;color:#c5cdd6;font-size:.9rem;cursor:pointer;transition:all .2s ease}.filter-group select:hover,.filter-group select:focus{border-color:#e07b39;outline:none}.results-count{margin-left:auto;font-size:.9rem;color:#8b939c;font-weight:600}.actions-buttons{display:flex;gap:8px;justify-content:center}.btn-action{padding:8px 12px;border-radius:6px;border:1px solid #2a2f3a;background:linear-gradient(135deg,#1e2229,#141821);cursor:pointer;font-size:1.2rem;transition:all .2s ease}.btn-action:hover{transform:scale(1.1);border-color:#e07b39}.btn-suspend:hover{background:linear-gradient(135deg,#e74c3c,#c0392b)}.btn-reactivate:hover{background:linear-gradient(135deg,#2ecc71,#27ae60)}.btn-cancel:hover{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.coming-soon{text-align:center;font-size:1.2rem;color:#8b939c;padding:60px 20px;font-style:italic}.loading-spinner,.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-size:1.2rem;color:#8b939c}.error-message h3{color:#e74c3c;margin-bottom:12px}.error-message button{margin-top:20px;padding:12px 24px;border-radius:8px;border:1px solid #e07b39;background:linear-gradient(135deg,#e07b39,#f39c12);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.error-message button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e07b3966}.btn-create-org{padding:14px 32px;border-radius:8px;border:2px solid #2ecc71;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2ecc7166}.btn-create-org:hover{border-color:#3be87c;transform:translateY(-3px) scale(1.05);box-shadow:0 6px 16px #2ecc7199;background:linear-gradient(135deg,#2ecc71,#3be87c)}.plan-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.plan-badge.starter{background:#9b59b6;color:#fff}.plan-badge.pro{background:#e07b39;color:#fff}.plan-badge.enterprise{background:#2c3e50;color:#fff}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.role-badge.organization_admin{background:#ffeaa7;color:#d63031}.role-badge.operator{background:#e9ecef;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:linear-gradient(135deg,#1e2229,#141821);border:1px solid rgba(224,123,57,.3);border-radius:12px;box-shadow:0 8px 32px #00000080;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;padding:32px;color:#c5cdd6}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(224,123,57,.2)}.modal-header h2{color:#fff;font-size:1.5rem;margin:0}.close-button{background:none;border:none;font-size:2rem;color:#8b939c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-button:hover{background:#e07b3933;color:#e07b39}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:#c5cdd6;margin-bottom:8px;font-size:.95rem}.required{color:#e74c3c}.form-group input[type=text],.form-group input[type=number],.form-group select{width:100%;padding:12px;border:2px solid #2a2f3a;border-radius:8px;font-size:.95rem;background:#0f1419;color:#c5cdd6;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#e07b39;box-shadow:0 0 0 3px #e07b391a}.help-text{display:block;font-size:.85rem;color:#6c757d;margin-top:6px}.modal-buttons{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(224,123,57,.2)}.cancel-button,.submit-button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button{background:#2a2f3a;color:#8b939c}.cancel-button:hover{background:#343a46}.submit-button{background:linear-gradient(135deg,#e07b39,#f39c12);color:#fff}.submit-button:hover{background:linear-gradient(135deg,#f39c12,#ffa726)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.profiles-modal-table{width:100%;border-collapse:collapse;margin-bottom:20px}.profiles-modal-table thead{background:#2a2f3a80}.profiles-modal-table th{padding:12px;text-align:left;font-size:.9rem;font-weight:600;color:#e07b39;border-bottom:1px solid rgba(224,123,57,.3)}.profiles-modal-table td{padding:12px;border-bottom:1px solid #2a2f3a;font-size:.95rem}.error-message{background:#e74c3c26;border:1px solid rgba(231,76,60,.5);border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:#ff6b6b}.error-icon{font-size:1.2rem}@media(max-width:1024px){.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-nav{flex-wrap:wrap}}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:16px;text-align:center}.filters-bar{flex-direction:column;align-items:stretch}.results-count{margin-left:0;text-align:center}.organizations-table{font-size:.85rem}.organizations-table th,.organizations-table td{padding:10px 8px}.modal-content{padding:20px}.modal-buttons{flex-direction:column}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:40px;max-width:420px;width:100%;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:700;color:#1a202c;margin:0 0 8px}.login-header p{font-size:14px;color:#718096;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input{padding:12px 16px;font-size:15px;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s ease;outline:none}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed;opacity:.6}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:#fff5f5;border:1px solid #feb2b2;border-radius:8px;color:#c53030;font-size:14px;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{font-size:18px}.login-button{padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0;text-align:center}.help-text{font-size:13px;color:#4a5568;margin:0 0 12px;padding:12px;background-color:#f7fafc;border-radius:6px}.help-text strong{color:#2d3748}.version{font-size:12px;color:#a0aec0;margin:0}@media(max-width:480px){.login-container{padding:30px 24px}.login-header h1{font-size:24px}.login-header p{font-size:13px}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Segoe UI,Calibri,Arial,sans-serif;font-size:.95rem;line-height:1.6;margin:0;background-color:var(--background-body);color:var(--text-primary);transition:background-color .2s,color .2s}:root{--background-body: #e8ecf0;--background-primary: rgba(245, 245, 240, .7);--background-secondary: rgba(240, 240, 235, .6);--background-tertiary: rgba(235, 235, 230, .5);--background-navbar: rgba(248, 248, 243, .6);--background-input: rgba(250, 250, 245, .5);--background-input-focus: rgba(255, 255, 250, .7);--background-dropdown: #fafaf5;--text-primary: #1c2a3a;--text-secondary: #4a5568;--text-muted: #6c757d;--text-inverted: #ffffff;--text-placeholder: #6c757d;--border-primary: rgba(200, 200, 190, .4);--border-secondary: rgba(210, 210, 200, .3);--border-focus: #0d6efd;--border-left-accent: #0d6efd;--shadow-color: rgba(0,0,0,.08);--shadow-color-heavy: rgba(40, 50, 60, .15);--color-save-bg: #d4edda;--color-save-fg: #155724;--color-save-border: #c3e6cb;--color-create-bg: #d1ecf1;--color-create-fg: #0c5460;--color-create-border: #bee5eb;--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: #4a5568;--color-nav-btn-hover-bg: rgba(255, 255, 255, .3);--color-link: #1976d2;--color-link-hover: #115293;--module-color-home: #868e96;--module-color-home-rgb: 134, 142, 150;--module-color-safety: #d94848;--module-color-safety-rgb: 217, 72, 72;--module-color-ncs: #f08c2a;--module-color-ncs-rgb: 240, 140, 42;--module-color-risks: #f7b42c;--module-color-risks-rgb: 247, 180, 44;--module-color-actions: #4dabf7;--module-color-actions-rgb: 77, 171, 247;--module-color-improvement: #51cf66;--module-color-improvement-rgb: 81, 207, 102;--module-color-kpis: #38d9a9;--module-color-kpis-rgb: 56, 217, 169;--module-color-documents: #748ffc;--module-color-documents-rgb: 116, 143, 252;--module-color-metrology: #9775fa;--module-color-metrology-rgb: 151, 117, 250;--module-color-suppliers: #f783ac;--module-color-suppliers-rgb: 247, 131, 172;--module-color-review: #495057;--module-color-review-rgb: 73, 80, 87;--module-color-audit: #495057;--module-color-audit-rgb: 73, 80, 87;--module-color-admin: #343a40;--module-color-admin-rgb: 52, 58, 64;--badge-risk-faible-bg: #c8e6c9;--badge-risk-faible-fg: #2e7d32;--badge-risk-faible-border: #a5d6a7;--badge-risk-moyen-bg: #fff9c4;--badge-risk-moyen-fg: #f9a825;--badge-risk-moyen-border: #fff59d;--badge-risk-eleve-bg: #ffcc80;--badge-risk-eleve-fg: #ef6c00;--badge-risk-eleve-border: #ffb74d;--badge-risk-critique-bg: #ffcdd2;--badge-risk-critique-fg: #c62828;--badge-risk-critique-border: #ef9a9a;--badge-status-complete-bg: #a7d8b0;--badge-status-complete-fg: #144826;--badge-status-complete-border: #91c89f;--badge-status-encours-bg: #a6ddee;--badge-status-encours-fg: #09404a;--badge-status-encours-border: #8ecae1;--badge-status-retard-bg: #f3c2c6;--badge-status-retard-fg: #61171e;--badge-status-retard-border: #ebafb4;--badge-status-afaire-bg: #d3d5d7;--badge-status-afaire-fg: #313538;--badge-status-afaire-border: #c4c6c8;--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-toast: 1070;--z-tooltip: 1080}body.theme-dark{--background-body: #0a0e14;--background-primary: rgba(20, 25, 35, .7);--background-secondary: rgba(25, 30, 40, .6);--background-tertiary: rgba(30, 35, 45, .5);--background-navbar: rgba(15, 20, 30, .7);--background-input: rgba(25, 30, 40, .6);--background-input-focus: rgba(30, 35, 45, .8);--background-dropdown: #1a1f2a;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #b0b0b0;--text-inverted: #ffffff;--text-placeholder: #909090;--border-primary: rgba(255, 255, 255, .2);--border-secondary: rgba(255, 255, 255, .15);--border-focus: #ffa726;--border-left-accent: #ffa726;--shadow-color: rgba(0,0,0,.6);--shadow-color-heavy: rgba(0,0,0,.8);--color-save-bg: #1b5e20;--color-save-fg: #66bb6a;--color-save-border: #2e7d32;--color-create-bg: #004d40;--color-create-fg: #b2dfdb;--color-create-border: #00796b;--color-reset-bg: #e53e3e;--color-reset-fg: #ffffff;--color-reset-border: #c53030;--color-secondary-bg: #37474f;--color-secondary-fg: #eceff1;--color-secondary-border: #546e7a;--color-nav-btn-fg: #bdbdbd;--color-nav-btn-hover-bg: rgba(255, 255, 255, .1);--color-link: #8ab4f8;--color-link-hover: #a1c9ff;--module-color-home: #bdbdbd;--module-color-home-rgb: 189, 189, 189;--module-color-safety: #ff6b6b;--module-color-safety-rgb: 255, 107, 107;--module-color-ncs: #ffa726;--module-color-ncs-rgb: 255, 167, 38;--module-color-risks: #ffeb3b;--module-color-risks-rgb: 255, 235, 59;--module-color-actions: #42a5f5;--module-color-actions-rgb: 66, 165, 245;--module-color-improvement: #66bb6a;--module-color-improvement-rgb: 102, 187, 106;--module-color-kpis: #26c6da;--module-color-kpis-rgb: 38, 198, 218;--module-color-documents: #5c6bc0;--module-color-documents-rgb: 92, 107, 192;--module-color-metrology: #ab47bc;--module-color-metrology-rgb: 171, 71, 188;--module-color-suppliers: #ec407a;--module-color-suppliers-rgb: 236, 64, 122;--module-color-review: #78909c;--module-color-review-rgb: 120, 144, 156;--module-color-audit: #78909c;--module-color-audit-rgb: 120, 144, 156;--module-color-admin: #f5f5f5;--module-color-admin-rgb: 245, 245, 245;--badge-risk-faible-bg: #1a3a1b;--badge-risk-faible-fg: #a5d6a7;--badge-risk-faible-border: #2e7d32;--badge-risk-moyen-bg: #403200;--badge-risk-moyen-fg: #fff59d;--badge-risk-moyen-border: #f9a825;--badge-risk-eleve-bg: #5d2b00;--badge-risk-eleve-fg: #ffcc80;--badge-risk-eleve-border: #ef6c00;--badge-risk-critique-bg: #4b1010;--badge-risk-critique-fg: #ef9a9a;--badge-risk-critique-border: #c62828;--badge-status-complete-bg: #2e7d32;--badge-status-complete-fg: #ffffff;--badge-status-complete-border: #66bb6a;--badge-status-encours-bg: #0288d1;--badge-status-encours-fg: #ffffff;--badge-status-encours-border: #4fc3f7;--badge-status-retard-bg: #ff5252;--badge-status-retard-fg: #ffffff;--badge-status-retard-border: #ff8a80;--badge-status-afaire-bg: #ffa726;--badge-status-afaire-fg: #000000;--badge-status-afaire-border: #ffcc80}body.theme-light{background-image:radial-gradient(at 5% 5%,hsla(217,89%,61%,.15) 0px,transparent 50%),radial-gradient(at 95% 95%,hsla(340,89%,61%,.15) 0px,transparent 50%)}body.theme-dark{background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,.3) 0px,transparent 50%),radial-gradient(at 98% 1%,hsla(22,73%,34%,.3) 0px,transparent 50%)}#root{padding:0;margin:0;min-height:100vh}.container{margin:20px auto;padding:0 20px;max-width:1400px}.navbar{background:var(--background-navbar);padding:10px 30px;box-shadow:0 2px 15px var(--shadow-color-heavy);position:sticky;top:0;z-index:1000;border:1px solid var(--border-primary);border-top:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center}.navbar-content{display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px}.navbar-brand{font-size:1.1rem;font-weight:500;display:flex;align-items:center;gap:8px;letter-spacing:.5px;color:var(--text-primary)}.navbar-brand img{height:40px}.navbar-menu{display:flex;gap:10px;flex-grow:1;justify-content:center;align-items:center}.navbar-user{display:flex;align-items:center;gap:12px}.user-name{color:var(--text-secondary);font-size:.9rem}.nav-btn{padding:6px 12px;background:#ffffff1a;border:1px solid var(--border-secondary);border-top-color:#ffffff4d;border-left-color:#ffffff4d;box-shadow:0 2px 5px #0000000d;color:var(--color-nav-btn-fg);border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:400;transition:all .15s ease;letter-spacing:.3px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-btn:hover{background:var(--color-nav-btn-hover-bg);border-color:var(--border-primary);color:var(--text-primary)}.nav-btn.active{position:relative;text-shadow:0 -1px 1px rgba(0,0,0,.3);border-style:solid;border-width:1px;box-shadow:inset 0 1px 3px #0000001a,0 2px 4px #0000004d;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden;transition:all .1s ease-out}.nav-btn.active:before{content:"";position:absolute;top:1px;left:1px;right:1px;height:50%;border-radius:3px;background:linear-gradient(to bottom,#ffffff80,#ffffff1a);pointer-events:none}.nav-btn.active:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.nav-btn.active.home{background:linear-gradient(to bottom,#a1a8af,var(--module-color-home));border-color:#5a6268;color:#fff}.nav-btn.active.risks{background:linear-gradient(to bottom,#f9c95d,var(--module-color-risks));border-color:#e09d17;color:#fff}.nav-btn.active.ncs{background:linear-gradient(to bottom,#f3a653,var(--module-color-ncs));border-color:#d17518;color:#fff}.nav-btn.active.actions{background:linear-gradient(to bottom,#7bc8f9,var(--module-color-actions));border-color:#239af5;color:#fff}.nav-item-container{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;margin-top:8px;background-color:var(--background-dropdown);border:1px solid var(--border-primary);border-radius:4px;box-shadow:0 4px 12px var(--shadow-color-heavy);z-index:1100;min-width:180px;padding:5px 0;animation:fadeIn .15s ease-out}.dropdown-menu.active{display:block}.dropdown-item{display:block;width:100%;text-align:left;padding:8px 15px;font-size:.85rem;color:var(--text-primary);background:none;border:none;cursor:pointer;transition:background-color .15s ease}.dropdown-item:hover{background-color:var(--background-secondary)}.dropdown-item.active{background:linear-gradient(to bottom,var(--color-create-border),var(--color-create-bg));border-color:var(--color-create-border);color:var(--color-create-fg);font-weight:500}.btn{padding:6px 12px;font-size:.875rem;cursor:pointer;border:1px solid var(--border-secondary);border-top-color:#fff6;border-left-color:#fff6;border-radius:4px;font-weight:400;transition:all .15s ease;box-shadow:0 2px 5px #0000000d;letter-spacing:.2px;background-color:var(--background-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary)}.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-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{background:linear-gradient(to bottom,#f88,#dc3545);border-color:#c82333;color:#fff;position:relative;text-shadow:0 -1px 1px rgba(0,0,0,.3);box-shadow:0 2px 4px #0000004d}.btn-reset:before{content:"";position:absolute;top:1px;left:1px;right:1px;height:50%;border-radius:3px;background:linear-gradient(to bottom,#ffffff80,#ffffff1a);pointer-events:none}.btn-secondary{background-color:var(--color-secondary-bg);color:var(--color-secondary-fg);border-color:var(--color-secondary-border)}.btn-link{background:none;border:none;color:var(--color-link);text-decoration:underline;cursor:pointer;padding:0;font-weight:500;box-shadow:none}.btn-link:hover{color:var(--color-link-hover);transform:none;box-shadow: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{background:none;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:0;line-height:1;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s}.theme-toggle-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-primary)}.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:500;margin:0 3px;border:1px solid;letter-spacing:.3px}.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{background-color:var(--badge-status-complete-bg);color:var(--badge-status-complete-fg);border-color:var(--badge-status-complete-border)}.badge-status-encours{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{background-color:var(--badge-status-afaire-bg);color:var(--badge-status-afaire-fg);border-color:var(--badge-status-afaire-border)}table{width:100%;border-collapse:separate;border-spacing:0;margin:15px 0;background:var(--background-secondary);border-radius:6px;overflow:hidden;border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}th,td{border-bottom:1px solid var(--border-primary);padding:10px 12px;text-align:left;font-size:.9rem}tbody tr:last-child td{border-bottom:none}th{background-color:var(--background-tertiary);color:var(--text-secondary);font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}tbody tr:hover{background-color:var(--background-tertiary);cursor:pointer}table.main-table{table-layout:fixed;word-wrap:break-word}.main-table th,.main-table td{font-size:.875rem;padding:8px 15px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],textarea,select{width:100%;padding:8px 10px;border:1px solid var(--border-secondary);border-radius:4px;font-family:Segoe UI,Calibri,Arial,sans-serif;font-size:1rem;transition:all .15s ease;background:var(--background-input);color:var(--text-primary);box-shadow:inset 0 1px 2px #00000012;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);background:var(--background-input-focus);box-shadow:0 0 0 3px #0d6efd40}textarea{resize:vertical;min-height:50px}textarea[readOnly]{background:var(--background-tertiary);cursor:default;opacity:.7}.form-section{display:flex;flex-direction:column;background:transparent;border-radius:6px;margin-bottom:20px;border:1px solid var(--border-secondary);border-left:3px solid var(--border-left-accent)}.form-header{color:var(--text-primary);font-weight:500;padding:10px 15px;border-bottom:1px solid var(--border-secondary);font-size:.95rem;display:flex;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px}.form-grid .form-field{display:flex;flex-direction:column}.form-grid .full-width{grid-column:1 / -1}.form-grid label{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.modal-overlay{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background:#0000004d;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overflow:auto;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal-content{background:var(--background-primary);padding:0;border-radius:8px;width:90%;max-width:800px;box-shadow:0 8px 30px var(--shadow-color-heavy);border:1px solid var(--border-primary);max-height:90vh;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:15px 20px;border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.1rem;font-weight:500;color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.modal-footer{padding:15px 20px;border-top:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--background-secondary);border-radius:0 0 8px 8px}.close{color:var(--text-muted);font-size:28px;font-weight:700;cursor:pointer;transition:color .2s ease;line-height:1}.close:hover{color:var(--text-primary)}.dashboard-card{background:var(--background-primary);border-radius:8px;padding:20px;box-shadow:0 4px 15px var(--shadow-color-heavy);border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-card-title{font-size:1.1rem;font-weight:500;color:var(--text-primary);margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-secondary)}.module-card{background:var(--background-primary);border-radius:8px;padding:15px;box-shadow:0 4px 15px var(--shadow-color-heavy);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-primary);margin-bottom:4px}.filter-bar{background:var(--background-secondary);padding:15px;border-radius:6px;margin:20px 0;border:1px solid var(--border-primary);display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;min-width:150px;flex-grow:1}.filter-group label{font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.filter-group input,.filter-group select{padding:6px 8px;font-size:.9rem;border-radius:4px}.filter-bar .btn{flex-shrink:0;height:33px}.filter-results-count{text-align:right;font-size:.85rem;color:var(--text-muted);margin-top:-15px;margin-bottom:15px;padding-right:5px}.page-header{background:transparent;color:var(--text-primary);padding:10px 15px;border-radius:4px;margin-bottom:25px;text-align:center;border:1px solid var(--border-secondary);transition:all .2s ease}.page-title{font-size:1.1rem;font-weight:500;margin-bottom:4px;letter-spacing:.3px}.page-subtitle{font-size:.85rem;color:var(--text-muted)}.progress-bar-container{width:100%;min-width:100px;background-color:var(--background-tertiary);border-radius:10px;height:18px;position:relative;border:1px solid var(--border-secondary);overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--module-color-improvement);border-radius:10px 0 0 10px;transition:width .4s ease-in-out;display:flex;align-items:center;justify-content:center}.progress-bar-text{position:absolute;width:100%;text-align:center;color:var(--text-primary);font-size:.8rem;font-weight:500;line-height:18px;text-shadow:0 0 2px var(--background-primary)}.footer{background:var(--background-secondary);padding:12px;margin-top:20px;text-align:center;font-size:.8rem;border-radius:6px;color:var(--text-muted);border:1px solid var(--border-primary)}.loading{display:none;text-align:center;padding:30px;height:100vh;display:flex;align-items:center;justify-content:center}.loading.active{display:flex}.spinner{border:4px solid var(--border-primary);border-top:4px solid var(--border-focus);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.action-buttons{text-align:center;margin:15px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.no-data{text-align:center;padding:40px 20px;color:var(--text-muted);font-style:italic}.module-page{display:none;background:var(--background-primary);border-radius:8px;box-shadow:0 4px 15px var(--shadow-color-heavy);margin-top:15px;border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px}.module-page.active{display:block;animation:fadeIn .3s ease}.dashboard-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:flex-start}.dashboard-home{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:15px;margin:20px 0}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;text-shadow:none}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}.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;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}.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)}.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)}.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;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:550px;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-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}.toast-container{position:fixed;top:20px;right:20px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;background:linear-gradient(135deg,#1e2229,#141821);border-radius:12px;border:1px solid;box-shadow:0 8px 24px #0006;animation:slideInRight .3s ease;min-width:320px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.closing{animation:slideOutRight .3s ease}.toast-info{border-color:#3498db80}.toast-warning{border-color:#f39c1280}.toast-error{border-color:#e74c3c80}.toast-success{border-color:#2ecc7180}.toast-icon{font-size:1.5rem;line-height:1}.toast-content{flex:1}.toast-title{font-size:1rem;font-weight:600;color:#fff;margin-bottom:4px}.toast-message{font-size:.9rem;color:#8b939c;line-height:1.4}.toast-close{background:none;border:none;color:#6c757d;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.toast-close:hover{background:#ffffff1a;color:#fff}@media(max-width:768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{min-width:0}}
