:root{color-scheme:light;--bg:#f5f4f1;--panel:#ffffff;--panel-2:#faf9f7;--fill:#efede8;--fill-2:#e5e2db;--text:#1b1d22;--text-2:#3a3d44;--muted:#5b5f68;--border:#e3e0d9;--border-strong:#cfcbc2;--field-border:#8a8e96;--accent:#f2a516;--on-accent:#1f2228;--accent-text:#a35c00;--accent-soft:#fdf1da;--accent-border:#f0c97a;--chrome:#1f2228;--chrome-2:#2a2e35;--chrome-text:#eceef1;--chrome-muted:#a4a9b3;--ok:#17763b;--ok-soft:#e3f4ea;--warn:#9a3b06;--warn-soft:#fdeee3;--danger:#c62828;--danger-soft:#fdecec;--material:rgba(245,244,241,0.72);--scrim:rgba(18,20,25,0.45);--text-xl:1.5rem;--text-lg:1.0625rem;--text-base:0.9375rem;--text-md:0.875rem;--text-sm:0.8125rem;--text-xs:0.75rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(20,22,26,0.06);--shadow:0 1px 2px rgba(20,22,26,0.05),0 4px 16px rgba(20,22,26,0.06);--shadow-lg:0 12px 40px rgba(20,22,26,0.18);--dur-press:120ms;--dur-quick:180ms;--dur-panel:260ms;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--sidebar-w:248px}:root[data-theme=sombre]{color-scheme:dark;--bg:#121419;--panel:#1a1d23;--panel-2:#1f232a;--fill:#262a31;--fill-2:#2f343c;--text:#e8e9ec;--text-2:#c9ccd2;--muted:#9ea3ad;--border:#2c3038;--border-strong:#3a3f48;--field-border:#6b707b;--accent-text:#f5b237;--accent-soft:#3a2d12;--accent-border:#6e5420;--chrome:#0f1115;--chrome-2:#1a1d23;--ok:#4ccb7c;--ok-soft:#13301f;--warn:#ffb27a;--warn-soft:#3a2414;--danger:#ff7b72;--danger-soft:#3a1717;--material:rgba(18,20,25,0.72);--scrim:rgba(0,0,0,0.6);--shadow-sm:none;--shadow:none;--shadow-lg:0 12px 40px rgba(0,0,0,0.5)}@media (prefers-color-scheme:dark){:root[data-theme=auto]{color-scheme:dark;--bg:#121419;--panel:#1a1d23;--panel-2:#1f232a;--fill:#262a31;--fill-2:#2f343c;--text:#e8e9ec;--text-2:#c9ccd2;--muted:#9ea3ad;--border:#2c3038;--border-strong:#3a3f48;--field-border:#6b707b;--accent-text:#f5b237;--accent-soft:#3a2d12;--accent-border:#6e5420;--chrome:#0f1115;--chrome-2:#1a1d23;--ok:#4ccb7c;--ok-soft:#13301f;--warn:#ffb27a;--warn-soft:#3a2414;--danger:#ff7b72;--danger-soft:#3a1717;--material:rgba(18,20,25,0.72);--scrim:rgba(0,0,0,0.6);--shadow-sm:none;--shadow:none;--shadow-lg:0 12px 40px rgba(0,0,0,0.5)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--border-strong) transparent}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--text-base)/1.55 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;accent-color:var(--accent);caret-color:var(--accent-text)}::selection{background:var(--accent-soft);color:var(--text)}:root[data-theme=sombre] ::selection{background:#4a3a12}.facts dd,.kpi-value,.stat,table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}h1,h2,h3{margin:0 0 var(--space-3);color:var(--text);font-weight:650}h1{font-size:var(--text-xl);line-height:1.2;letter-spacing:-.02em}h2{font-size:var(--text-lg);line-height:1.3;letter-spacing:-.01em}h3{font-size:var(--text-md);line-height:1.35;color:var(--text-2)}p{margin:0 0 var(--space-3)}a{color:var(--accent-text);text-underline-offset:2px}small{font-size:var(--text-sm)}.muted{color:var(--muted)}.block{display:block}.nowrap{white-space:nowrap}.right{text-align:right}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pre{white-space:pre-wrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.accent-text{color:var(--accent-text)}.lead{color:var(--muted);font-size:var(--text-base);margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.btn,.btn-link,button{font:inherit;font-size:var(--text-md);font-weight:550;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--dur-press) var(--ease-out),background-color var(--dur-quick) ease,border-color var(--dur-quick) ease}.btn-link:active,.btn:active,button:active{transform:scale(.97)}.btn.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary-soft,button.primary-soft{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-link{border-color:transparent;background:transparent;color:var(--accent-text);padding:0 8px}.danger-link{border:0;background:none;color:var(--danger);padding:0;min-height:0;font-weight:500;text-decoration:underline;text-underline-offset:2px}button.wide{width:100%;justify-content:center}@media (hover:hover) and (pointer:fine){.btn:hover,button:hover{border-color:var(--field-border)}.btn.primary:hover,button.primary:hover{filter:brightness(1.05)}.btn-link:hover{background:var(--accent-soft)}}input,select,textarea{font:inherit;font-size:var(--text-md);color:var(--text);background:var(--panel);border:1px solid var(--field-border);border-radius:var(--radius-sm);padding:8px 10px;min-height:36px;width:100%;min-width:0}textarea{resize:vertical;line-height:1.5}label{display:grid;grid-gap:4px;gap:4px;font-size:var(--text-sm);font-weight:550;color:var(--text-2)}.stack-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.form-row{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.form-narrow{max-width:720px}.error,.notice{padding:10px 14px;border-radius:var(--radius);margin:0 0 var(--space-4);font-size:var(--text-md)}.notice{background:var(--ok-soft);color:var(--ok)}.error{background:var(--danger-soft);color:var(--danger)}.error ul{margin:4px 0 0;padding-left:18px}.shell{min-height:100vh;min-height:100dvh}.nav-toggle{position:fixed;top:0;left:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--chrome);color:var(--chrome-text);display:flex;flex-direction:column;padding:var(--space-4) var(--space-3);z-index:30;padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.shell-admin .sidebar{background:linear-gradient(180deg,#221a33,var(--chrome))}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px var(--space-4)}.sidebar-brand strong{display:block;font-size:var(--text-md);line-height:1.25;overflow-wrap:anywhere}.sidebar-brand small{color:var(--chrome-muted);font-size:var(--text-xs)}.sidebar-groups{flex:1 1;overflow-y:auto;display:grid;align-content:start;grid-gap:var(--space-4);gap:var(--space-4)}.nav-group{display:grid;grid-gap:2px;gap:2px}.nav-group-title{margin:0 0 4px;padding:0 10px;color:var(--chrome-muted);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--chrome-text);text-decoration:none;font-size:var(--text-md);position:relative}.nav-link .icon{opacity:.75;flex-shrink:0}.nav-link.active{background:var(--chrome-2)}.nav-link.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--chrome-marker,var(--accent))}.nav-link.active .icon{opacity:1;color:var(--chrome-marker,var(--accent))}@media (hover:hover) and (pointer:fine){.nav-link:hover{background:var(--chrome-2)}}.sidebar-foot{display:grid;grid-gap:var(--space-2);gap:var(--space-2);border-top:1px solid var(--chrome-2);padding-top:var(--space-3)}.sidebar-user{display:flex;align-items:center;gap:8px;margin:0;padding:0 6px;font-size:var(--text-sm)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0}.sidebar-logout{width:100%;background:transparent;border-color:var(--chrome-2);color:var(--chrome-text);justify-content:center}.theme-switch{display:flex;gap:2px;background:color-mix(in srgb,var(--chrome-text) 7%,transparent);padding:2px;border-radius:8px}.theme-switch button{flex:1 1;min-height:30px;padding:0 6px;font-size:var(--text-xs);background:transparent;border:0;color:var(--chrome-muted);justify-content:center;gap:4px}.theme-switch button[aria-pressed=true]{background:var(--chrome-2);color:var(--chrome-text)}.content{margin-left:var(--sidebar-w);padding:var(--space-8) clamp(var(--space-4),4vw,48px);max-width:1280px}.nav-scrim,.topbar{display:none}@media (max-width:900px){.topbar{gap:var(--space-3);position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:10px var(--space-4);padding-top:max(10px,env(safe-area-inset-top));background:var(--material);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 var(--border)}.topbar,.topbar-title{display:flex;align-items:center}.topbar-title{gap:8px;font-weight:650;font-size:var(--text-md);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu{display:grid;place-items:center;width:44px;height:44px;margin-left:-10px;border-radius:10px;cursor:pointer;color:var(--text)}.sidebar{transform:translateX(-102%);transition:transform var(--dur-panel) var(--ease-drawer);box-shadow:var(--shadow-lg);width:min(84vw,300px)}.nav-toggle:checked~.sidebar{transform:none}.nav-scrim{display:block;position:fixed;inset:0;background:var(--scrim);z-index:25;opacity:0;pointer-events:none;transition:opacity var(--dur-panel) ease}.nav-toggle:checked~.nav-scrim{opacity:1;pointer-events:auto}.content{margin-left:0;padding:var(--space-4)}.nav-link{min-height:44px}.panel{padding:var(--space-4)}}.page-head{margin-bottom:var(--space-6)}.row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.crumbs{margin-bottom:var(--space-3);font-size:var(--text-sm)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:before{content:"‹ "}.crumbs a+a{margin-left:var(--space-3)}.record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.record-id{min-width:0;flex:1 1 320px}.record-id h1{overflow-wrap:anywhere}.record-id p{margin:0}.record-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5,1.25rem) var(--space-6);margin-bottom:var(--space-4);min-width:0}.panel>:last-child{margin-bottom:0}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}.panel-head h2{margin:0}.panel-head .panel-action{font-size:var(--text-sm);font-weight:550;color:var(--accent-text);text-decoration:none;white-space:nowrap}@media (hover:hover) and (pointer:fine){.panel-head .panel-action:hover{text-decoration:underline}}.detail-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start}.detail-grid>.panel{margin-bottom:0}.dash-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-auto-flow:dense;align-items:stretch}.dash-grid>.panel{margin-bottom:0;display:flex;flex-direction:column}.dash-grid>.panel>.dash-body{flex:1 1}.dash-grid>.panel>.dash-body>:last-child{margin-bottom:0}@media (min-width:760px){.dash-grid>.dash-large{grid-column:span 2}}.stat{font-size:var(--text-md);color:var(--muted);margin-bottom:var(--space-3)}.stat .num{font-size:1.75rem;font-weight:650;color:var(--text);letter-spacing:-.02em;margin-right:4px;line-height:1.1}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));grid-gap:0;gap:0;padding:0;overflow:hidden}.kpi{display:block;padding:var(--space-4) var(--space-5,1.25rem);text-decoration:none;color:inherit;border-top:1px solid var(--border);min-width:0}.kpi:nth-child(-n+1){border-top:0}@media (min-width:560px){.kpi{border-top:0;border-left:1px solid var(--border)}.kpi:first-child{border-left:0}}.kpi-value{display:block;font-size:1.375rem;font-weight:650;letter-spacing:-.02em;line-height:1.15;color:var(--text);overflow-wrap:anywhere}.kpi-value.ok{color:var(--ok)}.kpi-value.warn{color:var(--warn)}.kpi-value.danger{color:var(--danger)}.kpi-label{font-size:var(--text-sm)}.kpi-hint,.kpi-label{display:block;color:var(--muted);margin-top:2px}.kpi-hint{font-size:var(--text-xs)}a.kpi{transition:background-color var(--dur-quick) ease}@media (hover:hover) and (pointer:fine){a.kpi:hover{background:var(--panel-2)}}.dash-tools{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.dash-grid.organising>.panel{cursor:-webkit-grab;cursor:grab;border-style:dashed;border-color:var(--border-strong);-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-grid>.panel.dash-moving{transition:transform var(--dur-quick) var(--ease-out)}.dash-grid>.panel.dash-dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:5;box-shadow:var(--shadow-lg);border-style:solid;border-color:var(--accent-border);transition:none;position:relative}.dash-handle{display:inline-flex;align-items:center;gap:6px}.dash-handle,.dash-hide{font-size:var(--text-xs);color:var(--muted)}.dash-hide{border:0;background:none;min-height:0;padding:0;font-weight:500;text-decoration:underline;text-underline-offset:2px}.dash-hidden{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:var(--text-sm);color:var(--muted);margin:var(--space-4) 0 0}.block-list{list-style:none;margin:0;padding:0;font-size:var(--text-md)}.block-list>li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:8px 0;border-top:1px solid var(--border)}.block-list>li:first-child{border-top:0;padding-top:0}.block-list>li:last-child{padding-bottom:0}.block-list .main{min-width:0;overflow-wrap:anywhere}.block-list .main a{color:var(--text);text-decoration:none;font-weight:550}@media (hover:hover) and (pointer:fine){.block-list .main a:hover{color:var(--accent-text)}}.block-list .side{display:flex;gap:var(--space-2);align-items:baseline;flex-shrink:0;font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.contact-layout{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(0,320px) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start}.contact-edit,.contact-main,.contact-side{display:grid;grid-gap:var(--space-4);gap:var(--space-4);align-content:start;min-width:0}.contact-side{grid-column:1;grid-row:1}.contact-edit{grid-column:1;grid-row:2}.contact-main{grid-column:2;grid-row:1/span 2}.contact-layout .panel{margin-bottom:0}@media (max-width:960px){.contact-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.contact-edit,.contact-main,.contact-side{grid-column:1;grid-row:auto}}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:8px 16px;gap:8px 16px;margin:0 0 var(--space-4);font-size:var(--text-md)}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.plain-list{font-size:var(--text-md)}.plain-list,.timeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.timeline p{margin:2px 0 0;font-size:var(--text-md)}.empty-state{display:grid;justify-items:center;text-align:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-8) var(--space-6)}.empty-state p{max-width:52ch;color:var(--muted);margin:0}.empty-icon{width:44px;height:44px;border-radius:12px;background:var(--fill);color:var(--muted);display:grid;place-items:center}.checklist{text-align:left;margin:var(--space-2) 0 0;padding-left:20px;color:var(--text-2);font-size:var(--text-md);display:grid;grid-gap:4px;gap:4px}details>summary{cursor:pointer;list-style:none;font-weight:600;font-size:var(--text-md);color:var(--accent-text)}details>summary::-webkit-details-marker{display:none}details.edit-box>summary h2{display:inline;color:var(--text)}details.edit-box>summary:after{content:" · déplier";color:var(--muted);font-weight:500;font-size:var(--text-sm)}details.edit-box[open]>summary:after{content:""}details[open]>summary{margin-bottom:var(--space-4)}.add-box>summary:before{content:"+ "}.danger-zone{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--fill);color:var(--text-2);white-space:nowrap;vertical-align:1px}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.info{background:var(--accent-soft);color:var(--accent-text)}code.fingerprint{overflow-wrap:anywhere;font-size:var(--text-xs)}.recovery-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(10ch,1fr));grid-gap:var(--space-2);gap:var(--space-2);padding:0;list-style:none;font-size:var(--text-lg)}.totp-setup{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4)}.totp-qr{flex-shrink:0;background:#fff;padding:8px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{margin:0 0 2px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--text-2)}.filters{margin-bottom:var(--space-3)}.search-field{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--field-border);border-radius:var(--radius);padding:0 12px;max-width:520px}.search-field input{border:0;padding-left:0;background:transparent}.search-field .icon{color:var(--muted);flex-shrink:0}.chips{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-4)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--fill);color:var(--text-2);text-decoration:none;font-size:var(--text-sm);font-weight:550}.chip.active{background:var(--chrome);color:var(--chrome-text)}.chip-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-4)}.list-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.list-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:10px 16px;background:var(--panel-2)}.list-table td,.list-table th{border-bottom:1px solid var(--border)}.list-table td{padding:12px 16px;vertical-align:top}.list-table tr:last-child td{border-bottom:0}.row-link{color:var(--text);text-decoration:none}@media (hover:hover) and (pointer:fine){.list-table tbody tr:hover{background:var(--panel-2)}.row-link:hover{color:var(--accent-text)}}.cell-email{overflow-wrap:anywhere}.list-cap{padding:10px 16px;margin:0;border-top:1px solid var(--border)}@media (max-width:700px){.list-table thead{display:none}.list-table,.list-table tbody,.list-table td,.list-table tr{display:block}.list-table tr{padding:12px 16px;border-bottom:1px solid var(--border)}.list-table td{padding:2px 0;border:0;display:flex;gap:8px}.list-table td:before{content:attr(data-label);color:var(--muted);font-size:var(--text-xs);min-width:84px;padding-top:2px}.list-table td.cell-main{display:block;margin-bottom:4px}.list-table td.cell-main:before{content:none}.list-table td.right{text-align:left}}.module-group+.module-group{margin-top:var(--space-6)}.module-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.module-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.module-row.on{border-color:var(--accent-border);background:var(--accent-soft)}.module-icon{width:36px;height:36px;border-radius:10px;background:var(--fill);display:grid;place-items:center;color:var(--text-2)}.module-row.on .module-icon{background:var(--accent);color:var(--on-accent)}.module-text strong{margin-right:6px}.module-usage{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;display:grid;grid-gap:var(--space-2);gap:var(--space-2);justify-items:end}.module-usage .inline-form.block{white-space:normal}@media (max-width:560px){.module-row{grid-template-columns:auto minmax(0,1fr)}.module-row>form,.module-usage{grid-column:2}}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-4);background:radial-gradient(1200px 600px at 50% -10%,var(--accent-soft),transparent),var(--bg)}.login-card{width:min(100%,400px);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:var(--space-8);box-shadow:var(--shadow-lg);display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.login-card h1{margin-top:var(--space-3)}.login-switch{text-align:center;margin:var(--space-3) 0 0;font-size:var(--text-sm)}.confirm-dialog{border:0;border-radius:var(--radius-lg);padding:var(--space-6);max-width:min(92vw,420px);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg)}.confirm-dialog::-webkit-backdrop{background:var(--scrim)}.confirm-dialog::backdrop{background:var(--scrim)}.confirm-dialog[open]{animation:dialog-in var(--dur-quick) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}@media (pointer:coarse){.btn,.btn-link,.theme-switch button,button,input,select{min-height:44px}input,select,textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:1ms!important;animation-duration:1ms!important}.btn:active,button:active{transform:none}}@media (prefers-reduced-transparency:reduce){.topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){:root{--border:var(--field-border);--muted:var(--text-2)}.topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}.tabs{display:flex;flex-direction:row;gap:4px;box-shadow:inset 0 -1px 0 var(--border);margin-bottom:var(--space-4);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tab{padding:10px 14px;color:var(--muted);text-decoration:none;font-weight:550;font-size:var(--text-md);white-space:nowrap}.tab.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.notice.info{background:var(--fill);color:var(--text-2)}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled input,fieldset:disabled select{background:var(--fill)}.sidebar-brand.has-logo{flex-direction:column;align-items:flex-start;gap:8px}.tenant-logo{display:block;max-width:100%;width:auto;object-fit:contain;border-radius:6px}.topbar .tenant-logo{max-width:90px}.logo-box{display:grid;place-items:center;min-height:96px;padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius);background:repeating-conic-gradient(var(--fill) 0 25%,var(--panel) 0 50%) 50% /16px 16px}.logo-preview{max-width:100%;max-height:96px;object-fit:contain}.color-input{display:flex;align-items:center;gap:10px}.color-input input[type=color]{width:52px;height:40px;padding:2px;cursor:pointer;flex-shrink:0}.color-input code{font-size:var(--text-sm);color:var(--text-2)}.brand-preview{display:grid;grid-template-columns:150px minmax(0,1fr);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.brand-preview-menu{background:var(--chrome);color:var(--chrome-text);padding:10px 8px;display:grid;grid-gap:4px;gap:4px;align-content:start;font-size:var(--text-sm)}.brand-preview-item{padding:6px 8px;border-radius:6px;color:var(--chrome-text);position:relative}.brand-preview-item.active{background:var(--chrome-2);box-shadow:inset 3px 0 0 var(--chrome-marker)}.brand-preview-bodies{display:grid;grid-template-columns:minmax(0,1fr)}.brand-preview-body{padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.brand-preview-body small{width:100%;font-size:var(--text-xs)}.brand-preview-body.light{background:#f5f4f1;color:#5b5f68}.brand-preview-body.dark{background:#121419;color:#9ea3ad}.brand-preview-button{background:var(--accent);color:var(--on-accent);padding:8px 14px;border-radius:6px;font-weight:600;font-size:var(--text-sm)}.brand-preview-link{color:var(--accent-text);text-decoration:underline;font-size:var(--text-sm)}.brand-notes{margin:0;padding-left:18px;font-size:var(--text-sm)}@media (max-width:480px){.brand-preview{grid-template-columns:minmax(0,1fr)}}.suggest{position:relative}.suggest-list{position:absolute;z-index:40;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.18);max-height:320px;overflow-y:auto}.suggest-list li{padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;overflow-wrap:anywhere;min-height:44px}.suggest-list li.active,.suggest-list li:hover{background:var(--accent-soft)}.company-lookup{padding:var(--space-3);border-radius:var(--radius);background:var(--fill)}.ok-text{color:var(--ok)}.member-list{list-style:none;padding:0;margin:0 0 var(--space-4);display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.member-list>li.off{opacity:.65}.module-picker{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);margin:0}.module-picker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-2)}.module-picker:has(input[name=tous]:checked) .module-picker-list{opacity:.5;pointer-events:none}details.presets>summary{cursor:pointer;color:var(--accent-text)}.import-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.import-types{margin:0;padding-left:1.2em}.import-dup{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.import-dup legend{font-weight:600;margin-bottom:var(--space-2)}.import-check{display:inline-flex;align-items:center;gap:6px;font-weight:400}.import-check input{width:auto}.v1-compte{display:inline-flex;flex-wrap:wrap;gap:4px}.warn-text{color:var(--warn)}