:root{--primary: #3A7BD5;--accent: #FF6B6B;--success: #4CAF50;--warning: #FF9800;--purple: #9C27B0;--teal: #00BCD4;--orange: #E65100;--danger: #E53935;--bg: #FEF7F0;--card-bg: #FFFFFF;--text: #1E2D3D;--muted: #5B6B7C;--border: #E8E0D3;--radius: 18px;--shadow: 0 6px 24px rgba(58, 123, 213, .1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow:hidden}.page-header{background:var(--card-bg);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.header-content{flex:1;min-width:0}.kicker{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.page-header h1{margin:0;font-family:Cormorant,serif;font-size:1.4rem;font-weight:400;font-style:italic;color:var(--orange);line-height:1.2}.subtitle{font-size:.78rem;color:var(--muted);font-weight:600;margin-top:4px}.header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{padding:8px 14px;border-radius:50px;border:none;font-family:inherit;font-weight:800;font-size:.82rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:#2d5fa8}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:#e55555}.btn-ghost{background:#f0f4fa;color:var(--primary)}.btn-ghost:hover:not(:disabled){background:#e3ecfb}.btn-mini{padding:5px 10px;font-size:.72rem}.fa-app{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:12px;min-height:0;overflow:hidden}@media(max-width:900px){.fa-app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.panel-filters{max-height:40vh}}.panel-filters,.panel-list{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}.filter-search{padding:10px 14px;border-bottom:1.5px solid var(--border)}.filter-search input{width:100%;padding:8px 12px;border-radius:12px;border:1.5px solid var(--border);font-family:inherit;font-size:.88rem;background:#fafbff;transition:all .15s ease}.filter-search input:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:0 0 0 2px #e651001a}.filters-scroll{flex:1 1 auto;overflow-y:auto;padding:12px 14px}.filter-group{margin-bottom:14px}.filter-title{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}.filter-pills{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:5px 11px;border-radius:50px;background:#f0f4fa;color:var(--primary);border:1.5px solid transparent;font-family:inherit;font-weight:800;font-size:.72rem;cursor:pointer;transition:all .15s ease}.pill:hover{background:#e3ecfb}.pill.selected{background:var(--orange);color:#fff;border-color:var(--orange)}.filter-select{width:100%;padding:7px 10px;border-radius:10px;border:1.5px solid var(--border);background:#fafbff;font-family:inherit;font-size:.82rem;transition:all .15s ease;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:0 0 0 2px #e651001a}.tag-chips{display:flex;flex-wrap:wrap;gap:5px}.tag-chip-filter{padding:4px 10px;border-radius:8px;background:#fff3e0;color:var(--orange);border:1.5px solid transparent;font-size:.7rem;font-weight:800;cursor:pointer;transition:all .15s ease}.tag-chip-filter:hover{background:#ffe0b2}.tag-chip-filter.active{background:var(--orange);color:#fff;border-color:var(--orange)}.list-toolbar{padding:10px 14px;border-bottom:1.5px solid var(--border);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.list-counter{font-size:.82rem;color:var(--muted);font-weight:700}.list-counter strong{color:var(--orange);font-weight:900}.counter-sep{margin:0 4px;color:var(--border)}.toolbar-actions{display:flex;gap:6px}.list-scroll{flex:1 1 auto;overflow-y:auto;padding:8px 14px 16px}.fa-table{width:100%;border-collapse:separate;border-spacing:0 6px}.fa-table thead th{text-align:left;padding:8px 10px;font-size:.7rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-bottom:1.5px solid var(--border);position:sticky;top:0;background:#fff;z-index:2}.fa-table tbody tr{background:#fafbff;transition:background .15s ease}.fa-table tbody tr:hover{background:#fff8e1}.fa-table tbody td{padding:10px;font-size:.85rem;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);vertical-align:top}.fa-table tbody tr td:first-child{border-left:1.5px solid var(--border);border-top-left-radius:12px;border-bottom-left-radius:12px}.fa-table tbody tr td:last-child{border-right:1.5px solid var(--border);border-top-right-radius:12px;border-bottom-right-radius:12px;text-align:right;white-space:nowrap}.fa-title{font-weight:800;color:var(--text);cursor:pointer;line-height:1.25;transition:all .15s ease}.fa-title:hover{color:var(--orange);text-decoration:underline}.chip{display:inline-block;padding:3px 10px;border-radius:8px;font-size:.68rem;font-weight:800;border:1.5px solid transparent}.chip-niveau-PS{background:#fff3e0;color:var(--orange);border-color:#ffcc80}.chip-niveau-MS{background:#e1f5fe;color:var(--teal);border-color:#81d4fa}.chip-niveau-GS{background:#e8f5e9;color:var(--success);border-color:#a5d6a7}.chip-niveau-CP{background:#f3e5f5;color:var(--purple);border-color:#ce93d8}.chip-statut-brouillon{background:#fff3e0;color:var(--orange);border-color:#ffcc80}.chip-statut-validee{background:#e8f5e9;color:var(--success);border-color:#a5d6a7}.chip-statut-archivee{background:#f5f5f5;color:#90a4ae;border-color:#cfd8dc}.chip-format{background:#eceff1;color:var(--muted);border-color:#cfd8dc}.chip-tag{background:#fff8e1;color:var(--orange);border-color:#ffe082;font-size:.66rem;padding:2px 8px}.chip-share{background:#e0f7fa;color:var(--teal);border-color:#80deea}.btn-row-action{background:transparent;border:1.5px solid var(--border);color:var(--muted);cursor:pointer;padding:5px 9px;border-radius:10px;font-family:inherit;font-size:.88rem;margin-left:4px;transition:all .15s ease}.btn-row-action:hover{border-color:var(--orange);color:var(--orange);background:#fff8e1}.btn-row-action.danger:hover{border-color:var(--danger);color:var(--danger);background:#ffebee}.empty-state{text-align:center;padding:40px 20px;color:var(--muted);font-weight:600}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1000;align-items:center;justify-content:center;padding:16px}.modal-overlay.active{display:flex}.modal-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:0;position:relative;display:flex;flex-direction:column}.modal-preview-box{width:90vw;height:90vh;max-width:1200px}.modal-edit-box{width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{padding:16px 20px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.1rem;font-weight:900;color:var(--text);margin:0}.modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease}.modal-close:hover{color:var(--text);background:#f0f4fa}.modal-body{flex:1;padding:16px;overflow-y:auto}.modal-body iframe{width:100%;height:100%;border:none;border-radius:8px}.modal-footer{padding:12px 20px;border-top:1.5px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.modal-form{padding:20px;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.9rem;font-weight:700;margin-bottom:6px;color:var(--text)}.required{color:var(--danger)}.form-group input,.form-group select{width:100%;padding:8px 12px;border-radius:10px;border:1.5px solid var(--border);font-family:inherit;font-size:.88rem;background:#fff;transition:all .15s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--orange);background:#fffbf7;box-shadow:0 0 0 2px #e651001a}.form-actions{display:flex;gap:8px;padding-top:8px;justify-content:flex-end;margin-top:8px;border-top:1.5px solid var(--border)}
