@charset "UTF-8";:root{color-scheme:light;--ink: #17202c;--muted: #57616f;--faint: #66707e;--surface: #f3f5f7;--surface-muted: #e9edf1;--card: #ffffff;--border: #dce2e8;--border-strong: #c4ccd4;--primary: #2c4a73;--primary-ink: #ffffff;--accent: #0e7c86;--accent-ink: #ffffff;--success: #2e7d5b;--warning: #a06c14;--danger: #b23a3a;--danger-ink: #ffffff;--shadow-color: 220 30% 10%;--shadow-popover: 0 8px 24px hsl(var(--shadow-color) / .2);--text-color-blue: #1f5fa8;--text-color-teal: #0f6e66;--text-color-green: #3b6d11;--text-color-amber: #8a5a0b;--text-color-red: #a32d2d;--text-color-purple: #5b4bb7;--text-color-pink: #993556;--text-color-gray: #5f5e5a;--bg-color-blue: color-mix(in srgb, var(--text-color-blue) 16%, var(--card));--bg-color-teal: color-mix(in srgb, var(--text-color-teal) 16%, var(--card));--bg-color-green: color-mix(in srgb, var(--text-color-green) 16%, var(--card));--bg-color-amber: color-mix(in srgb, var(--text-color-amber) 16%, var(--card));--bg-color-red: color-mix(in srgb, var(--text-color-red) 16%, var(--card));--bg-color-purple: color-mix(in srgb, var(--text-color-purple) 16%, var(--card));--bg-color-pink: color-mix(in srgb, var(--text-color-pink) 16%, var(--card));--bg-color-gray: color-mix(in srgb, var(--text-color-gray) 16%, var(--card));--font-ui: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-page: 21px;--text-figure: 20px;--text-title: 15px;--text-section: 14px;--text: 13px;--text-small: 12px;--text-caps: 11px;--control-h: 32px;--control-h-sm: 26px;--check: 16px;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2357616f' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink: #e7eaee;--muted: #94a0ad;--faint: #818b98;--surface: #10151c;--surface-muted: #171d27;--card: #1a212c;--border: #2a323e;--border-strong: #3a4452;--primary: #7fa1cc;--primary-ink: #0e1520;--accent: #3fc1cb;--accent-ink: #06272a;--success: #57b98c;--warning: #d3ab52;--danger: #e07d7d;--text-color-blue: #7fb3ec;--text-color-teal: #5dcab8;--text-color-green: #97c459;--text-color-amber: #e0ae55;--text-color-red: #f09595;--text-color-purple: #aca4f0;--text-color-pink: #ed93b1;--text-color-gray: #b4b2a9;--danger-ink: #2a0e0e;--shadow-color: 220 40% 2%;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a0ad' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}:root[data-theme=dark]{color-scheme:dark;--ink: #e7eaee;--muted: #94a0ad;--faint: #818b98;--surface: #10151c;--surface-muted: #171d27;--card: #1a212c;--border: #2a323e;--border-strong: #3a4452;--primary: #7fa1cc;--primary-ink: #0e1520;--accent: #3fc1cb;--accent-ink: #06272a;--success: #57b98c;--warning: #d3ab52;--danger: #e07d7d;--text-color-blue: #7fb3ec;--text-color-teal: #5dcab8;--text-color-green: #97c459;--text-color-amber: #e0ae55;--text-color-red: #f09595;--text-color-purple: #aca4f0;--text-color-pink: #ed93b1;--text-color-gray: #b4b2a9;--danger-ink: #2a0e0e;--shadow-color: 220 40% 2%;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a0ad' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--surface);color:var(--ink);font:var(--text)/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance;font-family:var(--font-ui);margin:0}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}a{color:inherit}button,input,select,textarea{font:inherit}[hidden]{display:none!important}small{font-size:var(--text-small)}input[type=checkbox],input[type=radio]{flex:none;width:var(--check);height:var(--check);margin:0;accent-color:var(--accent)}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}svg{display:block}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.faint{font-size:var(--text-small);color:var(--faint)}@keyframes uv-spin{to{transform:rotate(360deg)}}@keyframes uv-indeterminate-slide{0%{left:-35%}to{left:100%}}.shell{display:grid;grid-template-columns:248px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"nav topbar" "nav main";height:100vh;transition:grid-template-columns .2s ease}@media(min-width:901px){.shell.is-nav-collapsed{grid-template-columns:64px 1fr}.shell.is-nav-collapsed .nav__brand{justify-content:center;padding:0 0 16px}.shell.is-nav-collapsed .nav__brand-name,.shell.is-nav-collapsed .nav__section-label,.shell.is-nav-collapsed .nav__item span,.shell.is-nav-collapsed .nav__collapse span{display:none}.shell.is-nav-collapsed .nav__item,.shell.is-nav-collapsed .nav__collapse{justify-content:center;padding-left:0;padding-right:0}.shell.is-nav-collapsed .nav__foot{padding-left:8px;padding-right:8px}.shell.is-nav-collapsed .nav__item .nav__count{display:block;position:absolute;top:3px;right:8px;min-width:16px;padding:0 4px;font-size:var(--text-caps);line-height:16px}}@media(prefers-reduced-motion:reduce){.shell{transition:none}}.shell:before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));z-index:40}.nav{grid-area:nav;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:15px 0 0;overflow-x:hidden;overflow-y:auto;position:relative;z-index:30}.nav__brand{display:flex;align-items:center;gap:10px;padding:0 16px 16px;margin-bottom:8px;border-bottom:1px solid var(--border)}.nav__brand-logo{width:34px;height:34px;flex:none;background-color:var(--ink);-webkit-mask:url(/unik-view-logo.png) center/contain no-repeat;mask:url(/unik-view-logo.png) center/contain no-repeat}.nav__brand-name{font-weight:700;font-size:14.5px;letter-spacing:-.01em;line-height:1.25;overflow-wrap:break-word;min-width:0}.nav__section-label{font-size:var(--text-caps);font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;padding:14px 16px 6px;white-space:nowrap}.nav__item{display:flex;align-items:center;gap:12px;padding:9px 16px;margin:1px 8px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:var(--text);font-weight:500;border:none;background:none;width:calc(100% - 16px);text-align:left;cursor:pointer;white-space:nowrap;position:relative}.nav__item svg{flex:none;width:18px;height:18px}.nav__item:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ink)}.nav__item.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-weight:600}.nav__item.is-active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--accent)}.nav__foot{margin-top:auto;padding:12px 16px;border-top:1px solid var(--border)}@media(max-width:900px){.nav__foot{display:none}}.nav__collapse{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:8px;background:none;color:var(--faint);font:600 var(--text-small) var(--font-ui);cursor:pointer;white-space:nowrap}.nav__collapse svg{flex:none;width:16px;height:16px}.nav__collapse:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ink)}.topbar{grid-area:topbar;display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--card)}.topbar__burger{display:none;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);border:none;background:none;color:var(--muted);cursor:pointer;border-radius:8px}.topbar__burger:hover{color:var(--ink);background:var(--surface-muted)}.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:none;height:var(--control-h);width:280px;max-width:100%;padding:0 10px;margin-left:0}.search svg{flex:none;color:var(--faint);width:16px;height:16px}.search input{border:none;background:none;outline:none;color:var(--ink);font:var(--text) var(--font-ui);width:100%}.search input::placeholder{color:var(--faint)}.topbar__right{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar__company{width:auto;max-width:240px;text-overflow:ellipsis}.lang-toggle{display:flex;height:var(--control-h-sm);border:1px solid var(--border);border-radius:8px;overflow:hidden}.lang-toggle button{border:none;background:var(--surface);color:var(--muted);font-size:var(--text-small);font-weight:700;padding:0 9px;cursor:pointer;letter-spacing:.02em}.lang-toggle button.is-active{background:var(--primary);color:var(--primary-ink)}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:var(--control-h);height:var(--control-h);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;position:relative;flex:none}.theme-toggle:hover{color:var(--ink);border-color:var(--border-strong)}.theme-toggle svg{position:absolute;width:16px;height:16px}.avatar{width:32px;height:32px;border-radius:50%;flex:none;background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-small);cursor:pointer;border:none}.user-menu{position:relative}.backdrop--transparent{display:block;position:fixed;inset:0;background:transparent;z-index:45}.menu__panel,.user-menu__panel{background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-popover);padding:6px;display:flex;flex-direction:column;gap:2px}.user-menu__panel{position:absolute;z-index:50;top:calc(100% + 8px);right:0;min-width:220px}.user-menu__email{padding:8px 10px 6px;font-size:var(--text-small);font-weight:600;color:var(--ink);word-break:break-all;border-bottom:1px solid var(--border);margin-bottom:4px}.menu__chevron{width:12px;height:12px;margin-left:2px}.menu__panel{min-width:180px;overflow-y:auto}.menu__item{display:flex;align-items:center;gap:8px;border:none;background:none;color:var(--ink);font-size:var(--text);font-weight:600;font-family:var(--font-ui);padding:8px 10px;border-radius:6px;cursor:pointer;text-align:left;white-space:nowrap;text-decoration:none}.menu__item svg{flex:none;width:14px;height:14px;color:var(--muted)}.menu__item:disabled{opacity:.5;cursor:not-allowed}.menu__item:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.menu__sep{margin:4px 0;border:none;border-top:1px solid var(--border)}.menu__note{margin:2px 0 0;padding:6px 10px 4px;max-width:300px;font-size:var(--text-small);color:var(--muted);white-space:normal}.user-menu__item{display:flex;align-items:center;gap:8px;border:none;background:none;color:var(--ink);font-size:var(--text);font-weight:500;font-family:var(--font-ui);padding:8px 10px;border-radius:6px;cursor:pointer;text-align:left;text-decoration:none}.user-menu__item svg{width:16px;height:16px;color:var(--muted)}.user-menu__item:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}.user-menu__logout{display:flex;align-items:center;gap:8px;border:none;background:none;color:var(--danger);font-size:var(--text);font-weight:600;font-family:var(--font-ui);padding:8px 10px;border-radius:6px;cursor:pointer;text-align:left}.user-menu__logout svg{width:16px;height:16px;flex:none}.user-menu__logout:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.main{grid-area:main;overflow:hidden;display:flex;flex-direction:column;padding:20px 24px}.main>router-outlet+*{flex:1;min-height:0;display:flex;flex-direction:column}.view{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.view-head{flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.view-head h1{font-size:var(--text-page);font-weight:700;margin:0 0 3px;letter-spacing:-.01em}.view-head p{margin:0;max-width:78ch;color:var(--muted);font-size:var(--text)}.view-head p .mono{color:var(--faint)}.view-head__title{display:flex;align-items:center;gap:12px}.view-head__title p app-chip{margin-left:8px}.view-head__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-btn{width:var(--control-h);height:var(--control-h);flex:none;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:hover{border-color:var(--border-strong);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.icon-btn svg.is-spinning{animation:uv-spin .6s ease}@media(prefers-reduced-motion:reduce){.icon-btn svg.is-spinning{animation:none}}.nav__count{margin-left:auto;min-width:18px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger);font-size:var(--text-caps);font-weight:700;line-height:18px;text-align:center}.btn{display:inline-flex;align-items:center;gap:7px;height:var(--control-h);border-radius:8px;padding:0 14px;font-size:var(--text);font-weight:600;line-height:1.2;cursor:pointer;border:1px solid transparent;white-space:nowrap}.btn svg{width:15px;height:15px;flex:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--accent{background:var(--accent);color:var(--accent-ink)}.btn--accent:hover:not(:disabled){filter:brightness(1.06)}.btn--ghost{background:var(--card);color:var(--ink);border-color:var(--border)}.btn--ghost:hover:not(:disabled){border-color:var(--border-strong)}.btn--ghost.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--card));border-color:var(--accent);color:var(--accent)}.btn--state{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.btn--state:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,transparent)}.btn--danger{background:var(--danger);color:var(--danger-ink)}.btn--danger:hover:not(:disabled){filter:brightness(1.06)}.btn--danger-ghost{background:var(--card);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.btn--danger-ghost:hover:not(:disabled){border-color:var(--danger)}.btn--sm{height:var(--control-h-sm);padding:0 10px;font-size:var(--text-small)}.btn--self-start{align-self:flex-start}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel--fit{flex:0 1 auto;min-height:0;display:flex;flex-direction:column}.panel--fill{flex:1;min-height:0;display:flex;flex-direction:column}.panel--fill .toolbar,.panel--fill .table-foot{flex:none}.panel--fill .table-scroll{flex:1;min-height:0;overflow-y:auto}.toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar .search{min-width:200px}.toolbar__end,.toolbar .search.toolbar__end{margin-left:auto}.history-date-filter{display:flex;align-items:center;gap:8px}.history-date-filter input{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:8px;height:var(--control-h);padding:0 8px;font-size:var(--text);font-family:var(--font-ui)}.filter-chip{display:flex;align-items:center;gap:6px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);border-radius:20px;padding:5px 6px 5px 11px;font-size:var(--text-small);font-weight:600}.filter-chip button{border:none;background:none;color:inherit;cursor:pointer;display:flex;padding:2px;border-radius:50%}.filter-chip button:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}.filter-chip button svg{width:11px;height:11px}.criteria-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 12px;padding:8px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 60%,transparent);font-size:var(--text-small)}.criteria-bar__chips{flex:1 1 360px;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:var(--control-h-sm)}.criteria-bar__actions{flex:none;margin-left:auto;display:flex;align-items:center;gap:8px;min-height:var(--control-h-sm);white-space:nowrap}.criteria-bar__saved{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-weight:600}.criteria-bar__saved svg{width:13px;height:13px}.criteria-bar .filter-chip{max-width:100%;min-width:0;padding-top:4px;padding-bottom:4px}.panel--fill .criteria-bar{flex:none}.filter-chip .filter-chip__label{display:inline-flex;align-items:center;gap:5px;min-width:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;padding:0;border-radius:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip .filter-chip__label:hover{background:none;text-decoration:underline;text-underline-offset:2px}.filter-chip .filter-chip__label svg{flex:none;width:12px;height:12px}.filter-chip__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip__prefix{margin-right:4px;font-weight:500;opacity:.8}.filter-chip--sort{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.filter-chip--sort button:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.sort-token .sort-dir{margin-left:2px;vertical-align:-1px}.sort-token__sep{margin:0 5px;opacity:.6}.sort-dir{display:inline-block;transition:transform .15s}.sort-dir.is-desc{transform:rotate(180deg)}.filter-chip .sort-dir{width:11px;height:11px}thead th.is-sorted{color:var(--ink)}thead th.is-sorted .sort-ind{gap:0;color:var(--accent)}thead th.is-sorted .sort-ind svg{width:12px;height:12px;color:var(--accent)}thead th.is-sorted .sort-ind sup{margin-left:1px;font-size:9.5px;font-weight:700;line-height:1}.save-bar{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--card));font-size:var(--text);font-weight:600}.save-bar>svg{width:16px;height:16px;color:var(--success)}.save-bar__text{flex:1 1 220px;min-width:0}.save-bar--done{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 12%,var(--card))}.count-badge{display:inline-block;min-width:18px;height:18px;margin-left:2px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:var(--text-caps);font-weight:700;line-height:18px;text-align:center}.create-blocked{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-small);color:var(--faint);cursor:help}.create-blocked svg{width:14px;height:14px}.split-btn{display:inline-flex}.split-btn__main{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn__toggle{margin-left:-1px;padding-left:8px;padding-right:8px;border-top-left-radius:0;border-bottom-left-radius:0}.split-btn__toggle svg{width:13px;height:13px}.col-num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto;min-width:0;padding-bottom:8px}.table-fit{container-type:inline-size}@container (max-width: 860px){.col-drop-1{display:none}}@container (max-width: 700px){.col-drop-2{display:none}}@container (max-width: 560px){.col-drop-3{display:none}}@container (max-width: 440px){.col-drop-4{display:none}.table-fit th,.table-fit td{padding-left:8px;padding-right:8px}.table-fit th{white-space:normal}}.table-fit .cell-shrink{white-space:normal;overflow-wrap:anywhere}.grid-loading{position:relative;flex:none;height:2px;overflow:hidden}.grid-loading>span{position:absolute;top:0;left:-35%;width:35%;height:100%;background:var(--accent);opacity:0}.grid-loading.is-active>span{opacity:1;transition:opacity .15s .15s;animation:uv-indeterminate-slide 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.grid-loading.is-active>span{left:0;width:100%;animation:none}}.table-scroll.is-loading tbody{opacity:.55;transition:opacity .15s .3s}.table-scroll,.side-panel__body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.table-scroll::-webkit-scrollbar,.side-panel__body::-webkit-scrollbar{width:8px;height:8px}.table-scroll::-webkit-scrollbar-track,.side-panel__body::-webkit-scrollbar-track{background:transparent}.table-scroll::-webkit-scrollbar-thumb,.side-panel__body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}.table-scroll::-webkit-scrollbar-thumb:hover,.side-panel__body::-webkit-scrollbar-thumb:hover{background:var(--muted)}table{width:100%;border-collapse:collapse;font-size:var(--text)}thead th{position:sticky;top:0;background:var(--card);z-index:2;text-align:left;padding:10px 14px;font-size:var(--text-caps);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}thead th span{display:flex;align-items:center;gap:4px}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th svg{width:11px;height:11px;color:var(--faint)}tbody td{padding:8px 14px;border-bottom:1px solid var(--border);white-space:nowrap;color:var(--ink);position:relative}.data-grid tbody td{max-width:320px;overflow:hidden;text-overflow:ellipsis}.data-grid tbody td.col-actions{max-width:none;overflow:visible}.data-grid tbody tr.is-editing td{max-width:none}.cell-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}tbody tr:last-child td{border-bottom:none}tbody tr[data-clickable]{cursor:pointer}.muted{color:var(--muted)}.col-frozen{position:sticky;left:0;background:var(--card);z-index:1;box-shadow:1px 0 0 var(--border)}tbody tr:hover .col-frozen{background:var(--surface-muted)}thead th.col-frozen{z-index:3}.col-actions{width:100px;min-width:100px;white-space:nowrap;padding-left:8px;padding-right:2px;text-align:center}.row-actions{line-height:0;text-align:left;white-space:nowrap}.row-actions .row-action{visibility:hidden}.row-actions>*{vertical-align:middle}.row-actions>svg{display:inline-block}.row-actions>*+*{margin-left:2px}.row-actions .row-action--visible,tr:hover .row-actions .row-action,tr.is-editing .row-actions .row-action{visibility:visible}.row-action{width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid transparent;background:none;color:var(--muted);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.row-action svg{width:14px;height:14px}.row-action:hover:not(:disabled){color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.row-action:disabled{opacity:.35;cursor:default}.row-action--save{color:var(--success)}.row-action--save:hover{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.row-action.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.row-action.is-active:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)}.row-action.is-incomplete{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.row-action.is-incomplete:hover{color:var(--warning);background:color-mix(in srgb,var(--warning) 22%,transparent)}.icon-key{width:14px;height:14px;color:var(--accent)}.icon-info-trigger{display:inline-flex;cursor:help}.required-marker{color:var(--danger);font-weight:700;margin-left:2px;cursor:help}.icon-info{width:13px;height:13px;margin-left:4px;vertical-align:-1px;color:var(--muted)}.icon-info-trigger:hover .icon-info{color:var(--accent)}.row-actions .row-delete[aria-pressed=true]{visibility:visible}.row-delete[aria-pressed=true]{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,transparent)}.row-delete[aria-pressed=true]:hover{background:color-mix(in srgb,var(--danger) 24%,transparent)}tr.is-editing td{background:color-mix(in srgb,var(--accent) 6%,var(--card))}tr.is-editing td{vertical-align:middle}tr.is-editing app-dynamic-cell-editor{display:grid;justify-items:start;align-items:center;min-height:var(--control-h-sm)}tr.is-editing app-dynamic-cell-editor .cell-input,tr.is-editing app-dynamic-cell-editor .link-picker,tr.is-editing app-dynamic-cell-editor .date-field,tr.is-editing app-dynamic-cell-editor>:not([type=checkbox]){height:var(--control-h-sm);min-height:0;box-sizing:border-box}tr.is-editing app-dynamic-cell-editor>[type=checkbox]{margin:0}td:has(.field-error-marker) .cell-input,.field:has(.field-error-marker) input,.field:has(.field-error-marker) select,.field:has(.field-error-marker) textarea,.field-row:has(.field-error-marker) .cell-input{border-color:var(--danger)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}td:has(.field-error-marker) .cell-input{padding-right:28px}.cell-field,.designer-columns__code{position:relative}tr.is-marked-delete td:not(.row-actions){opacity:.55;text-decoration:line-through;text-decoration-color:var(--danger)}tr.is-marked-delete .col-frozen{background:color-mix(in srgb,var(--danger) 7%,var(--card))}.data-grid thead th{background:var(--header-tint, var(--accent));color:var(--accent-ink)}.data-grid thead th svg,.data-grid thead th .key-badge sup,.data-grid thead th .required-marker,.data-grid thead th .readonly-badge,.data-grid thead th .sort-ind,.data-grid thead th.is-sorted .sort-ind svg{color:inherit}.data-grid thead th.is-sorted{color:var(--accent-ink)}.data-grid .col-key{background:color-mix(in srgb,var(--key-tint, var(--accent)) 6%,var(--card))}.data-grid thead th.col-key,.data-grid thead th.col-frozen:not(.col-key):not(.col-actions){background:var(--header-tint, var(--accent))}.data-grid tbody tr:hover .col-key{background:color-mix(in srgb,var(--key-tint, var(--accent)) 10%,var(--surface-muted))}.data-grid .col-key-last{box-shadow:inset -1px 0 color-mix(in srgb,var(--key-tint, var(--accent)) 35%,var(--border))}.data-grid .col-key.col-frozen:not(.col-key-last){box-shadow:none}.key-badge{display:inline-flex;align-items:center}.key-badge sup{margin-left:1px;color:var(--accent);font-size:9.5px;font-weight:700;line-height:1}.rank-pill{--rank-size: 20px;flex:none;width:var(--rank-size);height:var(--rank-size);border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);font-size:var(--text-caps);font-weight:700;line-height:var(--rank-size);text-align:center}.rank-pill--sm{--rank-size: 18px}.filter-chip--problem{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.filter-chip--problem button:hover{background:color-mix(in srgb,var(--warning) 24%,transparent)}.filter-chip--problem .filter-chip__label{cursor:default}.pending-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:middle}.cell-input{width:100%;height:var(--control-h);border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:6px;padding:0 8px;font:var(--text) var(--font-ui)}.cell-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.cell-input:disabled{border-style:dashed;background:var(--surface-muted);color:var(--muted);cursor:not-allowed}td .cell-input:not(textarea){height:var(--control-h-sm)}textarea.cell-input{height:auto;padding:6px 8px;resize:vertical}.readonly-badge{display:inline-flex;margin-left:4px;vertical-align:middle;color:var(--warning)}.readonly-badge svg{width:12px;height:12px}.repo-name-cell{display:flex;align-items:center;gap:10px}.repo-name-cell__icon{width:26px;height:26px;border-radius:7px;color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);display:flex;align-items:center;justify-content:center;flex:none}.repo-name-cell__icon svg{width:13px;height:13px}.repo-name-cell__name{font-weight:600;font-size:var(--text)}.repo-name-cell__desc{max-width:clamp(140px,min(36vw,100vw - 620px),460px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-small);color:var(--muted)}.repo-modified{white-space:nowrap}.repo-modified__by{display:block;font-size:var(--text-small)}.repo-name-cell__flag{font-weight:600}.repo-name-cell__code{font-family:var(--font-mono);font-size:var(--text-caps);color:var(--faint)}.link-button{border:none;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--faint);cursor:default}.link-button--muted{color:var(--muted)}.link-button--muted:hover:not(:disabled){color:var(--danger)}.link-button--value{color:var(--primary)}.external-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary);text-decoration:none}.external-link svg{width:13px;height:13px;flex:none;color:var(--faint)}.external-link:hover{text-decoration:underline}.external-link:hover svg{color:var(--primary)}.chev-cell{color:var(--faint)}.chev-cell svg{width:14px;height:14px}.cell-wrap{min-width:220px;max-width:560px;white-space:normal;color:var(--muted)}.person-cell{display:flex;align-items:center;gap:10px}.person-cell small{display:block;color:var(--muted)}.person-cell__avatar--app{background:var(--surface-muted);color:var(--muted)}.person-cell__avatar--app svg{width:14px;height:14px}.person-cell__avatar{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--primary) 18%,var(--card));color:var(--primary);font-size:var(--text-caps);font-weight:700}.toolbar--tabs{padding-bottom:0;align-items:flex-end}.toolbar--tabs>.search,.toolbar--tabs>.toolbar__end{margin-bottom:8px}.cell-with-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.chip{display:inline-flex;align-items:center;gap:5px;padding:2.5px 9px;border-radius:20px;font-size:var(--text-caps);font-weight:700;letter-spacing:.01em;white-space:nowrap}.chip--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip--success{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent)}.chip--warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent)}.chip--danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,transparent)}.chip--muted{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}.chip--accent{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.chip--primary{color:var(--primary);background:color-mix(in srgb,var(--primary) 15%,transparent)}.col-origin{width:1%;white-space:nowrap}.table-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border);font-size:var(--text-small);color:var(--muted);gap:10px;flex-wrap:wrap}.pager{display:flex;align-items:center;gap:4px}.pager button{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--muted);display:flex;align-items:center;justify-content:center;font:inherit;font-size:var(--text-small);cursor:pointer}.pager button:hover:not(:disabled){border-color:var(--border-strong);color:var(--ink)}.pager button:disabled{opacity:.4;cursor:not-allowed}.pager button.is-active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.pager button svg{width:13px;height:13px}.data-grid .col-frozen:not(.col-actions):not(.col-frozen-last){box-shadow:none}.data-grid .col-frozen-last:not(.col-key-last){box-shadow:1px 0 0 var(--border-strong)}.data-grid .col-frozen:not(.col-key):not(.col-actions){background:color-mix(in srgb,var(--frozen-tint, var(--primary)) 6%,var(--card))}.data-grid tbody tr:hover .col-frozen:not(.col-key):not(.col-actions){background:color-mix(in srgb,var(--frozen-tint, var(--primary)) 9%,var(--surface-muted))}.data-grid tbody tr.is-marked-delete .col-frozen:not(.col-actions){background:color-mix(in srgb,var(--danger) 7%,var(--card))}.data-grid tbody tr:hover td.has-part-bg.has-part-bg{background-image:linear-gradient(color-mix(in srgb,var(--ink) 6%,transparent),color-mix(in srgb,var(--ink) 6%,transparent))}.data-grid tbody tr.is-open td{background-image:linear-gradient(color-mix(in srgb,var(--primary) 16%,transparent),color-mix(in srgb,var(--primary) 16%,transparent))}.data-grid tbody tr.is-open td:first-child{box-shadow:inset 3px 0 0 var(--primary),1px 0 0 var(--border)}.data-grid thead th.is-draggable{cursor:grab}.data-grid thead th.cdk-drag-placeholder{opacity:.35}.data-grid thead tr.cdk-drop-list-dragging th.cdk-drag:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}.data-grid.is-column-dragging tbody td:not(.is-column-dragged){transition:transform .2s cubic-bezier(0,0,.2,1)}.data-grid tbody td.is-column-dragged{opacity:.35}.column-drag-preview{padding:6px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--card);color:var(--ink);font-size:var(--text);font-weight:600;box-shadow:var(--shadow-popover);white-space:nowrap}.columns-panel__hint{margin:12px 0;font-size:var(--text-small);color:var(--muted)}.columns-panel__head{display:flex;align-items:baseline;justify-content:space-between;margin:16px 0 6px;font-size:var(--text-small);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.columns-panel__head small{font-weight:500;text-transform:none}.columns-panel__list{display:flex;flex-direction:column;gap:4px;min-height:8px}app-columns-panel-row{display:block;border:1px solid var(--border);border-radius:8px;background:var(--card);-webkit-user-select:none;user-select:none}.columns-panel__tint{display:flex;flex-direction:column;gap:6px}.columns-panel__tints{margin-top:18px;padding-top:12px;border-top:1px solid var(--border)}.columns-panel__tints summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer}.columns-panel__tints summary::-webkit-details-marker{display:none}.columns-panel__tints summary>svg{flex:none;width:14px;height:14px;margin-left:auto;color:var(--faint)}details[open]>.columns-panel__tints summary>svg{transform:rotate(180deg)}.columns-panel__tints summary{margin-bottom:10px;color:var(--muted);font-size:var(--text-small);font-weight:600}.columns-panel__tints-body{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border-radius:10px;background:var(--surface)}.columns-panel__tint-label{font-size:var(--text-small);color:var(--muted)}.columns-panel__list--frozen app-columns-panel-row{background:color-mix(in srgb,var(--frozen-tint, var(--primary)) 6%,var(--card))}.columns-panel__row{display:flex;align-items:center;gap:8px;min-height:36px;padding:2px 6px 2px 8px;font-size:var(--text)}.columns-panel__list--key{margin-bottom:4px}app-columns-panel-row.is-locked{background:color-mix(in srgb,var(--key-tint, var(--accent)) 6%,var(--card))}app-columns-panel-row.is-locked .columns-panel__name{flex:none;max-width:55%}.columns-panel__note{flex:1;min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap}.columns-panel__lead{flex:none;width:14px;height:14px;color:var(--faint)}.columns-panel__handle{cursor:grab}.columns-panel__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.columns-panel__modes{display:block;margin:12px 0}app-columns-panel-row.cdk-drag-preview{box-shadow:var(--shadow-popover);font-family:var(--font-ui)}app-columns-panel-row.cdk-drag-placeholder{opacity:.35}.columns-panel__list.cdk-drop-list-dragging app-columns-panel-row:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}.history-grid tbody tr:has(+tr.is-continued) td{border-bottom-style:dashed}.history-grid__label{max-width:240px;font-weight:600;white-space:nowrap}.history-grid tr.is-history-deleted td:not(.col-actions){color:var(--muted)}.history-grid__event{white-space:nowrap;font-weight:600}.history-grid__event.is-danger{color:var(--danger)}.history-grid .person-cell{white-space:nowrap}.history-grid__all{display:block;margin-top:4px;font-size:var(--text-small);white-space:nowrap}.history-grid__before{display:block;margin-top:2px;color:var(--danger);font-size:var(--text-small);overflow-wrap:anywhere}.history-grid__before.muted{color:var(--muted);font-style:italic}.history-empty-action{display:flex;justify-content:center;margin-top:-4px}.agency-tenant{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.agency-tenant__label{font-weight:600}.demo-reset-progress{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-small)}.demo-reset-note{display:block;margin-bottom:14px}.client-database-note small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.client-name-cell{white-space:normal;min-width:160px}.client-name-cell .client-storage-chip{display:inline-block;margin-top:4px}.client-errors-cell{white-space:normal;min-width:100px}.client-errors{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;text-decoration:none}.client-actions{white-space:nowrap;text-align:right}.data-grid thead th.col-numeric span{justify-content:flex-end}.data-grid tbody td.col-numeric,.data-grid tbody td.col-numeric .cell-input,.data-grid tbody td.col-numeric input{text-align:right}tbody tr[data-clickable]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.audit-filters{flex:none;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.audit-filters input[type=date]{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:8px;height:var(--control-h);padding:0 10px;font-size:var(--text);font-family:var(--font-ui)}.audit-filters__toggle{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-size:var(--text-small);font-weight:500;color:var(--muted);cursor:pointer}.audit-table{width:100%;table-layout:fixed}.audit-table .audit-day th{padding:14px 14px 6px;background:none;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--text-small);font-weight:700;text-align:left;text-transform:none;letter-spacing:0}.audit-table td{vertical-align:middle}.audit-time{width:72px;white-space:nowrap;font-variant-numeric:tabular-nums}.audit-event__line{display:flex;align-items:flex-start;gap:10px}.audit-event__line>.person-cell__avatar{flex:none;margin-top:1px}.audit-event__text{min-width:0}.audit-chev{width:36px}.audit-tag{width:130px;white-space:nowrap}.audit-event__title{font-weight:500;font-size:var(--text);white-space:normal;overflow-wrap:anywhere}.audit-event__title .audit-event__who{font-weight:700}.audit-event__title.is-failed{color:var(--danger)}.audit-event__title .mono{font-weight:400;font-size:var(--text-small)}.audit-event__detail{margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-small);color:var(--muted)}.action-tag{font-size:var(--text-caps);font-weight:700;padding:2px 8px;border-radius:5px}.action-tag--create{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent)}.action-tag--update{color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,transparent)}.action-tag--delete{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.action-tag--access{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent)}.action-tag--other{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}.diff{font-family:var(--font-mono);font-size:var(--text-small);overflow-wrap:anywhere}.diff del{color:var(--danger);text-decoration:none;background:color-mix(in srgb,var(--danger) 12%,transparent);padding:1px 3px;border-radius:3px}.diff ins{color:var(--success);text-decoration:none;background:color-mix(in srgb,var(--success) 12%,transparent);padding:1px 3px;border-radius:3px;margin-left:3px}.note{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:10px;padding:11px 13px;font-size:var(--text-small);color:var(--muted)}.note svg{width:16px;height:16px;flex:none;color:var(--accent);margin-top:1px}.note b{color:var(--ink)}.note--danger{background:color-mix(in srgb,var(--danger) 8%,var(--card));border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.note--danger svg{color:var(--danger)}.callout{--callout-tone: var(--accent);display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--callout-tone) 10%,transparent);color:var(--ink);font-size:var(--text-small)}.callout>svg{flex:none;width:14px;height:14px;margin-top:2px;color:var(--callout-tone)}.callout>span,.callout>div{flex:1}.callout>.btn{flex:none;align-self:center}.callout--success{--callout-tone: var(--success)}.callout--warning{--callout-tone: var(--warning)}.callout--danger{--callout-tone: var(--danger)}.data-grid td.is-history-changed{background:color-mix(in srgb,var(--primary) 9%,var(--card));box-shadow:inset 3px 0 0 var(--primary)}.history-restore-failure{display:block;margin:12px 16px 0}.history-restore-failure ul{margin:4px 0 8px;padding-left:18px}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;margin-bottom:16px;border-radius:8px;background:color-mix(in srgb,var(--warning) 16%,var(--card));border:1px solid var(--warning);color:var(--ink);font-size:var(--text);font-weight:600}.impact{display:flex;flex-direction:column;gap:14px}.impact__intro{margin:0;color:var(--muted);font-size:var(--text-small)}.impact-group{border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden}.impact-group__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.impact-group__head h3{margin:0;font-size:var(--text);font-weight:700;color:var(--ink)}.impact-group__warning{display:flex;align-items:flex-start;gap:8px;margin:0 14px 10px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,var(--card));color:var(--danger);font-size:var(--text-small);font-weight:600}.impact-group__warning svg{flex:none;width:14px;height:14px;margin-top:1px}.impact-group.is-blocked{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.impact-group.is-danger:not(.is-blocked){border-color:color-mix(in srgb,var(--danger) 25%,var(--border))}.impact-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:var(--text-caps);font-weight:700;white-space:nowrap}.impact-status svg{width:11px;height:11px}.impact-status--ready{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.impact-status--blocked{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.impact-list{list-style:none;margin:0;padding:4px 0}.impact-item{display:flex;align-items:flex-start;gap:10px;padding:8px 14px;font-size:var(--text-small);color:var(--muted)}.impact-item+.impact-item{border-top:1px dashed var(--border)}.impact-item__icon{flex:none;width:15px;height:15px;margin-top:1px;color:var(--success)}.impact-item.is-blocked .impact-item__icon,.impact-group.is-danger .impact-item__icon{color:var(--danger)}.impact-item__body{display:flex;flex-direction:column;gap:3px;min-width:0}.impact-item__body b{color:var(--ink);font-size:var(--text)}.impact-item__reason{color:var(--danger)}.impact-changes{margin:0;padding-left:16px;color:var(--ink)}.impact-changes code{font-family:var(--font-mono);font-size:var(--text-small)}.impact-values{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px}.impact-value{padding:1px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-small)}.impact-value small{color:var(--muted)}.storage-banner{margin-bottom:16px}.side-panel-backdrop,.modal-backdrop{position:fixed;inset:0;background:hsl(var(--shadow-color)/.45);z-index:50}.modal-backdrop{align-items:center;justify-content:center;padding:20px}.modal-backdrop:not([hidden]){display:flex}.modal{background:var(--card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:420px;box-shadow:0 20px 60px hsl(var(--shadow-color)/.35);display:flex;flex-direction:column;max-height:100%}.modal--wide{max-width:960px}.modal--wide .modal__body{max-height:70vh;overflow-y:auto}.modal--full{max-width:min(1480px,96vw);height:92vh;display:flex;flex-direction:column}.modal--full .modal__head,.modal--full .modal__foot{flex:none}.modal--full .modal__body{flex:1;min-height:0;overflow-y:auto}.side-panel__head,.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.side-panel__head h2,.modal__head h2{margin:0;font-size:var(--text-title);font-weight:700}.side-panel__foot,.modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--border)}.toast__close,.side-panel__close,.modal__close{border:none;background:none;color:var(--muted);cursor:pointer;width:var(--control-h-sm);height:var(--control-h-sm);border-radius:6px;display:flex;align-items:center;justify-content:center}.toast__close:hover,.side-panel__close:hover,.modal__close:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--ink)}.toast__close svg,.side-panel__close svg,.modal__close svg{width:15px;height:15px}.modal__head{flex:none}.modal__body{padding:18px;min-height:0;overflow-y:auto}[modal-body]{display:flex;flex-direction:column;gap:14px}.modal__foot{flex:none}.import-outcome{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:10px}.import-outcome__tile{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.import-outcome__tile b{font-size:var(--text-figure);line-height:1.2;color:var(--ink)}.import-outcome__tile span{font-size:var(--text-small);font-weight:600;color:var(--ink)}.import-outcome__tile small{color:var(--muted)}.import-outcome__tile:hover:not(:disabled){border-color:var(--border-strong)}.import-outcome__tile:disabled{cursor:default;opacity:.55}.import-outcome__tile.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.import-outcome__tile.is-create b{color:var(--success)}.import-outcome__tile.is-update b{color:var(--accent)}.import-outcome__tile.is-error b{color:var(--danger)}.import-outcome__tile.is-files b{color:var(--warning)}.import-file-issues{margin:0;padding-left:16px;font-size:var(--text-small);color:var(--muted)}.import-file-issues li.is-error{color:var(--danger)}.import-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.import-toolbar__actions{display:flex;gap:6px;margin-left:auto}.import-groups{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.import-error-sections{display:grid;grid-template-columns:minmax(96px,max-content) minmax(0,1fr);gap:6px 14px;align-items:baseline;margin-bottom:12px}.import-error-sections .import-groups{margin-bottom:0}.import-error-section{display:contents}.import-error-section__title{color:var(--muted);font-size:var(--text-small);font-weight:600;overflow-wrap:anywhere}@media(max-width:600px){.import-error-sections{grid-template-columns:minmax(0,1fr);gap:4px}.import-error-section__title:not(:first-child){margin-top:6px}}.import-group{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:5px 10px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--danger) 6%,var(--card));color:var(--ink);font:var(--text-small) var(--font-ui);text-align:left;cursor:pointer}.import-group b{color:var(--danger)}.import-group.is-update{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--card))}.import-group.is-update b{color:var(--accent)}.import-group.is-active{box-shadow:0 0 0 2px currentColor;border-color:transparent}.import-muted-note{margin:0 0 10px;color:var(--muted);font-size:var(--text-small)}.import-columns-toggle{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:var(--text-small)}.import-row--new{cursor:pointer}.import-row--new.is-expanded td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.import-row-details td{padding:8px 14px 12px 44px;background:color-mix(in srgb,var(--accent) 4%,transparent);white-space:normal}.import-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px;margin:0}.import-details dt{color:var(--muted);font-size:var(--text-caps);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.import-details dd{margin:0;color:var(--ink);font-size:var(--text);overflow-wrap:anywhere}@media(max-width:560px){.import-outcome{grid-template-columns:1fr}}.import-progress{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(360px,100%)}.import-progress__bar{position:relative;display:block;width:100%;height:6px;border-radius:3px;background:var(--surface-muted);overflow:hidden}.import-progress__bar>span{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .25s ease-out}.import-progress__bar.is-indeterminate>span{position:absolute;animation:uv-indeterminate-slide 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.import-progress__bar.is-indeterminate>span{left:0;animation:none}}.import-running{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:var(--text-small);white-space:nowrap}.import-running__spinner{width:10px;height:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:uv-spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.import-running__spinner{animation:none}}.import-progress--inline{align-items:flex-start;margin-right:auto;width:min(420px,50%);font-size:var(--text-small)}.import-section__pager{display:flex;justify-content:flex-end;padding-top:8px}.import-section{border:1px solid var(--border);border-radius:10px;overflow:hidden}.import-section__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--primary) 5%,transparent);font-size:var(--text);font-weight:700}.import-section__actions{display:flex;gap:6px}tr.import-row--invalid{opacity:.7;background:color-mix(in srgb,var(--danger) 6%,transparent)}tr.import-row--conflict{background:color-mix(in srgb,var(--warning) 8%,transparent)}.import-decision{position:sticky;right:0;z-index:1;background:var(--card);box-shadow:-1px 0 0 var(--border)}.import-decision label{display:flex;align-items:center;gap:6px;white-space:nowrap}thead th.import-decision{z-index:3}tr.import-row--invalid .import-decision{background:color-mix(in srgb,var(--danger) 6%,var(--card))}tr.import-row--conflict .import-decision{background:color-mix(in srgb,var(--warning) 8%,var(--card))}tbody tr:hover .import-decision{background:var(--surface-muted)}@media(max-width:600px){.import-decision{position:static;box-shadow:none}}.import-diff-list{display:flex;flex-direction:column;gap:6px}.import-diff{display:flex;max-width:360px;flex-direction:column;gap:2px;padding:6px 8px;border-radius:6px;background:var(--card);border:1px solid var(--border);font-size:var(--text-small);line-height:1.3}.import-diff__label{font-size:var(--text-caps);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--faint)}.import-diff__values{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.import-diff__old{color:var(--muted);text-decoration:line-through}.import-diff__arrow{color:var(--faint);font-size:var(--text-caps)}.import-diff__new{font-weight:700;color:var(--ink)}.import-row-errors{min-width:240px;max-width:420px;font-size:var(--text-small);color:var(--danger);white-space:normal}.import-cell{display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}.import-cell.is-expandable{border-radius:4px;cursor:pointer}.import-cell.is-expandable:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.import-cell.is-expandable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.import-cell.is-expanded{width:max-content;max-width:420px;white-space:normal;overflow-wrap:anywhere}[modal-footer],[panel-footer]{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;width:100%}.panel-foot__secondary{display:flex;flex-wrap:wrap;gap:6px;margin-right:auto}.footer-spacer{flex:1}.import-steps{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 14px;padding:0;list-style:none;font-size:var(--text-small);color:var(--muted)}.import-steps li{display:inline-flex;align-items:center;gap:7px}.import-steps .is-current{color:var(--ink);font-weight:600}.step-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--border);font-size:var(--text-caps);font-weight:700}.is-current .step-num{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.is-done .step-num{border-color:var(--accent);color:var(--accent)}.import-rules{margin:0 0 12px;padding-left:18px;font-size:var(--text-small);color:var(--muted)}.import-rules li+li{margin-top:2px}.dropzone{display:block;width:100%;background:none;font-family:var(--font-ui);border:1.5px dashed var(--border-strong);border-radius:10px;padding:26px 16px;text-align:center;color:var(--muted);font-size:var(--text-small);cursor:pointer}.dropzone.is-dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.dropzone svg{width:22px;height:22px;color:var(--accent);margin:0 auto 8px}.dropzone b{color:var(--ink)}.dropzone--compact{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;margin-bottom:10px}.dropzone--compact svg{margin:0}.anchored-popover{max-width:calc(100vw - 24px);overflow-y:auto;padding:12px 14px 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--card);box-shadow:var(--shadow-popover);color:var(--ink);font-size:var(--text)}.anchored-popover__head{display:flex;align-items:center;gap:4px;margin-bottom:8px}.anchored-popover__head strong{flex:1;min-width:0;overflow:hidden;font-size:var(--text);text-overflow:ellipsis;white-space:nowrap}.side-panel-backdrop{display:flex;justify-content:flex-end}.side-panel{position:relative;background:var(--card);border-left:1px solid var(--border);min-width:360px;max-width:96vw;height:100vh;display:flex;flex-direction:column;box-shadow:-20px 0 60px hsl(var(--shadow-color)/.35);animation:uv-slide-in .2s ease}.side-panel__resize-handle{position:absolute;top:0;left:-4px;width:9px;height:100%;cursor:ew-resize;z-index:1;touch-action:none}.side-panel__resize-handle:hover,.side-panel__resize-handle--active{background:color-mix(in srgb,var(--primary) 25%,transparent)}@keyframes uv-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.side-panel{animation:none}}.side-panel__head{flex:none}.side-panel__body{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:18px}[panel-body]{display:flex;flex-direction:column;gap:12px}.side-panel__foot{flex:none}.side-panel__foot:empty{display:none}.fold>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer}.fold>summary::-webkit-details-marker{display:none}.fold>summary>svg{flex:none;width:14px;height:14px;margin-left:auto;color:var(--faint)}details[open]>.fold>summary>svg{transform:rotate(180deg)}.fold>summary{gap:6px;width:fit-content;color:var(--accent);font-size:var(--text);font-weight:600}.fold>summary>svg{margin-left:0;color:currentColor}.fold[open]>summary{margin-bottom:8px}.fold[open]>summary>svg{transform:rotate(180deg)}.fold__body{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border-radius:10px;background:var(--surface)}.fold__body h4,.fold__body p{margin:0}.fold__body h4{font-size:var(--text);font-weight:600}.fold__body ul{margin:0;padding-left:18px}.toast-host{position:fixed;top:72px;right:20px;z-index:60;display:flex;flex-direction:column-reverse;gap:8px}.toast{display:flex;align-items:flex-start;gap:6px;width:100%;font-family:var(--font-ui);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:6px 6px 6px 15px;font-size:var(--text);color:var(--ink);box-shadow:var(--shadow-popover);border-left:3px solid var(--accent);max-width:340px}.toast__message{flex:1;min-width:0;padding:4px 0}.toast__close{flex:none}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.criteria{display:flex;flex-direction:column;gap:22px}.criteria__section{display:flex;flex-direction:column;gap:8px}.criteria__head{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}.criteria__head h3{display:flex;align-items:center;gap:7px;margin:0;font-size:var(--text);font-weight:700}.criteria__head svg{width:15px;height:15px;color:var(--accent)}.criteria__card{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.criteria__joiner{position:absolute;top:-9px;left:12px;padding:0 6px;border-radius:6px;background:var(--card);color:var(--muted);font-size:var(--text-caps);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.criteria__line{display:flex;align-items:center;gap:6px;min-width:0}.criteria__grow{flex:1;min-width:0}.criteria__operator{flex:none;width:42%}.criteria__range{display:flex;align-items:center;gap:6px}.criteria__range>:not(span){flex:1;min-width:0}.criteria__add{align-self:flex-start}.form-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding-bottom:2px;overflow-y:auto}.form-scroll>*{flex-shrink:0}.panel--form{flex:none;padding:16px 18px 14px;display:flex;flex-direction:column;gap:14px}.panel__title{font-size:var(--text);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.record-fields{display:flex;flex-direction:column}.field-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--border)}.field-row:last-child{border-bottom:none}.field-row__label{font-size:var(--text-caps);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--faint)}.field-row__value{font-size:var(--text);font-weight:500;color:var(--ink);display:flex;flex-wrap:wrap;gap:6px}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-small);font-weight:600;color:var(--muted);position:relative}.field input:not([type=checkbox]):not([type=radio]),.field textarea{font:var(--text) var(--font-ui);padding:0 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);resize:vertical}.field input:not([type=checkbox]):not([type=radio]):focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.field input:not([type=checkbox]):not([type=radio]){height:var(--control-h)}.field textarea{padding:7px 11px}.field input.mono-input{font-family:var(--font-mono)}.field small{font-weight:400;color:var(--faint)}.field--wide{grid-column:1/-1}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:var(--text);font-weight:500;padding:6px 0}.checkbox-row.is-unavailable{color:var(--muted)}.checkbox-row:has(>input:disabled){color:var(--faint);cursor:default}.checkbox-row:has(>input:disabled)>input{opacity:.45}.checkbox-cascade{display:flex;flex-direction:column;margin-left:calc(var(--check) / 2);padding-left:calc(var(--check) / 2 + 8px);border-left:1px solid var(--border)}.type-cell{display:flex;align-items:center;gap:6px}.type-cell select{flex:none;width:200px}.mono-input{font-family:var(--font-mono)}.reorder-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.reorder-row:last-child{border-bottom:none}.reorder-row__label{font-size:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input.cell-input.num{text-align:right}.restore-title{margin:0 0 4px;font-size:var(--text);font-weight:600}.restore-intro{margin:0 0 6px;font-size:var(--text-small);color:var(--muted)}.restore-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:var(--text);cursor:pointer;border-bottom:1px solid var(--border)}.restore-item:last-child{border-bottom:none}.restore-item input{margin-top:2px}.restore-item small{display:block}.restore-item.is-disabled{cursor:default;color:var(--muted)}.column-style__label{display:block;margin:12px 0 6px;font-size:var(--text-small);font-weight:600;color:var(--muted)}.column-style__swatches{display:flex;flex-wrap:wrap;gap:8px}.column-style__swatch{width:22px;height:22px;border-radius:6px;border:1px solid var(--border-strong);cursor:pointer;padding:0}.column-style__swatch.is-selected{outline:2px solid var(--accent);outline-offset:2px}.column-style__swatch--none{display:grid;place-items:center;background:var(--card);color:var(--faint)}.column-style__swatch--none svg{width:14px;height:14px}.column-style__toggles{display:flex;gap:8px}.column-style__toggles .is-active{border-color:var(--accent);color:var(--accent)}.column-style__preview{width:100%;border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0;overflow:hidden;font-size:var(--text)}.column-style__preview th{padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-muted);color:var(--muted);font-size:var(--text-small);font-weight:600;letter-spacing:.02em;text-align:left;text-transform:uppercase}.column-style__preview td{padding:8px 10px;background:var(--card)}.column-style__preview tr+tr td{border-top:1px solid var(--border)}.column-style__parts{display:inline-flex;height:var(--control-h-sm);border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:var(--card);display:grid;grid-template-columns:1fr 1fr;margin-bottom:4px}.column-style__part{display:inline-flex;align-items:center;padding:0 11px;border:none;border-right:1px solid var(--border);background:none;color:var(--muted);font:600 var(--text-small) var(--font-ui);white-space:nowrap;cursor:pointer}.column-style__part:last-child{border-right:none}.column-style__part:hover:not(.is-active):not(:disabled){background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ink)}.column-style__part.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--accent)}.column-style__part:disabled{cursor:default;opacity:.6}.column-style__part{justify-content:center}.column-style__swatch--soft{display:grid;place-items:center;font-size:var(--text-small);font-weight:700}.column-style__swatch--default{background:color-mix(in srgb,var(--primary) 11%,var(--card))}.column-style__swatch--default.column-style__swatch--key{background:color-mix(in srgb,var(--accent) 10%,var(--card))}.column-style__swatch--default.column-style__swatch--header{background:var(--accent)}.save-bar__impact{color:var(--muted)}.save-bar__impact.is-blocked{color:var(--danger)}.save-bar__impact.is-warning{color:var(--warning)}.archived-lock,.schema-body{display:contents}.archived-banner{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--warning) 10%,var(--card));color:var(--ink);font-size:var(--text)}.archived-banner svg{flex:none;width:16px;height:16px;color:var(--warning)}.schema-tabs{flex:none;margin-bottom:14px;border-bottom:1px solid var(--border)}.schema-pane{flex:1;min-height:0;display:flex;flex-direction:column}.schema-pane__scroll{flex:1;min-height:0;overflow-y:auto}.schema-card{max-width:760px}.schema-columns{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.schema-columns>*{flex:none}.schema-columns>.schema-detail{flex:1 0 auto}.schema-columns>.save-bar{position:sticky;bottom:0;z-index:4;margin-top:0}.schema-preview{position:sticky;top:0;z-index:4}@media(max-height:640px),(max-width:700px){.schema-preview{position:static}}.schema-preview__hint{margin-left:auto;font-size:var(--text-small);color:var(--faint)}.schema-preview .data-grid th,.schema-preview .data-grid td{cursor:pointer}.schema-preview .data-grid thead th.is-draggable{cursor:grab}.schema-preview .data-grid td.is-selected-col:not(.col-frozen){position:relative}.schema-preview .data-grid .is-selected-col:after{content:"";position:absolute;inset:0;border-inline:2px solid var(--accent);pointer-events:none}.schema-preview .data-grid thead .is-selected-col:after{border-top:2px solid var(--accent)}.schema-preview .data-grid tbody tr:last-child .is-selected-col:after{border-bottom:2px solid var(--accent)}.schema-preview .data-grid .is-deleted-col{opacity:.55}.schema-preview .data-grid thead .is-deleted-col>span{text-decoration:line-through}.schema-preview__dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:1px}.schema-preview__dot.is-danger{background:var(--danger)}.schema-detail{display:flex;flex-direction:column;container-type:inline-size}.schema-inspector{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:24px;align-items:start}.schema-inspector__part{min-width:0}.schema-inspector__style{padding-left:24px;border-left:1px solid var(--border)}@container (max-width: 760px){.schema-inspector{grid-template-columns:minmax(0,1fr)}.schema-inspector__style{padding:16px 0 0;border-left:none;border-top:1px solid var(--border)}}.schema-inspector__title{margin:0 0 12px;font-size:var(--text-caps);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.schema-inspector__note{margin:0;font-size:var(--text-small);color:var(--faint)}.schema-move{display:inline-flex;align-items:center;gap:2px}.schema-move__position{min-width:48px;font-size:var(--text-small);color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.schema-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:5px;background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);font-size:var(--text-caps);font-weight:600}.schema-tag svg{width:11px;height:11px}.schema-tag--key{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.schema-detail__head{flex:none;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.schema-detail__title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.schema-detail__title h2{margin:0;font-size:var(--text-title);font-weight:700}.schema-detail__actions{display:flex;flex-wrap:wrap;gap:6px}.schema-detail__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px}.schema-info__history{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;color:var(--muted);font-size:var(--text)}.schema-info__history>svg{flex:none;width:15px;height:15px}.schema-info__history>span{flex:1 1 260px}.impact__blocked{flex:1;color:var(--danger);font-size:var(--text-small)}.designer-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--faint);font-size:var(--text-small)}.designer-name code{font-family:var(--font-mono);color:var(--muted)}.designer-columns__head{flex-wrap:wrap}.designer-columns__add{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--text-small);font-weight:500;color:var(--muted)}.designer-columns__empty{margin:0;padding:26px 18px;color:var(--faint);font-size:var(--text);text-align:center}table.designer-columns td{padding:8px 12px;vertical-align:top}table.designer-columns th{padding:9px 12px}table.designer-columns .cell-input{width:100%;min-width:180px}.designer-columns__code{margin-top:3px;font-family:var(--font-mono);font-size:var(--text-caps);color:var(--faint)}.designer-columns__type{display:flex;align-items:center;gap:6px;padding-top:6px;white-space:nowrap}.designer-columns__rules{display:flex;flex-wrap:wrap;gap:5px;padding-top:3px}.rule-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px dashed var(--border-strong);border-radius:999px;background:none;color:var(--faint);font:600 var(--text-small) var(--font-ui);cursor:pointer}.rule-toggle svg{width:11px;height:11px}.rule-toggle:hover:not(:disabled){color:var(--ink)}.rule-toggle.is-on{border-style:solid;border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.rule-toggle:disabled{opacity:.45;cursor:not-allowed}.row-form__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(200px,50% - 7px),1fr));gap:16px 14px}.row-form__field--wide{grid-column:1/-1}.row-form__field{display:flex;flex-direction:column;gap:4px}.row-form__label{font-size:var(--text-small);font-weight:700;color:var(--ink)}.row-form__hint{color:var(--muted);font-size:var(--text-small)}.row-form__control{position:relative}app-form-layout-panel{flex:1;min-height:0;display:flex;flex-direction:column}app-form-layout-panel .layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:14px}app-form-layout-panel .layout-sections,app-form-layout-panel .layout-sheet{display:flex;flex-direction:column;min-height:0}app-form-layout-panel .layout-sections__head{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-bottom:1px solid var(--border)}app-form-layout-panel .layout-sections__title{font-size:var(--text);font-weight:700;color:var(--ink)}app-form-layout-panel .layout-sections__hint{font-size:var(--text-small);color:var(--faint)}app-form-layout-panel .layout-sections__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:6px}app-form-layout-panel .layout-sections__sortable{display:flex;flex-direction:column;gap:2px}app-form-layout-panel .layout-sections__foot{flex:none;padding:9px 12px;border-top:1px solid var(--border)}app-form-layout-panel .layout-section{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:var(--text);text-align:left;cursor:pointer}app-form-layout-panel .layout-section:hover{background:color-mix(in srgb,var(--primary) 6%,var(--card))}app-form-layout-panel .layout-section.is-selected{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 11%,var(--card))}app-form-layout-panel .layout-section.is-invalid{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}app-form-layout-panel .layout-section.is-draggable{cursor:grab}app-form-layout-panel .layout-section.is-drop-target{border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--card))}app-form-layout-panel .layout-section.cdk-drag-preview{box-shadow:var(--shadow-popover)}app-form-layout-panel .layout-section.cdk-drag-placeholder{opacity:.35}app-form-layout-panel .layout-sections__sortable.cdk-drop-list-dragging .layout-section:not(.cdk-drag-placeholder){transition:transform .18s ease}app-form-layout-panel .layout-section__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}app-form-layout-panel .layout-section__tag{flex:none;padding:1px 7px;border-radius:20px;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted);font-size:var(--text-caps);font-weight:600}app-form-layout-panel .layout-section__alert{flex:none;width:14px;height:14px;color:var(--danger)}app-form-layout-panel .layout-section__count{flex:none;min-width:22px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted);font-size:var(--text-caps);font-weight:700;text-align:center}app-form-layout-panel .layout-section__grip,app-form-layout-panel .layout-field__grip{flex:none;display:inline-flex;color:var(--faint)}app-form-layout-panel .layout-section__grip svg,app-form-layout-panel .layout-field__grip svg{width:14px;height:14px}app-form-layout-panel .layout-section__grip.is-hidden,app-form-layout-panel .layout-field__grip.is-hidden{visibility:hidden}app-form-layout-panel .layout-sheet__head{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;min-height:52px;padding:9px 14px;border-bottom:1px solid var(--border)}app-form-layout-panel .layout-sheet__name{flex:1 1 200px;min-width:0;max-width:360px;font-weight:700}app-form-layout-panel .layout-sheet__general{font-size:var(--text-title);font-weight:700;color:var(--ink)}app-form-layout-panel .layout-sheet__actions{display:flex;align-items:center;gap:4px;margin-left:auto}app-form-layout-panel .layout-sheet__icon{padding-inline:6px}app-form-layout-panel .layout-sheet__error{display:block;padding:8px 16px 0;color:var(--danger);font-size:var(--text-small)}app-form-layout-panel .layout-sheet__caption{flex:none;margin:0;padding:10px 16px 0;color:var(--muted);font-size:var(--text-small)}app-form-layout-panel .layout-sheet__body{flex:1;min-height:0;overflow-y:auto;padding:16px 16px 20px}app-form-layout-panel .layout-sheet__body .row-form__fields{max-width:680px}app-form-layout-panel .layout-sheet__empty{margin:0 0 12px;padding:24px 16px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--faint);font-size:var(--text-small);text-align:center}app-form-layout-panel .layout-field{min-width:0;margin:-8px -10px;padding:8px 10px;border:1px dashed transparent;border-radius:10px;background:var(--card);cursor:grab}app-form-layout-panel .layout-field:hover{border-color:var(--border-strong)}app-form-layout-panel .layout-field.is-selected{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--card))}app-form-layout-panel .layout-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}app-form-layout-panel .layout-field.cdk-drag-placeholder{opacity:.35}app-form-layout-panel .layout-field.cdk-drag-disabled{cursor:pointer}app-form-layout-panel .layout-field.cdk-drag-disabled .layout-field__grip{display:none}app-form-layout-panel .layout-section:not(.is-draggable) .layout-section__grip{visibility:hidden}app-form-layout-panel .row-form__fields.cdk-drop-list-dragging .layout-field:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}app-form-layout-panel .layout-field__label{display:flex;align-items:center;gap:6px}app-form-layout-panel .layout-field__key{width:12px;height:12px;color:var(--accent)}app-form-layout-panel .layout-field__actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px}app-form-layout-panel .layout-field__hint{margin-left:4px;color:var(--faint);font-size:var(--text-small)}app-form-layout-panel .layout-field__width{margin-left:auto}@media(max-width:700px){app-form-layout-panel .layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(320px,1fr);overflow-y:auto}app-form-layout-panel .layout-sections__list{flex:none;max-height:220px}}.layout-section.cdk-drag-preview{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--ink);font:600 var(--text) var(--font-ui);box-shadow:var(--shadow-popover)}.layout-section.cdk-drag-preview .layout-section__name{flex:1}.layout-section.cdk-drag-preview svg{width:14px;height:14px;color:var(--faint)}.layout-section.cdk-drag-preview .layout-section__count{color:var(--muted);font-size:var(--text-caps)}.settings-scroll{flex:1;min-height:0;overflow-y:auto}.setting-list{display:flex;flex-direction:column}.setting-line{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:baseline;gap:8px 32px;padding:16px;border-bottom:1px solid var(--border)}.setting-line:last-child{border-bottom:0}@media(max-width:640px){.setting-line{grid-template-columns:minmax(0,1fr)}}.setting-line__head h2{margin:0;font-size:var(--text-section)}.setting-line__head p{margin:2px 0 0;font-size:var(--text-small);color:var(--muted)}.setting-line__value{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;min-width:0;font-size:var(--text);overflow-wrap:anywhere}.setting-line__value .mono{margin-left:6px;font-size:var(--text-small)}.setting-line__value .link-button{white-space:nowrap}.setting-line__risk{color:var(--warning);font-weight:600}.setting-line__body{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border-radius:10px;background:var(--surface);grid-column:2;font-size:var(--text)}.setting-line__body .field{width:min(100%,420px)}@media(max-width:640px){.setting-line__body{grid-column:1}}.setting-line__actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.setting-line__fields{display:flex;flex-wrap:wrap;gap:12px;min-width:0;margin:0;padding:0;border:0}.setting-line__fields legend{margin-bottom:6px;padding:0;color:var(--muted);font-size:var(--text-small);font-weight:600}.setting-line__fields .field{width:min(100%,200px)}.usage-bar{display:block;flex-basis:100%;max-width:360px;height:6px;border-radius:3px;background:var(--surface-muted);overflow:hidden}.usage-bar>span{display:block;height:100%;border-radius:3px;background:var(--accent)}.usage-bar--warning>span{background:var(--warning)}.usage-bar--danger>span{background:var(--danger)}.setting-note{margin:0 0 8px}.setting-limits{margin:0;padding-left:18px;font-size:var(--text-small)}.setting-limits li+li{margin-top:2px}.list-intro{margin:0;padding:10px 14px;border-bottom:1px solid var(--border);font-size:var(--text-small);color:var(--muted)}.view-head__title h1{display:flex;align-items:center;gap:10px}.role-tabs{border-bottom:1px solid var(--border)}.role-section{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0;flex:1 1 auto;overflow-y:auto}.role-section .table-scroll{flex:none;overflow-y:visible}.role-section h3{margin:8px 0 0;font-size:var(--text);font-weight:700}.role-section>p{margin:0}.role-defaults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:640px){.role-defaults{grid-template-columns:minmax(0,1fr)}}.default-access{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.default-access h3{margin:0}.default-access app-choice-picker{align-self:stretch}.particular-empty{margin:0}.role-filter{margin-left:auto}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border:1px solid var(--accent);border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:var(--text-small)}.col-check{width:36px;text-align:center}.level-cell{white-space:normal;min-width:300px}@container (max-width: 440px){.level-cell{min-width:0}}.level-cell small{margin-left:8px}@container (max-width: 440px){.role-levels thead{display:none}.role-levels tbody tr{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--border)}.role-levels tbody td{border-bottom:0}.role-levels td.cell-shrink{padding-bottom:2px;font-weight:600}.role-levels td.level-cell{grid-column:1/-1;grid-row:2;padding-top:4px}}tr.is-inactive>td:first-child{color:var(--muted)}tr.is-no-access>td.cell-shrink{color:var(--muted)}.role-description{margin-top:2px;max-width:90ch}.checkbox-list{display:flex;flex-direction:column;gap:2px}.checkbox-row small{display:block;font-weight:400;color:var(--muted)}.checkbox-row:has(small){align-items:flex-start}.checkbox-row:has(small) input[type=checkbox],.checkbox-row:has(small) input[type=radio]{margin-top:2px}.hint-text{margin:0;font-size:var(--text-small);color:var(--faint)}.guided-section{display:flex;flex-direction:column;gap:8px}.guided-section h3{margin:0}.guided-section--last{padding-top:12px;border-top:1px solid var(--border)}.guided-list{display:flex;flex-direction:column;gap:6px}.guided-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:var(--text);text-align:left;cursor:pointer}.guided-line>svg{align-self:center;width:14px;height:14px;margin-left:auto;color:var(--faint)}.guided-line:hover{border-color:var(--accent)}.guided-line__warning{color:var(--warning)}.perimeter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.perimeter-pick{display:block;width:320px;max-width:100%}.perimeter-search{margin-bottom:10px}.toolbar__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.users-table__wrap{white-space:normal;min-width:140px}.users-table__login{white-space:nowrap}.rule-line{display:block}.rule-line--warning{display:flex;align-items:flex-start;gap:6px;color:var(--warning);font-size:var(--text-small)}.rule-line--warning svg{flex:none;width:13px;height:13px;margin-top:2px}.backdrop{display:none;border:none;padding:0;margin:0;cursor:default}@media(max-width:900px){.shell{grid-template-columns:0 1fr}.nav{position:fixed;top:0;left:0;bottom:0;width:248px;transform:translate(-100%);transition:transform .2s ease}.nav.is-open{transform:translate(0);box-shadow:8px 0 24px hsl(var(--shadow-color)/.18)}.topbar__burger{display:flex}.backdrop.is-open{display:block;position:fixed;inset:0;background:hsl(var(--shadow-color)/.35);z-index:20}.form-grid{grid-template-columns:1fr}}@media(max-width:560px){.lang-toggle{display:none}.toolbar .search,.toolbar__filters{width:100%}}.select{width:100%;min-width:140px;border:1px solid var(--border);height:var(--control-h);border-radius:6px;background-color:var(--card);color:var(--ink);font:var(--text) var(--font-ui);padding:0 26px 0 7px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 8px center;background-size:13px 13px}.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}td .select{height:var(--control-h-sm)}.select--field{width:220px;min-width:0;border-radius:8px;background-color:var(--surface);padding:0 30px 0 11px;background-position:right 10px center}.select--field:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.select--toolbar{width:auto;min-width:0;border-radius:8px;padding:0 26px 0 10px}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}
