@charset "UTF-8";:root{--bg: #ffffff;--bg-elevated: #f6f8fa;--bg-card: #ffffff;--bg-sunken: #eef2f6;--border: #e2e8f0;--border-light: #d3dce6;--border-strong: #b5c1cf;--text: #0f1729;--text-muted: #5a6b80;--text-faint: #8b97a6;--accent: #c5ff00;--accent-hover: #b2e800;--accent-active: #a0d100;--accent-ink: #0f1729;--accent-ink-on-light: #4a6600;--accent-soft: #f4ffc4;--accent-border: #d9f27a;--navy: #0f1729;--navy-2: #141f35;--navy-3: #1d2e4a;--navy-hover: #1a2740;--navy-ink: #ffffff;--navy-ink-muted: #93a4bd;--navy-soft: #eef2f8;--navy-border: #ccd8e8;--danger: #c0261a;--danger-soft: #fdecea;--danger-border: #f5c7c2;--warning: #a85806;--warning-soft: #fdf4e7;--warning-border: #f3dab4;--success: #2f7d32;--success-soft: #eaf5eb;--success-border: #bcdcbe;--live: #e0342a;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(20, 32, 46, .06);--shadow: 0 1px 3px rgba(20, 32, 46, .08), 0 1px 2px rgba(20, 32, 46, .04);--shadow-lg: 0 4px 16px rgba(20, 32, 46, .1), 0 2px 4px rgba(20, 32, 46, .05);--ring: 0 0 0 3px rgba(15, 23, 41, .22);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: var(--font);--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg-elevated);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:650;letter-spacing:-.011em;color:var(--text);margin:0 0 var(--sp-2);line-height:1.3}h1{font-size:1.45rem}h2{font-size:1.15rem}h3{font-size:1rem;font-weight:600}h4{font-size:.9rem;font-weight:600}a{color:var(--accent-ink-on-light);text-decoration:none;font-weight:550}a:hover{color:var(--navy);text-decoration:underline}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.on-navy :focus-visible{box-shadow:0 0 0 3px #c5ff008c}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}@media(max-width:900px){.card:has(>table){overflow-x:auto;-webkit-overflow-scrolling:touch}}.page{padding:var(--sp-5) var(--sp-6);max-width:1180px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-4);border-radius:var(--radius);border:1px solid var(--border-light);background:var(--bg-card);color:var(--text);font-family:inherit;font-weight:550;font-size:.9rem;line-height:1;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong)}.btn:active:not(:disabled){background:var(--bg-sunken);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.btn-secondary{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}.btn-secondary:hover:not(:disabled){background:var(--navy-hover);border-color:var(--navy-hover)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--bg-sunken);border-color:transparent}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#a11f15;border-color:#a11f15}.btn-danger-soft{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger);box-shadow:none}.btn-danger-soft:hover:not(:disabled){background:#fbdcd9;border-color:var(--danger)}.btn-outline{background:transparent;border-color:var(--border-strong);box-shadow:none}.on-navy .btn{background:#ffffff14;border-color:#ffffff29;color:var(--navy-ink);box-shadow:none}.on-navy .btn:hover:not(:disabled){background:#ffffff29;border-color:#ffffff47}.on-navy .btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.on-navy .btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.on-navy .btn-danger{background:var(--live);border-color:var(--live);color:#fff}.btn-sm{min-height:32px;padding:0 var(--sp-3);font-size:.825rem;gap:var(--sp-1)}.btn-lg{min-height:46px;padding:0 var(--sp-5);font-size:.95rem}label{display:block;font-size:.825rem;font-weight:550;color:var(--text);margin-bottom:var(--sp-1)}input,select,textarea{width:100%;min-height:40px;padding:var(--sp-2) var(--sp-3);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text);font-size:.925rem;font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{background:var(--bg-sunken);color:var(--text-muted);cursor:not-allowed}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true],input.ng-invalid.ng-touched,input.ng-invalid.ng-dirty,textarea.ng-invalid.ng-touched,textarea.ng-invalid.ng-dirty,select.ng-invalid.ng-touched,select.ng-invalid.ng-dirty{border-color:var(--danger)}textarea{min-height:90px;resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6B7F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center;padding-right:var(--sp-6)}.field{margin-bottom:var(--sp-4)}.field-hint{color:var(--text-muted);font-size:.8rem;margin-top:var(--sp-1)}.field-error{display:flex;align-items:center;gap:var(--sp-1);color:var(--danger);font-size:.8rem;margin-top:var(--sp-1);font-weight:500}.required{color:var(--danger);margin-left:2px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:.9rem}th{background:var(--bg-elevated);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--bg-elevated)}.num,td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge-active{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.badge-inactive{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.badge-warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.badge-info{background:var(--navy-soft);color:var(--navy);border-color:var(--navy-border)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink-on-light);border-color:var(--accent-border)}.badge-neutral{background:var(--bg-sunken);color:var(--text-muted);border-color:var(--border)}.badge-live{background:var(--danger-soft);color:var(--live);border-color:var(--danger-border)}.badge-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--live);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.badge-live:before{animation:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.alert{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);font-size:.9rem}.alert-warn{background:var(--warning-soft);border-color:var(--warning-border);color:#7a3208}.alert-danger{background:var(--danger-soft);border-color:var(--danger-border);color:#8c1710}.alert-info{background:var(--navy-soft);border-color:var(--navy-border);color:var(--navy)}.alert-success{background:var(--success-soft);border-color:var(--success-border);color:#1f5c22}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.page-header h1{margin:0;position:relative;padding-left:var(--sp-3)}.page-header h1:before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;border-radius:2px;background:var(--accent)}.page-header .subtitle{font-size:.875rem;color:var(--text-muted);margin-top:2px;padding-left:var(--sp-3)}.page-header .actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-3);margin-bottom:var(--sp-1);border-bottom:1px solid var(--border)}.section-head h2,.section-head h3{margin:0;color:var(--navy)}.section-head .section-hint{font-size:.8rem;color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm)}.stat-card .stat-label{font-size:.78rem;color:var(--text-muted);font-weight:550;margin-bottom:var(--sp-2)}.stat-card .stat-value{font-size:1.75rem;font-weight:650;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card .stat-sub{font-size:.8rem;color:var(--text-muted);margin-top:var(--sp-1)}.stat-value.accent{color:var(--accent-ink-on-light)}.stat-value.danger{color:var(--danger)}.stat-value.warning{color:var(--warning)}.stat-value.success{color:var(--success)}.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;color:#fff;flex-shrink:0}.avatar.sm{width:28px;height:28px;font-size:.7rem}.avatar.lg{width:48px;height:48px;font-size:1rem}.chip{font-size:.68rem;font-weight:650;letter-spacing:.03em;padding:2px var(--sp-2);border-radius:var(--radius-sm);text-transform:uppercase;border:1px solid transparent}.chip-admin{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.chip-accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-ink-on-light)}.kv{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) 0;font-size:.9rem}.kv+.kv{border-top:1px solid var(--border)}.kv>span:first-child{color:var(--text-muted)}.identity{display:flex;align-items:center;gap:var(--sp-3)}.identity .name{font-weight:600}.identity .sub{font-size:.8rem;color:var(--text-muted)}.empty-state{text-align:center;padding:var(--sp-7) var(--sp-4);color:var(--text-muted)}.empty-state .empty-title{font-weight:600;color:var(--text);margin-bottom:var(--sp-1)}@media(max-width:640px),(pointer:coarse){input,select,textarea{font-size:16px!important}}@media(max-width:640px){.page{padding:var(--sp-4)}.btn{min-height:44px}.btn-sm{min-height:36px}input,select,textarea{font-size:16px;min-height:44px}}.barre{display:flex;gap:var(--sp-3);align-items:flex-start;flex-wrap:wrap}@media(max-width:640px){.barre>.btn{width:100%;justify-content:center}}.filtres{display:flex;gap:var(--sp-2);flex-wrap:wrap}.puce{min-height:44px;padding:.4rem .9rem;border:1px solid var(--border);border-radius:999px;background:transparent;font:inherit;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.puce.on{border-color:var(--accent-ink-on-light);color:var(--text);font-weight:700}.puce:focus-visible{outline:2px solid var(--accent-ink-on-light);outline-offset:2px}.puce .n{font-variant-numeric:tabular-nums;font-size:.78rem;opacity:.7}
