.mascate-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:var(--color-overlay);padding:var(--spacing-4)}.mascate-modal{font-family:var(--font-sans);background-color:var(--color-bg-component);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:32rem;max-height:calc(100vh - var(--spacing-8));display:flex;flex-direction:column;overflow:hidden}.mascate-modal--sm{max-width:24rem}.mascate-modal--md{max-width:32rem}.mascate-modal--lg{max-width:48rem}.mascate-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.mascate-modal__title{font-size:var(--text-md);line-height:var(--leading-md);font-weight:600;color:var(--color-text-base);margin:0}.mascate-modal__close{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);border:none;background-color:transparent;color:var(--color-text-subtle);cursor:pointer;flex-shrink:0;transition:background-color .12s ease,color .12s ease}.mascate-modal__close:hover{background-color:var(--color-bg-subtle);color:var(--color-text-base)}.mascate-modal__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.mascate-modal__body{padding:var(--spacing-6);overflow-y:auto;flex:1;color:var(--color-text-subtle);font-size:var(--text-sm);line-height:var(--leading-sm)}.mascate-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border);flex-shrink:0}.mascate-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-component)}.mascate-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-base)}.mascate-table thead{background-color:var(--color-bg-subtle)}.mascate-table th{padding:var(--spacing-3) var(--spacing-4);text-align:left;font-weight:500;font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-subtle);white-space:nowrap;border-bottom:1px solid var(--color-border)}.mascate-table__th--sortable{cursor:pointer;user-select:none}.mascate-table__th--sortable:hover{color:var(--color-text-base)}.mascate-table__th--sortable:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.mascate-table__sort-indicator{display:inline-flex;align-items:center;gap:var(--spacing-1)}.mascate-table__sort-icon{width:.75rem;height:.75rem;opacity:.4;flex-shrink:0}.mascate-table__sort-icon--active{opacity:1;color:var(--color-primary)}.mascate-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color 80ms ease}.mascate-table tbody tr:last-child{border-bottom:none}.mascate-table tbody tr:hover{background-color:var(--color-bg-subtle)}.mascate-table td{padding:var(--spacing-3) var(--spacing-4);vertical-align:middle}.mascate-table__empty{padding:var(--spacing-10) var(--spacing-4);text-align:center;color:var(--color-text-subtle);font-size:var(--text-sm)}.mascate-tabs{font-family:var(--font-sans);display:flex;flex-direction:column}.mascate-tablist{display:flex;align-items:center;gap:var(--spacing-1);border-bottom:1px solid var(--color-border);padding-bottom:0}.mascate-tab{display:inline-flex;align-items:center;gap:var(--spacing-2);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500;color:var(--color-text-subtle);background-color:transparent;border:none;border-bottom:2px solid transparent;padding:var(--spacing-2) var(--spacing-3);margin-bottom:-1px;cursor:pointer;transition:color .12s ease,border-color .12s ease;white-space:nowrap}.mascate-tab:hover:not([aria-selected=true]){color:var(--color-text-base)}.mascate-tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.mascate-tab[aria-selected=true]{color:var(--color-text-base);border-bottom-color:var(--color-primary)}.mascate-tabpanel{padding-top:var(--spacing-5);color:var(--color-text-subtle);font-size:var(--text-sm);line-height:var(--leading-sm);outline:none}.mascate-tabpanel:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}