:root{--surface-base:#0b1020;--surface-raised:#111827;--surface-overlay:#1f2937;--surface-floating:#273244;--surface-hover:#ffffff0a;--surface-active:#ffffff14;--surface-base-translucent:#0b1020c7;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#0b1020;--intent-primary:#3b82f6;--intent-primary-hover:#2563eb;--intent-primary-soft:#3b82f624;--intent-primary-surface:#2563eb;--intent-primary-surface-hover:#1d4ed8;--intent-success:#10b981;--intent-success-soft:#10b98124;--intent-warning:#f59e0b;--intent-warning-soft:#f59e0b24;--intent-warning-surface:#f59e0b24;--intent-danger:#ef4444;--intent-danger-hover:#dc2626;--intent-danger-soft:#ef444424;--intent-danger-text:#f87171;--intent-info:#06b6d4;--intent-info-soft:#06b6d424;--intent-neutral-soft:#94a3b824;--border-subtle:#94a3b829;--border-strong:#94a3b852;--border-focus:#60a5fa;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-display:"Bricolage Grotesque",Georgia,"Times New Roman",serif;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--font-public-display:var(--font-display);--font-public-text:var(--font-sans);--font-public-data:var(--font-mono);--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-2xl:36px;--text-3xl:46px;--text-display:60px;--tracking-tight:-0.02em;--tracking-wide:0.08em;--leading-tight:1.2;--leading-display:1.08;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--radius-xs:2px;--radius-sm:6px;--radius-md:6px;--radius-lg:12px;--radius-xl:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000073;--transition-fast:150ms ease-out;--transition-base:220ms ease-out;--z-sticky:100;--z-scrim:150;--z-sidebar:200;--z-overlay:900;--z-modal:1000;--z-toast:1100;--sidebar-width:248px;--sidebar-width-collapsed:72px;--header-height:64px;--content-max-width:1440px;--landing-max-width:1200px;--tap-target:44px;--bg:var(--surface-base);--color-bg-primary:var(--surface-base);--detail-bg:var(--surface-base);--card:var(--surface-raised);--bg-card:var(--surface-raised);--color-bg-card:var(--surface-raised);--color-bg-secondary:var(--surface-raised);--detail-card:var(--surface-raised);--color-bg-tertiary:var(--surface-overlay);--color-bg-input:var(--surface-overlay);--bg-hover:var(--surface-overlay);--border:var(--border-subtle);--border-color:var(--border-subtle);--color-border-primary:var(--border-subtle);--detail-border:var(--border-subtle);--color-border-secondary:var(--border-strong);--color-border-focus:var(--border-focus);--text-main:var(--text-primary);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--muted:var(--text-muted);--color-text-tertiary:var(--text-muted);--color-text-disabled:var(--text-muted);--accent:var(--intent-primary);--accent-blue:var(--intent-primary);--primary-blue:var(--intent-primary);--color-accent-primary:var(--intent-primary);--color-accent-hover:var(--intent-primary-hover);--accent-cyan:var(--intent-info);--color-accent-success:var(--intent-success);--color-accent-warning:var(--intent-warning);--color-accent-error:var(--intent-danger);--font-size-xs:var(--text-xs);--font-size-sm:var(--text-sm);--font-size-base:var(--text-base);--font-size-lg:var(--text-md);--font-size-xl:var(--text-lg);--font-size-2xl:var(--text-lg);--font-size-3xl:var(--text-xl);--font-weight-normal:var(--weight-regular);--font-weight-medium:var(--weight-medium);--font-weight-semibold:var(--weight-semibold);--font-weight-bold:var(--weight-bold);--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-5);--space-xl:var(--space-6);--space-2xl:var(--space-7);--space-12:var(--space-3);--space-16:var(--space-4);--space-24:var(--space-5);--space-32:var(--space-6);--space-40:var(--space-7);--space-48:var(--space-7);--space-64:var(--space-8);--radius-full:var(--radius-pill);--shadow-xl:var(--shadow-lg);--transition-normal:var(--transition-base);--input-height:var(--tap-target);--badge-size:24px;--height-badge:24px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b1020;background:var(--surface-base);color:#f8fafc;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px;font-size:var(--text-base);line-height:1.5;line-height:var(--leading-normal);margin:0}#root,body{overflow-x:hidden}h1,h2,h3,h4{color:#f8fafc;color:var(--text-primary);line-height:1.2;line-height:var(--leading-tight);margin:0}button,input,select,textarea{color:inherit;font:inherit}a{color:#3b82f6;color:var(--intent-primary)}:focus-visible{border-radius:6px;border-radius:var(--radius-sm);outline:2px solid #60a5fa;outline:2px solid var(--border-focus);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#2563eb;background:var(--intent-primary-surface);border-radius:6px;border-radius:var(--radius-md);color:#fff;font-weight:600;font-weight:var(--weight-semibold);left:16px;left:var(--space-4);padding:12px 16px;padding:var(--space-3) var(--space-4);position:absolute;top:-100px;transition:top .15s ease-out;transition:top var(--transition-fast);z-index:1100;z-index:var(--z-toast)}.skip-link:focus{top:16px;top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.stack{display:flex;flex-direction:column;gap:16px;gap:var(--space-4)}.row,.row-wrap{align-items:center;display:flex;gap:12px;gap:var(--space-3)}.row-wrap{flex-wrap:wrap}@media (prefers-contrast:high){:root{--color-border-primary:#fff;--color-border-secondary:#fff;--color-text-secondary:#fff}}.ui-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);gap:var(--space-2);justify-content:center;line-height:var(--leading-normal);padding:var(--space-2) var(--space-4);text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.ui-btn:disabled{cursor:not-allowed;opacity:.55}.ui-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ui-btn--sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.ui-btn--lg,.ui-btn--md{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.ui-btn--full{width:100%}.ui-btn--icon-only{height:34px;min-width:34px;padding:var(--space-2);width:34px}.ui-btn--primary{background-color:var(--intent-primary-surface);font-weight:var(--weight-semibold)}.ui-btn--primary,.ui-btn--primary:not(:disabled):hover{border-color:var(--intent-primary);color:var(--text-primary)}.ui-btn--primary:not(:disabled):hover{background-color:var(--intent-primary-surface-hover)}.ui-btn--secondary{background-color:var(--surface-overlay);border-color:var(--border-subtle);color:var(--text-primary)}.ui-btn--secondary:not(:disabled):hover{background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.ui-btn--ghost{background-color:var(--surface-overlay);border-color:var(--border-subtle);color:var(--text-secondary)}.ui-btn--ghost:not(:disabled):hover{background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.ui-btn--danger{background-color:var(--intent-danger);border-color:var(--intent-danger);color:var(--text-primary);font-weight:var(--weight-semibold)}.ui-btn--danger:not(:disabled):hover{background-color:var(--intent-danger-hover);border-color:var(--intent-danger-hover);color:var(--text-primary)}.ui-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.ui-field__label{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium)}.ui-field__required{color:var(--intent-danger);margin-left:2px}.ui-field__control{align-items:center;display:flex;position:relative}.ui-field__input{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);min-height:var(--tap-target);padding:0 var(--space-3);transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.ui-field__input::placeholder{color:var(--text-muted)}.ui-field__input:hover:not(:disabled){border-color:var(--border-strong)}.ui-field__input:focus,.ui-field__input:focus-visible{background:var(--surface-floating);border-color:var(--border-focus);outline:2px solid var(--border-focus);outline-offset:1px}.ui-field__input:disabled{cursor:not-allowed;opacity:.6}.ui-field__input--with-icon{padding-left:var(--space-7)}.ui-field__input--with-toggle{padding-right:52px}.ui-field__icon{left:var(--space-3);pointer-events:none}.ui-field__icon,.ui-field__toggle{color:var(--text-muted);position:absolute}.ui-field__toggle{align-items:center;background:var(--surface-overlay);border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;height:var(--tap-target);justify-content:center;right:var(--space-1);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:var(--tap-target)}.ui-field__toggle:hover{background:var(--surface-hover);border-color:var(--border-subtle);color:var(--text-primary)}.ui-field__toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ui-field__hint{color:var(--text-muted)}.ui-field__error,.ui-field__hint{font-family:var(--font-sans);font-size:var(--text-xs);margin:0}.ui-field__error{align-items:center;color:var(--intent-danger);display:flex;gap:var(--space-2)}.ui-field--error .ui-field__input{border-color:var(--intent-danger)}.ui-modal__overlay{align-items:center;animation:ui-fade-in var(--transition-base);background:var(--surface-base-translucent);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.ui-modal{animation:ui-modal-in var(--transition-base);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:calc(100vh - var(--space-7));width:100%}.ui-modal--sm{max-width:420px}.ui-modal--md{max-width:560px}.ui-modal--lg{max-width:760px}.ui-modal--xl{max-width:1040px}.ui-modal__header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-5)}.ui-modal__title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.ui-modal__description{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);margin:var(--space-2) 0 0}.ui-modal__close{align-items:center;background-color:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;padding:var(--space-2);transition:all var(--transition-base);width:34px}.ui-modal__close:hover{background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.ui-modal__close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ui-modal__body{flex:1 1;overflow-y:auto;padding:var(--space-5)}.ui-modal__footer{border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5)}.ui-confirm__message{color:var(--text-secondary);font-family:var(--font-sans);margin:0}.ui-confirm__challenge{background:var(--intent-danger-soft);border:1px solid var(--intent-danger);border-radius:var(--radius-sm);margin-top:var(--space-5);padding:var(--space-4)}.ui-confirm__challenge-text{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);margin:0 0 var(--space-3)}.ui-confirm__challenge .ui-field{margin-bottom:0}@media (max-width:768px){.ui-modal__overlay{align-items:flex-end;padding:0}.ui-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;max-width:100%}.ui-modal__footer{flex-direction:column-reverse}.ui-modal__footer .ui-btn{width:100%}}.ui-toasts{flex-direction:column;max-width:min(400px,calc(100vw - var(--space-6)));pointer-events:none;position:fixed;right:var(--space-4);top:var(--space-4);z-index:var(--z-toast)}.ui-toast,.ui-toasts{display:flex;gap:var(--space-3)}.ui-toast{align-items:flex-start;animation:ui-toast-in var(--transition-base);background:var(--surface-floating);border:1px solid var(--border-subtle);border-left-width:3px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);pointer-events:auto}.ui-toast--success{border-left-color:var(--intent-success)}.ui-toast--error{border-left-color:var(--intent-danger)}.ui-toast--warning{border-left-color:var(--intent-warning)}.ui-toast--info{border-left-color:var(--intent-info)}.ui-toast--success .ui-toast__icon{color:var(--intent-success)}.ui-toast--error .ui-toast__icon{color:var(--intent-danger)}.ui-toast--warning .ui-toast__icon{color:var(--intent-warning)}.ui-toast--info .ui-toast__icon{color:var(--intent-info)}.ui-toast__icon{flex-shrink:0;margin-top:2px}.ui-toast__content{flex:1 1;min-width:0}.ui-toast__title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:0 0 2px}.ui-toast__text{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);margin:0;overflow-wrap:anywhere}.ui-toast__close{align-items:center;background:var(--surface-floating);border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:28px}.ui-toast__close:hover{background:var(--surface-hover);border-color:var(--border-subtle);color:var(--text-primary)}.ui-toast__close:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}@media (max-width:768px){.ui-toasts{bottom:var(--space-4);left:var(--space-3);max-width:none;right:var(--space-3);top:auto}}.demo-banner{align-items:flex-start;background:var(--intent-warning-soft);border:1px solid var(--intent-warning);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-family:var(--font-sans);font-size:var(--text-sm);gap:var(--space-3);line-height:var(--leading-normal);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.demo-banner strong{color:var(--text-primary)}.tmp-pass{display:flex;flex-direction:column;gap:var(--space-4)}.tmp-pass__intro{align-items:flex-start;background:var(--intent-warning-soft);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;gap:var(--space-2);padding:var(--space-3)}.tmp-pass__intro,.tmp-pass__reason{font-family:var(--font-sans);font-size:var(--text-sm);margin:0}.tmp-pass__reason{color:var(--text-muted)}.tmp-pass__field{display:flex;flex-direction:column;gap:var(--space-2)}.tmp-pass__label{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.tmp-pass__value{font-feature-settings:"tnum";color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tmp-pass__secret{align-items:center;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.tmp-pass__secret .tmp-pass__value{flex:1 1;letter-spacing:1px}.tmp-pass__action{align-items:center;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:36px}.tmp-pass__action:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.tmp-pass__action:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.tmp-pass__copied{color:var(--intent-success);font-size:var(--text-xs)}.tmp-pass__copied,.ui-badge{font-family:var(--font-sans)}.ui-badge{font-feature-settings:"tnum";align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);gap:var(--space-2);white-space:nowrap}.ui-badge--sm{font-size:var(--text-xs);padding:2px var(--space-2)}.ui-badge--md{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.ui-badge__dot{background:currentColor;border-radius:var(--radius-pill);height:6px;width:6px}.ui-badge--neutral{background:var(--intent-neutral-soft);color:var(--text-secondary)}.ui-badge--primary{background:var(--intent-primary-soft);color:var(--intent-primary)}.ui-badge--success{background:var(--intent-success-soft);color:var(--intent-success)}.ui-badge--warning{background:var(--intent-warning-soft);color:var(--intent-warning)}.ui-badge--danger{background:var(--intent-danger-soft);color:var(--intent-danger)}.ui-badge--info{background:var(--intent-info-soft);color:var(--intent-primary)}.ui-skeleton-group{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.ui-skeleton{animation:ui-shimmer 1.4s infinite;background:linear-gradient(90deg,var(--surface-overlay) 25%,var(--surface-floating) 50%,var(--surface-overlay) 75%);background-size:200% 100%;border-radius:var(--radius-sm);display:block}.ui-skeleton--text{height:14px;width:100%}.ui-skeleton--title{height:24px;width:40%}.ui-skeleton--circle{border-radius:var(--radius-pill);height:40px;width:40px}.ui-skeleton--rect{border-radius:var(--radius-sm);height:120px;width:100%}.ui-state{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-7) var(--space-4);text-align:center}.ui-state--loading{align-items:stretch;text-align:left}.ui-state__skeletons{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.ui-state__icon{color:var(--text-muted);font-size:34px}.ui-state--error .ui-state__icon{color:var(--intent-warning)}.ui-state__title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.ui-state__description{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);margin:0;max-width:44ch}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes ui-toast-in{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-danger,.btn-primary,.btn-secondary{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);gap:var(--space-2);justify-content:center;line-height:var(--leading-normal);padding:var(--space-2) var(--space-4);text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.btn-primary{background-color:var(--intent-primary-surface);font-weight:var(--weight-semibold)}.btn-primary,.btn-primary:hover:not(:disabled){border-color:var(--intent-primary);color:var(--text-primary)}.btn-primary:hover:not(:disabled){background-color:var(--intent-primary-surface-hover)}.btn-secondary{background-color:var(--surface-overlay);border-color:var(--border-subtle);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.btn-danger{background-color:var(--intent-danger);border-color:var(--intent-danger);color:var(--text-primary);font-weight:var(--weight-semibold)}.btn-danger:hover:not(:disabled){background-color:var(--intent-danger-hover);border-color:var(--intent-danger-hover);color:var(--text-primary)}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.55}.btn-danger:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-icon{align-items:center;background-color:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:var(--space-2);transition:all var(--transition-base);width:34px}.btn-icon:hover{background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.btn-icon:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-icon.edit:hover{border-color:var(--intent-primary);color:var(--intent-primary)}.btn-icon.view:hover{border-color:var(--intent-info);color:var(--intent-info)}.btn-icon.reset:hover{border-color:var(--intent-warning);color:var(--intent-warning)}.btn-icon.toggle:hover{border-color:var(--intent-info);color:var(--intent-info)}.btn-icon.delete:hover{border-color:var(--intent-danger);color:var(--intent-danger)}.btn-icon.suspend:hover{border-color:var(--intent-warning);color:var(--intent-warning)}.btn-icon.labelled{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);gap:var(--space-2);height:auto;padding:var(--space-1) var(--space-3);white-space:nowrap;width:auto}.btn-close,.modal-close{align-items:center;background-color:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--text-base);height:34px;justify-content:center;line-height:1;padding:var(--space-2);transition:all var(--transition-base);width:34px}.btn-close:hover,.modal-close:hover{background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.btn-close:focus-visible,.modal-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.page-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-4)}.page-header h1,.page-title,.section-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.section-title{font-size:var(--text-lg);margin-bottom:var(--space-3)}.modal-overlay{align-items:center;background:var(--surface-base-translucent);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.modal{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:calc(100vh - var(--space-7));max-width:560px;overflow-y:auto;padding:var(--space-5);width:100%}.modal.large{max-width:860px}.modal-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.modal-header h2,.modal-header h3{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.modal-actions,.modal-footer{border-top:1px solid var(--border-subtle);display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-group label{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium)}.form-group input,.form-group select,.form-group textarea{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);min-height:var(--tap-target);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.form-group textarea{min-height:96px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group input:focus-visible,.form-group select:focus,.form-group select:focus-visible,.form-group textarea:focus,.form-group textarea:focus-visible{background:var(--surface-floating);border-color:var(--border-focus);outline:2px solid var(--border-focus);outline-offset:1px}.filter-select option,.form-group select option{background:var(--surface-overlay);color:var(--text-primary)}.form-note{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);margin:0 0 var(--space-4)}.form-note.important{background:var(--intent-primary-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);padding:var(--space-3) var(--space-4)}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);box-shadow:inset 0 0 0 1000px var(--surface-overlay);caret-color:var(--text-primary);-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.search-box{align-items:center;display:flex;flex:1 1 260px;position:relative}.search-box svg{color:var(--text-muted);left:var(--space-3);pointer-events:none;position:absolute}.search-box input{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);min-height:var(--tap-target);padding:0 var(--space-3) 0 var(--space-7);transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus,.search-box input:focus-visible{background:var(--surface-floating);border-color:var(--border-focus);outline:2px solid var(--border-focus);outline-offset:1px}.filter-select{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);min-height:var(--tap-target);padding:0 var(--space-3);transition:border-color var(--transition-fast),background var(--transition-fast)}.filter-select:hover:not(:disabled){background:var(--surface-floating);border-color:var(--border-strong)}.filter-select:focus,.filter-select:focus-visible{background:var(--surface-floating);border-color:var(--border-focus);outline:2px solid var(--border-focus);outline-offset:1px}.no-data{color:var(--text-muted);font-family:var(--font-sans);padding:var(--space-7) var(--space-4);text-align:center}.cell-mono,.cell-numeric,.kpi-value,.metric-value,.mono-ref,.stat-number,.stat-value,.table-numeric,.tabular-nums,td.numeric,td.tabular-nums,th.numeric{font-feature-settings:"tnum";font-family:var(--font-mono);font-variant-numeric:tabular-nums}.bandeau-essai{align-items:center;background:var(--intent-warning-soft);border:1px solid var(--intent-warning);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;font-family:var(--font-sans);gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.bandeau-essai--urgent{background:var(--intent-danger-soft);border-color:var(--intent-danger)}.bandeau-essai>svg{color:var(--intent-warning);flex-shrink:0}.bandeau-essai--urgent>svg{color:var(--intent-danger)}.bandeau-essai__texte{flex:1 1;font-size:var(--text-base);line-height:var(--leading-normal);margin:0}.bandeau-essai__action{align-items:center;background-color:var(--intent-primary-surface);border:1px solid var(--intent-primary);border-radius:var(--radius-sm);color:var(--text-primary);display:inline-flex;flex-shrink:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:var(--space-2);justify-content:center;line-height:var(--leading-normal);padding:var(--space-2) var(--space-4);text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.bandeau-essai__action:hover{background-color:var(--intent-primary-surface-hover);border-color:var(--intent-primary);color:var(--text-primary)}.bandeau-essai__action:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (max-width:768px){.bandeau-essai{flex-wrap:wrap}.bandeau-essai__action{justify-content:center;width:100%}}.error-message{background:var(--intent-danger-soft);border:1px solid var(--intent-danger);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.page-header .btn-primary{width:100%}.modal{max-height:92vh}.modal-actions,.modal-footer{flex-direction:column-reverse}.modal-actions button,.modal-footer button{width:100%}}code,kbd,pre,samp{font-family:var(--font-mono)}.cloche-notifications{align-items:center;display:inline-flex;position:relative}.cloche-notifications__bouton{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:var(--tap-target);justify-content:center;min-height:var(--tap-target);min-width:var(--tap-target);position:relative;transition:background var(--transition-fast),color var(--transition-fast);width:var(--tap-target)}.cloche-notifications__bouton:focus-visible,.cloche-notifications__bouton:hover{background:var(--surface-hover);color:var(--text-primary)}.cloche-notifications__badge{align-items:center;background:var(--intent-danger);border-radius:var(--radius-pill);color:var(--text-primary);display:flex;font-size:var(--text-xs);font-weight:var(--weight-bold);height:calc(var(--space-4) + 2px);justify-content:center;line-height:1;min-width:calc(var(--space-4) + 2px);padding:0 var(--space-1);pointer-events:none;position:absolute;right:var(--space-1);top:var(--space-1)}.cloche-notifications__panneau{animation:ui-fade-in var(--transition-fast);background:var(--surface-floating);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--space-2));width:min(360px,92vw);z-index:var(--z-overlay)}.cloche-notifications__entete{align-items:center;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4)}.cloche-notifications__titre{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.cloche-notifications__tout-lire{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--intent-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);transition:background var(--transition-fast),color var(--transition-fast)}.cloche-notifications__tout-lire:focus-visible,.cloche-notifications__tout-lire:hover{background:var(--intent-primary-soft);color:var(--intent-primary-hover)}.cloche-notifications__corps{background:var(--surface-floating);display:flex;flex-direction:column}.cloche-notifications__vide{background:var(--surface-floating);color:var(--text-muted);font-size:var(--text-sm);margin:0;padding:var(--space-6) var(--space-4);text-align:center}.cloche-notifications__liste{background:var(--surface-floating);display:flex;flex-direction:column;list-style:none;margin:0;max-height:380px;overflow-y:auto;padding:0}.cloche-notifications__element{border-bottom:1px solid var(--border-subtle);margin:0;padding:0}.cloche-notifications__element:last-child{border-bottom:none}.cloche-notifications__item{background:var(--surface-floating);border:none;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);text-align:left;transition:background var(--transition-fast);width:100%}.cloche-notifications__item:focus-visible,.cloche-notifications__item:hover{background:var(--surface-hover)}.cloche-notifications__item--non-lue{background:var(--surface-overlay)}.cloche-notifications__item--non-lue:focus-visible,.cloche-notifications__item--non-lue:hover{background:var(--surface-active)}.cloche-notifications__item--sla{background:var(--intent-danger-soft);border-left:3px solid var(--intent-danger)}.cloche-notifications__item--sla:focus-visible,.cloche-notifications__item--sla:hover{background:var(--intent-danger-soft);filter:brightness(1.15)}.cloche-notifications__item-haut{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.cloche-notifications__item-titre{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:var(--space-2)}.cloche-notifications__item-point{background:var(--intent-primary);border-radius:var(--radius-pill);display:inline-block;flex-shrink:0;height:var(--space-2);width:var(--space-2)}.cloche-notifications__item-date{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.cloche-notifications__item-message{color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);margin:0;word-break:break-word}.cloche-notifications__item-bas{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-top:var(--space-1)}.cloche-notifications__item-action{color:var(--intent-primary);font-size:var(--text-xs);font-weight:var(--weight-medium)}@media (max-width:768px){.cloche-notifications__panneau{left:var(--space-2);max-height:calc(100vh - var(--header-height) - var(--space-4));position:fixed;right:var(--space-2);top:calc(var(--header-height) + var(--space-2));width:auto}}@media (max-width:375.98px){.cloche-notifications__panneau{left:var(--space-1);right:var(--space-1)}}.app-shell{background:var(--surface-base);min-height:100vh}.app-body{display:flex;min-height:calc(100vh - var(--header-height))}.app-header{align-items:center;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-4);height:var(--header-height);justify-content:space-between;padding:0 var(--space-4);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.app-header__left,.app-header__right{align-items:center;display:flex;gap:var(--space-3);min-width:0}.app-header__brand{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.app-header__collapse,.app-header__menu{align-items:center;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:var(--tap-target);justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:var(--tap-target)}.app-header__collapse:hover,.app-header__menu:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.app-header__collapse:focus-visible,.app-header__menu:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app-header__menu{display:none}.app-header__user{align-items:flex-end;display:flex;flex-direction:column;font-family:var(--font-sans);line-height:var(--leading-tight);min-width:0}.app-header__name{color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__role{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs)}.app-header__avatar{background-color:var(--intent-primary-surface);border:1px solid var(--intent-primary);border-radius:var(--radius-pill);display:flex;flex-shrink:0;font-family:var(--font-display);font-weight:var(--weight-semibold);height:34px;width:34px}.app-header__avatar,.app-header__logout{align-items:center;color:var(--text-primary);font-size:var(--text-sm);justify-content:center}.app-header__logout{background-color:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:var(--weight-medium);gap:var(--space-2);line-height:var(--leading-normal);padding:var(--space-2) var(--space-4);transition:all var(--transition-base);white-space:nowrap}.app-header__logout:hover{background-color:var(--surface-floating);border-color:var(--border-strong);color:var(--text-primary)}.app-header__logout:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app-nav{background:var(--surface-raised);border-right:1px solid var(--border-subtle);flex-shrink:0;padding:var(--space-4) var(--space-3);transition:width var(--transition-base);width:var(--sidebar-width)}.app-nav__head{align-items:center;border-bottom:1px solid var(--border-subtle);display:none;justify-content:space-between;margin-bottom:var(--space-4);padding:0 var(--space-2);padding-bottom:var(--space-3)}.app-nav__brand{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.app-nav__close{align-items:center;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:var(--tap-target);justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:var(--tap-target)}.app-nav__close:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.app-nav__close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app-nav__list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;margin:0;padding:0}.app-nav__link{align-items:center;background:var(--surface-raised);border:1px solid #0000;border-left-width:3px;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);gap:var(--space-3);min-height:var(--tap-target);padding:0 var(--space-3);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.app-nav__link:hover{background:var(--surface-hover);border-color:var(--border-subtle);border-left-color:var(--border-strong);color:var(--text-primary)}.app-nav__link--active{background:var(--intent-primary-soft);border-bottom-color:#0000;border-left:3px solid var(--intent-primary);border-right-color:#0000;border-top-color:#0000;color:var(--text-primary);font-weight:var(--weight-semibold)}.app-nav__link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app-nav__icon{flex-shrink:0;text-align:center;width:18px}.app-nav__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{flex:1 1;max-width:var(--content-max-width);min-width:0;padding:var(--space-5);width:100%}.app-scrim{animation:ui-fade-in var(--transition-fast);background:var(--surface-base-translucent);inset:0;position:fixed;z-index:var(--z-scrim)}.app-shell--collapsed .app-nav{width:var(--sidebar-width-collapsed)}.app-shell--collapsed .app-nav__text{display:none}.app-shell--collapsed .app-nav__link{justify-content:center;padding:0}@media (max-width:1023px){.app-nav{border-right:1px solid var(--border-strong);bottom:0;left:0;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform var(--transition-base);width:min(280px,84vw);z-index:var(--z-sidebar)}.app-nav--open{box-shadow:var(--shadow-md);transform:translateX(0)}.app-header__menu,.app-nav__head{display:flex}.app-header__collapse{display:none}.app-shell--collapsed .app-nav{width:min(280px,84vw)}.app-shell--collapsed .app-nav__text{display:inline}.app-shell--collapsed .app-nav__link{justify-content:flex-start;padding:0 var(--space-3)}.app-content{padding:var(--space-4)}}@media (max-width:768px){.app-header{gap:var(--space-2);padding:0 var(--space-3)}.app-header__logout-text,.app-header__user{display:none}.app-header__logout{justify-content:center;padding:0;width:var(--tap-target)}.app-content{padding:var(--space-3)}}.login-page{background-color:var(--surface-base);display:flex;min-height:100dvh}.login-page .login-visuel{display:none}.login-page .login-wrapper{align-items:flex-start;background-color:var(--surface-base);display:flex;flex:1 1;justify-content:center;padding:var(--space-6) var(--space-4)}.login-page .login-form{background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:auto 0;max-width:450px;padding:var(--space-6) var(--space-5);width:100%}.login-page .login-header{margin-bottom:var(--space-6);text-align:center}.login-page .login-header h1{color:var(--intent-primary);font-size:var(--text-xl);font-weight:var(--weight-bold)}.login-page .login-header h1,.login-page .login-header h2{font-family:var(--font-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0 0 var(--space-2)}.login-page .login-header h2{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.login-page .login-header p{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0}.login-page .input-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.login-page .login-aide{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0 0 var(--space-4)}.login-page .login-forgot{margin:calc(var(--space-2)*-1) 0 var(--space-4);text-align:right}.login-page .login-forgot a{color:var(--intent-primary);display:inline-block;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);padding:var(--space-2) 0;text-decoration:none;transition:color var(--transition-fast)}.login-page .login-forgot a:hover{color:var(--intent-primary-hover);text-decoration:underline}.login-page .login-forgot a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.login-page input,.login-page select,.login-page textarea{background-color:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);min-height:var(--tap-target);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.login-page input:focus,.login-page input:focus-visible,.login-page select:focus,.login-page select:focus-visible,.login-page textarea:focus,.login-page textarea:focus-visible{background-color:var(--surface-floating);border-color:var(--border-focus);outline:2px solid var(--border-focus);outline-offset:1px}.login-page button{font-family:var(--font-sans)}.login-page button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.login-page button[type=submit]{background-color:var(--intent-primary-surface);border:1px solid var(--intent-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.login-page button[type=submit]:hover:not(:disabled){background-color:var(--intent-primary-surface-hover);border-color:var(--intent-primary)}.login-page .error-message{background-color:var(--intent-danger-soft);border:1px solid var(--intent-danger);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);padding:var(--space-3) var(--space-4)}.login-page .error-message,.login-page .success-message{font-family:var(--font-sans);margin-bottom:var(--space-4)}.login-page .success-message{background-color:var(--intent-success-soft);border:1px solid var(--intent-success);border-radius:var(--radius-sm);padding:var(--space-4);text-align:center}.login-page .success-message p{color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);margin:var(--space-2) 0}.login-page .success-message p strong{display:block;font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.login-page .success-message .success-icon{color:var(--intent-success);font-size:var(--text-xl);margin-bottom:var(--space-3)}.login-page .success-message .check-spam,.login-page .success-message .redirect-info{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin-top:var(--space-3)}.login-page .login-renvoi{background-color:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.login-page .login-renvoi p{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0 0 var(--space-3)}.login-page .login-renvoi p.login-renvoi__retour{color:var(--text-primary);font-weight:var(--weight-medium);margin:var(--space-3) 0 0}.login-page .back-link{align-items:center;color:var(--intent-primary);display:inline-flex;font-weight:var(--weight-medium);gap:var(--space-2);text-decoration:none;transition:color var(--transition-fast)}.login-page .back-link:hover{color:var(--intent-primary-hover);text-decoration:underline}.login-page .back-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.login-page .separator{color:var(--text-muted);margin:0 var(--space-3)}.login-page .login-footer{border-top:1px solid var(--border-subtle);font-family:var(--font-sans);margin-top:var(--space-5);padding-top:var(--space-4);text-align:center}.login-page .login-footer p{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal);margin:0}.login-page .login-footer a{color:var(--intent-primary);font-weight:var(--weight-semibold);text-decoration:none;transition:color var(--transition-fast)}.login-page .login-footer a:hover{color:var(--intent-primary-hover);text-decoration:underline}.login-page .login-footer a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (min-width:1024px){.login-page .login-visuel{background-image:url(/static/media/login-visuel.103587213cefd47f6994.jpg);background-position:50%;background-size:cover;border-right:1px solid var(--border-subtle);display:block;flex:0 0 42%}.login-page .login-wrapper{padding:var(--space-7) var(--space-6)}}@media (max-width:768px){.login-page .input-row{gap:0;grid-template-columns:1fr}}@media (max-width:375.98px){.login-page .login-form{padding:var(--space-5) var(--space-4)}}#root{background-color:var(--surface-base);color:var(--text-primary);min-height:100vh}