: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}: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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg: #1e2130;--sidebar-hover: #2a2f45;--sidebar-active: #4f6ef7;--sidebar-text: #a0aec0;--sidebar-text-active: #fff;--sidebar-width: 240px;--accent: #4f6ef7;--accent-dark: #3b5bdb;--accent-light: #eef2ff;--success: #22c55e;--success-bg: #dcfce7;--warning: #f59e0b;--warning-bg: #fef3c7;--danger: #ef4444;--danger-bg: #fee2e2;--info: #3b82f6;--info-bg: #dbeafe;--bg: #f5f6fa;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--text-light: #94a3b8;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.05);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}body{line-height:1.5}a{color:inherit;text-decoration:none}input,select,textarea,button{font-family:inherit;font-size:inherit}img{max-width:100%}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-body{display:flex;flex:1;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.page-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 24px 24px}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;box-shadow:4px 0 16px #00000014;z-index:20}.sidebar-toggle-btn{background:none;border:none;cursor:pointer;color:#fff6;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.sidebar-toggle-btn:hover{color:#fff;background:#ffffff14}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#4f6ef7,#7c3aed);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.sidebar-logo-text{color:#fff;font-weight:700;font-size:14px;line-height:1.2}.sidebar-logo-sub{color:var(--sidebar-text);font-size:11px}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#ffffff26}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar-section{margin-bottom:4px}.sidebar-section-label{text-transform:uppercase;font-size:10px;font-weight:600;color:#ffffff4d;letter-spacing:.08em;padding:8px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--sidebar-text);cursor:pointer;transition:all .15s;font-size:13.5px;font-weight:500;text-decoration:none}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-text-active)}.nav-item svg{width:17px;height:17px;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px}.sidebar-user{padding:12px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4f6ef7,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;flex-shrink:0}.avatar-lg{width:40px;height:40px;font-size:15px}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:#fff;font-weight:600;font-size:13px;truncate:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-role{font-size:11px;color:var(--sidebar-text);text-transform:capitalize}.sidebar-logout{background:none;border:none;color:var(--sidebar-text);cursor:pointer;padding:4px;border-radius:4px;display:flex;transition:color .15s}.sidebar-logout:hover{color:var(--danger)}.topbar-unified{background:var(--sidebar-bg);flex-shrink:0}.topbar-top{height:52px;display:none;align-items:center;justify-content:space-between;padding:0 24px;background:var(--sidebar-bg)}.topbar-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.topbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;flex-shrink:0}.topbar-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#4f6ef7,#7c3aed);border-radius:8px;display:flex;align-items:center;justify-content:center}.topbar-logo-text{color:#fff;font-weight:700;font-size:14px;line-height:1.2}.topbar-logo-sub{color:#94a3b8;font-size:11px}.topbar-toggle{background:none;border:none;cursor:pointer;color:#fff6;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.topbar-toggle:hover{color:#fff;background:#ffffff0f}.topbar-title-divider{width:1px;height:22px;background:#ffffff1a;flex-shrink:0}.topbar-title{font-size:15px;font-weight:700;color:#fff;opacity:.9}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-search-dark{display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:7px 14px;width:200px;transition:all .2s}.topbar-search-dark:focus-within{background:#ffffff1a;border-color:#4f6ef766}.topbar-search-dark svg{color:#ffffff59;flex-shrink:0}.topbar-search-dark input{border:none;background:none;outline:none;width:100%;font-size:13px;color:#ffffffd9}.topbar-search-dark input::placeholder{color:#ffffff4d}.topbar-search-wrapper{position:relative}.topbar-search-dark.active{width:320px;background:#ffffff1f;border-color:#4f6ef780}.search-clear{background:none;border:none;cursor:pointer;color:#fff6;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.search-clear:hover{color:#fff;background:#ffffff1a}.search-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:400px;max-height:420px;overflow-y:auto;background:#1a1d2e;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d;z-index:1000;padding:6px;animation:searchDrop .15s ease}@keyframes searchDrop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.search-loading,.search-empty{padding:20px 16px;text-align:center;color:#fff6;font-size:13px}.search-group{margin-bottom:4px}.search-group-label{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.search-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:8px;transition:background .1s;text-align:left;color:#fff;font-size:13px}.search-item:hover,.search-item.active{background:#4f6ef71f}.search-item-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-item-text{flex:1;min-width:0}.search-item-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-sub{font-size:11px;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.search-item-badge.actif{background:#10b98126;color:#10b981}.search-item-badge.termine{background:#6366f126;color:#6366f1}.search-item-badge.pause{background:#f59e0b26;color:#f59e0b}.search-item-badge.annule{background:#ef444426;color:#ef4444}.search-dropdown::-webkit-scrollbar{width:4px}.search-dropdown::-webkit-scrollbar-track{background:transparent}.search-dropdown::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.topbar-icon-dark{position:relative;background:none;border:none;cursor:pointer;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#ffffff80;transition:background .15s,color .15s}.topbar-icon-dark:hover{background:#ffffff14;color:#fff}.notif-dot-dark{position:absolute;top:5px;right:5px;width:7px;height:7px;background:#ef4444;border-radius:50%;border:2px solid var(--sidebar-bg)}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4f6ef7,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;cursor:pointer;transition:box-shadow .2s}.topbar-avatar:hover{box-shadow:0 0 0 3px #4f6ef74d}.topbar-dropdown{position:absolute;right:0;top:42px;z-index:200;background:var(--sidebar-bg);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 12px 32px #0006;min-width:190px;padding:6px}.topbar-dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:none;color:#ffffffb3;font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s}.topbar-dropdown-item:hover{background:#ffffff0f;color:#fff}.topbar-dropdown-item.danger{color:#f87171}.topbar-dropdown-item.danger:hover{background:#ef44441a;color:#ef4444}.topbar-bottom{height:40px;display:flex;align-items:center;padding:0 24px;gap:4px;background:#010203}.topbar-project-badge{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#4f6ef71f;border:1px solid rgba(79,110,247,.2);border-radius:6px;font-size:11.5px;font-weight:600;color:#93b4fd;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.topbar-project-badge svg{flex-shrink:0;opacity:.65}.topbar-divider{width:1px;height:18px;background:#ffffff1a;margin:0 10px;flex-shrink:0}.topbar-tabs{display:flex;align-items:center;gap:2px}.topbar-tab{display:flex;align-items:center;gap:5px;padding:6px 14px;border:none;background:none;color:#ffffff73;font-size:14px;font-weight:600;cursor:pointer;border-radius:6px 6px 0 0;position:relative;transition:color .15s,background .15s;white-space:nowrap}.topbar-tab:hover{color:#fffc;background:#ffffff0a}.topbar-tab.active{color:#64b5f6;background:#4f6ef70f;text-shadow:0 0 8px rgba(100,181,246,.5),0 0 20px rgba(79,110,247,.2)}.topbar-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#4f9ef7,#64b5f6,#4f9ef7,transparent);box-shadow:0 0 8px #4f9ef799,0 0 20px #4f9ef74d,0 0 40px #4f9ef71a;border-radius:0}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:20px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:15px;font-weight:700;color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{border-radius:var(--radius);padding:20px;color:#fff;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-20px;top:-20px;width:100px;height:100px;border-radius:50%;background:#ffffff1a}.stat-card-value{font-size:36px;font-weight:800;line-height:1}.stat-card-label{font-size:13px;margin-top:6px;opacity:.9;font-weight:500}.stat-purple{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-teal{background:linear-gradient(135deg,#11998e,#38ef7d)}.stat-orange{background:linear-gradient(135deg,#f7971e,#ffd200)}.stat-red{background:linear-gradient(135deg,#f953c6,#ef4444)}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:20px}@media (max-width: 1100px){.dashboard-grid{grid-template-columns:1fr}}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;border-bottom:2px solid var(--border);white-space:nowrap}td{padding:12px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.table-empty{text-align:center;padding:40px;color:var(--text-light)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge-blue{background:var(--info-bg);color:var(--info)}.badge-green{background:var(--success-bg);color:#15803d}.badge-yellow{background:var(--warning-bg);color:#92400e}.badge-red{background:var(--danger-bg);color:#b91c1c}.badge-gray{background:#f1f5f9;color:var(--text-muted)}.badge-purple{background:#ede9fe;color:#6d28d9}.status-a_analyser{background:#f1f5f9;color:#475569}.status-depose{background:#dbeafe;color:#1d4ed8}.status-attente_remarques_mo{background:#fef3c7;color:#92400e}.status-valide{background:#dcfce7;color:#15803d}.status-a_corriger{background:#fee2e2;color:#b91c1c}.status-actif{background:#dbeafe;color:#1d4ed8}.status-termine{background:#dcfce7;color:#15803d}.status-pause{background:#fef3c7;color:#92400e}.status-annule{background:#fee2e2;color:#b91c1c}.status-en_attente{background:#f1f5f9;color:#475569}.status-en_cours{background:#dbeafe;color:#1d4ed8}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{background:none;color:var(--text-muted);border:none}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:7px;border-radius:var(--radius-sm)}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{font-size:12.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-control{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s;width:100%}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f6ef71a}textarea.form-control{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-section{margin-bottom:20px}.form-section-title{font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-lg{max-width:860px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:16px;font-weight:700}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;line-height:0}.modal-close:hover{color:var(--text);background:var(--bg)}.modal-body{padding:24px;overflow-y:auto;flex:1;max-height:calc(90vh - 130px)}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}.progress-bar{height:6px;background:var(--border);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#7c3aed);border-radius:999px;transition:width .4s ease}.progress-fill-green{background:linear-gradient(90deg,#22c55e,#16a34a)}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:16px;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:11px;top:24px;width:2px;bottom:-4px;background:var(--border)}.timeline-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);background:var(--surface);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:6px}.timeline-dot-active{border-color:var(--accent);background:var(--accent)}.timeline-dot-done{border-color:var(--success);background:var(--success)}.timeline-content{flex:1;padding-bottom:20px}.timeline-title{font-weight:600;font-size:14px;margin-bottom:2px}.timeline-meta{font-size:12px;color:var(--text-muted)}.pagination{display:flex;align-items:center;gap:4px;justify-content:center;padding:16px 0 4px}.page-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:13px}.page-btn:hover{background:var(--bg)}.page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.toggle-wrap{display:flex;align-items:center;gap:10px}.toggle{position:relative;width:40px;height:22px;display:inline-block}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:999px;transition:.2s;cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.flex{display:flex}.flex-center{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-muted{color:var(--text-muted)}.text-sm{font-size:12.5px}.font-bold{font-weight:700}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.search-input{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px}.search-input input{border:none;background:none;outline:none;width:180px;color:var(--text)}:root{--login-logo-width: 130px;--login-card-max-width: 480px;--login-dark-page-bg: #090a0c;--login-dark-card-bg: rgba(28, 30, 36, .65);--login-dark-card-blur: 40px;--login-dark-card-border: rgba(255, 255, 255, .06);--login-dark-body-bg: #0f1520;--login-dark-body-border: rgba(79, 110, 247, .15);--login-dark-input-bg: rgba(0, 0, 0, .3);--login-dark-input-border: rgba(255, 255, 255, .08);--login-dark-btn-bg: #ffffff;--login-dark-btn-text: #000000;--login-dark-text-primary: #ffffff;--login-dark-text-secondary: #8b8d98;--login-dark-divider: linear-gradient(90deg, transparent 0%, rgba(30, 144, 255, .3) 50%, transparent 100%);--login-light-page-bg: #f8fafc;--login-light-card-bg: rgba(255, 255, 255, .85);--login-light-card-border: rgba(0, 0, 0, .06);--login-light-body-bg: #f1f5f9;--login-light-input-bg: #ffffff;--login-light-input-border: #cbd5e1;--login-light-btn-bg: #0f172a;--login-light-btn-text: #ffffff;--login-light-text-primary: #0f172a;--login-light-text-secondary: #64748b;--login-light-divider: linear-gradient(90deg, transparent 0%, rgba(79, 110, 247, .3) 50%, transparent 100%)}.login-page{min-height:100vh;background:var(--login-dark-page-bg);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--login-dark-text-primary);font-family:Inter,sans-serif;padding:24px;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(79,110,247,.08),transparent 40%),radial-gradient(600px circle at calc(100% - var(--mouse-x, 50%)) calc(100% - var(--mouse-y, 50%)),rgba(124,58,237,.05),transparent 40%);pointer-events:none;z-index:0;transition:background .2s ease-out}.login-card{background:var(--login-dark-card-bg);backdrop-filter:blur(var(--login-dark-card-blur));-webkit-backdrop-filter:blur(var(--login-dark-card-blur));border:1px solid var(--login-dark-card-border);border-radius:20px;padding:32px 48px 48px;width:100%;max-width:var(--login-card-max-width);box-shadow:0 40px 80px #0009,inset 0 1px #ffffff08;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.login-logo{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.login-logo img{width:var(--login-logo-width);height:auto;object-fit:contain}.login-welcome{text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:var(--login-dark-text-secondary);margin-bottom:8px;font-weight:600}.login-title{font-size:24px;font-weight:500;color:var(--login-dark-text-primary);margin-bottom:24px;text-align:center;line-height:1.35;position:relative;width:100%}.login-preview-badge{background:#ffffff0f;border:1px solid rgba(255,255,255,.04);padding:5px 14px;border-radius:6px;font-size:12px;color:#e2e8f0;margin-bottom:36px;font-weight:500}.login-divider-line{background:var(--login-dark-divider);margin:0px 0px 1.75rem;height:1px;width:calc(100% + 96px)}.login-body{width:100%;background:var(--login-dark-body-bg);border:1px solid var(--login-dark-body-border);border-radius:14px;padding:32px;margin-top:20px;box-shadow:inset 0 1px 2px #ffffff08}.login-body-title{font-size:20px;font-weight:500;color:var(--login-dark-text-primary);margin-bottom:24px;text-align:center}.login-body-title span{color:#4f6ef7}.login-page .form-control{background:var(--login-dark-input-bg)!important;border:1px solid var(--login-dark-input-border)!important;color:var(--login-dark-text-primary)!important;padding:14px 14px 14px 44px!important;border-radius:12px;font-size:14px}.login-page .form-control:focus{border-color:#4f6ef799!important;background:#00000080!important;box-shadow:0 0 0 3px #4f6ef726!important}.login-page .form-control::placeholder{color:#ffffff59;font-weight:400}.login-page .input-icon-wrap .input-icon{color:#fff6;left:16px;width:18px;height:18px}.login-page .btn-submit{background:var(--login-dark-btn-bg);color:var(--login-dark-btn-text);font-weight:600;padding:14px;border-radius:12px;border:none;width:100%;transition:all .2s ease;cursor:pointer;margin-top:12px;font-size:14.5px}.login-page .btn-submit:hover:not(:disabled){background:#f0f0f0;transform:translateY(-1px)}.login-page .btn-submit:disabled{opacity:.7;cursor:not-allowed}.input-icon-wrap{position:relative}.input-icon-wrap .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}.theme-toggle{position:absolute;top:24px;right:24px;background:#ffffff14;border:1px solid rgba(255,255,255,.04);color:var(--login-dark-text-primary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}.theme-toggle:hover{background:#ffffff26;transform:scale(1.05)}.login-page.light-theme{background:var(--login-light-page-bg);color:var(--login-light-text-primary)}.login-page.light-theme:before{background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(79,110,247,.08),transparent 40%)}.login-page.light-theme .login-card{background:var(--login-light-card-bg);border:1px solid var(--login-light-card-border);box-shadow:0 30px 60px #0000000f,0 10px 20px #0000000a}.login-page.light-theme .login-title,.login-page.light-theme .login-body-title{color:var(--login-light-text-primary)}.login-page.light-theme .login-welcome{color:var(--login-light-text-secondary)}.login-page.light-theme .login-divider-line{background:var(--login-light-divider)}.login-page.light-theme .login-body{background:var(--login-light-body-bg);box-shadow:inset 0 1px 3px #00000005}.login-page.light-theme .login-body-title{color:#0f172a}.login-page.light-theme .form-control{background:var(--login-light-input-bg)!important;border-color:var(--login-light-input-border)!important;color:var(--login-light-text-primary)!important}.login-page.light-theme .form-control:focus{border-color:#4f6ef7!important;box-shadow:0 0 0 3px #4f6ef726!important}.login-page.light-theme .form-control::placeholder{color:var(--login-light-text-secondary)}.login-page.light-theme .input-icon-wrap .input-icon{color:var(--login-light-text-secondary)}.login-page.light-theme .btn-submit{background:var(--login-light-btn-bg);color:var(--login-light-btn-text)}.login-page.light-theme .btn-submit:hover:not(:disabled){background:#1e293b}.login-page.light-theme .theme-toggle{background:#0000000d;border-color:#00000014;color:var(--login-light-text-primary)}.login-page.light-theme .theme-toggle:hover{background:#00000014}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:box-shadow .2s,transform .2s;cursor:pointer}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}@media (max-width: 768px){:root{--sidebar-width: 0px}.sidebar{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.form-row,.form-row-3,.dashboard-grid{grid-template-columns:1fr}}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.notif-item:last-child{border-bottom:none}.notif-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.notif-title{font-weight:600;font-size:13px}.spotlight-hero{animation:spotlightFadeIn .6s ease-out;transition:border-color .3s,box-shadow .3s}.spotlight-hero:hover{border-color:#ffffff1f!important;box-shadow:0 8px 40px #0000004d}@keyframes spotlightFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes aiModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes aiModalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-meta{font-size:11.5px;color:var(--text-muted);margin-top:1px}
