@-webkit-keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-loader .sk-block,.skeleton-loader .sk-final,.skeleton-loader .sk-footer,.skeleton-loader .sk-module-header{background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;-webkit-animation:skeleton-shimmer 1.5s infinite;animation:skeleton-shimmer 1.5s infinite;border-radius:3px}.skeleton-loader .sk-module{margin-bottom:8px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}.skeleton-loader .sk-module-header{height:32px;border-radius:0}.skeleton-loader .sk-row{display:grid;grid-template-columns:50% 16.66% 16.66% 16.66%;grid-gap:6px;gap:6px;padding:8px 12px;border-bottom:1px solid #f3f4f6}.skeleton-loader .sk-cell{height:14px}.skeleton-loader .sk-cell.matiere{width:70%;margin-left:auto}.skeleton-loader .sk-cell.input{height:22px}.skeleton-loader .sk-footer{height:32px;background:#fef9c3;border-top:1px solid #fde68a;padding:6px 12px;border-radius:0}.skeleton-loader .sk-final{height:90px;border:1px solid #e5e7eb;border-radius:6px;margin-top:14px;background:#fff}.pdf-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.pdf-modal-content{background:#fff;width:90%;max-width:1000px;height:90vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.3)}.pdf-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.pdf-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.pdf-modal-actions{display:flex;grid-gap:8px;gap:8px;align-items:center}.pdf-modal-actions button{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit;transition:background .15s}.pdf-modal-actions button:hover{background:#f3f4f6}.pdf-modal-actions .btn-close-modal{background:transparent;border:none;font-size:18px;color:#6b7280;padding:4px 8px;line-height:1}.pdf-modal-actions .btn-close-modal:hover{background:#fee2e2;color:#b91c1c;border-radius:4px}.pdf-modal-body{flex:1 1;overflow:hidden;background:#f3f4f6}.pdf-error,.pdf-loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px}.pdf-error{color:#dc2626}.note-input.readonly-stat,input.readonly-stat{background:#f9fafb!important;border:1px solid #e5e7eb!important;color:#6b7280!important;cursor:not-allowed!important;font-weight:500}.note-input.readonly-stat:focus,input.readonly-stat:focus{box-shadow:none!important;outline:none!important;border-color:#e5e7eb!important}.note-input.clamped,input.clamped{border-color:#f59e0b!important;background:#fffbeb!important;box-shadow:inset 0 0 0 1px #f59e0b!important}.remark-counter{font-size:10px;color:#9ca3af;text-align:right;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.remark-counter.warning{color:#f59e0b;font-weight:600}.remark-counter.danger{color:#dc2626;font-weight:700}.remark-toggle{font-size:11px;color:#92400e;background:transparent;border:1px dashed #fde68a;cursor:pointer;padding:3px 10px;border-radius:3px;display:inline-flex;align-items:center;grid-gap:6px;gap:6px;font-family:inherit;min-width:140px;justify-content:center}.remark-toggle .chevron{font-size:10px;transition:transform .15s}.remark-toggle:hover{background:#fffbeb;border-color:#fcd34d}.notes-table tbody tr{cursor:pointer}.notes-table tbody td.matiere:hover{background:#eff6ff!important}.notes-table tbody tr.row-focused td:not(.matiere){background:#f0f9ff!important}.notes-table tbody tr.row-focused td.matiere{background:#eff6ff!important;color:#1e40af!important;font-weight:500!important}.btn-confirm-carnet{background:#16a34a!important;color:#fff!important;border:none!important;padding:9px 22px!important;border-radius:5px!important;font-size:13px!important;font-weight:600!important;box-shadow:0 1px 3px rgba(22,163,74,.25)!important;cursor:pointer!important}.btn-confirm-carnet:hover{background:#15803d!important;box-shadow:0 2px 6px rgba(22,163,74,.35)!important}.btn-nav-carnet{font-size:12px;padding:3px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;cursor:pointer;line-height:1.4;font-family:inherit}.btn-nav-carnet:disabled{opacity:.4;cursor:not-allowed}.btn-nav-carnet:not(:disabled):hover{background:#f3f4f6}.btn-pdf-preview{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:500;color:#374151;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.btn-pdf-preview:hover{background:#f0f9ff;border-color:#93c5fd;color:#1e40af}.view-toggle{display:flex;background:#f3f4f6;border-radius:5px;padding:2px;grid-gap:1px;gap:1px}.view-toggle button{background:transparent;border:none;padding:3px 9px;border-radius:3px;font-size:11px;font-weight:500;color:#6b7280;cursor:pointer;font-family:inherit;transition:all .15s}.view-toggle button.active{background:#fff;color:#1e40af;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}.focus-layout{display:grid;grid-template-columns:1fr 220px;grid-gap:14px;gap:14px;align-items:start}.modules-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px;position:-webkit-sticky;position:sticky;top:80px;display:flex;flex-direction:column;grid-gap:4px;gap:4px;order:2}.module-link{background:transparent;border:1px solid transparent;padding:8px 10px;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit;font-size:12px;text-align:left;width:100%}.module-link:hover{background:#f9fafb;border-color:#e5e7eb}.module-link.active{background:#eff6ff;border-color:#bfdbfe;color:#1e40af;font-weight:600}.module-link .module-moyenne{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#6b7280;white-space:nowrap}.module-link.active .module-moyenne{color:#1e40af}.focus-panel{order:1}.workflow-row{grid-gap:14px;gap:14px;padding:6px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:11px;margin-bottom:8px}.wf-step,.workflow-row{display:flex;align-items:center}.wf-step{grid-gap:6px;gap:6px}.wf-step .dot{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}.wf-step.done .dot{background:#16a34a}.wf-step.in-progress .dot{background:#f59e0b}.wf-step .lbl{color:#374151;font-weight:500}.wf-step.in-progress .lbl{color:#92400e}.wf-arrow{color:#d1d5db}