.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-sm);cursor:pointer;transition-property:background-color,border-color,color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);font-variant-numeric:tabular-nums;border:1px solid #0000;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-sm);line-height:var(--leading-sm)}.btn--md{height:38px;padding:0 var(--space-4);font-size:var(--text-base);line-height:var(--leading-base)}.btn--lg{height:44px;padding:0 var(--space-5);font-size:var(--text-md);line-height:var(--leading-md)}.btn--primary{background:var(--color-accent);color:var(--color-accent-contrast)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--primary:active:not(:disabled){background:var(--color-accent-active)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn--danger{background:var(--color-danger);color:var(--color-text-inverted)}.btn--danger:hover:not(:disabled){background:var(--color-danger-strong)}.btn--full{width:100%}.btn__label--loading{opacity:0}.btn__spinner{display:inline-flex;position:absolute}.btn--loading{cursor:progress;position:relative}.btn__spinner-icon{border-radius:var(--radius-full);width:1em;height:1em;animation:btn-spin var(--duration-slow) linear infinite;border:2px solid;border-right-color:#0000}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn__spinner-icon{animation-duration:var(--duration-continuous-reduced)!important}}
.field{gap:var(--space-1);font-family:var(--font-sans);flex-direction:column;min-width:0;display:flex}.field__label{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--color-text)}.field__required{margin-left:var(--space-1);color:var(--color-danger)}.field__message{font-size:var(--text-xs);line-height:var(--leading-xs);margin:0}.field__message--hint{color:var(--color-text-muted)}.field__message--error{color:var(--color-danger);font-weight:var(--weight-medium)}.ds-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ctrl{width:100%;min-width:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);transition-property:border-color,box-shadow,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.ctrl::placeholder{color:var(--color-text-subtle)}.ctrl:hover:not(:disabled):not([aria-invalid=true]){border-color:var(--color-border-control-hover)}.ctrl:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.ctrl:disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface-sunken)}.ctrl[aria-invalid=true]{border-color:var(--color-danger)}.ctrl[aria-invalid=true]:focus-visible{box-shadow:none;outline:2px solid var(--color-danger);outline-offset:1px}.ctrl--sm{height:32px;padding:0 var(--space-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.ctrl--md{height:38px;padding:0 var(--space-3);font-size:var(--text-base);line-height:var(--leading-base)}.ctrl--lg{height:44px;padding:0 var(--space-4);font-size:var(--text-md);line-height:var(--leading-md)}
.input{align-items:center;min-width:0;display:flex;position:relative}.input__icon{color:var(--color-text-subtle);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.input__icon--left{left:var(--space-3)}.input__icon--right{right:var(--space-3)}.input__control--icon-left{padding-left:var(--space-7)}.input__control--icon-right{padding-right:var(--space-7)}.input__spinner{border-radius:var(--radius-full);width:1em;height:1em;animation:input-spin var(--duration-slow) linear infinite;border:2px solid;border-right-color:#0000;display:inline-block}@keyframes input-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.input__spinner{animation-duration:var(--duration-continuous-reduced)!important}}
.select{align-items:center;min-width:0;display:flex;position:relative}.select__control{appearance:none;padding-right:var(--space-7);cursor:pointer}.select__control:disabled{cursor:not-allowed}.select__chevron{right:var(--space-3);color:var(--color-text-subtle);pointer-events:none;display:inline-flex;position:absolute}.select__control:required:invalid{color:var(--color-text-subtle)}
.checkbox-field{gap:var(--space-1);font-family:var(--font-sans);flex-direction:column;display:flex}.checkbox{align-items:flex-start;gap:var(--space-2);display:inline-flex}.checkbox__input{appearance:none;background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);flex-shrink:0;margin:0}.checkbox__input:hover:not(:disabled){border-color:var(--color-accent)}.checkbox__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.checkbox__input:checked,.checkbox__input:indeterminate{background-color:var(--color-accent);border-color:var(--color-accent)}.checkbox__input:before{content:"";background-color:var(--color-accent-contrast);opacity:0;width:100%;height:100%;transition-property:opacity;transition-duration:var(--duration-instant);transition-timing-function:var(--ease-out);display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:80%;mask-size:80%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.checkbox__input:checked:before,.checkbox__input:indeterminate:before{opacity:1}.checkbox__input:checked:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.checkbox__input:indeterminate:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.checkbox__input:disabled{opacity:.5;cursor:not-allowed}.checkbox__input[aria-invalid=true]{border-color:var(--color-danger)}.checkbox__label{color:var(--color-text);cursor:pointer}.checkbox__input:disabled+.checkbox__label{opacity:.5;cursor:not-allowed}.checkbox-field--sm .checkbox__input{width:14px;height:14px;margin-top:2px}.checkbox-field--sm .checkbox__label{font-size:var(--text-sm);line-height:var(--leading-sm)}.checkbox-field--md .checkbox__input{width:16px;height:16px;margin-top:2px}.checkbox-field--md .checkbox__label{font-size:var(--text-base);line-height:var(--leading-base)}.checkbox-field--lg .checkbox__input{width:20px;height:20px;margin-top:2px}.checkbox-field--lg .checkbox__label{font-size:var(--text-md);line-height:var(--leading-md)}
.badge{align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-full);font-variant-numeric:tabular-nums;display:inline-flex}.badge--sm{height:20px;padding:0 var(--space-2);font-size:var(--text-xs);line-height:var(--leading-xs)}.badge--md{height:24px;padding:0 var(--space-3);font-size:var(--text-sm);line-height:var(--leading-sm)}.badge__dot{border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:6px;height:6px}.badge__icon{align-items:center;display:inline-flex}.badge--neutral{background:var(--color-surface-sunken);color:var(--color-text-muted)}.badge--accent{background:var(--color-accent-subtle);color:var(--color-accent)}.badge--success{background:var(--color-success-subtle);color:var(--color-success)}.badge--warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge--danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge--info{background:var(--color-info-subtle);color:var(--color-info)}
.avatar{font-family:var(--font-sans);font-weight:var(--weight-medium);color:var(--color-text-muted);background:var(--color-surface-sunken);border:1px solid var(--color-border);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar--circle{border-radius:var(--radius-full)}.avatar--square{border-radius:var(--radius-sm)}.avatar__image{object-fit:cover;width:100%;height:100%;display:block}.avatar__initials{line-height:1}.avatar--xs{width:20px;height:20px;font-size:var(--text-xs)}.avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar--md{width:36px;height:36px;font-size:var(--text-sm)}.avatar--lg{width:48px;height:48px;font-size:var(--text-md)}
.tooltip{display:inline-flex;position:relative}.tooltip__trigger{display:inline-flex}.tooltip__bubble{z-index:var(--z-dropdown);max-width:260px;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-normal);text-align:left;white-space:normal;color:var(--color-text-inverted);background:var(--color-text);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:none;opacity:0;visibility:hidden;transition-property:opacity,visibility;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);position:absolute}.tooltip__bubble--open{opacity:1;visibility:visible}.tooltip__bubble--top{margin-bottom:var(--space-2);bottom:100%;left:50%;transform:translate(-50%)}.tooltip__bubble--bottom{margin-top:var(--space-2);top:100%;left:50%;transform:translate(-50%)}.tooltip__bubble--left{margin-right:var(--space-2);top:50%;right:100%;transform:translateY(-50%)}.tooltip__bubble--right{margin-left:var(--space-2);top:50%;left:100%;transform:translateY(-50%)}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.card--flat{box-shadow:none}.card--interactive{cursor:pointer;transition-property:box-shadow,border-color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card--interactive:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.card--pad-none .card__header,.card--pad-none .card__body,.card--pad-none .card__footer{padding:var(--space-0)}.card--pad-sm .card__header,.card--pad-sm .card__body,.card--pad-sm .card__footer{padding:var(--space-3)}.card--pad-md .card__header,.card--pad-md .card__body,.card--pad-md .card__footer{padding:var(--space-4)}.card--pad-lg .card__header,.card--pad-lg .card__body,.card--pad-lg .card__footer{padding:var(--space-5)}.card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.card__header-content{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.card__header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.card__title{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.card__description{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);margin:0}.card__body{color:var(--color-text);flex:1}.card__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);display:flex}
.tabs{flex-direction:column;min-width:0;display:flex}.tabs__list{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--color-border);scrollbar-width:thin;display:flex;overflow-x:auto}.tabs__tab{align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-medium);white-space:nowrap;color:var(--color-text-muted);cursor:pointer;transition-property:color,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:none;flex-shrink:0;display:inline-flex;position:relative}.tabs__tab:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.tabs__tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tabs__tab:disabled{opacity:.5;cursor:not-allowed}.tabs__tab--selected{color:var(--color-accent)}.tabs__tab--selected:after{content:"";background:var(--color-accent);height:2px;position:absolute;bottom:0;left:0;right:0}.tabs__badge{min-width:20px;height:20px;padding:0 var(--space-1);font-size:var(--text-xs);line-height:var(--leading-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:var(--color-surface-sunken);border-radius:var(--radius-full);justify-content:center;align-items:center;display:inline-flex}.tabs__tab--selected .tabs__badge{color:var(--color-accent);background:var(--color-accent-subtle)}.tabs__panel{padding-top:var(--space-4);min-width:0}.tabs__panel:focus{outline:none}.tabs__panel:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}
.pagination{align-items:center;gap:var(--space-1);font-family:var(--font-sans);display:flex}.pagination__list{align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.pagination__page,.pagination__arrow{min-width:32px;height:32px;padding:0 var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition-property:color,background-color,border-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.pagination__page:hover:not(:disabled),.pagination__arrow:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.pagination__page:focus-visible,.pagination__arrow:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pagination__page--current{color:var(--color-accent-contrast);background:var(--color-accent);border-color:var(--color-accent)}.pagination__page--current:hover{background:var(--color-accent);color:var(--color-accent-contrast)}.pagination__arrow:disabled{opacity:.4;cursor:not-allowed}.pagination__gap{min-width:32px;height:32px;color:var(--color-text-subtle);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}
.modal__overlay{z-index:var(--z-modal);padding:var(--space-4);background:var(--color-overlay);animation:modal-overlay-in var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-height:calc(100vh - var(--space-7));background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modal-in var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.modal:focus{outline:none}.modal--sm{max-width:400px}.modal--md{max-width:560px}.modal--lg{max-width:800px}.modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);padding-bottom:var(--space-4);display:flex}.modal__heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.modal__title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.modal__description{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);margin:0}.modal__close{width:32px;height:32px;color:var(--color-text-subtle);border-radius:var(--radius-sm);cursor:pointer;transition-property:color,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal__close:hover{color:var(--color-text);background:var(--color-surface-hover)}.modal__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal__body{padding:var(--space-0) var(--space-5);color:var(--color-text);overflow-y:auto}.modal__scroll{padding:var(--space-1);margin:calc(var(--space-1) * -1);overflow-y:auto}.modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-5);padding-top:var(--space-4);display:flex}@keyframes modal-overlay-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}
.dropdown{display:inline-flex;position:relative}.dropdown__menu{z-index:var(--z-dropdown);min-width:min(180px,100vw - 16px);max-width:min(280px,100vw - 16px);padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);visibility:hidden;animation:dropdown-in var(--duration-fast) var(--ease-out);position:fixed;overflow-y:auto}.dropdown__item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-normal);text-align:left;color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;transition-property:background-color,color;transition-duration:var(--duration-instant);transition-timing-function:var(--ease-out);background:0 0;border:none;display:flex}.dropdown__item:hover:not(:disabled){background:var(--color-surface-hover)}.dropdown__item:focus-visible{background:var(--color-surface-hover);outline:2px solid var(--color-accent);outline-offset:-2px}.dropdown__item:disabled{opacity:.5;cursor:not-allowed}.dropdown__item--destructive{color:var(--color-danger)}.dropdown__item--destructive:hover:not(:disabled),.dropdown__item--destructive:focus-visible{background:var(--color-danger-subtle)}.dropdown__item-icon{color:var(--color-text-subtle);flex-shrink:0;align-items:center;display:inline-flex}.dropdown__item--destructive .dropdown__item-icon{color:var(--color-danger)}.dropdown__separator{height:1px;margin:var(--space-1) 0;background:var(--color-border)}.dropdown__label{padding:var(--space-2) var(--space-3) var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-subtle)}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}}
.skeleton{background:var(--color-surface-sunken);border-radius:var(--radius-sm);width:100%;min-height:var(--space-4);background-image:linear-gradient(90deg, var(--color-surface-sunken) 0%, var(--color-surface-hover) 50%, var(--color-surface-sunken) 100%);animation:skeleton-sweep var(--duration-continuous-reduced) var(--ease-in-out) infinite;background-size:200% 100%;display:block}.skeleton--text{height:var(--leading-base);border-radius:var(--radius-sm)}.skeleton--circle{border-radius:var(--radius-full)}.skeleton--rect{border-radius:var(--radius-md)}.skeleton-group{gap:var(--space-2);flex-direction:column;width:100%;display:flex}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background-image:none;animation:none}}
.empty-state{text-align:center;font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.empty-state--sm{gap:var(--space-2);padding:var(--space-5) var(--space-4)}.empty-state--md{gap:var(--space-3);padding:var(--space-7) var(--space-5)}.empty-state__icon{width:40px;height:40px;color:var(--color-text-subtle);background:var(--color-surface-sunken);border-radius:var(--radius-full);justify-content:center;align-items:center;display:inline-flex}.empty-state__title{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.empty-state__description{max-width:44ch;font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);margin:0}.empty-state__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.empty-state--error .empty-state__icon{color:var(--color-danger);background:var(--color-danger-subtle)}.empty-state--no-results .empty-state__icon{color:var(--color-info);background:var(--color-info-subtle)}
.table__scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;overflow-x:auto}.table__scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);color:var(--color-text)}.table__caption{padding:var(--space-4);text-align:left;font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.table__head{background:var(--color-surface-sunken)}.table--sticky .table__head{z-index:var(--z-sticky);position:sticky;top:0}.table__header{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;border-bottom:1px solid var(--color-border)}.table__header--end{text-align:right}.table__header--center{text-align:center}.table__header--select,.table__cell--select{width:40px;padding-right:var(--space-0)}.table__sort{align-items:center;gap:var(--space-1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.table__sort:hover{color:var(--color-text)}.table__sort:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.table__sort-icon{min-width:12px;color:var(--color-text-subtle);display:inline-block}.table__row{border-bottom:1px solid var(--color-border)}.table__row:last-child{border-bottom:none}.table__row--clickable{cursor:pointer}.table__row--clickable:hover{background:var(--color-surface-hover)}.table__row--selected{background:var(--color-accent-subtle)}.table__cell{padding:var(--space-3) var(--space-4);vertical-align:middle}.table--compact .table__cell,.table--compact .table__header{padding:var(--space-2) var(--space-4)}.table__cell--end{text-align:right}.table__cell--center{text-align:center}.table__cell--numeric{font-variant-numeric:tabular-nums}.table__empty{padding:var(--space-0)}@media (max-width:767px){.table__scroll{background:0 0;border:none;overflow-x:visible}.table,.table__head,.table__row,.table__cell,.table__header{width:auto;display:block}.table__head{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.table__row{margin-bottom:var(--space-3);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.table__cell{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2);text-align:left;border-bottom:1px solid var(--color-border);display:flex}.table__cell:last-child{border-bottom:none}.table__cell:before{content:attr(data-label);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0}.table__cell--hide-mobile{display:none}.table__cell--select:before{content:none}}
.shell{background:var(--color-bg);min-height:100vh;font-family:var(--font-sans);color:var(--color-text);display:flex}.shell__skip{top:var(--space-2);left:var(--space-2);z-index:var(--z-command);padding:var(--space-2) var(--space-4);background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);text-decoration:none;position:absolute;transform:translateY(-200%)}.shell__skip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;transform:translateY(0)}.shell__sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100vh;display:none;position:sticky;top:0;overflow-y:auto}.shell__brand{height:var(--topbar-height);padding:0 var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;display:flex}.shell__nav{padding:var(--space-3) var(--space-2);gap:var(--space-4);flex-direction:column;display:flex}.shell__nav-heading{padding:0 var(--space-3) var(--space-1);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-subtle)}.shell__nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shell__nav-link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-medium);color:var(--color-text-muted);border-radius:var(--radius-sm);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);text-decoration:none;display:flex}.shell__nav-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.shell__nav-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.shell__nav-link--active{background:var(--color-accent-subtle);color:var(--color-accent)}.shell__nav-link--disabled{opacity:.45;cursor:not-allowed}.shell__nav-icon{flex-shrink:0;justify-content:center;width:18px;display:inline-flex}.shell__nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.shell__nav-badge{font-size:var(--text-xs);line-height:var(--leading-xs);font-variant-numeric:tabular-nums;color:var(--color-text-subtle);flex-shrink:0}.shell__main{flex-direction:column;flex:1;min-width:0;display:flex}.shell__topbar{align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-sticky);flex-shrink:0;display:flex;position:sticky;top:0}.shell__title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.shell__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.shell__menu-button{width:36px;height:36px;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.shell__menu-button:hover{background:var(--color-surface-hover);color:var(--color-text)}.shell__menu-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shell__content{min-width:0;padding:var(--space-5) var(--space-4);flex:1;overflow-x:hidden}.shell__content:focus{outline:none}.shell__drawer-overlay{z-index:var(--z-drawer);background:var(--color-overlay);position:fixed;inset:0}.shell__drawer{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);max-width:85vw;height:100%;animation:shell-drawer-in var(--duration-base) var(--ease-out);overflow-y:auto}@keyframes shell-drawer-in{0%{transform:translate(-100%)}}@media (min-width:768px){.shell__sidebar{width:var(--sidebar-width-collapsed);display:flex}.shell__menu-button{display:none}.shell__nav-label,.shell__nav-heading,.shell__nav-badge{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell__nav-link{justify-content:center}.shell__content{padding:var(--space-5)}}@media (min-width:1024px){.shell__sidebar{width:var(--sidebar-width)}.shell__nav-label,.shell__nav-heading,.shell__nav-badge{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.shell__nav-link{justify-content:flex-start}.shell__content{padding:var(--space-6)}}
.theme-toggle{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-full);align-items:center;gap:2px;padding:2px;display:inline-flex}.theme-toggle__option{width:28px;height:28px;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.theme-toggle__option:hover{color:var(--color-text)}.theme-toggle__option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle__option--selected{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}
.stat{gap:var(--space-1);flex-direction:column;display:flex}.stat__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.stat__label{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.stat__icon{color:var(--color-text-subtle);display:inline-flex}.stat__value{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text);font-variant-numeric:tabular-nums}.stat__delta{align-items:center;gap:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;display:inline-flex}.stat__delta--good{color:var(--color-success)}.stat__delta--bad{color:var(--color-danger)}.stat__delta--flat{color:var(--color-text-muted)}.stat__delta-label{font-weight:var(--weight-normal);color:var(--color-text-subtle)}.stat__hint{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-subtle);margin:0}
.usage{gap:var(--space-2);flex-direction:column;display:flex}.usage__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.usage__label{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.usage__numbers{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.usage__value{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums}.usage__value--muted,.usage__limit{font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-normal);color:var(--color-text-muted)}.usage__percent{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.usage__percent--ok{color:var(--color-text-muted)}.usage__percent--warning{color:var(--color-warning)}.usage__percent--over{color:var(--color-danger)}.usage__bar{background:var(--color-surface-sunken);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.usage__fill{border-radius:var(--radius-full);background:var(--color-accent);height:100%;transition-property:width;transition-duration:var(--duration-base);transition-timing-function:var(--ease-out)}.usage__bar--warning .usage__fill{background:var(--color-warning)}.usage__bar--over .usage__fill{background:var(--color-danger)}.usage__unlimited{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.usage__infinity{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold);color:var(--color-accent)}.usage__hint{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-subtle);margin:0}.usage__alert{font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-medium);color:var(--color-danger);margin:0}
.pricing{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;height:100%;display:flex}.pricing--featured{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.pricing--current{background:var(--color-surface-sunken)}.pricing__head{gap:var(--space-1);flex-direction:column;display:flex}.pricing__name-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.pricing__name{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.pricing__description{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);margin:0}.pricing__price{align-items:baseline;gap:var(--space-1);display:flex}.pricing__amount{font-size:var(--text-3xl);line-height:var(--leading-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text);font-variant-numeric:tabular-nums}.pricing__interval{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted)}.pricing__features{gap:var(--space-2);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.pricing__feature{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text);display:flex}.pricing__check{color:var(--color-success);flex-shrink:0}.pricing__feature--excluded,.pricing__feature--excluded .pricing__check{color:var(--color-text-subtle)}.pricing__cta{margin-top:auto}
.feature{gap:var(--space-3);flex-direction:column;display:flex}.feature__head{align-items:flex-start;gap:var(--space-3);display:flex}.feature__icon{width:32px;height:32px;color:var(--color-text-muted);background:var(--color-surface-sunken);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.feature__title-block{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.feature__name{font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-semibold);color:var(--color-text)}.feature__description{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);margin:0}.feature__kill{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-warning);background:var(--color-warning-subtle);border-radius:var(--radius-sm);margin:0}.feature__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.feature__meta{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}
.feed{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feed__item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.feed__item:last-child{border-bottom:none}.feed__icon{width:28px;height:28px;color:var(--color-text-subtle);background:var(--color-surface-sunken);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.feed__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.feed__text{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text)}.feed__actor{font-weight:var(--weight-semibold)}.feed__time{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-subtle);cursor:help}
.billing__number{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}.billing__pending{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-subtle)}
.upgrade{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);font-family:var(--font-sans);flex-wrap:wrap;display:flex}.upgrade--yours{background:var(--color-accent-subtle);border-color:var(--color-accent)}.upgrade--ours{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.upgrade__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.upgrade__head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.upgrade__title{font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-semibold);color:var(--color-text)}.upgrade__message{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text);margin:0}.upgrade__usage{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin:0}.upgrade__reassurance{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-muted);margin:0}.upgrade__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}
