:root{color-scheme:light;--bg: #f5f7fa;--surface: #ffffff;--surface-muted: #f8fafc;--ink: #18212f;--muted: #697386;--line: #dce3ec;--line-strong: #c7d2df;--accent: #255ea8;--accent-soft: #e8f1fb;--success: #1f7a55;--warning: #9a6400;--danger: #a33838;--danger-soft: #fff1f1;--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:24px;border-right:1px solid var(--line);background:#fff;padding:20px 16px}.brand-block{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:42px;height:42px;border:1px solid #b8c7d8;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-size:14px;font-weight:800;letter-spacing:0;flex:0 0 auto}.brand-block strong,.brand-block span,.sidebar-foot strong,.sidebar-foot span{display:block;min-width:0;overflow-wrap:anywhere}.brand-block strong{font-size:15px}.brand-block span,.sidebar-foot span{color:var(--muted);font-size:12px}.nav-list{display:grid;align-content:start;gap:6px}.nav-item{width:100%;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#354255;display:flex;align-items:center;gap:10px;padding:11px 12px;text-align:left;font-size:14px;font-weight:650}.nav-item:hover,.nav-item.is-active{border-color:#c9d8e8;background:var(--accent-soft);color:var(--accent)}.sidebar-foot{border-top:1px solid var(--line);padding-top:16px}.sidebar-foot strong{margin-top:4px;color:var(--ink);font-size:13px}.main{min-width:0;display:grid;align-content:start;gap:18px;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.service-label{margin:0 0 6px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;color:var(--ink);font-size:26px;line-height:1.14;letter-spacing:0}h2{margin-bottom:4px;font-size:18px;line-height:1.2;letter-spacing:0}p{color:var(--muted);line-height:1.45}.topbar-actions,.quick-actions,.row-actions,.modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-chip{min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:7px 10px;display:grid;gap:2px;min-width:0;max-width:280px}.user-chip span,.user-chip strong{min-width:0;overflow-wrap:anywhere}.user-chip span{color:var(--muted);font-size:12px}.user-chip strong{font-size:13px}.button{min-height:38px;border-radius:var(--radius);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-size:14px;font-weight:700;letter-spacing:0;white-space:nowrap}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:#1e518f}.button-secondary{border-color:var(--line);background:#fff;color:#334155}.button-secondary:hover{border-color:var(--line-strong);background:var(--surface-muted)}.button-danger{border-color:#edcaca;background:#fff8f8;color:var(--danger)}.button-danger:hover{background:var(--danger-soft)}.content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:18px}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card,.panel,.notice,.loading-panel,.empty-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.metric-card{min-height:118px;padding:16px;display:grid;align-content:space-between;gap:12px}.metric-card span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.metric-card strong{font-size:30px;line-height:1}.metric-card p{margin:0;font-size:13px}.panel{min-width:0;padding:18px}.panel-wide{grid-column:1 / -1}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.panel-head p{margin-bottom:0;font-size:13px}.panel-head-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.filters{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;margin-bottom:14px}.filters-3{grid-template-columns:minmax(220px,1fr) 220px auto}.filters-4{grid-template-columns:minmax(220px,1fr) 180px 160px auto}.filters-6{grid-template-columns:160px 160px minmax(180px,1fr) minmax(180px,1fr) 150px 150px auto}.filters-registry{grid-template-columns:minmax(240px,1fr) repeat(4,minmax(140px,180px)) auto}.filter-actions{display:flex;gap:8px}.bulk-toolbar{align-items:center;background:#eef4fc;border:1px solid #c8d8eb;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px}.bulk-toolbar>strong{margin-right:auto;font-size:13px}.selection-cell{width:42px;text-align:center}.selection-cell input{accent-color:var(--accent);width:16px;height:16px}.bulk-failures{display:grid;gap:8px;max-height:300px;overflow:auto}.bulk-failures>div{border:1px solid var(--line);border-radius:var(--radius);padding:10px}.bulk-failures code,.bulk-failures p{display:block;margin:4px 0 0;overflow-wrap:anywhere}.input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:8px 10px;font-size:14px;line-height:1.4}textarea.input{min-height:86px;resize:vertical}.input:focus{border-color:#83a8d9;outline:3px solid #dceafa}.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px}.notice strong{display:block;margin-bottom:2px;font-size:14px}.notice p{margin:0;font-size:13px}.notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.notice-info{color:var(--accent);background:#f4f8fe}.notice-warning{color:var(--warning);background:#fff9ed}.notice-danger{color:var(--danger);background:var(--danger-soft)}.loading-panel,.empty-state{display:grid;place-items:center;gap:8px;min-height:180px;padding:24px;color:var(--muted);text-align:center}.loading-panel svg{animation:spin 1s linear infinite}.empty-state strong{color:var(--ink)}.empty-state p{max-width:460px;margin:0}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;min-width:980px;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top;font-size:13px}th{color:var(--muted);background:#f8fafc;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}tbody tr:hover{background:#fbfdff}td strong,td p{display:block;min-width:0;overflow-wrap:anywhere}td p{margin:4px 0 0;font-size:12px}tbody tr:last-child td{border-bottom:0}.recent-list,.role-list,.invite-list{display:grid;gap:8px}.recent-row,.role-row,.invite-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:grid;align-items:center;gap:12px;padding:12px;min-width:0}.recent-row{grid-template-columns:130px minmax(0,1fr) auto 150px}.invite-row{grid-template-columns:minmax(0,1fr) auto auto}.role-row{grid-template-columns:minmax(0,1fr) auto}.recent-row strong,.recent-row p,.invite-row strong,.invite-row p,.role-row strong,.role-row code{min-width:0;overflow-wrap:anywhere}.recent-row p,.invite-row p{margin:2px 0 0;font-size:12px}.text-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-weight:800;padding:0;text-align:left}.text-button:hover,.text-button:focus-visible{color:var(--accent);text-decoration:underline}.loading-inline{align-items:center;color:var(--muted);display:flex;gap:8px;min-height:64px}.loading-inline svg{animation:spin 1s linear infinite}.entity-code,.role-row code,.invite-url code{border-radius:6px;background:#eef3f8;color:#40536a;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;padding:4px 6px;overflow-wrap:anywhere}.recent-row time{color:var(--muted);font-size:12px}.status-pill{border:1px solid var(--line);border-radius:999px;background:#f5f7fa;color:#43536a;display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:750;white-space:nowrap}.status-pill[data-tone=success]{border-color:#bde5d5;background:#edf9f4;color:var(--success)}.status-pill[data-tone=info]{border-color:#c8dcf2;background:#f0f6fd;color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a121c6b;display:grid;place-items:center;padding:18px}.modal-card{width:min(860px,100%);max-height:min(820px,calc(100vh - 36px));overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 24px 60px #0f172a3d;padding:18px}.confirm-card{width:min(520px,100%)}.detail-card{width:min(920px,100%)}.modal-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px}.modal-head p{margin-bottom:0;font-size:13px}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);font-size:22px;line-height:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.detail-section h3{font-size:14px;margin-bottom:10px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-item{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;padding:10px}.detail-item span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.detail-item strong{display:block;min-width:0;font-size:13px;overflow-wrap:anywhere}.field{display:grid;gap:6px;min-width:0}.field-wide{grid-column:1 / -1}.field span,.check-field{color:#506176;font-size:12px;font-weight:800;letter-spacing:.04em}.check-field{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;display:flex;align-items:center;gap:8px;padding:8px 10px;text-transform:none}.invite-url{border:1px solid #c8dcf2;border-radius:var(--radius);background:#f0f6fd;display:grid;gap:8px;margin-top:12px;padding:12px}.invite-success{border:1px solid #bde5d5;border-radius:var(--radius);background:#f6fbf8;display:grid;gap:12px;padding:14px}.invite-success>div>strong,.invite-success>div>p{min-width:0;overflow-wrap:anywhere}.invite-success>div>p{margin:4px 0 0;font-size:13px}.copy-status{color:var(--success);font-size:13px;font-weight:700;margin:0}.confirm-details{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);display:grid;gap:4px;padding:12px}.confirm-details span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.confirm-details strong,.confirm-details p{min-width:0;overflow-wrap:anywhere}.confirm-details p{margin:0;font-size:13px}.modal-actions{justify-content:flex-end;margin-top:16px}.pagination-row{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px}.pagination-row>span{color:var(--muted);font-size:13px;font-weight:700}.pagination-row>div{display:flex;gap:8px;flex-wrap:wrap}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;grid-template-rows:auto auto;gap:14px}.nav-list{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}.sidebar-foot{display:none}.content-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.main{padding:14px}.topbar,.panel-head,.pagination-row{display:grid}h1{font-size:22px}.metrics-grid,.filters,.filters-3,.filters-4,.filters-6,.detail-grid,.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}table{min-width:0}thead{display:none}table,tbody,tr,td{display:block;width:100%}tbody tr{border-bottom:1px solid var(--line);padding:8px 0}td{border-bottom:0;display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 12px}td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.row-actions{align-items:start}.recent-row,.invite-row,.role-row{grid-template-columns:1fr}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
