:root{color-scheme:light;--bg: #f6f8fb;--panel: #ffffff;--text: #172033;--muted: #64748b;--border: #e2e8f0;--border-strong: #cbd5e1;--primary: #2563eb;--primary-strong: #1d4ed8;--danger: #dc2626;--danger-bg: #fef2f2;--ok: #059669}*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;min-width:0;background:radial-gradient(circle at top left,#eef6ff 0,transparent 34rem),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app-shell{max-width:1440px;margin:0 auto;padding:2rem}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.eyebrow{margin:0 0 .25rem;color:var(--primary);font-weight:500;letter-spacing:.11em;text-transform:uppercase;font-size:.75rem}h1{margin:0;font-size:2.35rem;letter-spacing:-.04em}.title-row{display:flex;align-items:center;gap:.65rem}.health-dot{position:relative;display:inline-flex;width:.72rem;height:.72rem;padding:0;border:0;border-radius:999px;outline:none;cursor:help;box-shadow:0 0 0 4px #64748b1f}.health-dot.ok{background:var(--ok);box-shadow:0 0 0 4px #05966921}.health-dot.bad{background:var(--danger);box-shadow:0 0 0 4px #dc262621}.health-tooltip{position:absolute;left:50%;top:calc(100% + .65rem);z-index:25;min-width:11rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.75rem;background:#0f172a;color:#fff;font-size:.8rem;font-weight:500;line-height:1.45;box-shadow:0 18px 42px #0f172a3d;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity .14s ease}.health-dot:hover .health-tooltip,.health-dot:focus .health-tooltip{opacity:1}h2{margin:0;font-size:1.05rem}.button-row,.filter-row,.pager,.topbar-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.topbar-actions{justify-content:flex-end;position:relative}.banner{border-radius:.9rem;padding:.8rem .85rem .8rem 1rem;margin:0 0 1rem;font-weight:500;display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.banner.notice{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.banner.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.banner-close{border:0;background:transparent;color:currentColor;width:1.65rem;height:1.65rem;border-radius:999px;font-size:1.15rem;font-weight:500;line-height:1;cursor:pointer;padding:0 0 .1rem;flex:0 0 auto}.banner-close:hover{background:#0f172a14}.enterprise-id-copy-button{flex:0 0 auto;padding:.38rem .68rem;font-size:.82rem;line-height:1.2;align-self:center}.content-layout{display:grid;gap:1rem;align-items:start}.content-layout>*{min-width:0}.tab-nav{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.tab-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);background:#fff;color:var(--text);border-radius:999px;padding:.62rem 1rem;font-weight:500;cursor:pointer;text-decoration:none}.tab-button.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 12px 28px #2563eb38}.tab-button:hover:not(.active){border-color:var(--primary);color:var(--primary-strong)}.panel{min-width:0;background:#ffffffed;border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 18px 40px #0f172a12;padding:1.1rem}.wide-panel{width:100%}.registry-subsection{margin-top:1rem}.selected-row{background:#2563eb0f}.tenant-usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem}.tenant-usage-card{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:.9rem;display:grid;gap:.4rem}.usage-progress{width:100%;height:.7rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.usage-progress-bar{height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px}.usage-progress-bar.danger{background:linear-gradient(90deg,#dc2626,#f97316)}.usage-progress-sm{height:.45rem;margin-top:.35rem}.status-stack{display:flex;flex-wrap:wrap;gap:.35rem}.status-pill{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#dbeafe;color:#1d4ed8}.status-pill.ok-pill{background:#dcfce7;color:#166534}.status-pill.danger-pill{background:#fee2e2;color:#991b1b}.status-pill.muted-pill{background:#e2e8f0;color:#475569}.usage-cell{min-width:7rem}.status-help-text{margin:.35rem 0 0;font-size:.78rem;line-height:1.35}.th-with-help{display:inline-flex;align-items:center;gap:.35rem}.hover-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;border:0;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.72rem;font-weight:700;cursor:help}.hover-help-tooltip{position:absolute;left:50%;top:calc(100% + .45rem);transform:translate(-50%);min-width:15rem;max-width:18rem;padding:.55rem .65rem;border-radius:.7rem;background:#0f172a;color:#fff;font-size:.77rem;font-weight:500;line-height:1.4;box-shadow:0 14px 30px #0f172a3d;opacity:0;pointer-events:none;z-index:20}.hover-help:hover .hover-help-tooltip,.hover-help:focus .hover-help-tooltip{opacity:1}.account-menu{position:relative}.account-button{border:1px solid var(--border-strong);background:#fff;color:var(--text);border-radius:999px;padding:.5rem .75rem;display:inline-flex;align-items:center;gap:.45rem;font-weight:500;cursor:pointer}.account-popover{position:absolute;right:0;top:calc(100% + .6rem);z-index:20;width:min(23rem,calc(100vw - 2rem));background:#fff;border:1px solid var(--border);border-radius:1rem;box-shadow:0 18px 46px #0f172a29;padding:1rem}.login-panel{max-width:420px;margin:5rem auto}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.panel-header.align-end{justify-content:flex-end}.section-heading{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem}.section-heading svg{color:var(--primary)}.summary{color:var(--muted);font-size:.9rem}.account-lines{display:grid;gap:.35rem;color:var(--muted);margin-bottom:1rem}.account-lines strong{color:var(--text);font-size:1.1rem}.form-stack{display:grid;gap:.8rem}.section-filters{margin-bottom:1rem}.registry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.registry-view-toggle{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.registry-toolbar input{flex:1 1 22rem;min-width:18rem}.form-stack.compact{align-content:start}label{display:grid;gap:.35rem;color:var(--muted);font-weight:500;font-size:.85rem}input,select,textarea{border:1px solid var(--border-strong);border-radius:.75rem;padding:.58rem .7rem;background:#fff;color:var(--text);outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb21}.inline-input,.inline-select{width:100%;max-width:13rem;padding:.42rem .55rem;border-radius:.6rem}.button{border:0;border-radius:.75rem;padding:.56rem .82rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:500;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--primary);color:#fff}.button.primary:hover:not(:disabled){background:var(--primary-strong)}.button.secondary{background:#fff;color:var(--text);border:1px solid var(--border-strong)}.button.tiny{margin-top:.45rem;padding:.32rem .5rem;border-radius:.55rem;font-size:.78rem;background:#eff6ff;color:var(--primary-strong)}.button.danger{background:var(--danger-bg);color:var(--danger)}.page-button{min-width:2.1rem;height:2.1rem;border:1px solid var(--border-strong);border-radius:.65rem;background:#fff;color:var(--muted);font-weight:500}.page-button.active{background:var(--primary);border-color:var(--primary);color:#fff}.table-shell{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:1rem;background:#fff}.table-shell.no-scroll{overflow:visible}.table-scroll-x{max-width:100%;overflow-x:auto}.table-shell.slim{min-height:15rem}table{width:100%;min-width:980px;border-collapse:collapse}th,td{text-align:left;padding:.78rem .8rem;border-bottom:1px solid #eef2f7;vertical-align:top;font-size:.9rem}thead th{background:#f8fafc;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500}tbody tr:hover{background:#2563eb08}tbody tr:last-child td{border-bottom:0}.link-button{border:0;background:transparent;padding:0;color:var(--primary-strong);font-weight:500;cursor:pointer;text-align:left}.row-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.row-actions .button.tiny{margin-top:0}.link-button:hover{text-decoration:underline}.mono-link{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.muted{color:var(--muted);margin:.22rem 0 0;font-size:.8rem;line-height:1.35}.clamp{max-width:30rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-cell,.empty-state{color:var(--muted);text-align:center;padding:1rem}.empty-state{border:1px dashed var(--border-strong);border-radius:.9rem;background:#f8fafc;text-align:left}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.85rem;color:var(--muted);font-size:.9rem}.header-select{min-width:8.5rem;padding:.35rem .5rem;border-radius:.55rem;font-size:.78rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--muted);background:#fff}.versions-table-shell{max-width:100%}.versions-table{min-width:0;table-layout:auto}.versions-table th,.versions-table td{text-align:center;vertical-align:middle}.versions-table .version-col,.versions-table th:first-child,.versions-table td:first-child{width:clamp(7rem,18vw,11rem);white-space:nowrap}.versions-table th:last-child,.versions-table td:last-child{width:7rem}.info-box{border:1px solid var(--border);border-radius:.8rem;background:#f8fafc;padding:.7rem;color:var(--muted);line-height:1.45}.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:2rem;background:#0f172a6b}.modal-panel{width:min(920px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 28px 80px #0f172a4d;padding:1.1rem}.modal-panel-sm{width:min(560px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.icon-button{width:2rem;height:2rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 0 .12rem;flex:0 0 auto}.icon-button:hover{color:var(--text);background:#f1f5f9}.modal-form{max-width:560px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}@media(max-width:1100px){body{min-width:0}.app-shell{padding:1rem}.content-layout{grid-template-columns:1fr}.wide-panel{width:100%}}.access-config-form{display:grid;gap:1rem;max-width:1180px}.access-config-group{display:grid;gap:.6rem}.access-config-group-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.access-config-group h3{margin:0;font-size:1rem;font-weight:500}.access-config-divider{height:1px;background:var(--border);margin:.1rem 0}.access-config-row{display:grid;grid-template-columns:minmax(180px,220px) 1fr;align-items:start;gap:.85rem 1rem;padding:.65rem 0;border-bottom:1px solid #eef2f7}.access-config-row:last-child{border-bottom:0}.access-config-label-wrap{display:grid;gap:.25rem}.access-config-label{color:var(--text);font-weight:500;font-size:.92rem}.access-config-hint{color:var(--muted);font-size:.78rem;line-height:1.35}.bubble-list{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-height:2.35rem;list-style:none;padding:0;margin:0}.user-bubble{display:inline-flex;align-items:center;gap:.42rem;max-width:100%;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1e40af;padding:.36rem .45rem .36rem .72rem;font-weight:500;font-size:.86rem}.user-bubble button{width:1.25rem;height:1.25rem;border:0;border-radius:999px;background:#2563eb1f;color:#1e40af;font-size:1rem;font-weight:500;line-height:1;cursor:pointer;padding:0 0 .08rem}.user-bubble button:hover:not(:disabled){background:#2563eb38}.user-bubble button:disabled{cursor:not-allowed;opacity:.55}.bubble-empty{color:var(--muted);font-size:.86rem}.bubble-add-form{display:inline-flex;align-items:center;gap:.4rem;min-width:min(20rem,100%)}.bubble-add-inline{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.bubble-add-inline input{min-width:10rem;max-width:14rem;padding:.42rem .58rem;border-radius:999px}.bubble-add-toggle,.bubble-add-confirm{border:0;border-radius:999px;background:var(--primary);color:#fff;font-weight:500;padding:.44rem .74rem;cursor:pointer}.bubble-add-confirm{width:2rem;height:2rem;padding:0;font-size:1rem;line-height:1}.bubble-add-toggle:disabled,.bubble-add-confirm:disabled{cursor:not-allowed;opacity:.5}.access-config-checkbox-row{align-items:center}.access-config-checkbox-control{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted);font-weight:500}.access-config-checkbox-control input{width:1.05rem;height:1.05rem}.access-matrix-form{max-width:1180px}.access-control-panel,.access-matrix-panel{border:1px solid var(--border);border-radius:1rem;background:#fff;padding:.95rem}.access-control-panel .access-config-row{border-bottom:0;padding-bottom:0}.access-matrix-heading{align-items:flex-start}.access-matrix-count{color:var(--muted);font-size:.84rem;font-weight:500;white-space:nowrap}.access-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.35rem}.access-search{min-width:min(20rem,100%);flex:1 1 18rem}.access-add-form{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex:2 1 28rem;flex-wrap:wrap}.access-add-form input{min-width:12rem;flex:1 1 12rem}.access-add-form select{min-width:9rem}.access-table-shell{margin-top:.2rem}.access-table{width:100%;min-width:0;table-layout:fixed}.access-table th,.access-table td{vertical-align:middle;padding:.62rem .72rem}.access-table th:first-child,.access-table td:first-child{width:24%}.access-table th:nth-child(2),.access-table td:nth-child(2),.access-table th:nth-child(3),.access-table td:nth-child(3),.access-table th:nth-child(4),.access-table td:nth-child(4),.access-table th:nth-child(5),.access-table td:nth-child(5){width:10%;text-align:center}.access-table th:nth-child(6),.access-table td:nth-child(6){width:26%}.access-table th:last-child,.access-table td:last-child{width:10%;text-align:right}.access-username{font-weight:500;word-break:break-word}.access-user-hovercard{position:relative;display:inline-flex;align-items:center;outline:none}.access-user-name{text-decoration:underline dotted;text-underline-offset:.18rem;cursor:help}.access-user-card{position:absolute;left:0;top:calc(100% + .45rem);z-index:25;min-width:15rem;max-width:22rem;display:none;gap:.24rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:.85rem;background:#0f172a;color:#fff;box-shadow:0 18px 42px #0f172a47;opacity:0;pointer-events:none;transform:translateY(-.15rem);transition:opacity .14s ease,transform .14s ease}.access-user-card strong{font-size:.92rem}.access-user-card span{font-size:.78rem;line-height:1.35;word-break:break-word}.access-user-hovercard:hover .access-user-card,.access-user-hovercard:focus-within .access-user-card,.access-user-hovercard:focus .access-user-card{display:grid;opacity:1;transform:translateY(0)}.access-role-checkbox{width:1.05rem;height:1.05rem;cursor:pointer}.access-role-checkbox:disabled{cursor:not-allowed}.access-notes{display:flex;align-items:flex-start;gap:.35rem;flex-wrap:wrap}.access-warning{display:inline-flex;align-items:center;border-radius:999px;background:#fff7ed;color:#9a3412;padding:.24rem .52rem;font-size:.76rem;font-weight:500;line-height:1.35}.access-row-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.access-row-actions .button{white-space:nowrap}.access-row-actions .button.tiny{margin-top:0}.access-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.share-modal-body{display:grid;gap:1rem}.share-add-row{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.share-add-row label{flex:1 1 16rem}.share-table-shell{max-height:17rem}.share-table{min-width:0;table-layout:auto}.share-table th,.share-table td{padding:.62rem .7rem;vertical-align:middle}.share-table th:first-child,.share-table td:first-child{width:42%}.share-table th:nth-child(2),.share-table td:nth-child(2){width:34%}.share-table th:last-child,.share-table td:last-child{width:24%;text-align:right}.share-table .button.tiny{margin-top:0}.share-table td.share-empty-cell{width:auto;text-align:center;vertical-align:middle;padding:1.2rem .7rem}@media(max-width:760px){.access-config-row{grid-template-columns:1fr}}.two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.modal-form textarea{min-height:120px;resize:vertical}.checkbox-line{align-items:center;flex-direction:row;gap:10px}.stack-block{display:flex;flex-direction:column;gap:10px}.inline-list-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-list-row input{min-width:180px}.mini-table{max-height:260px;overflow:auto}.button.danger{color:#b42318;border:1px solid #fca5a5;background:#fff}.button.danger:hover:not(:disabled){background:#fef2f2}.invite-accept-panel{max-width:520px}.invite-success-panel{text-align:center}.invite-success-copy{display:grid;gap:.55rem;color:var(--muted);line-height:1.5}.invite-success-copy p{margin:0}.invite-preview-card,.invite-result{border:1px solid var(--border);border-radius:.9rem;background:#f8fafc;padding:.85rem}.invite-preview-card{display:grid;gap:.25rem;color:var(--muted)}.invite-preview-card strong{color:var(--text)}.compact-empty{padding:.75rem;margin:.8rem 0}.form-hint-text{margin:-.15rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.4}.readonly-field-group{display:grid;gap:.35rem}.field-label{color:var(--muted);font-weight:500;font-size:.85rem}.readonly-field{padding:.58rem .7rem;color:var(--text);background:transparent;font-size:.85rem;font-weight:500;line-height:normal}.form-error-text{margin:-.25rem 0 0;color:#b42318;font-size:.9rem}.invite-panel{display:grid;gap:1rem}.invite-section{border:1px solid var(--border);border-radius:1rem;background:#fff;padding:1rem;display:grid;gap:.95rem}.invite-section h3{margin:0;font-size:1rem;font-weight:600}.invite-form{display:grid;gap:.95rem}.form-grid.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.invite-roles{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.inline-checkbox{display:inline-flex;align-items:center;grid-template-columns:none;gap:.4rem;font-size:.85rem}.inline-checkbox input{width:auto}.invite-result{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.invite-result p,.invite-result-link,.invite-result-error{margin:.35rem 0;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;color:var(--text)}.invite-result-error{color:#b42318}.invite-result span{color:var(--muted);font-size:.82rem}.invite-import-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.invite-import-summary{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;color:var(--muted);font-size:.84rem}.invite-import-errors{border:1px solid #fecaca;border-radius:.9rem;background:#fef2f2;padding:.8rem .9rem;color:#991b1b}.invite-import-errors strong{display:block;margin-bottom:.35rem}.invite-import-errors ul{margin:0;padding-left:1.15rem}.invite-bulk-results{display:grid;gap:.85rem}.invite-result-summary p{font-family:inherit;word-break:normal}.invite-result-table-shell{max-height:26rem}.invite-result-table{min-width:0;table-layout:fixed}.invite-result-table th,.invite-result-table td{vertical-align:middle}.invite-result-table th:first-child,.invite-result-table td:first-child{width:18%}.invite-result-table th:nth-child(2),.invite-result-table td:nth-child(2){width:50%}.invite-result-table th:nth-child(3),.invite-result-table td:nth-child(3){width:20%}.invite-result-table th:last-child,.invite-result-table td:last-child{width:12%;text-align:right}
