:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--lh-tight:1.25;--lh-base:1.45;--fw-regular:420;--fw-medium:540;--fw-semibold:620;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px;--control-h:34px;--control-h-touch:44px;--tap:44px;--field-fs:var(--fs-base);--z-raised:1;--z-sticky:10;--z-dropdown:40;--z-modal:130;--z-popover:140;--z-toast:150;--motion-fast:.12s;--motion-base:.2s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ground:#f2f4f3;--surface:#fff;--surface-2:#eff2f1;--sunken:#e9edeb;--ink:#12181a;--ink-2:#4e5a5c;--ink-3:#5f6b6d;--line:#dee4e2;--line-soft:#ebefed;--line-strong:color-mix(in srgb, var(--ink) 22%, var(--line));--accent:#0e6b59;--accent-ink:#0e6b59;--accent-soft:#e0efea;--accent-line:#b9d8ce;--on-accent:#fff;--info:#2f6fa8;--warn:#a96400;--warn-soft:#f7ebd8;--crit:#ac382c;--crit-soft:#f8e4e1;--backdrop:#12181a6b;--shadow:0 1px 2px #12181a0f, 0 8px 24px -12px #12181a2e;--shadow-lg:0 2px 6px #12181a14, 0 24px 60px -20px #12181a57;--focus-ring:0 0 0 3px var(--accent-soft);--tone-positive:#17704e;--tone-positive-soft:#e2f1e9;--tone-attention:#975a00;--tone-attention-soft:#f7ebd8;--tone-info:#2d6aa0;--tone-info-soft:#e3edf7;--tone-negative:#ac382c;--tone-negative-soft:#f8e4e1;--tone-neutral:#5f6b6d;--tone-neutral-soft:#eaeeed}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0d1112;--surface:#151a1b;--surface-2:#1c2223;--sunken:#101516;--ink:#e7eceb;--ink-2:#a0acaa;--ink-3:#8a9795;--line:#30393a;--line-soft:#252d2e;--accent:#3cbe9e;--accent-ink:#48ccab;--accent-soft:#12302a;--accent-line:#1e4b42;--on-accent:#07211b;--info:#68a6d8;--warn:#dfa24c;--warn-soft:#33270f;--crit:#e6705e;--crit-soft:#3a1d19;--backdrop:#0000009e;--shadow:0 1px 2px #00000080, 0 10px 28px -14px #000c;--shadow-lg:0 2px 8px #0009, 0 28px 64px -22px #000000f2;--tone-positive:#52c795;--tone-positive-soft:#11301f;--tone-attention:#dfa24c;--tone-attention-soft:#33270f;--tone-info:#72acdc;--tone-info-soft:#132a3c;--tone-negative:#ec7d6c;--tone-negative-soft:#3a1d19;--tone-neutral:#93a09e;--tone-neutral-soft:#222a2b}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0d1112;--surface:#151a1b;--surface-2:#1c2223;--sunken:#101516;--ink:#e7eceb;--ink-2:#a0acaa;--ink-3:#8a9795;--line:#30393a;--line-soft:#252d2e;--accent:#3cbe9e;--accent-ink:#48ccab;--accent-soft:#12302a;--accent-line:#1e4b42;--on-accent:#07211b;--info:#68a6d8;--warn:#dfa24c;--warn-soft:#33270f;--crit:#e6705e;--crit-soft:#3a1d19;--backdrop:#0000009e;--shadow:0 1px 2px #00000080, 0 10px 28px -14px #000c;--shadow-lg:0 2px 8px #0009, 0 28px 64px -22px #000000f2;--tone-positive:#52c795;--tone-positive-soft:#11301f;--tone-attention:#dfa24c;--tone-attention-soft:#33270f;--tone-info:#72acdc;--tone-info-soft:#132a3c;--tone-negative:#ec7d6c;--tone-negative-soft:#3a1d19;--tone-neutral:#93a09e;--tone-neutral-soft:#222a2b}@media (width<=760px){:root{--field-fs:16px}}:root{font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--ground);color:var(--ink)}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible{outline:none}a{color:var(--accent-ink);text-decoration:none}a:not([class]):hover{text-decoration:underline}input[type=checkbox],input[type=radio],progress{accent-color:var(--accent)}code,kbd,samp{font-family:var(--font-mono)}@media (width<=760px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{font-size:16px!important}}@media (pointer:coarse){.primary-button,.secondary-button,select{min-height:var(--tap)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.theme-control{z-index:10;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:20px;right:20px}.icon-button{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink-3);cursor:pointer;border-radius:5px;place-items:center;padding:0;transition:color .13s,background .13s,border-color .13s;display:grid}.icon-button:hover{background:var(--surface-2);color:var(--ink)}.icon-button:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);color:var(--ink)}.theme-trigger,.theme-trigger:hover,.theme-trigger:focus-visible{background:0 0;border:0}.theme-menu{border:1px solid var(--line);background:var(--surface);width:176px;box-shadow:var(--shadow-lg);border-radius:5px;flex-direction:column;gap:2px;padding:4px;display:flex}.theme-option{width:100%;height:32px;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:flex}.theme-option:hover,.theme-option:focus-visible{background:var(--surface-2);color:var(--ink)}.theme-option[aria-checked=true]{background:var(--accent-soft);color:var(--accent-ink)}.theme-option:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.theme-option-label{align-items:center;gap:8px;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.theme-control{top:8px;right:8px}.icon-button{width:44px;height:44px}.theme-menu{width:200px}.theme-option{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--ground);min-width:320px;min-height:100dvh;color:var(--ink);grid-template-columns:244px minmax(0,1fr);transition:grid-template-columns .16s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{z-index:8;border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;min-width:0;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:9px;height:48px;padding:0 9px 0 12px;display:flex}.sidebar-brand>span{border:1px solid var(--accent-line);background:var(--accent-soft);width:24px;height:24px;color:var(--accent-ink);border-radius:5px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.sidebar-brand strong{letter-spacing:-.01em;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:650;overflow:hidden}.sidebar-brand button,.sidebar nav a,.sidebar nav>span{border-radius:5px}.sidebar-brand button{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.sidebar-brand button:hover,.sidebar-brand button:focus-visible{background:var(--sunken);color:var(--ink)}.sidebar-brand button:focus-visible{box-shadow:0 0 0 2px var(--accent)}.sidebar nav{flex-direction:column;gap:2px;padding:10px 8px;display:flex}.sidebar nav a,.sidebar nav>span{min-width:0;height:32px;color:var(--ink-2);white-space:nowrap;align-items:center;gap:9px;padding:0 9px;font-size:13px;text-decoration:none;display:flex}.sidebar nav svg{flex:none}.sidebar nav a[aria-current=page]{background:var(--sunken);color:var(--ink);font-weight:570}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:var(--sunken);color:var(--ink)}.sidebar nav a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.sidebar .nav-disabled{color:var(--ink-3);opacity:.72}.sidebar-note{color:var(--ink-3);margin:auto 16px 18px;font-size:11.5px;line-height:1.45}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-collapsed .sidebar-brand strong,.sidebar-collapsed .sidebar-brand>span,.sidebar-collapsed .sidebar nav span,.sidebar-collapsed .sidebar-note{display:none}.sidebar-collapsed .sidebar-brand button{width:36px;height:36px}.sidebar-collapsed .sidebar nav{align-items:center;padding-inline:8px}.sidebar-collapsed .sidebar nav a,.sidebar-collapsed .sidebar nav>span{justify-content:center;width:40px;height:36px;padding:0}.workspace{min-width:0}.context-bar{z-index:7;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:8px;height:48px;padding:0 14px;display:flex;position:sticky;top:0}.context-title{color:var(--ink-2);font-size:13px;font-weight:540}.context-spacer{flex:1}.search-trigger{border:1px solid var(--line);background:var(--sunken);width:260px;height:30px;color:var(--ink-3);cursor:pointer;text-align:left;border-radius:5px;align-items:center;gap:7px;padding:0 8px;font-size:13px;display:inline-flex}.search-trigger span{flex:1}.search-trigger kbd{border:1px solid var(--line);background:var(--surface);color:var(--ink-3);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.search-trigger:hover,.search-trigger:focus-visible{border-color:var(--ink-3);background:var(--surface-2);color:var(--ink)}.search-trigger:focus-visible{box-shadow:var(--focus-ring)}.topbar-icon{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;place-items:center;padding:0;display:grid}.topbar-icon:hover,.topbar-icon:focus-visible{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.topbar-icon:focus-visible{box-shadow:var(--focus-ring)}.secondary-button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink-2);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:520;display:inline-flex}.secondary-button:hover:not(:disabled),.secondary-button:focus-visible{border-color:var(--ink-3);background:var(--surface-2);color:var(--ink)}.secondary-button:focus-visible{box-shadow:var(--focus-ring)}.secondary-button:disabled{cursor:progress;opacity:.6}.source-message{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:5px;margin-bottom:16px;padding:9px 11px;font-size:13px}.section-heading{align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.section-heading>div{flex:1;min-width:0}.section-heading h2{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:620}.section-heading p,.section-heading>span{color:var(--ink-3);margin:2px 0 0;font-size:11.5px}.dialog-backdrop{z-index:30;background:#0a0e0f6b;place-items:start center;padding:92px 20px 20px;display:grid;position:fixed;inset:0}@media (width<=760px){.app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar{display:none}.context-bar{height:52px;padding:0 6px 0 8px}.context-title{font-size:14px;font-weight:600}.search-trigger{background:0 0;border-color:#0000;justify-content:center;width:44px;height:44px;padding:0}.search-trigger span,.search-trigger kbd{display:none}.section-heading{flex-direction:column;align-items:flex-start;gap:3px}.section-heading>span{margin:0}.dialog-backdrop{place-items:stretch stretch;padding:0}}.sites-page{width:min(1400px,100%);margin:0 auto;padding:22px 24px 38px}.sites-heading{align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.sites-heading>div{flex:1;min-width:0}.sites-heading nav{color:var(--ink-3);gap:6px;margin-bottom:5px;font-size:11.5px;display:flex}.sites-heading h1{letter-spacing:-.025em;margin:0 0 3px;font-size:24px;font-weight:640;line-height:1.2}.sites-heading p{color:var(--ink-3);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.sites-registry{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.sites-toolbar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:7px;min-height:54px;padding:10px;display:flex}.sites-search{border:1px solid var(--line);min-width:260px;height:32px;color:var(--ink-3);border-radius:5px;flex:1;align-items:center;display:flex;overflow:hidden}.sites-search:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.sites-search>svg{flex:none;margin-left:9px}.sites-search input{min-width:0;height:30px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0 8px;font-size:13px}.sites-search button{border:0;border-left:1px solid var(--line);background:var(--surface-2);height:30px;color:var(--ink-2);cursor:pointer;padding:0 11px;font-size:12.5px}.sites-search button:hover,.sites-search button:focus-visible{background:var(--sunken);color:var(--ink)}.quick-filter select{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--ink-2);cursor:pointer;border-radius:5px;outline:0;padding:0 26px 0 8px;font-size:12.5px}.quick-filter select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring)}.quick-filter select:has(option:checked:not([value=""])){border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}.sites-table-wrap{overflow-x:auto}.sites-table{border-collapse:collapse;table-layout:fixed;width:100%}.sites-table th{border-bottom:1px solid var(--line);height:31px;color:var(--ink-3);letter-spacing:.075em;text-align:left;text-transform:uppercase;padding:0 11px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9.5px;font-weight:560}.sites-table th:first-child{width:29%}.sites-table th:nth-child(2){width:15%}.sites-table th:nth-child(3),.sites-table th:nth-child(4){width:25%}.sites-table th:nth-child(5){text-align:center;width:6%}.sites-table td{border-bottom:1px solid var(--line-soft);height:48px;color:var(--ink-2);vertical-align:middle;padding:5px 11px;font-size:12.5px}.sites-table tbody tr{box-shadow:inset 3px 0 0 var(--line);cursor:pointer}.sites-table tbody tr:hover,.sites-table tbody tr[data-selected]{background:var(--surface-2)}.sites-table tbody tr[data-selected]{box-shadow:inset 3px 0 0 var(--accent)}.client-responsible{text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--ink-2);font-size:11.5px;display:block;overflow:hidden}.client-responsible small{color:var(--crit);margin-top:2px;font-size:10px;display:block}.client-muted{color:var(--ink-3);font-size:11.5px}.client-responsibility-missing{color:var(--crit);font-size:11.5px;font-weight:600}.clients-heading-actions{gap:7px;display:flex;flex:none!important}.sites-loading{min-height:375px;color:var(--ink-3);flex-direction:column;gap:1px;font-size:12px;display:flex}.sites-loading>span{padding:13px}.sites-loading i{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 48%, var(--surface) 100%);background-size:220% 100%;height:47px;animation:1.4s linear infinite skeleton-pulse}.sites-state,.sites-empty{min-height:350px;color:var(--ink-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:30px;display:flex}.sites-state strong,.sites-empty strong{font-size:17px;font-weight:580}.filter-backdrop{z-index:20;background:#0a0e0f57;position:fixed;inset:48px 0 0}.filter-dialog>header{border-bottom:1px solid var(--line);flex:none;align-items:flex-start;gap:12px;min-height:66px;padding:14px 12px 12px 18px;display:flex}.filter-dialog>header>div{flex:1;min-width:0}.filter-dialog>header p{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9.5px;display:block}.filter-dialog h2{letter-spacing:-.015em;margin:0;font-size:18px;font-weight:620}.filter-backdrop{place-items:start center;padding:70px 20px 20px;display:grid}.filter-dialog{border:1px solid var(--line);background:var(--surface);width:min(620px,100%);max-height:calc(100vh - 138px);box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.filter-dialog>form{min-height:0;overflow-y:auto}.filter-dialog footer{border-top:1px solid var(--line);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:11px 18px;display:flex}.primary-button{border:1px solid var(--accent);background:var(--accent);min-height:30px;color:var(--on-accent);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:560;display:inline-flex}.primary-button:hover,.primary-button:focus-visible{filter:brightness(1.08)}.primary-button:focus-visible{box-shadow:var(--focus-ring)}@media (width<=1180px){.sites-table th:nth-child(4),.sites-table td:nth-child(4){display:none}.sites-table th:first-child{width:35%}.sites-table th:nth-child(2){width:18%}.sites-table th:nth-child(3){width:39%}.sites-table th:nth-child(5){width:8%}}@media (width<=760px){.sites-page{padding:16px 10px 28px}.sites-heading{align-items:flex-start}.sites-heading h1{font-size:22px}.sites-refresh{width:44px;height:44px;padding:0;font-size:0}.sites-registry{border-radius:6px}.sites-toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;display:grid}.sites-search{grid-column:1/-1;min-width:0;height:44px}.sites-search input{height:42px;font-size:16px}.sites-search button{height:42px}.sites-table-wrap{overflow:visible}.sites-table,.sites-table tbody,.sites-table tr,.sites-table td{width:100%;display:block}.sites-table thead{display:none}.sites-table tbody tr{border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--line);grid-template-columns:1fr auto;gap:5px 12px;padding:11px 12px 10px 14px;display:grid;position:relative}.sites-table td{border:0;height:auto;padding:0}.sites-table td:first-child{grid-column:1/-1}.sites-table td:nth-child(2){grid-column:1/2}.sites-table td:nth-child(3){grid-column:1/-1}.sites-table td:nth-child(4){grid-column:1/-1;display:block}.sites-table td:nth-child(5){width:auto;position:absolute;top:12px;right:12px}.sites-table td:nth-child(5):before{content:"Линии ";color:var(--ink-3);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px}.client-responsible{color:var(--ink-3);font-size:11.5px}.clients-heading-actions{gap:5px}.clients-heading-actions>.secondary-button:first-child{min-height:44px}.filter-backdrop{padding:0;inset:0}.filter-dialog{border:0;border-radius:0;width:100%;min-height:100dvh;max-height:none;position:static}.filter-dialog>header{min-height:58px;padding-top:max(10px, env(safe-area-inset-top))}.filter-dialog>form{flex-direction:column;flex:1;display:flex}.filter-dialog footer{padding-bottom:max(12px, env(safe-area-inset-bottom));margin-top:auto}}@media (width<=380px){.sites-page{padding-inline:6px}.sites-toolbar{padding-inline:7px}}.sites-footer--top{border-top:0;border-bottom:1px solid var(--line);background:var(--surface-2);min-height:43px}.line-category-list,.line-equipment-list{margin:12px 0 0;padding:0;list-style:none;display:grid}.line-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.line-category-list li{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px 9px;font-size:11.5px;display:flex}.line-category-list li[data-state=error],.line-category-list li[data-state=forbidden]{color:var(--ink-3)}.line-category-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-category-list strong{font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.line-category-list small{color:var(--ink-3);font-size:10px}.line-partial-state{border:1px solid var(--warn);background:var(--warn-soft);color:var(--ink-2);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:8px 9px;font-size:11.5px;display:flex}.line-equipment-list{border:1px solid var(--line);background:var(--line);border-radius:7px;gap:1px;overflow:hidden}.line-equipment-list a{background:var(--surface);min-width:0;color:var(--ink);flex-direction:column;gap:2px;padding:9px 10px;text-decoration:none;display:flex}.line-equipment-list a:hover{background:var(--surface-2)}.line-equipment-list span,.line-equipment-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-equipment-list small{color:var(--ink-3);font-size:10.5px}@media (width<=760px){.line-equipment-list span,.line-equipment-list small{white-space:normal}.line-category-list{grid-template-columns:1fr}.line-partial-state{flex-direction:column;align-items:stretch}}.clients-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=760px){.clients-heading-actions{justify-content:flex-start}}.danger-button{border:1px solid var(--crit);background:var(--crit);color:#fff;min-height:36px;font:inherit;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.danger-button:disabled{cursor:not-allowed;opacity:.45}.danger-button:focus-visible{outline:2px solid var(--crit);outline-offset:2px}.users-badge{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;border-radius:999px;align-items:center;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}@media (width<=760px){.users-badge{margin:4px 6px 0 0}}.line-card-equipment{border-top:1px solid var(--line-soft);gap:10px;padding-top:12px;display:grid}.equipment-card-actions{flex-wrap:wrap;gap:8px;display:flex}.equipment-secret{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.equipment-secret .secondary-button{min-height:28px;padding:2px 10px;font-size:12px}.equipment-history-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.equipment-history-list>li{border:1px solid var(--line);border-radius:6px;gap:6px;padding:10px 12px;display:grid}.equipment-history-list header{color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:12px;display:flex}.equipment-history-list header strong{color:var(--ink);font-size:13px}.equipment-history-list ul{gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.equipment-history-list ul li{flex-wrap:wrap;gap:6px;display:flex}.equipment-history-list ul li>span:first-child{min-width:110px;color:var(--ink-3)}.equipment-history-list em{overflow-wrap:anywhere;font-style:normal}.equipment-history-list p{margin:0;font-size:12px}.users-badge.archive-badge{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);margin-left:6px}.line-equipment-list li[data-archived]{opacity:.72}.line-equipment-list li>span{flex-direction:column;gap:2px;padding:8px 0;display:flex}.route-loading{background:var(--ground);min-height:100vh;color:var(--ink-3);place-items:center;font-size:14px;display:grid}@media (height<=760px){.dialog-backdrop{padding-top:24px}.filter-backdrop{padding-top:16px}}@media (width<=760px){.sites-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.sites-heading>div:first-child{flex:1 1 0;min-width:0}.sites-heading nav{white-space:nowrap;overflow:hidden}.sites-heading nav>span:last-child{text-overflow:ellipsis;overflow:hidden}.sites-heading p{white-space:nowrap}.sites-heading>.clients-heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%;flex:100%!important}.sites-heading>.clients-heading-actions>.primary-button{flex:auto;min-height:44px}}.ui-button{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:0 var(--sp-3);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:var(--lh-tight);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);border:1px solid #0000;text-decoration:none;display:inline-flex}.ui-button:focus-visible,.ui-icon-button:focus-visible,.ui-chip__toggle:focus-visible,.ui-chip__remove:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.ui-button:disabled,.ui-icon-button:disabled{cursor:not-allowed;opacity:.55}.ui-button[aria-busy=true]{cursor:progress;opacity:.85}.ui-button--primary{background:var(--accent);color:var(--on-accent)}.ui-button--primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}.ui-button--secondary{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.ui-button--secondary:hover:not(:disabled){background:var(--surface-2)}.ui-button--ghost{color:var(--ink-2);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.ui-button--danger{background:var(--tone-negative);color:var(--surface)}.ui-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--tone-negative) 88%, var(--ink))}.ui-button--sm{min-height:28px;padding:0 var(--sp-2);font-size:var(--fs-sm)}.ui-button--block{width:100%}.ui-button svg,.ui-icon-button svg{flex:none}.ui-icon-button{width:var(--control-h);height:var(--control-h);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.ui-icon-button:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.ui-icon-button--secondary{border-color:var(--line-strong);background:var(--surface)}.ui-spinner{border-radius:var(--r-pill);border:2px solid;border-right-color:#0000;flex:none;width:14px;height:14px;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-field{align-content:start;gap:var(--sp-1);min-width:0;display:grid}.ui-field__label{color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight)}.ui-field__required{color:var(--tone-negative)}.ui-field__hint,.ui-field__error{font-size:var(--fs-sm);line-height:var(--lh-base);margin:0}.ui-field__hint{color:var(--ink-3)}.ui-field__error{color:var(--tone-negative);font-weight:var(--fw-medium)}.ui-input{width:100%;min-width:0;min-height:var(--control-h);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--field-fs);line-height:var(--lh-base);transition:border-color var(--motion-fast), box-shadow var(--motion-fast)}.ui-input::placeholder{color:var(--ink-3);opacity:1}.ui-input:focus,.ui-input:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.ui-input[aria-invalid=true]{border-color:var(--tone-negative)}.ui-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--tone-negative-soft)}.ui-input:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.ui-textarea{min-height:84px;padding:var(--sp-2) var(--sp-3);resize:vertical}.ui-select{min-width:0;display:block;position:relative}.ui-select__control{appearance:none;padding-right:var(--sp-8);cursor:pointer}.ui-select>svg{top:50%;right:var(--sp-3);color:var(--ink-3);pointer-events:none;position:absolute;transform:translateY(-50%)}.ui-check{align-items:flex-start;gap:var(--sp-2);min-height:28px;padding:var(--sp-1) 0;color:var(--ink);font-size:var(--fs-base);line-height:var(--lh-base);cursor:pointer;display:flex}.ui-check input{width:16px;height:16px;accent-color:var(--accent);cursor:inherit;flex:none;margin:2px 0 0}.ui-check__text{gap:2px;min-width:0;display:grid}.ui-check__text small{color:var(--ink-3);font-size:var(--fs-sm)}.ui-check--disabled{color:var(--ink-3);cursor:not-allowed}.ui-chip{align-items:center;gap:var(--sp-1);max-width:100%;min-height:24px;padding:0 var(--sp-2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight);vertical-align:middle;display:inline-flex}.ui-chip--toggle{padding:0;overflow:hidden}.ui-chip__toggle{min-height:30px;padding:0 var(--sp-3);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.ui-chip--toggle:has(>.ui-chip__toggle[aria-pressed=true]){border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}.ui-chip__remove{width:20px;height:20px;margin-right:calc(var(--sp-1) * -1);border-radius:var(--r-pill);color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.ui-chip--toggle .ui-chip__remove{margin-right:var(--sp-1)}.ui-chip__remove:hover{background:var(--sunken);color:var(--ink)}.ui-status{--ui-tone:var(--tone-neutral);--ui-tone-soft:var(--tone-neutral-soft);max-width:100%;min-height:22px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--ui-tone-soft);color:var(--ui-tone);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.ui-status:before{border-radius:var(--r-pill);content:"";background:currentColor;flex:none;width:6px;height:6px}.ui-status[data-tone=positive]{--ui-tone:var(--tone-positive);--ui-tone-soft:var(--tone-positive-soft)}.ui-status[data-tone=attention]{--ui-tone:var(--tone-attention);--ui-tone-soft:var(--tone-attention-soft)}.ui-status[data-tone=info]{--ui-tone:var(--tone-info);--ui-tone-soft:var(--tone-info-soft)}.ui-status[data-tone=negative]{--ui-tone:var(--tone-negative);--ui-tone-soft:var(--tone-negative-soft)}.ui-state{justify-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);color:var(--ink-2);text-align:center;display:grid}.ui-state--compact{padding:var(--sp-6) var(--sp-4)}.ui-state__icon{width:44px;height:44px;margin-bottom:var(--sp-1);border-radius:var(--r-pill);background:var(--sunken);color:var(--ink-3);place-items:center;display:grid}.ui-state--error .ui-state__icon{background:var(--tone-negative-soft);color:var(--tone-negative)}.ui-state__title{color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.ui-state__description{max-width:44ch;color:var(--ink-3);font-size:var(--fs-base);line-height:var(--lh-base);margin:0}.ui-state__actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.ui-skeleton{display:grid}.ui-skeleton__row{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);display:grid}.ui-skeleton--text .ui-skeleton__row{padding:var(--sp-1) 0;border:0}.ui-skeleton__bar{border-radius:var(--r-xs);background:linear-gradient(90deg, transparent 0, color-mix(in srgb, var(--surface) 60%, transparent) 50%, transparent 100%) 0 0 / 200% 100% no-repeat, color-mix(in srgb, var(--ink) 10%, transparent);height:12px;animation:1.3s ease-in-out infinite ui-shimmer;display:block}.ui-skeleton__bar--sub{background-color:color-mix(in srgb, var(--ink) 7%, transparent);height:10px}@keyframes ui-shimmer{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}.ui-modal{z-index:var(--z-modal);padding:var(--sp-6);place-items:center;display:grid;position:fixed;inset:0}.ui-modal__backdrop{background:var(--backdrop);animation:ui-fade-in var(--motion-base) var(--ease-out);position:absolute;inset:0}.ui-dialog{width:min(560px,100%);max-height:calc(100dvh - var(--sp-12));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);animation:ui-dialog-in var(--motion-base) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.ui-dialog:focus{outline:none}.ui-dialog--sm{width:min(420px,100%)}.ui-dialog--lg{width:min(760px,100%)}.ui-dialog__handle{display:none}.ui-dialog__header{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--line-soft);display:flex}.ui-dialog__titles{flex:1;min-width:0}.ui-dialog__header h2{color:var(--ink);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere;margin:0}.ui-dialog__header p{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-base)}.ui-dialog__close{margin:calc(var(--sp-1) * -1) calc(var(--sp-2) * -1) 0 0}.ui-dialog__form{flex-direction:column;flex:auto;min-height:0;display:flex}.ui-dialog__body{min-height:0;padding:var(--sp-4) var(--sp-5);overscroll-behavior:contain;scroll-padding-bottom:var(--sp-10);flex:auto;overflow:auto}.ui-dialog__body:empty{display:none}.ui-dialog__body>*+*{margin-top:var(--sp-4)}.ui-dialog__footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;flex:none;display:flex}.ui-confirm .ui-dialog__header{border-bottom:0}.ui-confirm .ui-dialog__header p{color:var(--ink-2);font-size:var(--fs-base)}.ui-confirm .ui-dialog__body{padding-top:0}.ui-confirm .ui-dialog__footer{border-top:0}.ui-dialog__discard{z-index:var(--z-raised);gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) calc(var(--sp-4) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);display:grid;position:absolute;bottom:0;left:0;right:0}.ui-dialog__discard p{color:var(--ink-2);font-size:var(--fs-base);margin:0}.ui-dialog__discard strong{color:var(--ink)}.ui-dialog__discard-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ui-modal--sheet.ui-modal--right{place-items:stretch end;padding:0}.ui-modal--sheet.ui-modal--bottom{padding:var(--sp-6) var(--sp-6) 0;place-items:end center}.ui-sheet{width:min(480px,100%);max-height:100dvh}.ui-modal--right .ui-sheet{border-width:0 0 0 1px;border-radius:0;height:100dvh;animation-name:ui-sheet-right-in}.ui-modal--bottom .ui-sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:0;width:min(720px,100%);max-height:90dvh;animation-name:ui-sheet-up-in}.ui-sheet.ui-dialog--sm{width:min(400px,100%)}.ui-sheet.ui-dialog--lg{width:min(640px,100%)}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes ui-sheet-right-in{0%{opacity:0;transform:translate(24px)}}@keyframes ui-sheet-up-in{0%{opacity:0;transform:translateY(24px)}}.ui-not-found{align-content:center;justify-items:center;gap:var(--sp-4);min-height:100dvh;padding:var(--sp-6) var(--sp-4);background:var(--ground);display:grid}.ui-not-found__brand{align-items:center;gap:var(--sp-2);color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-semibold);display:inline-flex}.ui-not-found__brand span{border-radius:var(--r-sm);background:var(--accent);width:28px;height:28px;color:var(--on-accent);font-size:var(--fs-base);place-items:center;display:grid}@media (pointer:coarse){.ui-button,.ui-input{min-height:var(--control-h-touch)}.ui-button--sm{min-height:var(--tap)}.ui-icon-button{width:var(--tap);height:var(--tap)}.ui-check{min-height:var(--tap);align-items:center}.ui-check input{width:20px;height:20px;margin:0}.ui-chip__toggle{min-height:36px}.ui-chip__remove{width:32px;height:32px}}@media (width<=760px){.ui-button{font-size:var(--fs-md)}.ui-input{min-height:var(--control-h-touch)}.ui-field__label{font-size:var(--fs-base)}.ui-modal,.ui-modal--sheet.ui-modal--right,.ui-modal--sheet.ui-modal--bottom{place-items:end stretch;padding:0}.ui-dialog,.ui-dialog--sm,.ui-dialog--lg,.ui-sheet,.ui-sheet.ui-dialog--sm,.ui-sheet.ui-dialog--lg{width:100%}.ui-dialog[data-mobile=fullscreen]{border:0;border-radius:0;height:100dvh;max-height:100dvh;animation-name:ui-sheet-up-in}.ui-dialog[data-mobile=sheet],.ui-modal--right .ui-sheet,.ui-modal--bottom .ui-sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;border-width:0;height:auto;max-height:90dvh;animation-name:ui-sheet-up-in}.ui-dialog[data-mobile=sheet] .ui-dialog__handle{width:36px;height:4px;margin:var(--sp-2) auto 0;border-radius:var(--r-pill);background:var(--line-strong);display:block}.ui-dialog__header{padding:var(--sp-3) var(--sp-4)}.ui-dialog__body{padding:var(--sp-4)}.ui-dialog__footer{padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.ui-dialog[data-mobile=sheet] .ui-dialog__footer,.ui-dialog__discard-actions{flex-direction:column-reverse;align-items:stretch;display:flex}.ui-dialog__footer .ui-button,.ui-dialog__discard-actions .ui-button{white-space:normal;width:100%}}.ui-gallery{gap:var(--sp-8);max-width:1080px;min-height:100dvh;padding:var(--sp-8) var(--sp-4);color:var(--ink);margin:0 auto;display:grid}.ui-gallery h1{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);margin:0}.ui-gallery h2{margin:0 0 var(--sp-3);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.ui-gallery header{gap:var(--sp-2);max-width:480px;display:grid}.ui-gallery header p{color:var(--ink-3);margin:0}.ui-gallery__row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ui-gallery__row+.ui-gallery__row{margin-top:var(--sp-3)}.ui-gallery__grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.ui-gallery__wide{grid-column:1/-1}.ui-gallery__panel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.ui-gallery__dl{gap:var(--sp-2) var(--sp-4);font-size:var(--fs-base);grid-template-columns:max-content 1fr;margin:0;display:grid}.ui-gallery__dl dt{color:var(--ink-3)}.ui-gallery__dl dd{margin:0}.ui-pagination{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.ui-pagination__nav{align-items:center;gap:var(--sp-1);margin-left:auto;display:flex}.ui-pagination__pages{align-items:center;gap:2px;display:flex}.ui-pagination__page{min-width:28px;min-height:28px;padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--ink-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:1px solid #0000}.ui-pagination__page:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.ui-pagination__page[aria-current=page]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-semibold)}.ui-pagination__page:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.ui-pagination__gap{padding:0 var(--sp-1)}.ui-pagination__compact{display:none}@media (width<=760px){.ui-pagination__summary{display:none}.ui-pagination__nav{justify-content:space-between;width:100%;margin-left:0}.ui-pagination__pages{display:none}.ui-pagination__compact{color:var(--ink-2);font-size:var(--fs-base);display:inline}}:root{--shell-bar-h:48px;--tabbar-h:0px}@media (width<=760px){:root{--shell-bar-h:52px;--tabbar-h:56px}}.context-bar{height:var(--shell-bar-h);gap:var(--sp-2);padding-inline:var(--sp-3);padding-top:env(safe-area-inset-top,0px);box-sizing:content-box}.context-title{min-width:0;color:var(--ink-2);font-size:var(--fs-base);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-icon-button{width:var(--tap);height:var(--tap);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.shell-icon-button:hover,.shell-icon-button:focus-visible{background:var(--sunken);color:var(--ink)}.shell-icon-button:focus-visible,.account-trigger:focus-visible,.tab-bar__item:focus-visible{box-shadow:var(--focus-ring), inset 0 0 0 1px var(--accent);outline:0}.shell-mobile-only{display:none}.account-menu{flex:none;position:relative}.account-trigger{align-items:center;gap:var(--sp-2);max-width:220px;height:32px;padding:0 var(--sp-2) 0 var(--sp-1);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);background:0 0;border:1px solid #0000;display:inline-flex}.account-trigger:hover,.account-trigger[aria-expanded=true]{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.account-trigger__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-avatar{border-radius:var(--r-pill);background:var(--accent-soft);width:24px;height:24px;color:var(--accent-ink);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;flex:none;place-items:center;display:inline-grid}.account-avatar--lg{width:36px;height:36px;font-size:var(--fs-base)}.account-menu__user{align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-2) var(--sp-3) var(--sp-3);border-bottom:1px solid var(--line-soft);margin-bottom:var(--sp-1);display:flex}.account-menu__user strong{min-width:0;color:var(--ink);font-size:var(--fs-base);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__label{padding:var(--sp-2) var(--sp-3) var(--sp-1);color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);display:block}.account-menu__separator{height:1px;margin:var(--sp-1) 0;background:var(--line-soft)}.account-menu .ui-menu__list{width:248px}.ui-menu{position:relative}.ui-menu__list{top:calc(100% + var(--sp-1));z-index:var(--z-dropdown);min-width:200px;max-width:min(320px, calc(100vw - 2 * var(--sp-4)));padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute}.ui-menu__list--end{right:0}.ui-menu__list--start{left:0}.ui-menu__item{align-items:center;gap:var(--sp-3);width:100%;min-height:36px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;font-size:var(--fs-base);text-align:left;background:0 0;border:0;text-decoration:none;display:flex}.ui-menu__item:hover,.ui-menu__item:focus-visible{background:var(--sunken);outline:0}.ui-menu__item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.ui-menu__item[aria-disabled=true]{color:var(--ink-3);cursor:not-allowed}.ui-menu__item[aria-checked=true]{color:var(--accent-ink);font-weight:var(--fw-medium)}.ui-menu__icon{width:18px;color:var(--ink-3);flex:none;place-items:center;display:inline-grid}.ui-menu__item[aria-checked=true] .ui-menu__icon{color:var(--accent-ink)}.ui-menu__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-menu__text small{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:var(--lh-tight)}.account-menu__logout{color:var(--ink)}@media (pointer:coarse){.ui-menu__item{min-height:var(--tap)}}.tab-bar{display:none}.nav-sheet__nav{gap:var(--sp-4);flex-direction:column;display:flex}.nav-sheet__group h3{margin:0 0 var(--sp-1);padding:0 var(--sp-3);color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.nav-sheet__group ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-sheet__group a{min-height:var(--tap);align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-md);text-decoration:none;display:flex}.nav-sheet__group a svg{color:var(--ink-3);flex:none}.nav-sheet__group a:hover,.nav-sheet__group a:focus-visible{background:var(--sunken);outline:0;text-decoration:none}.nav-sheet__group a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.nav-sheet__group a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-semibold)}.nav-sheet__group a[aria-current=page] svg{color:var(--accent-ink)}.search-trigger{border-radius:var(--r-sm);font-size:var(--fs-sm)}.search-trigger kbd{border-radius:var(--r-xs);font-family:var(--font-sans);font-size:var(--fs-xs)}.search-dialog-v2 .ui-dialog__body{gap:var(--sp-3);flex-direction:column;display:flex}.search-field{height:calc(var(--tap) + 2px);align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-3);flex:none;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.search-field input{min-width:0;height:100%;color:var(--ink);font-size:var(--field-fs);background:0 0;border:0;outline:0;flex:1;padding:0}.search-field input::-webkit-search-cancel-button{cursor:pointer}.search-results{gap:var(--sp-4);flex-direction:column;min-height:160px;display:flex}.search-hint{color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-base);margin:0}.search-group h3{align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-1);color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);display:flex}.search-group h3 small{color:var(--ink-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.search-group>p{color:var(--tone-negative);font-size:var(--fs-sm);margin:0}.search-group ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.search-group li{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--line-soft);min-width:0;display:flex}.search-group li:last-child{border-bottom:0}.search-group li>a{align-items:center;gap:var(--sp-2);min-width:0;min-height:40px;padding:var(--sp-2);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-base);font-weight:var(--fw-medium);flex:1;text-decoration:none;display:flex}.search-group li>a:hover,.search-group li>a:focus-visible{background:var(--sunken);outline:0;text-decoration:none}.search-group li>a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.search-group li>a svg{color:var(--ink-3);flex:none}.search-group li>a>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-group li>a>em{min-width:0;color:var(--ink-3);font-size:var(--fs-sm);font-style:normal;font-weight:var(--fw-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-group li>small{padding:2px var(--sp-2);border-radius:var(--r-xs);background:var(--surface-2);color:var(--ink-3);font-size:var(--fs-xs);flex:none}@media (width>=761px){.search-dialog-v2{align-self:flex-start;margin-top:10vh}}@media (width<=760px){.context-bar{padding-inline:var(--sp-1);gap:0}.shell-mobile-only{display:grid}.context-title{padding-inline:var(--sp-1);color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-semibold);flex:1}.context-spacer{display:none}.search-trigger{width:var(--tap);height:var(--tap);color:var(--ink-2);background:0 0;border-color:#0000;flex:none;justify-content:center;padding:0}.search-trigger span,.search-trigger kbd{display:none}.account-trigger{width:var(--tap);height:var(--tap);border:0;justify-content:center;padding:0}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--sunken)}.account-trigger__name{display:none}.account-avatar{width:32px;height:32px;font-size:var(--fs-sm)}.account-avatar--lg{width:40px;height:40px;font-size:var(--fs-md)}.account-menu .ui-menu__list{top:calc(var(--shell-bar-h) + env(safe-area-inset-top,0px));right:var(--sp-2);width:min(300px, calc(100vw - 2 * var(--sp-2)));max-width:none;position:fixed}.workspace{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px))}.tab-bar{z-index:15;padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar__item{min-width:0;height:var(--tabbar-h);color:var(--ink-3);cursor:pointer;font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 2px;text-decoration:none;display:flex}.tab-bar__item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab-bar__item[aria-current=page],.tab-bar__item[data-active]{color:var(--accent-ink)}.tab-bar__item[aria-current=page] svg,.tab-bar__item[data-active] svg{stroke-width:2px}.search-results{min-height:0}}.registry-page{--page-pad:var(--sp-8);width:min(1320px,100%);padding:var(--sp-6) var(--page-pad) var(--sp-12);margin:0 auto}[data-tone]{--row-tone:transparent}[data-tone=positive]{--row-tone:var(--tone-positive)}[data-tone=attention]{--row-tone:var(--tone-attention)}[data-tone=info]{--row-tone:var(--tone-info)}[data-tone=negative]{--row-tone:var(--tone-negative)}[data-tone=neutral]{--row-tone:var(--line-strong)}.page-header{align-items:end;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"titles primary menu";display:grid}.page-header__titles{grid-area:titles;min-width:0}.page-header__crumbs ol{min-width:0;margin:0 0 var(--sp-1);color:var(--ink-3);font-size:var(--fs-sm);white-space:nowrap;padding:0;list-style:none;display:flex;overflow:hidden}.page-header__crumbs li{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.page-header__crumbs li:last-child{flex-shrink:0}.page-header__crumbs li+li:before{content:"/";margin:0 var(--sp-2);color:var(--line-strong)}.page-header__crumbs a{color:var(--ink-3)}.page-header__crumbs a:hover{color:var(--ink)}.page-header__title-row{align-items:baseline;gap:var(--sp-3);min-width:0;display:flex}.page-header__title-row h1{min-width:0;color:var(--ink);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.page-header__meta{color:var(--ink-3);font-size:var(--fs-base);font-variant-numeric:tabular-nums;flex:none;margin:0}.page-header__primary{grid-area:primary}.page-header__menu{grid-area:menu}.page-header__hint{color:var(--ink-3);font-size:var(--fs-sm);grid-column:1/-1;margin:0}.action-menu__trigger{width:var(--control-h);height:var(--control-h)}.registry-notice{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--row-tone,var(--line-strong));border-radius:var(--r-md);background:var(--surface);color:var(--ink-2);font-size:var(--fs-base);display:flex}.registry-notice>span,.registry-notice>div{flex:1;min-width:0}.registry-notice strong{color:var(--ink);font-weight:var(--fw-semibold)}.registry-notice strong+span{color:var(--ink-2);display:block}.registry-toolbar{top:calc(var(--shell-bar-h) + env(safe-area-inset-top,0px));z-index:5;gap:var(--sp-2);margin:0 calc(-1 * var(--page-pad)) var(--sp-2);padding:var(--sp-2) var(--page-pad);background:var(--ground);flex-direction:column;display:flex;position:sticky}.registry-toolbar__row{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.registry-search{min-width:0;height:var(--control-h);align-items:center;gap:var(--sp-2);padding-left:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-3);flex:280px;display:flex}.registry-search:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.registry-search svg{flex:none}.registry-search input{min-width:0;height:100%;color:var(--ink);font-size:var(--field-fs);background:0 0;border:0;outline:0;flex:1;padding:0}.registry-search input::-webkit-search-cancel-button{appearance:none}.registry-search__clear{width:var(--control-h);border-radius:var(--r-sm);height:100%;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.registry-search__clear:hover,.registry-search__clear:focus-visible{color:var(--ink);outline:0}.registry-search__clear:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.registry-toolbar__quick{gap:var(--sp-2);flex:none;display:flex}.registry-toolbar__quick select{max-width:200px;height:var(--control-h);padding:0 var(--sp-8) 0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background-color:var(--surface);color:var(--ink-2);font-size:var(--field-fs)}.registry-toolbar__quick select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:0}.registry-toolbar__quick .registry-quick-select--active select{border-color:var(--accent-line);background-color:var(--accent-soft);color:var(--accent-ink)}.registry-toggle{height:var(--control-h);padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);cursor:pointer;font-size:var(--fs-base);white-space:nowrap}.registry-toggle[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-medium)}.registry-toggle:focus-visible{box-shadow:var(--focus-ring);outline:0}.registry-filter-button{height:var(--control-h);align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);cursor:pointer;font-size:var(--fs-base);font-weight:var(--fw-medium);flex:none;display:inline-flex}.registry-filter-button:hover{border-color:var(--line-strong);color:var(--ink)}.registry-filter-button:focus-visible{box-shadow:var(--focus-ring);outline:0}.registry-filter-button[data-active]{border-color:var(--accent-line);color:var(--accent-ink)}.registry-filter-button__count{min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);place-items:center;display:inline-grid}.registry-toolbar__chips{gap:var(--sp-2);margin:0 calc(-1 * var(--page-pad));padding:0 var(--page-pad) var(--sp-1);scrollbar-width:none;display:flex;overflow-x:auto}.registry-toolbar__chips::-webkit-scrollbar{display:none}.registry-category-list{gap:var(--sp-2);flex-wrap:nowrap;flex:none;display:flex}.registry-category{align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);cursor:pointer;font-size:var(--fs-base);white-space:nowrap;flex:none;display:inline-flex}.registry-category strong{color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium)}.registry-category[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-medium)}.registry-category[aria-pressed=true] strong{color:var(--accent-ink)}.registry-category:focus-visible{box-shadow:var(--focus-ring);outline:0}.registry-category--unavailable{color:var(--ink-3);cursor:default;border-style:dashed}.registry-active-filters{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.registry-active-filters button{align-items:center;gap:var(--sp-1);max-width:100%;min-height:28px;padding:0 var(--sp-2) 0 var(--sp-3);border:1px solid var(--accent-line);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);cursor:pointer;font-size:var(--fs-sm);display:inline-flex}.registry-active-filters button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.registry-active-filters button svg{flex:none}.registry-active-filters .registry-active-filters__reset{color:var(--ink-2);text-underline-offset:2px;background:0 0;border-color:#0000;text-decoration:underline}.registry-active-filters button:focus-visible{box-shadow:var(--focus-ring);outline:0}.filter-sheet .ui-dialog__body{gap:var(--sp-5);flex-direction:column;display:flex}.filter-sheet__section{gap:var(--sp-3);flex-direction:column;display:flex}.filter-sheet__section+.filter-sheet__section{padding-top:var(--sp-5);border-top:1px solid var(--line-soft)}.filter-sheet__heading{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:0}.filter-sheet__exports{gap:var(--sp-2);flex-direction:column;display:flex}.filter-sheet__export small{margin-top:var(--sp-1);color:var(--ink-3);font-size:var(--fs-sm);display:block}.data-table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;color:var(--ink-2);font-size:var(--fs-base)}.data-table th{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:left;white-space:nowrap}.data-table th:first-child{border-top-left-radius:var(--r-md)}.data-table th:last-child{border-top-right-radius:var(--r-md)}.data-table td{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line-soft);vertical-align:middle}.data-table tbody tr:first-child td{border-top:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tbody tr[data-selected] td{background:var(--accent-soft)}.data-table__primary{width:36%;min-width:240px;position:relative}td.data-table__primary{padding-left:var(--sp-4)}.data-table__edge{top:var(--sp-2);bottom:var(--sp-2);border-radius:0 var(--r-xs) var(--r-xs) 0;background:var(--row-tone);width:3px;position:absolute;left:0}.data-table__open{min-width:0;max-width:100%;padding:var(--sp-1) 0;border-radius:var(--r-xs);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:2px;display:flex}.data-table__open:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:0}.data-table__title{align-items:center;gap:var(--sp-2);min-width:0;color:var(--ink);font-weight:var(--fw-semibold);display:flex}.data-table__title>:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.data-table__subtitle{color:var(--ink-3);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.data-table__numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table th.data-table__numeric{text-align:right}.data-table__sort{align-items:center;gap:var(--sp-1);color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;display:inline-flex}.data-table__sort:hover{color:var(--ink)}.data-table__sort:focus-visible{border-radius:var(--r-xs);box-shadow:0 0 0 2px var(--accent);outline:0}.data-table__sort-mark{color:var(--ink-3);font-size:var(--fs-xs)}th[aria-sort=ascending] .data-table__sort,th[aria-sort=descending] .data-table__sort{color:var(--ink)}.data-table__actions{text-align:right;white-space:nowrap;width:1%}.data-table__row-actions{gap:var(--sp-1);opacity:0;transition:opacity var(--motion-fast) var(--ease-out);display:inline-flex}.data-table tbody tr:hover .data-table__row-actions,.data-table tbody tr:focus-within .data-table__row-actions{opacity:1}@media (hover:none){.data-table__row-actions{opacity:1}}.data-table .cell-muted{color:var(--ink-3)}.data-table .cell-stack{flex-direction:column;gap:2px;min-width:0;display:flex}.data-table .cell-stack small{color:var(--ink-3);font-size:var(--fs-sm)}.registry-badge{min-height:20px;padding:0 var(--sp-2);border-radius:var(--r-xs);background:var(--tone-neutral-soft);color:var(--tone-neutral);font-size:var(--fs-xs);font-weight:var(--fw-medium);flex:none;align-items:center;display:inline-flex}.registry-tags{align-items:center;gap:var(--sp-1);min-width:0;display:flex}.registry-tags .ui-chip{min-width:0}.registry-tags>small{color:var(--ink-3);font-size:var(--fs-sm);flex:none}.registry-list{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.registry-list li+li{border-top:1px solid var(--line-soft)}.registry-list li[data-selected]{background:var(--accent-soft)}.registry-row{align-items:center;gap:var(--sp-3);width:100%;min-height:72px;padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:3px minmax(0,1fr) auto 16px;display:grid}.registry-row:active{background:var(--sunken)}.registry-row:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:0}.registry-row__edge{border-radius:0 var(--r-xs) var(--r-xs) 0;background:var(--row-tone);align-self:stretch;width:3px}.registry-row__body{flex-direction:column;gap:2px;min-width:0;display:flex}.registry-row__title{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.registry-row__name{min-width:0;color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.registry-row__subtitle{color:var(--ink-2);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.registry-row__meta{align-items:center;gap:var(--sp-2);min-width:0;color:var(--ink-3);font-size:var(--fs-sm);display:flex}.registry-row__meta>span:last-child:not(.ui-status){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.registry-row__meta .ui-status{background:0 0;flex:none;min-height:0;padding:0}.registry-row__metric{color:var(--ink);line-height:var(--lh-tight);flex-direction:column;align-items:flex-end;display:flex}.registry-row__metric strong{font-size:var(--fs-md);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.registry-row__metric small{color:var(--ink-3);font-size:var(--fs-xs)}.registry-row__chevron{color:var(--ink-3);place-items:center;display:grid}.registry-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.registry-footer>.ui-pagination{width:100%}.registry-footer__range{color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.registry-footer__error{width:100%;color:var(--tone-negative);font-size:var(--fs-sm);margin:0}.registry-footer--more{text-align:center;flex-direction:column;align-items:stretch}.registry-skeleton{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.load-list{margin:0;padding:0;list-style:none}.load-list li{gap:2px var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.load-list li:first-child{border-top:0}.load-list button{color:var(--accent-ink);cursor:pointer;font:inherit;font-weight:var(--fw-medium);text-align:left;background:0 0;border:0;justify-self:start;padding:0}.load-list button:hover{text-underline-offset:2px;text-decoration:underline}.load-list button:focus-visible{border-radius:var(--r-xs);box-shadow:0 0 0 2px var(--accent);outline:0}.load-list strong{color:var(--ink);font-variant-numeric:tabular-nums}.load-list small{color:var(--ink-3);font-size:var(--fs-sm);grid-column:1/-1}@media (width<=1100px){.registry-toolbar__quick{display:none}}@media (width<=1023px){.registry-page{--page-pad:var(--sp-6)}}@media (width<=760px){.registry-page{--page-pad:var(--sp-4);padding-top:var(--sp-4);padding-bottom:var(--sp-8)}.page-header{margin-bottom:var(--sp-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"titles menu""primary primary";align-items:start}.page-header__title-row h1{font-size:var(--fs-xl)}.page-header__meta{font-size:var(--fs-sm)}.page-header__primary .ui-button{width:100%}.registry-page .ui-button{min-height:var(--tap)}.action-menu__trigger{width:var(--tap);height:var(--tap)}.registry-search{height:calc(var(--tap) + 2px)}.registry-search__clear{width:var(--tap)}.registry-filter-button{height:calc(var(--tap) + 2px)}.registry-category{height:var(--tap)}.registry-active-filters button{min-height:var(--tap)}.registry-toolbar{margin-bottom:var(--sp-3)}}@media (pointer:coarse){.registry-category,.registry-active-filters button{min-height:var(--tap)}}.detail-page{width:min(1180px, calc(100% - var(--sp-10)));padding:var(--sp-6) 0 var(--sp-12);color:var(--ink);margin:0 auto}.detail-page.detail-page>*+*{margin-top:var(--sp-4)}.detail-header{gap:var(--sp-2);min-width:0;display:grid}.detail-header__crumbs ol{min-width:0;color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-tight);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.detail-header__crumbs li{flex:none;min-width:0}.detail-header__crumbs li:last-child{text-overflow:ellipsis;flex:auto;overflow:hidden}.detail-header__crumbs li+li:before{content:"/";margin:0 var(--sp-2);color:var(--line-strong)}.detail-header__crumbs a{color:var(--accent-ink)}.detail-header__crumbs a:hover{text-decoration:underline}.detail-header__row{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);min-width:0;display:flex}.detail-header__titles{gap:var(--sp-2);min-width:0;display:grid}.detail-header h1{color:var(--ink);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere;margin:0}.detail-header__meta{align-items:center;gap:var(--sp-2) var(--sp-3);color:var(--ink-2);font-size:var(--fs-base);flex-wrap:wrap;display:flex}.detail-header__fact:not(:last-child):after{content:"·";margin-left:var(--sp-3);color:var(--ink-3)}.detail-header__actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.detail-header__feedback{min-height:0;color:var(--accent-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:0}.detail-header__feedback:empty{height:0;display:block}.detail-tabs{border-bottom:1px solid var(--line);position:relative}.detail-tabs__list{gap:var(--sp-1);scrollbar-width:none;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.detail-tabs__list::-webkit-scrollbar{display:none}.detail-tabs[data-fade-end] .detail-tabs__list{-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--sp-10)), transparent);mask-image:linear-gradient(to right, #000 calc(100% - var(--sp-10)), transparent)}.detail-tabs[data-fade-start] .detail-tabs__list{-webkit-mask-image:linear-gradient(to left, #000 calc(100% - var(--sp-10)), transparent);mask-image:linear-gradient(to left, #000 calc(100% - var(--sp-10)), transparent)}.detail-tabs[data-fade-start][data-fade-end] .detail-tabs__list{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--sp-10), #000 calc(100% - var(--sp-10)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--sp-10), #000 calc(100% - var(--sp-10)), transparent)}.detail-tabs__tab{align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-3);color:var(--ink-3);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;display:inline-flex}.detail-tabs__tab:hover{color:var(--ink)}.detail-tabs__tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink);font-weight:var(--fw-semibold)}.detail-tabs__tab:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.detail-tabs__count{min-width:20px;padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:center;line-height:18px}.detail-panel{min-width:0;padding-top:var(--sp-4)}.detail-grid{align-items:start;gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-grid--wide{grid-template-columns:minmax(0,1fr)}.detail-section{min-width:0;padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.detail-section.detail-section>*+*{margin-top:var(--sp-3)}.detail-section__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.detail-section__header h2{color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.detail-section__header p{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-sm)}.detail-section__action{gap:var(--sp-2);flex:none;display:flex}.fact-list{margin:0;display:grid}.fact-list__row{gap:var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--line-soft);grid-template-columns:minmax(120px,34%) minmax(0,1fr);display:grid}.fact-list__row:first-child{border-top:0}.fact-list dt{color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-base)}.fact-list dd{min-width:0;color:var(--ink);font-size:var(--fs-base);line-height:var(--lh-base);overflow-wrap:anywhere;margin:0}.fact-list__mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.fact-list+.fact-list{border-top:1px solid var(--line-soft);margin-top:0}.detail-muted{color:var(--ink-3);font-size:var(--fs-base);margin:0}.detail-muted--error{color:var(--tone-negative)}.detail-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.detail-notice{padding:var(--sp-3) var(--sp-4);border:1px solid color-mix(in srgb, var(--tone-attention) 30%, var(--line));border-radius:var(--r-md);background:var(--tone-attention-soft);color:var(--ink);font-size:var(--fs-base);margin:0}.detail-state{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--fs-base);flex-wrap:wrap;display:flex}.detail-state strong{font-weight:var(--fw-medium)}.detail-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.detail-links,.detail-inline-links{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.detail-inline-links{gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;display:flex}.detail-links a,.detail-inline-links a{color:var(--accent-ink)}.detail-danger.ui-button,.detail-danger{color:var(--tone-negative)}.detail-rows{margin:0;padding:0;list-style:none;display:grid}.detail-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line-soft);display:flex}.detail-row:first-child{border-top:0;padding-top:0}.detail-row__main{gap:2px;min-width:0;display:grid}.detail-row__main strong{align-items:center;gap:var(--sp-2);color:var(--ink);font-size:var(--fs-base);font-weight:var(--fw-semibold);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.detail-row__main span{color:var(--ink-2);font-size:var(--fs-sm);overflow-wrap:anywhere}.detail-row__actions{align-items:center;gap:var(--sp-1);flex:none;display:flex}.detail-timeline{margin:0;padding:0;list-style:none;display:grid}.detail-timeline li{padding:var(--sp-3) 0;border-top:1px solid var(--line-soft);gap:2px;display:grid}.detail-timeline li:first-child{border-top:0;padding-top:0}.detail-timeline__meta{gap:var(--sp-1) var(--sp-3);color:var(--ink-3);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.detail-timeline strong{color:var(--ink);font-size:var(--fs-base);font-weight:var(--fw-semibold)}.detail-timeline p{color:var(--ink-2);font-size:var(--fs-base);overflow-wrap:anywhere;margin:0}.peek-sheet .ui-dialog__body.ui-dialog__body>*+*{margin-top:var(--sp-3)}.peek-status{gap:var(--sp-2);flex-wrap:wrap;display:flex}.peek-sheet .detail-section{border:0;border-top:1px solid var(--line-soft);padding:0;padding-top:var(--sp-3);border-radius:0}.site-detail-layout{align-items:start;gap:var(--sp-5);grid-template-columns:minmax(280px,340px) minmax(0,1fr);display:grid}.site-detail-layout--wide{grid-template-columns:minmax(0,1fr)}.site-detail-aside{top:var(--sp-4);min-width:0;position:sticky}.site-detail-main{min-width:0}.site-passport .fact-list__row{grid-template-columns:minmax(0,1fr);gap:2px}.site-archived-children a{color:var(--accent-ink)}.site-overview>*+*{margin-top:var(--sp-4)}.site-metrics{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.site-metric{align-content:start;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:grid}.site-metric__label{color:var(--ink-3);font-size:var(--fs-sm)}.site-metric__value{color:var(--ink);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;line-height:var(--lh-tight)}.site-metric__delta{color:var(--tone-positive);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.site-metric__delta[data-trend=down]{color:var(--tone-negative)}.site-metric__chart{gap:var(--sp-1);height:56px;margin-top:var(--sp-2);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.site-metric__chart span{grid-template-rows:minmax(0,1fr) auto;align-items:end;gap:2px;min-width:0;display:grid}.site-metric__chart i{border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--accent);min-height:2px;display:block}.site-metric__chart i[data-state=negative]{background:var(--tone-negative)}.site-metric__chart i[data-state=empty]{background:var(--line)}.site-metric__chart small{color:var(--ink-3);font-size:var(--fs-xs);text-align:center;text-overflow:clip;white-space:nowrap;overflow:hidden}.site-matrix__scroll{margin:0 calc(var(--sp-5) * -1);padding:0 var(--sp-5);overflow-x:auto}.site-matrix table{border-collapse:collapse;width:100%;font-size:var(--fs-base);font-variant-numeric:tabular-nums}.site-matrix th,.site-matrix td{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line-soft);text-align:right;white-space:nowrap}.site-matrix thead th{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:normal;border-top:0}.site-matrix th[scope=row],.site-matrix thead th:first-child{color:var(--ink);font-weight:var(--fw-medium);text-align:left;padding-left:0}.site-matrix td{color:var(--ink-2)}.site-matrix tfoot th,.site-matrix tfoot td{border-top:1px solid var(--line);color:var(--ink)}.placement-list{margin:0;padding:0;list-style:none;display:grid}.placement-list li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line-soft);display:flex}.placement-list li:first-child{border-top:0;padding-top:0}.placement-list div{gap:2px;min-width:0;display:grid}.placement-list strong{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.placement-list span{color:var(--ink-2);font-size:var(--fs-base)}.placement-list b{min-width:32px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--fs-base);font-variant-numeric:tabular-nums;text-align:center;flex:none;line-height:28px}.site-workspace{align-items:start;gap:var(--sp-4);grid-template-columns:minmax(200px,240px) minmax(0,1fr);display:grid}.site-workspace__nav{gap:var(--sp-2);min-width:0;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:grid}.site-workspace__nav header{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:0 var(--sp-1);display:flex}.site-workspace__nav h2{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:0}.site-workspace__tabs{gap:2px;display:grid}.site-workspace__tabs button{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--ink-2);font:inherit;font-size:var(--fs-base);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.site-workspace__tabs button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.site-workspace__tabs button strong{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.site-workspace__tabs button:hover{background:var(--surface-2);color:var(--ink)}.site-workspace__tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--ink);font-weight:var(--fw-semibold)}.site-workspace__tabs button:focus-visible{box-shadow:var(--focus-ring);outline:none}.site-workspace__content{min-width:0;padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.site-workspace__content>header{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.site-workspace__content>header span{color:var(--ink-3);font-size:var(--fs-sm)}.site-workspace__content>header h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:2px 0 0}.site-workspace__actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.site-equipment-table-wrap{margin:0 calc(var(--sp-5) * -1);padding:0 var(--sp-5);position:relative;overflow-x:auto}.site-equipment-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.site-equipment-table th,.site-equipment-table td{padding:var(--sp-2) var(--sp-3) var(--sp-2) 0;border-top:1px solid var(--line-soft);text-align:left;vertical-align:middle}.site-equipment-table thead th{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;border-top:0}.site-equipment-table__title{font-weight:var(--fw-medium);white-space:nowrap}.site-equipment-table__actions>div{justify-content:flex-end;gap:var(--sp-1);opacity:.55;transition:opacity var(--motion-fast);display:flex}.site-equipment-table tr:hover .site-equipment-table__actions>div,.site-equipment-table__actions>div:focus-within{opacity:1}.site-copy-value{align-items:baseline;gap:var(--sp-1);max-width:100%;color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--fs-sm);text-align:left;cursor:copy;overflow-wrap:anywhere;background:0 0;border:0;padding:0;display:inline-flex}.site-copy-value small{color:var(--ink-3);font-family:var(--font-sans);font-size:var(--fs-xs)}.site-remote-value{display:inline-flex;position:relative}.site-password-popover{bottom:calc(100% + var(--sp-1));z-index:var(--z-popover);gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);color:var(--ink-3);font-size:var(--fs-sm);white-space:nowrap;align-items:center;display:none;position:absolute;left:0}.site-remote-value:hover .site-password-popover,.site-remote-value:focus-within .site-password-popover{display:inline-flex}.site-release-field{align-items:center;gap:var(--sp-2);display:inline-flex}.site-release-field .ui-input{width:56px;min-height:30px;padding:0 var(--sp-2);text-align:center}.site-release-field small{color:var(--ink-3);font-size:var(--fs-xs)}.site-valid-till{color:var(--ink-2);font-size:var(--fs-base);white-space:nowrap}.site-valid-till[data-state=past]{color:var(--tone-negative);font-weight:var(--fw-semibold)}.site-valid-till[data-state=today]{color:var(--tone-attention);font-weight:var(--fw-semibold)}.site-valid-till[data-state=empty]{color:var(--ink-3)}@media (pointer:coarse){.site-copy-value{min-height:var(--tap);min-width:var(--tap);align-items:center}.site-workspace__tabs button{min-height:var(--tap)}.site-equipment-table td a,.fact-list dd>a,.detail-inline-links a{min-height:var(--tap);align-items:center;display:inline-flex}}@media (width<=1024px){.site-detail-layout{grid-template-columns:minmax(0,1fr)}.site-detail-aside{position:static}.site-workspace{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.detail-page{width:auto;padding:var(--sp-4) var(--sp-4) var(--sp-10)}.detail-header h1{font-size:var(--fs-xl)}.detail-header__meta{font-size:var(--fs-sm)}.detail-tabs{margin:0 calc(var(--sp-4) * -1);padding:0 var(--sp-4)}.detail-tabs__tab{min-height:var(--tap);font-size:var(--fs-md)}.detail-grid{gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}.detail-section{padding:var(--sp-4)}.fact-list__row{padding:var(--sp-3) 0;grid-template-columns:minmax(0,1fr);gap:2px}.fact-list dd{font-size:var(--fs-md)}.detail-row{align-items:flex-start;gap:var(--sp-2);flex-direction:column}.detail-row__actions{margin-left:calc(var(--sp-3) * -1)}.detail-row__main strong,.detail-timeline strong{font-size:var(--fs-md)}.site-metrics{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.site-metric{padding:var(--sp-3)}.site-metric__value{font-size:var(--fs-xl)}.site-metric__chart{display:none}.site-workspace__nav{background:0 0;border:0;padding:0}.site-workspace__tabs{gap:var(--sp-2);scrollbar-width:none;display:flex;overflow-x:auto}.site-workspace__tabs button{padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);flex:none}.site-workspace__tabs button span{overflow:visible}.site-workspace__content{padding:var(--sp-4)}.site-equipment-table-wrap{margin:0;padding:0;overflow:visible}.site-equipment-table,.site-equipment-table tbody,.site-equipment-table tr,.site-equipment-table th,.site-equipment-table td{width:100%;display:block}.site-equipment-table thead{display:none}.site-equipment-table tr{padding:var(--sp-3) 0;border-top:1px solid var(--line)}.site-equipment-table tr:first-child{border-top:0;padding-top:0}.site-equipment-table th,.site-equipment-table td{border:0;padding:0}.site-equipment-table__title{margin-bottom:var(--sp-2);font-size:var(--fs-md);white-space:normal}.site-equipment-table td[data-label]{gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-base);grid-template-columns:minmax(96px,36%) minmax(0,1fr);display:grid}.site-equipment-table td[data-label]:before{content:attr(data-label);color:var(--ink-3);font-size:var(--fs-sm)}.site-equipment-table__actions>div{margin:var(--sp-2) 0 0 calc(var(--sp-3) * -1);opacity:1;justify-content:flex-start}.site-release-field .ui-input{min-height:var(--control-h-touch)}}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-dialog__body>.form-grid,.ui-dialog__body>.form-grid+*{margin-top:0}.ui-dialog__body>*+.form-grid{margin-top:var(--sp-4)}.form-grid__wide{grid-column:1/-1}.form-checks{border:0;min-width:0;margin:0;padding:0}.form-checks legend{margin-bottom:var(--sp-1);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:0}.form-checks__list{gap:0 var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-checks__meta{margin-left:var(--sp-2);color:var(--ink-3);font-weight:var(--fw-regular)}.form-checks__search{margin-bottom:var(--sp-2)}.form-checks__scroll{max-height:240px;padding:var(--sp-1) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);overscroll-behavior:contain;overflow:auto}.form-error{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid color-mix(in srgb, var(--tone-negative) 32%, var(--line));border-radius:var(--r-md);background:var(--tone-negative-soft);color:var(--ink);font-size:var(--fs-base);flex-wrap:wrap;margin:0;display:flex}.form-error p{flex:220px;margin:0}.form-notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-base);margin:0}.form-hint{color:var(--ink-3);font-size:var(--fs-sm);margin:0}.form-impact{margin:0;padding:0;list-style:none;display:grid}.form-impact li{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--line-soft);font-size:var(--fs-base);display:flex}.form-impact li:first-child{border-top:0}.form-impact strong{font-variant-numeric:tabular-nums}.form-summary{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);font-size:var(--fs-base);margin:0;display:grid}.form-summary p{color:var(--ink-2);margin:0}.form-secret{gap:var(--sp-2);display:flex}.form-secret .ui-input{flex:auto}@media (width<=760px){.form-grid,.form-checks__list{grid-template-columns:minmax(0,1fr)}.form-grid{gap:var(--sp-4)}.form-checks__scroll{max-height:none}}.admin-page{width:min(1400px,100%);padding:var(--sp-6) var(--sp-6) var(--sp-10);margin:0 auto}.admin-head{align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.admin-head__titles{flex:1;min-width:0}.admin-head__crumbs{min-width:0;margin-bottom:var(--sp-1);color:var(--ink-3);font-size:var(--fs-sm);white-space:nowrap;display:flex;overflow:hidden}.admin-head__crumb{flex:none;min-width:0;display:inline-flex}.admin-head__crumb:last-child{flex:auto;overflow:hidden}.admin-head__crumb:last-child>span:last-child{text-overflow:ellipsis;overflow:hidden}.admin-head__sep{padding:0 var(--sp-2)}.admin-head h1{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:var(--lh-tight);margin:0}.admin-head__subtitle{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-base);font-variant-numeric:tabular-nums}.admin-head__actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.admin-panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.admin-panel>.ui-skeleton,.admin-panel>.ui-state{padding:var(--sp-4)}.admin-note{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-base);margin:0}.admin-note p{margin:0}.admin-note p+p{margin-top:var(--sp-1)}.admin-note--attention{border-bottom-color:color-mix(in srgb, var(--tone-attention) 30%, var(--line));background:var(--tone-attention-soft);color:var(--ink)}.admin-panel>.admin-note:first-child{border-radius:var(--r-lg) var(--r-lg) 0 0}.admin-panel>.ui-pagination{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line-soft)}.roles-matrix{overflow-x:auto}.roles-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.roles-table th,.roles-table td{padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle}.roles-table thead th{z-index:var(--z-raised);background:var(--surface);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;position:sticky;top:0}.roles-table thead th:not(:first-child),.roles-table td{text-align:center;width:1%}.roles-section th{padding-top:var(--sp-4);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.roles-section small{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-regular)}.roles-table tbody tr:not(.roles-section):hover{background:var(--surface-2)}.roles-perm{font-weight:var(--fw-regular)}.roles-perm__label{color:var(--ink);display:block}.roles-perm__key{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere}.roles-perm__badge{margin-left:var(--sp-2);padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--tone-attention-soft);color:var(--tone-attention);font-size:var(--fs-xs);font-weight:var(--fw-medium);vertical-align:1px;display:inline-block}tr[data-status=removed] .roles-perm__label,li[data-status=removed] .roles-perm__label{color:var(--ink-3)}.roles-value{color:var(--ink-3);font-size:var(--fs-base);align-items:center;gap:6px;display:inline-flex}.roles-value:before{border-radius:var(--r-pill);content:"";border:1.5px solid;flex:none;width:8px;height:8px}.roles-value[data-allowed]{color:var(--tone-positive);font-weight:var(--fw-medium)}.roles-value[data-allowed]:before{background:currentColor}.roles-mobile{display:none}.roles-picker{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);scrollbar-width:none;display:flex;overflow-x:auto}.roles-picker__option{min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-md);cursor:pointer;flex:none}.roles-picker__option[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-semibold)}.roles-picker__option:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.roles-mobile__summary{padding:0 var(--sp-4) var(--sp-2);color:var(--ink-3);font-size:var(--fs-sm);margin:0}.roles-group h3{padding:var(--sp-3) var(--sp-4) var(--sp-2);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex-direction:column;gap:2px;margin:0;display:flex}.roles-group h3 small{color:var(--ink-3);font-weight:var(--fw-regular)}.roles-group ul{margin:0;padding:0;list-style:none}.roles-group li{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line-soft);display:flex}.roles-group li .roles-perm{min-width:0}.roles-group li .roles-perm__label{font-size:var(--fs-md)}.roles-group li .roles-value{font-size:var(--fs-md);flex:none}.audit-list{margin:0;padding:0;list-style:none}.audit-entry{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);grid-template-columns:200px minmax(0,1fr);display:grid}.audit-entry:last-child{border-bottom:0}.audit-entry__meta{min-width:0;color:var(--ink-2);font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.audit-entry__meta time{color:var(--ink);font-size:var(--fs-base);font-variant-numeric:tabular-nums}.audit-entry__user{overflow-wrap:anywhere}.audit-entry__ip{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-xs)}.audit-entry__body{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.audit-entry__body p{margin:0}.audit-entry__what{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.audit-entry__resource{color:var(--ink-3);font-size:var(--fs-sm)}.audit-entry__object{font-size:var(--fs-base);overflow-wrap:anywhere}.audit-entry__object strong{font-weight:var(--fw-medium)}.audit-entry__id{margin-left:var(--sp-2);color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.audit-entry__details{color:var(--ink-2);font-size:var(--fs-sm);overflow-wrap:anywhere}.audit-changes{margin-top:var(--sp-1)}.audit-changes summary{align-items:center;gap:var(--sp-2);max-width:100%;min-height:28px;padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--accent-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;list-style:none;display:inline-flex}.audit-changes summary::-webkit-details-marker{display:none}.audit-changes summary:before{content:"";width:0;height:0;transition:transform var(--motion-fast);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid}.audit-changes[open] summary:before{transform:rotate(90deg)}.audit-changes summary:hover{background:var(--accent-soft)}.audit-changes summary:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.audit-changes__fields{color:var(--ink-3);font-weight:var(--fw-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-changes__list{margin:var(--sp-2) 0 0;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);gap:0;display:grid}.audit-change{gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(96px,180px) minmax(0,1fr);display:grid}.audit-change:last-child{border-bottom:0}.audit-change dt{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere;line-height:20px}.audit-change dd{align-items:baseline;gap:var(--sp-1) var(--sp-2);min-width:0;font-size:var(--fs-sm);flex-wrap:wrap;margin:0;display:flex}.audit-change__value{padding:1px var(--sp-1);border-radius:var(--r-xs);overflow-wrap:anywhere;white-space:pre-wrap}.audit-change__value--before{background:var(--tone-negative-soft);color:var(--ink);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--tone-negative) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--tone-negative) 55%, transparent)}.audit-change__value--after{background:var(--tone-positive-soft);color:var(--ink)}.audit-change__none{color:var(--ink-3);font-style:italic}.audit-change__arrow{color:var(--ink-3)}@media (pointer:coarse){.audit-changes summary{min-height:var(--tap)}}@media (width<=760px){.admin-page .ui-button,.admin-page .ui-pagination__page,.audit-changes summary{min-width:var(--tap);min-height:var(--tap)}.admin-page .ui-select__control{min-height:var(--tap)}.admin-head__crumbs{min-height:var(--tap);margin-block:calc((var(--tap) - 1.45em) / -2);align-items:center}.admin-head__crumbs a{min-height:var(--tap);align-items:center;display:inline-flex}.admin-page{padding:var(--sp-4) var(--sp-3) var(--sp-8)}.admin-head{align-items:stretch;gap:var(--sp-3);flex-direction:column}.admin-head h1{font-size:var(--fs-xl)}.admin-head__actions{justify-content:flex-start}.admin-head__actions>.ui-button--primary{flex:100%}.admin-panel{border-radius:var(--r-md)}.roles-matrix{display:none}.roles-mobile{display:block}.audit-entry{gap:var(--sp-2);padding:var(--sp-3);grid-template-columns:minmax(0,1fr)}.audit-entry__meta{gap:var(--sp-1) var(--sp-2);flex-flow:wrap}.audit-entry__meta time{font-size:var(--fs-sm);color:var(--ink-2)}.audit-entry__meta>*+:before{margin-right:var(--sp-2);color:var(--ink-3);font-family:var(--font-sans);content:"·"}.audit-entry__object{font-size:var(--fs-md)}.audit-change{gap:var(--sp-1);grid-template-columns:minmax(0,1fr)}}.admin-banner{gap:var(--sp-2);margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);color:var(--ink);font-size:var(--fs-base);line-height:var(--lh-base);justify-items:start;display:grid}.admin-banner--attention{border-color:color-mix(in srgb, var(--tone-attention) 35%, var(--line));background:var(--tone-attention-soft)}.admin-banner small{color:var(--ink-2);font-size:var(--fs-sm)}.admin-alert{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3);border:1px solid color-mix(in srgb, var(--tone-negative) 35%, var(--line));border-radius:var(--r-md);background:var(--tone-negative-soft);color:var(--ink);font-size:var(--fs-base);line-height:var(--lh-base);flex-wrap:wrap;display:flex}.admin-toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.admin-search{align-items:center;gap:var(--sp-2);min-width:0;min-height:var(--control-h);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-3);flex:280px;display:flex}.admin-search:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.admin-search input{min-width:0;height:calc(var(--control-h) - 2px);color:var(--ink);font-size:var(--field-fs);background:0 0;border:0;outline:0;flex:1;padding:0}.admin-search input::placeholder{color:var(--ink-3)}.admin-toolbar__select{flex:0 220px}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.users-table th{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:left;white-space:nowrap}.users-table td{padding:var(--sp-3);border-bottom:1px solid var(--line-soft);vertical-align:top;overflow-wrap:break-word}.users-table tbody tr:last-child td{border-bottom:0}.users-table tbody tr:hover{background:var(--surface-2)}.users-table tr[data-inactive] .users-login,.users-table tr[data-inactive] .users-cell--name,.users-table tr[data-inactive] .users-cell--email{color:var(--ink-3)}.users-login{margin-right:var(--sp-2);font-weight:var(--fw-semibold)}.users-tag{margin:2px var(--sp-1) 0 0;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;line-height:18px;display:inline-flex}.users-muted{color:var(--ink-3)}.users-active-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.users-password{color:var(--ink-2)}.users-first-login{color:var(--tone-attention);font-weight:var(--fw-medium)}.users-first-login[data-tone=negative]{color:var(--tone-negative)}.users-first-login-note{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-regular);display:block}.users-cell--actions{width:1%}.users-row-actions{justify-content:flex-end;gap:var(--sp-1);white-space:nowrap;display:flex}.users-invite-text{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin:0}.users-form{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.users-form__wide{grid-column:1/-1}.users-roles{border:0;min-width:0;margin:0;padding:0}.users-roles legend{margin-bottom:var(--sp-2);color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:0}.users-roles__grid{gap:0 var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.users-inactive-warning{margin:var(--sp-1) 0 0;color:var(--tone-attention);font-size:var(--fs-sm)}.users-reset-text{margin:0 0 var(--sp-4);color:var(--ink-2);line-height:var(--lh-base)}.users-reset-text strong{color:var(--ink);overflow-wrap:anywhere}@media (width<=760px){.admin-toolbar{padding:var(--sp-3)}.admin-search{min-height:var(--tap);flex-basis:100%}.admin-search input{height:var(--tap)}.admin-toolbar__select{flex:100%}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block}.users-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.users-table tbody tr{gap:2px var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.users-table tbody tr:last-child{border-bottom:0}.users-table td{border:0;padding:0}.users-cell--login{font-size:var(--fs-md);grid-column:1}.users-cell--active{grid-area:1/2;justify-self:end}.users-table .users-cell--active[data-active]{display:none}.users-cell--active .users-active-label{clip-path:none;width:auto;height:auto;position:static}.users-cell--name,.users-cell--email,.users-cell--roles,.users-cell--password,.users-cell--actions{color:var(--ink-2);font-size:var(--fs-base);grid-column:1/-1}:is(.users-table .users-cell--name:has(>.users-muted),.users-table .users-cell--email:has(>.users-muted),.users-table .users-cell--roles:has(>.users-muted)){display:none}.users-cell--roles:before,.users-cell--password:before{margin-right:var(--sp-1);color:var(--ink-3);content:attr(data-label) ":"}.users-first-login,.users-first-login-note{display:inline}.users-first-login-note:before{content:" "}.users-cell--actions{width:auto;margin-top:var(--sp-2)}.users-row-actions{flex-wrap:wrap;justify-content:flex-start}.users-form,.users-roles__grid{grid-template-columns:minmax(0,1fr)}}.admin-tabs{gap:var(--sp-1);padding:0 var(--sp-3);border-bottom:1px solid var(--line);scrollbar-width:none;display:flex;overflow-x:auto}.admin-tabs__tab{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);color:var(--ink-2);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;display:inline-flex}.admin-tabs__tab:hover{color:var(--ink)}.admin-tabs__tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink)}.admin-tabs__tab:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--r-sm);outline:none}.admin-tabs__count{min-width:20px;padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--sunken);color:var(--ink-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:center;line-height:18px}.admin-tabs__tab[aria-selected=true] .admin-tabs__count{background:var(--accent-soft);color:var(--accent-ink)}.references-panel>.ui-state{padding:var(--sp-6) var(--sp-4)}.references-table-wrap{overflow-x:auto}.references-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.references-table th{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:left;white-space:nowrap}.references-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line-soft);color:var(--ink-2);vertical-align:middle;overflow-wrap:break-word}.references-table tbody tr:last-child td{border-bottom:0}.references-table tbody tr:hover{background:var(--surface-2)}.references-name{color:var(--ink);font-weight:var(--fw-medium)}.references-cell--actions{width:1%}.references-actions{justify-content:flex-end;gap:var(--sp-1);white-space:nowrap;display:flex}.references-delete:not(:disabled):hover{background:var(--tone-negative-soft);color:var(--tone-negative)}.references-form{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.references-form__wide{grid-column:1/-1}.references-form>.ui-field__hint{margin:0}@media (width>=761px) and (width<=1100px){.references-action-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=760px){.references-table,.references-table tbody,.references-table tr,.references-table td{display:block}.references-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.references-table tbody tr{align-items:center;gap:2px var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.references-table tbody tr:last-child{border-bottom:0}.references-table td{font-size:var(--fs-base);border:0;grid-column:1;padding:0}.references-table .references-cell--name{font-size:var(--fs-md)}.references-table .references-cell--place:has(>.users-muted){display:none}.references-table .references-cell--actions{grid-area:1/2/span 4;width:auto}.references-action-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.references-form{grid-template-columns:minmax(0,1fr)}}.reports-layout{gap:var(--sp-4);grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;display:grid}.reports-catalog{gap:var(--sp-4);padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:grid}.reports-catalog ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.reports-catalog section{padding-top:var(--sp-2);border-top:1px solid var(--line-soft)}.reports-catalog h2{padding:var(--sp-2) var(--sp-3) var(--sp-1);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:0;text-transform:none;margin:0}.reports-catalog a,.report-download{min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--ink);flex-direction:column;gap:2px;text-decoration:none;display:flex}.report-download{align-items:flex-start;gap:var(--sp-3);flex-direction:row}.report-download>svg{color:var(--accent-ink);flex:none;margin-top:2px}.report-download>span{flex-direction:column;gap:2px;min-width:0;display:flex}.reports-catalog a strong,.report-download strong{font-size:var(--fs-base);font-weight:var(--fw-medium)}.reports-catalog a small,.report-download small{color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-base)}.reports-catalog a:hover{background:var(--surface-2)}.reports-catalog a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.reports-catalog a[aria-current=page]{background:var(--accent-soft)}.reports-catalog a[aria-current=page] strong{color:var(--accent-ink)}.report-download[aria-disabled=true]{opacity:.6}.report-picker{display:none}.report-view{gap:var(--sp-4);min-width:0;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:grid}.report-view-heading{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap;display:flex}.report-view-heading h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.report-view-heading p{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-base)}.report-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.report-filters{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.report-field{gap:var(--sp-1);min-width:180px;display:grid}.report-field--wide{flex:280px}.report-field>span:first-child{color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.report-chip{align-items:center;gap:var(--sp-2);min-height:32px;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-base);cursor:pointer;display:inline-flex}.report-chip span{color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.report-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.report-chip:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.report-conditions{align-items:flex-start}.report-conditions fieldset{gap:var(--sp-2);border:0;flex:100%;min-width:0;margin:0;padding:0;display:grid}.report-conditions legend{margin-bottom:var(--sp-2);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:0}.report-condition{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.report-condition__field{flex:200px}.report-condition__state{flex:0 180px}.report-condition__value{flex:200px}.report-condition__value .ui-input{width:100%}.report-condition-actions{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.report-checks{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.report-checks li{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm);display:flex}.report-checks li strong{font-variant-numeric:tabular-nums}.report-checks li[data-state=error] strong{color:var(--tone-negative)}.report-note,.report-count{color:var(--ink-3);font-size:var(--fs-sm);margin:0}.report-table-wrap{border:1px solid var(--line-soft);border-radius:var(--r-md);overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.report-table th{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:left;white-space:nowrap}.report-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line-soft);color:var(--ink-2);vertical-align:top;overflow-wrap:break-word}.report-table td:first-child{color:var(--ink);font-weight:var(--fw-medium)}.report-table tbody tr:last-child td{border-bottom:0}.report-table tbody tr:hover{background:var(--surface-2)}.report-table td small{color:var(--ink-3);font-size:var(--fs-sm);margin-top:2px;display:block}.report-table__link{white-space:nowrap;width:1%}.report-table__link a{min-height:28px;padding:0 var(--sp-2);border-radius:var(--r-sm);font-weight:var(--fw-medium);align-items:center;display:inline-flex}.report-table__link a:hover{background:var(--accent-soft)}.duplicate-groups{gap:var(--sp-3);display:grid}.duplicate-groups h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.duplicate-check h4{margin:0 0 var(--sp-2);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.duplicate-check ul{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.duplicate-check li{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.duplicate-check li>div{gap:2px;min-width:0;display:grid}.duplicate-check li strong{font-size:var(--fs-base)}.duplicate-check li span{gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.bulk-entities{gap:var(--sp-1);margin-bottom:var(--sp-4);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;display:inline-flex}.bulk-entity{min-height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--r-sm);color:var(--ink-2);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0}.bulk-entity:hover{color:var(--ink)}.bulk-entity[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}.bulk-entity:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.bulk-layout{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.bulk-step{gap:var(--sp-3);min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:grid}.bulk-step__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.bulk-step__head h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.bulk-step__head p{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-sm)}.bulk-step__actions{gap:var(--sp-1);flex-wrap:wrap;display:flex}.bulk-search-row{align-items:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.admin-search__submit{margin-right:calc(var(--sp-2) * -1);padding:0 var(--sp-2);border-radius:var(--r-xs);min-height:26px;color:var(--accent-ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0;flex:none}.admin-search__submit:hover{background:var(--accent-soft)}.admin-search__submit:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.bulk-candidates{border:1px solid var(--line-soft);border-radius:var(--r-md);max-height:520px;margin:0;padding:0;list-style:none;overflow:auto}.bulk-candidates li+li{border-top:1px solid var(--line-soft)}.bulk-row{align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);cursor:pointer;display:flex}.bulk-row:hover{background:var(--surface-2)}.bulk-row[data-selected]{background:var(--accent-soft)}.bulk-row input{flex:none;width:18px;height:18px;margin:0}.bulk-row:has(input:disabled){cursor:not-allowed;opacity:.6}.bulk-row__text{gap:2px;min-width:0;display:grid}.bulk-row__title{color:var(--ink);font-size:var(--fs-base);overflow-wrap:anywhere}.bulk-row__text small{color:var(--ink-3);font-size:var(--fs-sm);overflow-wrap:anywhere}.bulk-change{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.bulk-change .report-note{flex-basis:100%}.bulk-apply{gap:var(--sp-2);flex-wrap:wrap;display:flex}.bulk-status{margin-right:var(--sp-1)}.bulk-result{gap:var(--sp-2);display:grid}.bulk-result h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.bulk-result ul{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.bulk-result li{align-items:center;gap:var(--sp-1) var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-base);flex-wrap:wrap;display:flex}.bulk-result li small{color:var(--ink-3);font-size:var(--fs-sm);flex-basis:100%}.merge-body{gap:var(--sp-4);display:grid}.merge-choice{gap:var(--sp-2);border:0;min-width:0;margin:0;padding:0;display:grid}.merge-choice legend{margin-bottom:var(--sp-2);color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:0}.merge-option{align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;display:flex}.merge-option:hover{background:var(--surface-2)}.merge-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.merge-option input{flex:none;width:18px;height:18px;margin:0}.merge-option>span{gap:2px;min-width:0;display:grid}.merge-option strong{font-size:var(--fs-base);font-weight:var(--fw-medium);overflow-wrap:anywhere}.merge-option small{color:var(--ink-3);font-size:var(--fs-sm)}.merge-preview{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);display:grid}.merge-preview h3{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin:0}.merge-preview ul{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.merge-preview li{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-base);display:flex}.merge-preview li strong{font-variant-numeric:tabular-nums}.merge-blocker{color:var(--tone-negative);font-size:var(--fs-sm);margin:0}.dashboard-page{width:min(1240px,100%);padding:var(--sp-6) var(--sp-6) var(--sp-10);margin:0 auto}.dashboard-page>*+*{margin-top:var(--sp-6)}.dashboard-page>h1.sr-only+*{margin-top:0}.dashboard-page .section-heading{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin:0 0 var(--sp-3);display:flex}.dashboard-page .section-heading h2{color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none;margin:0}.dashboard-page .section-heading p{color:var(--ink-3);font-size:var(--fs-sm);margin:2px 0 0}.source-error{justify-items:start;gap:var(--sp-2);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:grid}.source-error h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.source-error p{color:var(--ink-2);font-size:var(--fs-base);margin:0}.metric-grid{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card{gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;text-decoration:none;display:flex}a.metric-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow)}a.metric-card:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.metric-card>span{color:var(--ink-2);font-size:var(--fs-base);font-weight:var(--fw-medium)}.metric-value-row{align-items:baseline;gap:var(--sp-2);display:flex}.metric-value-row strong{font-size:calc(var(--fs-2xl) * 1.34);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.metric-value-row em,.type-tile__delta{color:var(--tone-positive);font-size:var(--fs-sm);font-style:normal;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.metric-value-row em[data-state=negative],.type-tile__delta[data-state=negative]{color:var(--tone-negative)}.metric-value-row em[data-state=unknown],.type-tile__delta[data-state=unknown]{color:var(--ink-3)}.metric-chart{align-items:end;gap:var(--sp-1);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;height:44px;margin-top:auto;display:grid}.metric-chart>span{align-items:end;gap:var(--sp-1);grid-template-rows:1fr auto;min-width:0;height:100%;display:grid}.metric-chart i{width:100%;height:var(--bar-height,0%);border-radius:var(--r-xs) var(--r-xs) 0 0;background:color-mix(in srgb, var(--accent) 70%, var(--surface));min-height:3px;display:block}.metric-chart i.is-negative{background:color-mix(in srgb, var(--tone-negative) 70%, var(--surface))}.metric-chart i.is-empty{border:1px dashed var(--line);background:0 0;height:3px}.metric-chart small{color:var(--ink-3);font-size:var(--fs-xs);text-align:center;text-overflow:clip;white-space:nowrap;line-height:1;overflow:hidden}.dashboard-columns{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);display:grid}.dashboard-panel{min-width:0;padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.quality-list,.deadline-list,.recent-list{margin:0;padding:0;list-style:none}.quality-list li+li,.deadline-list li+li{border-top:1px solid var(--line-soft)}.quality-link,.deadline-link{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:var(--tap);margin:0 calc(var(--sp-2) * -1);padding:var(--sp-2);border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-base);text-decoration:none;display:flex}.quality-link:hover,.deadline-link:hover{background:var(--surface-2)}.quality-link:focus-visible,.deadline-link:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.quality-link strong{min-width:28px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--tone-neutral-soft);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;text-align:center;line-height:22px}.quality-link[data-problem] strong{background:var(--tone-attention-soft);color:var(--tone-attention)}.deadline-main,.deadline-date{gap:2px;min-width:0;display:grid}.deadline-main strong{font-size:var(--fs-base);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deadline-main small,.deadline-date small{color:var(--ink-3);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deadline-date{text-align:right;flex:none;justify-items:end}.deadline-date time{font-size:var(--fs-base);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.deadline-past time{color:var(--tone-negative)}.deadline-upcoming time{color:var(--tone-attention)}.dashboard-types{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.type-tile{align-items:baseline;gap:var(--sp-2);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);grid-template-columns:minmax(0,1fr) auto auto;text-decoration:none;display:grid}.type-tile:hover{border-color:var(--accent-line);background:var(--surface-2)}.type-tile:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.type-tile__label{color:var(--ink-2);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.type-tile__value{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.recent-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.recent-list a{min-height:32px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink);font-size:var(--fs-base);align-items:center;text-decoration:none;display:inline-flex}.recent-list a:hover{border-color:var(--accent-line);background:var(--accent-soft)}.recent-list a:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--focus-ring);outline:none}.empty-copy{color:var(--ink-3);font-size:var(--fs-base);margin:0}.block-error{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--tone-negative-soft);color:var(--ink);font-size:var(--fs-base);flex-wrap:wrap;display:flex}.dashboard-skeleton{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.dashboard-skeleton>span:not(.sr-only){border-radius:var(--r-md);background:var(--sunken);min-height:56px}.auth-page{min-height:100dvh;padding:var(--sp-12) var(--sp-4) var(--sp-10);background:var(--ground);color:var(--ink);place-items:center;display:grid;position:relative;overflow:auto}.auth-panel{gap:var(--sp-5);width:min(440px,100%);padding:var(--sp-8) var(--sp-8) var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-panel-accent{background:var(--accent);height:2px;position:absolute;inset:0 0 auto}.auth-brand{align-items:center;gap:var(--sp-3);display:flex}.auth-brand__mark{border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);font-size:var(--fs-lg);font-weight:var(--fw-semibold);flex:none;place-items:center;display:grid}.auth-brand__text{gap:2px;min-width:0;display:grid}.auth-brand__text strong{font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:.01em}.auth-brand__text small{color:var(--ink-3);font-size:var(--fs-sm)}.auth-panel h1{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:var(--lh-tight);margin:0}.auth-heading{gap:var(--sp-2);display:grid}.auth-heading p{color:var(--ink-2);font-size:var(--fs-base);line-height:var(--lh-base);margin:0}.auth-account{color:var(--ink-2);font-size:var(--fs-base);overflow-wrap:anywhere;margin:0}.auth-account strong{color:var(--ink)}.message{gap:var(--sp-1);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:var(--lh-base);display:grid}.message small{font-size:var(--fs-sm);font-weight:var(--fw-regular)}.message-critical{border-color:color-mix(in srgb, var(--tone-negative) 35%, transparent);background:var(--tone-negative-soft);color:var(--tone-negative)}.message-info{background:var(--surface-2);color:var(--ink-2)}.message-success{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}.fields{gap:var(--sp-4);transition:opacity var(--motion-fast) ease;flex-direction:column;display:flex}.fields-loading{opacity:.55}.field{gap:var(--sp-2);flex-direction:column;display:flex}.field-label{color:var(--ink-2);font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:var(--lh-tight)}.field>input,.password-control{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;height:48px;color:var(--ink);transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease}.field>input{padding:0 var(--sp-3);font-size:var(--fs-md);outline:none}.field>input::placeholder{color:var(--ink-3);opacity:1}.field>input:hover,.password-control:hover{border-color:var(--ink-3)}.field>input:focus,.password-control:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.field>input[aria-invalid=true],.password-control.control-error,.password-control.control-error:focus-within{border-color:var(--tone-negative);box-shadow:0 0 0 3px var(--tone-negative-soft)}.field>input:disabled{cursor:progress}.password-control:has(input:disabled){cursor:progress}.password-control{align-items:center;gap:var(--sp-1);padding:0 2px 0 var(--sp-3);display:flex}.password-control input{min-width:0;height:46px;color:var(--ink);font-size:var(--fs-md);background:0 0;border:0;outline:0;flex:1;padding:0}.password-toggle{width:var(--tap);height:var(--tap);border-radius:var(--r-sm);color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.password-toggle:hover,.password-toggle:focus-visible{background:var(--sunken);color:var(--ink)}.password-toggle:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.field-error{color:var(--tone-negative);font-size:var(--fs-sm);line-height:var(--lh-base)}.field-success{align-items:center;gap:var(--sp-2);color:var(--accent-ink);font-size:var(--fs-sm);line-height:var(--lh-base);display:inline-flex}.field-hint{color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-base)}.caps-lock{align-items:center;gap:var(--sp-2);color:var(--tone-attention);font-size:var(--fs-sm);line-height:var(--lh-base);display:inline-flex}.caps-lock>span{border-radius:var(--r-pill);background:currentColor;width:6px;height:6px}.submit-button{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent);width:100%;height:48px;color:var(--on-accent);cursor:pointer;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);transition:background-color var(--motion-fast), box-shadow var(--motion-fast), opacity var(--motion-fast);display:inline-flex}.submit-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}.submit-button:focus-visible{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--accent);outline:none}.submit-button:disabled{cursor:progress;opacity:.72}.password-fields{gap:var(--sp-4)}.password-requirements{gap:var(--sp-1) var(--sp-3);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.password-requirement{align-items:center;gap:var(--sp-2);min-width:0;color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-base);display:inline-flex}.requirement-icon{border:1px solid var(--ink-3);border-radius:var(--r-pill);flex:none;place-items:center;width:14px;height:14px;line-height:0;display:grid}.requirement-icon>svg{width:10px;height:10px;display:block}.requirement-complete{color:var(--accent-ink)}.requirement-complete .requirement-icon{border-color:var(--accent);background:var(--accent-soft)}.requirement-invalid{color:var(--tone-negative)}.requirement-invalid .requirement-icon{border-color:var(--tone-negative);background:var(--tone-negative-soft)}.auth-secondary{min-height:var(--control-h);padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--accent-ink);cursor:pointer;font:inherit;font-size:var(--fs-base);background:0 0;border:0;align-self:center}.auth-secondary:hover:not(:disabled){background:var(--accent-soft)}.auth-secondary:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.auth-secondary:disabled{cursor:progress;opacity:.6}.checking-panel{min-height:142px;color:var(--ink-2);font-size:var(--fs-base);justify-content:center;align-items:center}.spinner{border:2px solid color-mix(in srgb, var(--on-accent) 35%, transparent);border-top-color:var(--on-accent);border-radius:var(--r-pill);flex:none;width:14px;height:14px;animation:.8s linear infinite ui-spin}.checking-spinner{border-color:var(--accent-soft);border-top-color:var(--accent)}@media (height<=520px){.auth-page{align-items:start}}@media (width<=1023px){.dashboard-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.reports-layout{grid-template-columns:minmax(0,1fr)}.reports-catalog{order:2}.reports-catalog__reports{display:none!important}.reports-catalog section:first-of-type{border-top:0;padding-top:0}.report-picker{gap:var(--sp-1);display:grid}.report-picker>span{color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.bulk-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.report-view{gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md)}.report-view-heading h2{font-size:var(--fs-lg)}.report-field,.report-condition__field,.report-condition__state,.report-condition__value{flex:100%;min-width:0}.report-chip,.bulk-entity{min-height:var(--tap)}.duplicate-check li span a{min-height:var(--tap);align-items:center;display:inline-flex}.report-view .ui-button,.bulk-page .ui-button,.reports-page .ui-button,.report-view .ui-icon-button,.report-view .ui-select__control,.bulk-page .ui-select__control,.report-view .ui-input,.bulk-page .ui-input{min-height:var(--tap)}.report-view .ui-icon-button{width:var(--tap)}.report-table-wrap{border:0;border-radius:0}.report-table,.report-table tbody,.report-table tr,.report-table td{display:block}.report-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.report-table tbody tr{gap:2px var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.report-table td{grid-column:1/-1}.report-table td:first-child{grid-column:1;align-self:center}.report-table tbody tr:hover{background:0 0}.report-table td{font-size:var(--fs-base);border:0;padding:0}.report-table td:first-child{font-size:var(--fs-md)}.report-table td:not(:first-child):not(.report-table__link):before{margin-right:var(--sp-1);color:var(--ink-3);content:attr(data-label) ":"}.report-table td[data-empty]{display:none}.report-table td.report-table__link{grid-area:1/2;width:auto}.report-table__link a{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm)}.report-table__link:empty{display:none}.bulk-entities{display:flex}.bulk-entity{padding:0 var(--sp-2);flex:1 1 0}.bulk-step{padding:var(--sp-3);border-radius:var(--r-md)}.bulk-candidates{max-height:none}.bulk-search-row .admin-search{flex-basis:100%}.admin-search__submit{min-height:var(--tap);min-width:var(--tap)}.bulk-change>.ui-button,.bulk-apply>.ui-button{flex:auto}.dashboard-page{padding:var(--sp-4) var(--sp-3) var(--sp-8)}.dashboard-page>*+*,.dashboard-page .dashboard-columns,.dashboard-page .recent-panel{margin-top:var(--sp-5)}.dashboard-page .metric-grid{gap:var(--sp-2)}.dashboard-page .metric-card{gap:var(--sp-1);padding:var(--sp-3)}.dashboard-page .metric-value-row strong{font-size:var(--fs-2xl)}.dashboard-page .metric-chart{display:none}.dashboard-page .dashboard-columns{gap:var(--sp-5);grid-template-columns:minmax(0,1fr)}.dashboard-page .dashboard-panel{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md)}.dashboard-page .dashboard-types{grid-template-columns:repeat(2,minmax(0,1fr))}.type-tile{grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:0}.type-tile__label{white-space:normal;line-height:var(--lh-tight);grid-column:1/-1}.type-tile__value{grid-column:1}.dashboard-page .recent-list a{min-height:var(--tap)}.auth-page{padding-top:var(--sp-12);align-items:start}.auth-page .auth-panel{padding:var(--sp-6) var(--sp-5) var(--sp-5)}.password-requirements{grid-template-columns:minmax(0,1fr)}}
