@import "https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;600;700;800&display=swap";:root{--accent:#5ed1a2;--accent-soft:#e4fff4;--accent-deep:#247c5d;--ink:#1f1f1f;--muted:#68736f;--bg:#f2f6f4;--surface:#fff;--line:#e3ebe8;--sidebar-bg:#101114;--sidebar-ink:#e7efeb;--ok-bg:#e4fff4;--ok-ink:#247c5d;--busy-bg:#e3edff;--busy-ink:#2c5bd1;--warn-bg:#fff0d8;--warn-ink:#a45b00;--hold-bg:#ffe4cf;--hold-ink:#b04a00;--bad-bg:#ffe4e4;--bad-ink:#c82f2f;--muted-bg:#eef1f0;--muted-ink:#68736f;--radius:16px;--shadow:0 6px 18px #0d362c14;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Heebo,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);direction:ltr;min-width:720px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}h1,h2,p{margin:0}.admin-shell{direction:ltr;min-height:100vh;display:flex}.sidebar{background:radial-gradient(circle at top, #5ed1a229, transparent 42%), var(--sidebar-bg);width:232px;height:100vh;color:var(--sidebar-ink);flex-direction:column;flex:0 0 232px;align-self:flex-start;gap:22px;padding:22px 16px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:0 6px;display:flex}.brand-mark{background:var(--accent);width:38px;height:38px;color:var(--ink);border-radius:12px;place-items:center;display:grid}.sidebar-brand b{font-size:17px;display:block}.sidebar-brand small{color:#e7efeba3;font-size:12px}.sidebar-nav{gap:4px;display:grid}.nav-item{color:#e7efebc7;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;font-size:14.5px;font-weight:600;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{background:var(--accent);color:var(--ink);font-weight:800}.sidebar-foot{color:#e7efeb9e;background:#ffffff0d;border-radius:12px;align-items:flex-start;gap:8px;margin-top:auto;padding:12px;font-size:11.5px;font-weight:600;line-height:1.45;display:flex}.sidebar-foot-icon{color:var(--accent);flex:none;margin-top:1px}.content-column{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-fleet{align-items:baseline;gap:8px;display:flex}.topbar-fleet small{color:var(--muted);font-weight:600}.topbar-fleet b{font-size:15px}.topbar-actions{align-items:center;gap:8px;min-width:0;display:inline-flex}.user-pill{border:1px solid var(--line);background:var(--surface);min-width:0;max-width:260px;min-height:34px;color:var(--ink);border-radius:999px;align-items:center;padding:3px 12px;display:inline-flex}.user-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:800;overflow:hidden}.logout-button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--accent-deep);border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex}.logout-button:hover{border-color:var(--accent);background:var(--accent-soft)}.readonly-pill{border:1px solid var(--line);background:var(--muted-bg);color:var(--muted-ink);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:800;display:inline-flex}.content{flex:1;padding:24px 28px 40px}.view,.dashboard{align-content:start;gap:18px;display:grid}.view h1,.dashboard h1,.view-header h1{letter-spacing:-.3px;font-size:24px;font-weight:800}.view-header{gap:12px;display:grid}.view-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.view-lede{color:var(--muted);max-width:78ch;margin-top:-6px;font-size:13.5px}.view-empty{color:var(--muted);text-align:center;padding:40px 0}.view-empty.error,.table-empty.error{color:var(--bad-ink)}.refresh-error{color:var(--bad-ink);background:#fff5f5;border:1px solid #ffd1d1;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:700}.muted{color:var(--muted)}.sync-cluster{align-items:center;gap:8px;display:flex}.sync-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;font-weight:700;display:inline-flex}.sync-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #5ed1a233}.sync-state.is-loading .sync-dot{animation:1s ease-in-out infinite pulse-dot}.sync-state.is-error{color:var(--bad-ink)}.sync-state.is-error .sync-dot{background:var(--bad-ink);box-shadow:0 0 0 3px #c82f2f2e}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.sync-refresh{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.sync-refresh:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.health-banner{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border-inline-start-width:5px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.health-ok{border-inline-start-color:var(--accent)}.health-warn{border-inline-start-color:#e6a417}.health-bad{border-inline-start-color:var(--bad-ink)}.health-icon{border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.health-ok .health-icon{background:var(--ok-bg);color:var(--ok-ink)}.health-warn .health-icon{background:var(--warn-bg);color:var(--warn-ink)}.health-bad .health-icon{background:var(--bad-bg);color:var(--bad-ink)}.health-body{gap:4px;min-width:0;display:grid}.health-body b{font-size:16px;font-weight:800}.health-sub{color:var(--muted);font-size:13px;font-weight:600}.health-list{gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.health-item{padding-inline-start:16px;font-size:13px;font-weight:600;position:relative}.health-item:before{content:"";inset-inline-start:0;border-radius:50%;width:6px;height:6px;position:absolute;top:7px}.health-item-warn:before{background:var(--warn-ink)}.health-item-bad:before{background:var(--bad-ink)}.health-link{color:inherit;border-bottom:1px dashed;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.health-link:hover{color:var(--accent-deep);border-bottom-style:solid}.health-link svg{opacity:.6}.kpi-section{gap:10px;display:grid}.section-label{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-size:12px;font-weight:800}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.kpi-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:12px;padding:16px;transition:box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";inset-inline-start:0;background:var(--accent);opacity:.8;width:3px;position:absolute;top:0;bottom:0}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0d362c1f}.kpi-icon{background:linear-gradient(140deg, var(--accent-soft), #d3f6e8);width:42px;height:42px;color:var(--accent-deep);border-radius:13px;flex:0 0 42px;place-items:center;display:grid}.kpi-ok:before{background:var(--ok-ink)}.kpi-warn:before{background:var(--warn-ink)}.kpi-bad:before{background:var(--bad-ink)}.kpi-muted:before{background:var(--muted-ink);opacity:.6}.kpi-warn .kpi-icon{background:var(--warn-bg);color:var(--warn-ink)}.kpi-bad .kpi-icon{background:var(--bad-bg);color:var(--bad-ink)}.kpi-muted .kpi-icon{background:var(--muted-bg);color:var(--muted-ink)}.kpi-body{gap:1px;min-width:0;display:grid}.kpi-body small{color:var(--muted);font-size:12px;font-weight:700}.kpi-body b{white-space:nowrap;letter-spacing:-.2px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.kpi-sub{color:var(--muted);font-size:12px}.panel,.table-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.panel{gap:12px;padding:16px;display:grid}.panel h2{font-size:16px;font-weight:800}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.table-search{border:1px solid var(--line);max-width:340px;min-height:38px;color:var(--muted);background:#fbfdfc;border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 11px;display:flex}.table-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.table-search input::placeholder{color:#7a8882}.csv-button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--accent-deep);border-radius:12px;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex}.csv-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:9px 12px}th{color:var(--muted);background:#fbfdfc;font-size:12.5px;font-weight:800}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.th-sort{color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-weight:800;display:inline-flex}.th-sort:hover{color:var(--accent-deep)}tbody tr:hover{background:#f6fbf9}tbody tr:last-child td{border-bottom:0}tfoot td{border-top:2px solid var(--line);background:#fbfdfc;border-bottom:0;font-weight:800}.table-empty{color:var(--muted);text-align:center;padding:26px 14px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok-ink)}.badge-busy{background:var(--busy-bg);color:var(--busy-ink)}.badge-warn{background:var(--warn-bg);color:var(--warn-ink)}.badge-hold{background:var(--hold-bg);color:var(--hold-ink)}.badge-bad{background:var(--bad-bg);color:var(--bad-ink)}.badge-muted{background:var(--muted-bg);color:var(--muted-ink)}.panel h2{align-items:center;gap:8px;display:flex}.panel h2:before{content:"";background:var(--accent);border-radius:3px;width:4px;height:15px}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--accent-soft)}tbody tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.drawer-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d18146b;position:fixed;inset:0}.drawer{top:0;bottom:0;z-index:41;background:var(--surface);flex-direction:column;width:min(430px,94vw);animation:.18s ease-out drawer-in;display:flex;position:fixed;inset-inline-end:0;box-shadow:0 0 48px #00000047}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.drawer-title{gap:2px;min-width:0;display:grid}.drawer-title h2{font-size:17px;font-weight:800}.drawer-title small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.drawer-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.drawer-close{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--muted);border-radius:10px;flex:0 0 32px;place-items:center;display:grid}.drawer-close:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.drawer-body{flex:1;padding:14px 18px 22px;overflow-y:auto}.tenant-groups{gap:18px;display:grid}.tenant-group{gap:8px;display:grid}.tenant-group h3{color:var(--accent-deep);align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:800;display:flex}.tenant-group h3:before{content:"";background:var(--accent);border-radius:3px;width:4px;height:13px}.field-list{display:grid}.field-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:flex}.field-row:last-child{border-bottom:0}.field-label{color:var(--muted);flex:none;font-weight:700}.field-value{overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:600}.registry-strip{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.registry-sha{color:var(--ink);background:var(--muted-bg);border-radius:8px;padding:2px 8px;font-size:13px;font-weight:800}.registry-meta{color:var(--muted);font-weight:700}.registry-path{font-size:12px}.registry-github{align-items:center;gap:5px;margin-inline-start:auto;font-size:12.5px;font-weight:800;display:inline-flex}.registry-github.is-on{color:var(--accent-deep)}.registry-github.is-off{color:var(--warn-ink)}.registry-detail{color:var(--bad-ink);flex-basis:100%;font-size:12.5px;font-weight:700}.registry-detail.is-warn{color:var(--warn-ink)}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent-deep)}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.chip-count{background:var(--muted-bg);min-width:20px;height:20px;color:var(--muted-ink);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 5px;font-size:11.5px;font-weight:800;display:inline-grid}.chip.active .chip-count{background:var(--accent);color:#fff}tbody tr.row-dim td{opacity:.55}tbody tr.row-dim:hover td{opacity:1}.panel-title{font-size:15px;font-weight:800}.release-hero{border:1px solid var(--line);border-inline-start:5px solid var(--accent);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:14px;padding:16px 18px;display:flex}.release-hero-icon{background:linear-gradient(140deg, var(--accent-soft), #d3f6e8);width:42px;height:42px;color:var(--accent-deep);border-radius:13px;flex:0 0 42px;place-items:center;display:grid}.release-hero-body{flex:1;gap:5px;min-width:0;display:grid}.release-hero-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.release-hero-top b{font-size:15.5px;font-weight:800}.release-hero-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.code-chip{color:var(--ink);background:var(--muted-bg);border-radius:8px;padding:2px 8px;font-size:12.5px;font-weight:700;display:inline-block}.run-link{border:1px solid var(--line);width:28px;height:28px;color:var(--accent-deep);background:var(--surface);border-radius:9px;place-items:center;display:inline-grid}.run-link:hover{border-color:var(--accent);background:var(--accent-soft)}.notice-gray{border:1px solid var(--line);border-radius:var(--radius);background:var(--muted-bg);color:var(--muted-ink);gap:6px;padding:14px 16px;font-size:13.5px;font-weight:700;display:grid}.notice-detail{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px;font-weight:600}.canary-badge{margin-inline-start:6px}.login-shell{background:radial-gradient(circle at top, #5ed1a22e, transparent 34%), var(--sidebar-bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);border-radius:24px;gap:14px;width:min(380px,100%);padding:30px 28px;display:grid;box-shadow:0 28px 90px #0006}.login-logo{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-deep);border-radius:14px;place-items:center;display:grid}.login-card h1{font-size:21px;font-weight:800}.login-card p{color:var(--muted);font-size:14px;line-height:1.4}.login-field{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#fbfdfc;border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.login-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.login-note{color:var(--muted);font-size:12px}.auth-version{letter-spacing:.02em;opacity:.7;margin-top:12px;font-size:11px;display:block}.primary{background:var(--accent);color:#fff;border:0;border-radius:14px;min-height:44px;font-size:16px;font-weight:800}.login-submit{background:var(--accent);min-height:44px;color:var(--ink);border:0;border-radius:14px;padding:0 18px;font-size:15px;font-weight:900}.auth-shell-premium{z-index:100;text-align:right;background-color:var(--sidebar-bg);direction:rtl;background-image:radial-gradient(circle at 18% 14%,#5ed1a242,#0000 30%),radial-gradient(circle at 86% 78%,#5ed1a21f,#0000 34%);grid-template-columns:minmax(480px,660px) 420px;justify-content:center;align-items:center;gap:28px;width:100vw;min-height:100vh;padding:48px;display:grid;position:fixed;inset:0;overflow:auto}.auth-rtl-root{direction:rtl}.auth-local-shell{text-align:right;direction:rtl}.auth-hero-panel{min-height:min(620px,100vh - 96px);color:var(--sidebar-ink);background:linear-gradient(160deg,#ffffff1f,#ffffff0a);border:1px solid #ffffff1f;border-radius:34px;flex-direction:column;justify-content:space-between;gap:34px;padding:44px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000061}.auth-login-card{gap:16px;width:420px;max-width:100%;padding:34px 32px}.auth-brand-row{align-items:center;gap:12px;display:flex}.auth-brand-row b,.auth-brand-row small{display:block}.auth-brand-row b{font-size:20px}.auth-brand-row small{color:#e7efeba3}.auth-brand-mark{background:var(--accent);width:48px;height:48px;color:var(--ink);border-radius:15px;place-items:center;display:grid}.auth-hero-copy{gap:13px;max-width:560px;display:grid}.auth-hero-copy h1{letter-spacing:-1px;font-size:39px;line-height:1.08}.auth-hero-copy p{color:#e7efebc2;font-size:16px;line-height:1.55}.auth-kicker{letter-spacing:1px;text-transform:uppercase;font-weight:900;color:var(--accent-deep)!important;font-size:12px!important}.auth-hero-panel .auth-kicker{color:var(--accent)!important}.auth-proof-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.auth-proof-grid span{text-align:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:13px;padding:12px;font-size:12px;font-weight:800}.auth-status-icon.error,.auth-error-copy{background:var(--bad-bg);color:var(--bad-ink)}.auth-error-copy,.auth-success-copy{border-radius:12px;padding:10px 12px;font-weight:700}.auth-success-copy{background:var(--accent-soft);color:var(--accent-deep)}.auth-social-button{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);border-inline-start:4px solid #4285f4;border-radius:13px;font-weight:900;box-shadow:0 4px 12px #0d362c0f}.auth-social-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);border-inline-start-color:#4285f4}.auth-social-grid{gap:9px;display:grid}.auth-divider{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-link-notice{border:1px solid var(--line);background:var(--muted-bg);color:var(--muted-ink);border-radius:12px;gap:5px;padding:11px 12px;font-size:12px;display:grid}.auth-login-form{gap:12px;display:grid}.auth-stacked-field{gap:5px;min-height:auto;padding:9px 12px;display:grid}.auth-stacked-field span{font-size:12px;font-weight:800}.auth-primary-action{min-height:50px;box-shadow:0 12px 24px #5ed1a242}.auth-text-button{color:var(--accent-deep);background:0 0;border:0;font-weight:900;text-decoration:underline}.auth-totp-qr{background:#fff;border:1px solid #b8decf;border-radius:13px;place-items:center;padding:14px;display:grid}.auth-totp-secret{background:var(--accent-soft);overflow-wrap:anywhere;border-radius:12px;gap:6px;padding:12px;display:grid}.auth-login-card code{overflow-wrap:anywhere;font-size:12px}.auth-profile-email{background:var(--muted-bg);text-align:left;border-radius:10px;padding:8px 10px;font-weight:700;color:var(--ink)!important}.auth-security-status{border:1px solid var(--line);background:#fbfdfc;border-radius:12px;gap:3px;padding:12px;display:grid}.auth-security-status span{color:var(--muted);font-size:13px}.auth-danger-action{background:var(--bad-bg);min-height:44px;color:var(--bad-ink);border:1px solid #f3c9c9;border-radius:13px;padding:0 14px;font-weight:900}.auth-danger-action:hover:not(:disabled){border-color:var(--bad-ink)}.auth-remove-confirm{background:#fff8f8;border:1px solid #f3c9c9;border-radius:13px;gap:10px;padding:13px;display:grid}.auth-profile-actions{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:12px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:800;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.btn-secondary{color:var(--accent-deep)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn-danger{background:var(--bad-bg);color:var(--bad-ink);border-color:#f3c9c9}.btn-danger:hover:not(:disabled){border-color:var(--bad-ink)}.btn-sm{min-height:30px;padding:0 10px;font-size:12.5px}.view-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-link{color:var(--accent-deep);text-transform:none;letter-spacing:0;border-bottom:1px dashed;margin-inline-start:10px;font-size:11.5px;font-weight:800;text-decoration:none}.section-link:hover{border-bottom-style:solid}.field-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 12px;display:grid}.field{align-content:start;gap:4px;min-width:0;display:grid}.field-caption{color:var(--muted);font-size:12px;font-weight:800}.field-required{color:var(--bad-ink);margin-inline-start:3px}.field-input,.field-select{border:1px solid var(--line);width:100%;min-width:0;min-height:36px;color:var(--ink);background:#fbfdfc;border-radius:11px;outline:0;padding:0 11px;font-size:13.5px}.field-input:focus,.field-select:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px #5ed1a22e}.field-input:disabled,.field-select:disabled{color:var(--muted);cursor:not-allowed}.field-input.is-invalid,.field-select.is-invalid{border-color:var(--bad-ink);background:#fff8f8}.field-hint{color:var(--muted);font-size:11.5px;line-height:1.35}.field-error{color:var(--bad-ink);font-size:11.5px;font-weight:700;line-height:1.35}.field-check{align-items:center;gap:8px;min-height:36px;font-size:13.5px;font-weight:600;display:inline-flex}.field-check input{width:16px;height:16px;accent-color:var(--accent-deep)}.check-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.drawer-form{flex-direction:column;flex:1;min-height:0;display:flex}.drawer-footer{border-top:1px solid var(--line);background:#fbfdfc;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}.form-error{color:var(--bad-ink);background:#fff5f5;border:1px solid #ffd1d1;border-radius:12px;margin-bottom:12px;padding:9px 12px;font-size:12.5px;font-weight:700}.form-note{color:var(--muted);margin-bottom:12px;font-size:12.5px;font-weight:600}.form-note.is-blocked{color:var(--warn-ink);margin-top:14px;margin-bottom:0;font-weight:700}.confirm-scrim{z-index:50;place-items:center;padding:20px;display:grid}.confirm-card{z-index:51;background:var(--surface);border-radius:20px;gap:12px;width:min(440px,100%);padding:20px 22px;display:grid;position:relative;box-shadow:0 28px 90px #00000052}.confirm-title{font-size:17px;font-weight:800}.confirm-body{color:var(--ink);gap:8px;font-size:13.5px;line-height:1.45;display:grid}.confirm-note{color:var(--muted);font-size:12.5px}.confirm-warn{background:var(--warn-bg);color:var(--warn-ink);border:1px solid #ffd9a8;border-radius:12px;padding:8px 11px;font-size:12.5px;font-weight:700}.confirm-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.toast-host{z-index:60;pointer-events:none;justify-items:end;gap:8px;display:grid;position:fixed;inset-block-end:20px;inset-inline-end:20px}.toast{border:1px solid var(--line);background:var(--surface);pointer-events:auto;border-radius:14px;align-items:center;gap:9px;max-width:min(460px,90vw);padding:11px 12px;font-size:13px;font-weight:700;animation:.16s ease-out toast-in;display:flex;box-shadow:0 12px 34px #0d362c2e}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-ok{border-inline-start:4px solid var(--ok-ink);color:var(--ink)}.toast-ok svg{color:var(--ok-ink)}.toast-warn{border-inline-start:4px solid var(--warn-ink);color:var(--ink)}.toast-warn svg{color:var(--warn-ink)}.toast-bad{border-inline-start:4px solid var(--bad-ink);color:var(--ink)}.toast-bad svg{color:var(--bad-ink)}.toast-message{flex:1;min-width:0}.toast-close{width:24px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:0 0 24px;place-items:center;display:grid}.toast-close:hover{background:var(--muted-bg);color:var(--ink)}.tier-pill{border:1px solid var(--line);background:var(--muted-bg);color:var(--muted-ink);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:800;display:inline-flex}.tier-pill.is-write{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.tier-email{color:var(--muted);border-inline-start:1px solid;padding-inline-start:6px;font-weight:600}.tier-pill.is-write .tier-email{color:var(--accent-deep)}.nav-badge{background:var(--warn-bg);min-width:20px;height:20px;color:var(--warn-ink);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;margin-inline-start:auto;padding:0 6px;font-size:11.5px;font-weight:800;display:inline-grid}.stack-cell{gap:1px;display:inline-grid}.stack-cell small{font-size:11.5px}.row-actions{align-items:center;gap:6px;display:inline-flex}.row-actions .btn{min-height:28px;padding:0 10px;font-size:12px}.role-badge+.role-badge{margin-inline-start:4px}.pager{justify-content:center;align-items:center;gap:12px;font-size:12.5px;font-weight:700;display:flex}.json-block{border:1px solid var(--line);max-height:320px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;background:#fbfdfc;border-radius:12px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.registry-strip{align-items:start;gap:10px;display:grid}.registry-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.registry-export{margin-inline-start:auto}
