.page-status{place-items:center;gap:var(--space-3);min-height:100vh;color:var(--color-muted);font-size:var(--font-size-md);background:var(--color-page);display:grid}.page-status__inner{justify-items:center;gap:var(--space-3);display:grid}.spinner{border:3px solid var(--color-primary-soft);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spinner-rotate}.spinner--sm{border-width:2px;width:16px;height:16px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.ns-loader{justify-content:center;align-items:center;gap:var(--space-3);min-height:12rem;padding:var(--space-6);flex-direction:column;display:flex}.ns-loader--compact{min-height:8rem;padding:var(--space-4)}.ns-loader__label{color:var(--color-muted);font-size:var(--font-size-sm);line-height:var(--line-height);text-align:center}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.no-access{min-height:50vh;padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-muted);place-items:center;display:grid}.no-access__title{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--font-size-lg)}.no-access__text{max-width:420px;margin:0}.alert{align-items:center;gap:8px;margin-bottom:14px;font-size:14px;line-height:1.4;display:flex}.alert p{margin:0}.alert svg{flex-shrink:0;width:16px;height:16px}.alert--error{color:var(--color-red)}.alert--info{color:var(--color-primary-hover)}.alert--success{color:var(--color-green)}.reference-alert{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4);font-size:var(--font-size-md);background:var(--color-danger-soft);color:var(--color-danger);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.reference-alert>svg{font-size:var(--font-size-xl);flex:none}.reference-alert__retry{margin-left:auto}.est-input-cell{flex-direction:column;gap:2px;display:flex}.est-input-cell input{width:100%}.est-field-error{color:#dc2626;font-size:11px;line-height:1.25}.est-input-cell--float-error{position:relative}.est-input-cell--float-error>.est-field-error{white-space:nowrap;text-align:right;z-index:1;pointer-events:none;position:absolute;top:calc(100% + 3px);right:0}.est-totals-row:has(.est-input-cell--float-error>.est-field-error){margin-bottom:16px}td .est-input-cell--float-error>.est-field-error{white-space:normal;text-align:left;left:0;right:0}td:has(.est-input-cell--float-error>.est-field-error){padding-bottom:34px}.progress{background:var(--color-page);border:1px solid var(--color-border);border-radius:999px;height:10px;overflow:hidden}.progress__bar{background:var(--color-primary);height:100%;transition:width .3s}.progress__bar--danger{background:var(--color-red)}.progress__bar--warning{background:var(--color-yellow)}.usage-meter{gap:6px;display:grid}.usage-meter__head{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.usage-meter__label{color:var(--color-label);font-size:14px;font-weight:600}.usage-meters{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.text-muted{color:var(--color-muted);font-size:13px}.bar-chart{gap:var(--space-2);margin:0;display:grid}.bar-chart__title{color:var(--color-label);font-size:14px;font-weight:600}.bar-chart__plot{border-bottom:1px solid var(--color-border);background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), var(--color-page) calc(25% - 1px), var(--color-page) 25%);align-items:flex-end;gap:2px;padding-top:20px;display:flex}.bar-chart__slot{cursor:default;outline:none;flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;min-width:6px;height:100%;display:flex;position:relative}.bar-chart__bar{background:var(--color-primary);width:100%;max-width:36px;min-height:2px;transition:background var(--transition-fast);border-radius:4px 4px 0 0}.bar-chart__bar.is-zero{background:var(--color-border)}.bar-chart__slot:hover .bar-chart__bar,.bar-chart__slot:focus-visible .bar-chart__bar{background:var(--color-primary-hover)}.bar-chart__value{color:var(--color-muted);white-space:nowrap;margin-bottom:2px;font-size:12px}.bar-chart__tooltip{border-radius:var(--radius-md);background:var(--color-navy);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:2;padding:4px 8px;font-size:12px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.bar-chart__slot:hover .bar-chart__tooltip,.bar-chart__slot:focus-visible .bar-chart__tooltip{opacity:1}.bar-chart__axis{gap:2px;display:flex}.bar-chart__tick{min-width:6px;color:var(--color-muted);text-align:center;white-space:nowrap;flex:1 1 0;font-size:11px;overflow:visible}.permission-matrix th[scope=row],.permission-matrix__group th{text-align:left}.permission-matrix__group th{color:var(--color-navy);background:var(--color-page);font-weight:700}.permission-matrix__group td{background:var(--color-page)}.permission-matrix__right{min-width:220px;font-weight:500}.permission-matrix__col,.permission-matrix__cell{text-align:center;white-space:nowrap}.permission-matrix__cell input[type=checkbox]{cursor:pointer;width:16px;height:16px}.permission-matrix__yes{color:var(--color-green);font-weight:700}.permission-matrix__no{color:var(--color-muted)}.feed-footer{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3);display:flex}.srl-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.srl-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.srl-item.is-on{background:#f8fbff;border-color:#bfdbfe}.srl-head{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.srl-head input{width:14px;height:14px;accent-color:var(--color-primary,#2563eb);margin:0}.srl-label{color:#0f172a;font-size:13px;font-weight:600}.srl-via{color:#64748b;background:#f1f5f9;border-radius:999px;padding:1px 8px;font-size:11px}.srl-desc{color:#475569;margin:4px 0 0 22px;font-size:12px}.srl-fields{color:#64748b;overflow-wrap:anywhere;margin:4px 0 0 22px;font-size:11px}.srl-empty{color:#64748b;margin:0;font-size:12px}.modal-overlay:has(>.confirm-dialog){z-index:1400;grid-template-columns:minmax(0,1fr);justify-items:center;padding:16px}.modal-panel--xl{width:min(1080px,100%)}.confirm-dialog.modal-panel--lg,.confirm-dialog.modal-panel--xl{max-height:min(88vh,820px)}.confirm-dialog.modal-panel--lg .modal-body,.confirm-dialog.modal-panel--xl .modal-body{flex:1;overflow-y:auto}.confirm-dialog.modal-panel--compact .modal-head{border-bottom:0;gap:14px;padding:20px 22px 6px}.confirm-dialog .modal-head-icon{background:var(--color-primary-soft);width:44px;height:44px;box-shadow:none;color:var(--color-primary);border-radius:12px;font-size:22px}.confirm-dialog--danger .modal-head-icon{background:var(--color-danger-soft);color:var(--color-danger)}.confirm-dialog.modal-panel--compact .modal-head h1{font-size:17px;font-weight:var(--font-weight-bold,700);white-space:normal;line-height:1.35}.confirm-dialog.modal-panel--compact .modal-body{scrollbar-gutter:auto;padding:4px 22px 20px}.confirm-dialog.modal-panel--compact .modal-foot{border-top:1px solid var(--color-border);background:var(--color-surface-subtle,#f8fafc);gap:10px;padding:14px 22px}.confirm-dialog.modal-panel--sm{width:min(480px,100%)}.confirm-dialog.modal-panel--compact .modal-foot{flex-wrap:wrap}.confirm-dialog .modal-foot .tool-btn{white-space:nowrap;justify-content:center;min-width:100px;height:38px;padding:0 16px;font-weight:600}.confirm-dialog .modal-foot .tool-btn--danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.confirm-dialog .modal-foot .tool-btn--danger:hover:not(:disabled){border-color:var(--color-danger-hover,#a91f1f);background:var(--color-danger-hover,#a91f1f);color:#fff}.confirm-dialog__body{gap:14px;display:grid}.confirm-dialog__text{gap:12px;display:grid}.confirm-dialog__message{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:14.5px;line-height:1.55}.confirm-dialog__details{border:1px solid var(--color-border);background:var(--color-surface-subtle,#f8fafc);color:var(--color-text-secondary,var(--color-muted));border-radius:10px;gap:6px;margin:0;padding:10px 14px;font-size:13px;line-height:1.5;list-style:none;display:grid}.confirm-dialog__details li{padding-left:14px;position:relative}.confirm-dialog__details li:before{content:"";opacity:.6;background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:0}.confirm-dialog .ns-field,.confirm-dialog .form-field{margin:0}@media (width<=520px){.confirm-dialog.modal-panel--compact .modal-foot{flex-direction:column;align-items:stretch}.confirm-dialog .modal-foot .tool-btn{width:100%}}.confirm-dialog__linked{margin-top:var(--space-2);font-size:13px;line-height:1.5}.confirm-dialog__linked-toggle{align-items:center;gap:var(--space-1-5);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;display:inline-flex}.confirm-dialog__linked-toggle:hover{text-decoration:underline}.confirm-dialog__linked-chevron{width:15px;height:15px;transition:transform .2s}.confirm-dialog__linked-chevron.is-open{transform:rotate(180deg)}.confirm-dialog__linked-body{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.confirm-dialog__linked-body.is-open{grid-template-rows:1fr}.confirm-dialog__linked-inner{min-height:0;overflow:hidden}.confirm-dialog__linked-list{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted,#f8fafc);color:var(--color-muted);max-height:180px;overflow-y:auto}.confirm-dialog__warning{border:1px solid var(--color-danger-border,#f5c2c0);background:var(--color-danger-soft);color:var(--color-danger);border-radius:10px;align-items:center;gap:8px;margin:0;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.confirm-dialog__warning svg{flex:none;width:15px;height:15px}.confirm-dialog .modal-foot .tool-btn svg{width:16px;height:16px}.confirm-dialog__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spinner-rotate;display:inline-block}
