@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'IBM Plex Sans',sans-serif;background:#1a1d23;color:#e0e0e0;min-height:100vh;}

/* LOGIN */
.login-bg{position:fixed;inset:0;background:#1a1d23;display:flex;align-items:center;justify-content:center;z-index:1000;}
.login-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(91,164,230,0.08),transparent 50%),radial-gradient(circle at 80% 70%,rgba(74,222,128,0.05),transparent 50%);}
.login-card{position:relative;background:#2e2f38;border:1px solid #3a3d45;border-radius:12px;padding:36px 40px;width:380px;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.login-logo{color:#5ba4e6;font-size:22px;font-weight:700;margin-bottom:4px;}
.login-sub{color:#888;font-size:12px;margin-bottom:28px;}
.login-label{display:block;font-size:11px;color:#999;margin-bottom:6px;font-weight:500;letter-spacing:0.3px;text-transform:uppercase;}
.login-input,.form-input,.form-select{background:#1a1d23;border:1px solid #3a3d45;border-radius:6px;padding:10px 12px;color:#e0e0e0;font-size:13px;width:100%;font-family:inherit;outline:none;transition:all 0.15s;}
.login-input:focus,.form-input:focus,.form-select:focus{border-color:#5ba4e6;box-shadow:0 0 0 3px rgba(91,164,230,0.15);}
.login-btn{background:#5ba4e6;color:#fff;border:none;border-radius:6px;padding:12px;width:100%;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background 0.15s;margin-top:6px;}
.login-btn:hover{background:#4a93d5;}
.login-error{color:#e05555;font-size:11px;margin-top:8px;text-align:center;min-height:14px;}

/* APP */
.app{display:none;max-width:1400px;margin:0 auto;padding:24px;}
.header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #2e2f38;}
.app-title{color:#5ba4e6;font-size:20px;font-weight:700;}
.app-stats{color:#888;font-size:11px;margin-top:3px;}
.user-info{display:flex;gap:10px;align-items:center;}
.user-badge{background:#1a4d2e;color:#4ade80;padding:4px 10px;border-radius:10px;font-size:10px;font-weight:600;}
.user-name{color:#ccc;font-size:12px;font-weight:500;}
.user-logout{color:#666;font-size:11px;cursor:pointer;}
.user-logout:hover{color:#e05555;}

/* TABS */
.tabs{display:flex;gap:2px;background:#2a2d35;border-radius:8px 8px 0 0;padding:4px 4px 0;overflow-x:auto;}
.tab{padding:10px 18px;font-size:12px;font-weight:600;cursor:pointer;border-radius:6px 6px 0 0;transition:all 0.15s;white-space:nowrap;color:#999;background:transparent;border:none;outline:none;font-family:inherit;}
.tab:hover{color:#ccc;background:#33363f;}
.tab.active{color:#fff;background:#2e2f38;border-bottom:2px solid #5ba4e6;}
.tab-icon{margin-right:5px;}
.tab.admin-tab{display:none;}
.tab.admin-tab.visible{display:inline-block;}

.sheet{background:#2e2f38;border-radius:0 0 8px 8px;padding:20px;min-height:540px;display:none;}
.sheet.active{display:block;animation:fadeIn 0.2s ease-out;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* SUB-TABS */
.sub-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #3a3d45;padding-bottom:0;}
.sub-tab{padding:9px 16px;font-size:11px;font-weight:600;cursor:pointer;color:#888;background:transparent;border:none;border-bottom:2px solid transparent;outline:none;font-family:inherit;transition:all 0.15s;margin-bottom:-1px;}
.sub-tab:hover{color:#ccc;}
.sub-tab.active{color:#5ba4e6;border-bottom-color:#5ba4e6;}
.sub-tab .count{display:inline-block;background:#3a3d45;color:#ccc;padding:1px 7px;border-radius:8px;font-size:9px;margin-left:5px;}
.sub-tab.active .count{background:#5ba4e6;color:#fff;}
.sub-sheet{display:none;}
.sub-sheet.active{display:block;animation:fadeIn 0.2s ease-out;}

/* BUTTONS */
.btn-primary{background:#5ba4e6;color:#fff;border:none;border-radius:6px;padding:9px 14px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;white-space:nowrap;}
.btn-primary:hover{background:#4a93d5;}
.btn-primary-large{padding:12px 20px;font-size:12px;font-weight:700;box-shadow:0 4px 14px rgba(91,164,230,0.3);}
.btn-primary-large:hover{box-shadow:0 6px 20px rgba(91,164,230,0.4);transform:translateY(-1px);}
.btn-secondary{background:#2a2d35;color:#ccc;border:1px solid #3a3d45;border-radius:6px;padding:9px 14px;font-size:11px;cursor:pointer;font-family:inherit;transition:all 0.15s;white-space:nowrap;}
.btn-secondary:hover{background:#33363f;color:#fff;}
.btn-danger{background:#8b2020;color:#fff;border:none;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;}
.btn-danger:hover{background:#a02525;}
.btn-success{background:#1a4d2e;color:#4ade80;border:1px solid #2a6b40;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;}
.btn-success:hover{background:#235e36;color:#fff;}
.btn-print{background:#4d3a1a;color:#f0a030;border:1px solid #6b5230;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s;margin-left:4px;}
.btn-print:hover{background:#5e4823;color:#fff;}

/* REX */
.rex-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
.rex-filters{display:flex;gap:6px;margin-bottom:16px;}
.rex-filter{padding:5px 12px;border-radius:12px;font-size:10px;font-weight:600;cursor:pointer;border:1px solid #3a3d45;background:transparent;color:#999;font-family:inherit;transition:all 0.15s;}
.rex-filter.active{background:#f0a030;color:#1a1d23;border-color:#f0a030;}
.rex-filter:hover:not(.active){background:#33363f;color:#ccc;}
.rex-theme-block{background:#1a1d23;border:1px solid #3a3d45;border-radius:10px;margin-bottom:12px;overflow:visible;transition:border-color 0.2s;}
.rex-theme-block.drag-over{border-color:#5ba4e6;box-shadow:0 0 0 2px rgba(91,164,230,0.3);}
.rex-theme-block.collapsed .rex-theme-toggle{transform:rotate(-90deg);}
.rex-theme-block.collapsed .rex-theme-content{display:none;}
.rex-theme-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:background 0.15s;user-select:none;border-radius:10px 10px 0 0;}
.rex-theme-header:hover{background:#2a2d35;}
.rex-theme-name{font-size:13px;font-weight:700;color:#f0a030;flex:1;}
.rex-theme-count{background:#4d3a1a;color:#f0a030;padding:2px 10px;border-radius:10px;font-size:10px;font-weight:600;}
.rex-badge-recurrent{background:#4d2a1a;color:#e05555;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700;margin-left:4px;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}
.rex-theme-toggle{color:#666;font-size:12px;transition:transform 0.2s;}
.rex-theme-content{padding:8px 16px 16px;min-height:20px;border-radius:0 0 10px 10px;transition:background 0.15s;}
.rex-theme-content.drag-over-zone{background:rgba(91,164,230,0.06);outline:2px dashed rgba(91,164,230,0.4);outline-offset:-4px;}
.rex-note{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:#2a2d35;border-radius:6px;margin-bottom:4px;border-left:3px solid #f0a030;cursor:grab;transition:all 0.15s;}
.rex-note:hover{background:#33363f;}
.rex-note:active{cursor:grabbing;}
.rex-note.priority-haute{border-left-color:#e05555;}
.rex-note.priority-basse{border-left-color:#5ba4e6;}
.rex-note.compris{opacity:0.55;border-left-color:#4ade80;background:#1f2a25;}
.rex-note.compris .rex-note-body{text-decoration:line-through;color:#888;}
.rex-note.dragging{opacity:0.25;transform:scale(0.97);pointer-events:none;}
.rex-note-checkbox{margin-top:3px;width:14px;height:14px;cursor:pointer;accent-color:#4ade80;flex-shrink:0;}
.rex-note-body{flex:1;min-width:0;}
.rex-note-text{font-size:12px;color:#e0e0e0;line-height:1.4;word-break:break-word;}
.rex-note-action-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(74,222,128,0.12);color:#4ade80;border-radius:4px;padding:2px 8px;font-size:10px;margin-top:4px;}
.rex-note-meta{font-size:10px;color:#888;margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;}
.rex-note-meta .rex-aff{font-family:monospace;color:#5ba4e6;font-weight:600;}
.rex-note-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;align-items:flex-end;}
.rex-move-btn{background:transparent;border:1px solid #3a3d45;color:#888;cursor:pointer;padding:3px 8px;border-radius:4px;font-size:10px;font-family:inherit;white-space:nowrap;}
.rex-move-btn:hover{color:#fff;border-color:#5ba4e6;}
.rex-drag-hint{text-align:center;font-size:10px;color:#444;font-style:italic;margin-bottom:8px;padding:4px;}
.compris-modal{position:fixed;inset:0;background:rgba(0,0,0,0.75);display:none;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px);}
.compris-modal.active{display:flex;animation:fadeIn 0.2s ease-out;}

/* PRINT */
.print-preview{background:#1a1d23;border:1px solid #3a3d45;border-radius:6px;padding:14px;margin-bottom:14px;font-size:11px;}
.print-preview-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed #3a3d45;}
.print-preview-row:last-child{border-bottom:none;}
.print-preview-row span:first-child{color:#888;}
.print-preview-row span:last-child{color:#e8e8e8;font-weight:600;}
.print-section-list{margin-top:10px;padding:10px 12px;background:#2a2d35;border-radius:6px;}
.print-section-item{font-size:11px;color:#ccc;padding:3px 0;display:flex;align-items:center;gap:6px;}
.print-section-item::before{content:'✓';color:#4ade80;font-weight:700;}
.btn-icon{padding:6px 10px;font-size:14px;}

/* SEARCHBAR */
.searchbar{display:flex;gap:10px;margin-bottom:14px;align-items:center;flex-wrap:wrap;}
.search-input{flex:1;min-width:200px;}
.searchbar-info{color:#4ade80;font-size:11px;font-weight:600;padding:0 8px;white-space:nowrap;}

/* TABLES */
.data-table{width:100%;border-collapse:collapse;font-size:11px;}
.data-table th{background:#2E75B6;color:#fff;padding:9px 10px;font-size:10px;font-weight:600;text-align:left;white-space:nowrap;letter-spacing:0.3px;text-transform:uppercase;}
.data-table th.center{text-align:center;}
.data-table td{padding:8px 10px;border-bottom:1px solid #3a3d45;vertical-align:middle;}
.data-table tr.row{transition:background 0.1s;}
.data-table tr.row:hover{background:#33363f;cursor:pointer;}
.data-table tr.row.no-hover{cursor:default;}
.data-table tr.row.no-hover:hover{background:transparent;}
.data-table .center{text-align:center;}
.data-table tr.contact-extra{background:#1e2029;}
.data-table tr.contact-extra:hover{background:#252830;}
.expand-badge{display:inline-block;background:#1a2e44;color:#5ba4e6;border:1px solid #5ba4e6;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700;margin-left:8px;cursor:pointer;vertical-align:middle;transition:background 0.15s,color 0.15s;}
.expand-badge:hover{background:#5ba4e6;color:#fff;}
.expand-badge.expanded{background:#5ba4e6;color:#fff;}
.contact-indent{color:#444;font-size:13px;padding-left:20px !important;border-left:2px solid #2e2f38;}
.societe{font-weight:700;color:#e8e8e8;}
.email{color:#5ba4e6;}
.tel{color:#ccc;font-family:'IBM Plex Mono',monospace;font-size:10px;}
.cell-jaune{background:rgba(146,113,10,0.18);}
.cell-rouge{background:rgba(139,32,32,0.18);}
.client{color:#f0a030;font-weight:600;}
.affaire-num{font-family:'IBM Plex Mono',monospace;font-weight:600;color:#5ba4e6;}

/* BADGES */
.badge{padding:2px 8px;border-radius:8px;font-size:9px;font-weight:600;letter-spacing:0.3px;text-transform:uppercase;display:inline-block;}
.badge-actif{background:#1a4d2e;color:#4ade80;}
.badge-vide{background:#3a3d45;color:#777;}
.badge-encours{background:#1a3a4d;color:#5ba4e6;}
.badge-complet{background:#1a4d2e;color:#4ade80;}
.badge-retard{background:#4d1a1a;color:#e05555;}
.badge-archive{background:#3a3d45;color:#999;}

/* STATUS PILLS */
.status-pill{padding:3px 10px;border-radius:12px;font-size:10px;font-weight:600;display:inline-block;min-width:80px;text-align:center;cursor:pointer;transition:filter 0.15s;}
.status-pill:hover{filter:brightness(1.15);}
.status-recue{background:#1a4d2e;color:#4ade80;}
.status-attente{background:#3a3d45;color:#ccc;}
.status-relancee{background:#4d3a1a;color:#f0a030;}
.status-refusee{background:#4d1a4d;color:#c060c0;}
.status-retard{background:#4d1a1a;color:#e05555;}

/* DASHBOARD */
.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.dash-title{font-size:18px;font-weight:700;color:#5ba4e6;}
.dash-filters{display:flex;gap:8px;align-items:center;}
.filter-pill{padding:7px 14px;border-radius:16px;font-size:11px;font-weight:600;cursor:pointer;transition:all 0.15s;border:1px solid #3a3d45;background:transparent;color:#999;font-family:inherit;}
.filter-pill.active{background:#5ba4e6;color:#fff;border-color:#5ba4e6;}
.filter-pill:hover:not(.active){background:#33363f;color:#ccc;}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;}
.kpi-card{background:#2a2d35;border:1px solid #3a3d45;border-radius:8px;padding:14px 16px;}
.kpi-label{color:#888;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px;}
.kpi-value{font-size:24px;font-weight:700;color:#e8e8e8;font-family:'IBM Plex Mono',monospace;}
.kpi-card.accent .kpi-value{color:#5ba4e6;}
.kpi-card.warn .kpi-value{color:#e05555;}
.kpi-card.success .kpi-value{color:#4ade80;}
.kpi-card.feedback .kpi-value{color:#f0a030;}
.progress-bar{height:4px;background:#3a3d45;border-radius:2px;overflow:hidden;margin-top:6px;}
.progress-fill{height:100%;background:#4ade80;border-radius:2px;transition:width 0.3s;}
.progress-fill.warn{background:#f0a030;}
.progress-fill.danger{background:#e05555;}

/* AFFAIRE DETAIL */
.affaire-back{color:#5ba4e6;font-size:11px;cursor:pointer;margin-bottom:12px;display:inline-flex;align-items:center;gap:5px;background:none;border:none;font-family:inherit;}
.affaire-back:hover{color:#fff;}
.affaire-detail-header{background:linear-gradient(135deg,#2a2d35,#2e2f38);border:1px solid #3a3d45;border-radius:8px;padding:16px 20px;margin-bottom:16px;}
.affaire-detail-num{font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:700;color:#5ba4e6;}
.affaire-detail-info{display:flex;gap:24px;margin-top:8px;font-size:11px;flex-wrap:wrap;}
.affaire-info-item{color:#888;}
.affaire-info-item strong{color:#e8e8e8;}
.lock-banner{background:rgba(240,160,48,0.1);border:1px solid #f0a030;border-radius:6px;padding:8px 14px;margin-bottom:12px;font-size:11px;color:#f0a030;display:none;}
.lock-banner.visible{display:block;}

/* MODAL */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,0.75);display:none;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(4px);}
.modal-bg.active{display:flex;animation:fadeIn 0.2s ease-out;}
.modal{background:#2e2f38;border:1px solid #3a3d45;border-radius:12px;padding:24px;width:480px;max-width:90vw;box-shadow:0 20px 60px rgba(0,0,0,0.5);max-height:90vh;overflow-y:auto;}
.modal-large{width:720px;}
.modal-title{font-size:16px;font-weight:700;color:#5ba4e6;margin-bottom:4px;}
.modal-sub{font-size:11px;color:#888;margin-bottom:18px;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;}
.modal-msg{margin-top:12px;font-size:11px;text-align:center;min-height:14px;}
.modal-msg.success{color:#4ade80;}
.modal-msg.error{color:#e05555;}
.form-row{margin-bottom:12px;}
.form-row.split{display:flex;gap:10px;}
.form-row.split>div{flex:1;}
.form-label{display:block;font-size:11px;color:#999;margin-bottom:4px;font-weight:500;}
.form-label .required{color:#e05555;}

/* PICKER */
.picker-toolbar{display:flex;gap:8px;margin-bottom:12px;padding:8px;background:#1a1d23;border-radius:6px;flex-wrap:wrap;}
.picker-toolbar .form-input,.picker-toolbar .form-select{font-size:11px;padding:7px 10px;}
.picker-list{max-height:360px;overflow-y:auto;border:1px solid #3a3d45;border-radius:6px;background:#1a1d23;}
.picker-section-title{padding:8px 12px;background:#2a2d35;font-size:10px;font-weight:700;color:#5ba4e6;text-transform:uppercase;letter-spacing:0.5px;position:sticky;top:0;z-index:1;}
.picker-row{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #3a3d45;font-size:11px;gap:10px;cursor:pointer;transition:background 0.1s;}
.picker-row:hover{background:#33363f;}
.picker-row input[type="checkbox"]{accent-color:#5ba4e6;}
.picker-row .pk-soc{font-weight:700;color:#e8e8e8;min-width:140px;}
.picker-row .pk-cnt{color:#ccc;min-width:110px;}
.picker-row .pk-email{color:#5ba4e6;flex:1;}
.picker-row .pk-dom{color:#888;font-size:10px;}
.picker-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1a3a4d;border-radius:6px;margin-top:10px;}
.picker-summary-label{color:#5ba4e6;font-size:12px;font-weight:600;}

/* DROPZONE IA */
.dropzone{border:2px dashed #5ba4e6;border-radius:10px;padding:36px 24px;text-align:center;background:rgba(91,164,230,0.04);transition:all 0.2s;cursor:pointer;margin-bottom:12px;}
.dropzone:hover{background:rgba(91,164,230,0.08);}
.dropzone.dragover{background:rgba(91,164,230,0.15);border-color:#fff;}
.dropzone-icon{font-size:36px;margin-bottom:10px;}
.dropzone-title{font-size:13px;font-weight:600;color:#e8e8e8;margin-bottom:4px;}
.dropzone-sub{font-size:11px;color:#888;}
.dropzone-shortcut{display:inline-block;padding:2px 6px;background:#3a3d45;border-radius:3px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#5ba4e6;margin:0 2px;}
.ia-result{background:#1a1d23;border:1px solid #3a3d45;border-radius:8px;padding:14px;margin-top:12px;}
.ia-result-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.ia-badge{background:#4d1a4d;color:#c060c0;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;}
.ia-extract-table{width:100%;font-size:11px;}
.ia-extract-table th{text-align:left;color:#888;font-weight:500;padding:6px 8px;}
.ia-extract-table td{padding:4px 8px;}
.ia-question{background:rgba(240,160,48,0.1);border-left:2px solid #f0a030;padding:8px 10px;margin:8px 0;border-radius:4px;font-size:11px;color:#f0a030;}

/* SOMMAIRE */
.sommaire-title{font-size:17px;font-weight:700;color:#5ba4e6;text-align:center;margin-bottom:14px;}
.sommaire-link{color:#5ba4e6;cursor:pointer;font-weight:600;}
.sommaire-link:hover{text-decoration:underline;}
.total-row td{border-top:2px solid #5ba4e6 !important;font-weight:700;font-size:12px;padding:10px 10px;}

/* ADMIN */
.admin-section{background:#2a2d35;border:1px solid #3a3d45;border-radius:8px;padding:18px;margin-bottom:14px;}
.admin-title{font-size:13px;font-weight:700;color:#e8e8e8;margin-bottom:12px;}
.admin-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #3a3d45;font-size:12px;}
.admin-row:last-child{border-bottom:none;}
.admin-key{color:#999;}
.admin-value{color:#e8e8e8;font-family:'IBM Plex Mono',monospace;font-size:11px;}

/* HISTORIQUE */
.history-item{background:#2a2d35;border:1px solid #3a3d45;border-radius:6px;padding:10px 14px;margin-bottom:6px;display:flex;gap:12px;align-items:flex-start;}
.history-action{padding:2px 8px;border-radius:4px;font-size:9px;font-weight:700;white-space:nowrap;}
.history-action.CREATE{background:#1a4d2e;color:#4ade80;}
.history-action.UPDATE{background:#1a3a4d;color:#5ba4e6;}
.history-action.DELETE{background:#4d1a1a;color:#e05555;}
.history-action.RESTORE{background:#4d3a1a;color:#f0a030;}
.history-meta{font-size:10px;color:#888;margin-top:4px;}

/* FOOTER */
.footer-info{text-align:center;color:#555;font-size:10px;margin-top:14px;padding-top:12px;border-top:1px solid #3a3d45;}

/* HINT BANNER */
.hint-banner{background:linear-gradient(90deg,rgba(91,164,230,0.08),rgba(91,164,230,0.02));border-left:3px solid #5ba4e6;padding:10px 14px;border-radius:4px;margin-bottom:14px;font-size:11px;color:#ccc;}
.hint-banner strong{color:#5ba4e6;}

/* NOTES SYSTEM */
.notes-section{margin-top:24px;background:#1a1d23;border:1px solid #3a3d45;border-radius:10px;padding:16px 18px;}
.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px;}
.notes-title{font-size:13px;font-weight:700;color:#f0a030;display:flex;align-items:center;gap:6px;}
.notes-filters{display:flex;gap:6px;flex-wrap:wrap;}
.notes-filter{padding:4px 10px;border-radius:12px;font-size:10px;font-weight:600;cursor:pointer;border:1px solid #3a3d45;background:transparent;color:#999;font-family:inherit;transition:all 0.15s;}
.notes-filter.active{background:#f0a030;color:#1a1d23;border-color:#f0a030;}
.notes-filter:hover:not(.active){background:#33363f;color:#ccc;}
.notes-list{margin-bottom:14px;min-height:40px;}
.note-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;background:#2a2d35;margin-bottom:6px;transition:all 0.2s;border-left:3px solid #f0a030;}
.note-item:hover{background:#33363f;}
.note-item.done{opacity:0.5;border-left-color:#4ade80;background:#1f2a25;}
.note-item.done .note-text{text-decoration:line-through;color:#888;}
.note-item.priority-haute{border-left-color:#e05555;}
.note-item.priority-moyenne{border-left-color:#f0a030;}
.note-item.priority-basse{border-left-color:#5ba4e6;}
.note-checkbox{margin-top:2px;width:14px;height:14px;cursor:pointer;accent-color:#4ade80;flex-shrink:0;}
.note-content{flex:1;min-width:0;}
.note-text{font-size:12px;color:#e0e0e0;line-height:1.4;word-break:break-word;}
.note-meta{font-size:10px;color:#888;margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;}
.note-meta .author{color:#5ba4e6;font-weight:600;}
.note-meta .check-info{color:#4ade80;}
.note-priority-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;margin-right:4px;}
.priority-haute .note-priority-badge{background:#4d1a1a;color:#e05555;}
.priority-moyenne .note-priority-badge{background:#4d3a1a;color:#f0a030;}
.priority-basse .note-priority-badge{background:#1a3a4d;color:#5ba4e6;}
.note-delete{background:transparent;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;flex-shrink:0;transition:color 0.15s;}
.note-delete:hover{color:#e05555;}
.note-input-row{display:flex;gap:8px;align-items:center;padding:8px;background:#2a2d35;border-radius:6px;border:1px solid #3a3d45;}
.note-input-row .form-select{width:110px;flex-shrink:0;font-size:11px;padding:8px;}
.note-input-row .form-input{flex:1;padding:8px 10px;font-size:12px;}
.note-input-hint{font-size:10px;color:#666;margin-top:6px;text-align:center;}
.notes-empty{text-align:center;padding:24px;color:#666;font-size:11px;font-style:italic;}

@media(max-width:900px){
  .kpi-row,.rex-stats{grid-template-columns:repeat(2,1fr);}
  .app{padding:16px;}
}
