.md-state{isolation:isolate;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.md-state:before{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--md-duration-short) var(--md-easing-standard);background-color:currentColor;position:absolute;inset:0}.md-state:hover:before{opacity:var(--md-state-hover)}.md-state:focus-visible:before{opacity:var(--md-state-focus)}.md-state:active:before{opacity:var(--md-state-press)}.md-state[aria-current=page]:before,.md-state[aria-expanded=true]:before{background-color:currentColor}.md-ripple{z-index:-1;border-radius:var(--md-shape-full);opacity:var(--md-state-press);pointer-events:none;animation:md-ripple-in var(--md-duration-long) var(--md-easing-standard-decelerate) forwards;background-color:currentColor;position:absolute;transform:scale(0)}@keyframes md-ripple-in{to{opacity:0;transform:scale(1)}}.md-divider{background-color:var(--md-color-outline-variant);border:none;height:1px}.md-divider--inset{margin-inline-start:var(--space-4)}.md-tooltip{inset-inline-start:calc(100% + var(--space-2));z-index:var(--z-dropdown);padding:var(--space-1) var(--space-2);border-radius:var(--md-shape-xs);background-color:var(--md-color-inverse-surface);color:var(--md-color-inverse-on-surface);font:var(--md-font-body-small);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--md-duration-short) var(--md-easing-standard), visibility var(--md-duration-short);position:absolute;top:50%;transform:translateY(-50%)}
.btn{height:36px;padding-inline:var(--space-4);border-radius:var(--md-shape-md);font:var(--md-font-label-large);letter-spacing:var(--md-tracking-label-large);white-space:nowrap;transition:background-color var(--md-duration-short) var(--md-easing-standard), border-color var(--md-duration-short) var(--md-easing-standard), color var(--md-duration-short) var(--md-easing-standard);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.btn:hover{text-decoration:none}.btn svg{width:16px;height:16px}.btn:has(svg:first-child){padding-inline-start:var(--space-3)}.btn:disabled,.btn[aria-disabled=true]{pointer-events:none;background-color:var(--md-color-surface-container-highest);color:var(--md-color-text-subtle);border-color:#0000}.btn--filled{background-color:var(--md-color-primary);color:var(--md-color-on-primary)}.btn--filled:hover{background-color:var(--md-color-primary-hover)}.btn--outlined,.btn--elevated{border-color:var(--md-color-outline);background-color:var(--md-color-surface-container-lowest);color:var(--md-color-on-surface)}.btn--outlined:hover,.btn--elevated:hover{background-color:var(--md-color-surface-container-high)}.btn--tonal{background-color:var(--md-color-primary-container);color:var(--md-color-on-primary-container)}.btn--text{color:var(--md-color-primary);padding-inline:var(--space-2);background-color:#0000}.btn--text:has(svg:first-child){padding-inline-start:var(--space-2)}.btn--danger{background-color:var(--md-color-error);color:var(--md-color-on-error)}.btn--danger-text{color:var(--md-color-error);padding-inline:var(--space-2);background-color:#0000}.btn--sm{height:30px;padding-inline:var(--space-3);font:var(--md-font-label-medium);letter-spacing:.02em;font-weight:600}.btn--sm:has(svg:first-child){padding-inline-start:10px}.btn--sm svg{width:14px;height:14px}.btn--block{width:100%}.btn .spinner{width:14px;height:14px}
.snackbar-region{left:50%;bottom:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);width:max-content;max-width:calc(100vw - 32px);display:grid;position:fixed;transform:translate(-50%)}.snackbar{align-items:center;gap:var(--space-4);min-width:288px;max-width:560px;min-height:48px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--md-shape-xs);background-color:var(--md-color-inverse-surface);color:var(--md-color-inverse-on-surface);font:var(--md-font-body-medium);box-shadow:var(--md-elev-3);animation:snackbar-in var(--md-duration-medium) var(--md-easing-emphasized-decelerate);display:flex}.snackbar--error{background-color:var(--md-color-error);color:var(--md-color-on-error)}.snackbar[data-state=leaving]{opacity:0;transition:all var(--md-duration-medium) var(--md-easing-standard);transform:translateY(8px)}.snackbar__text{padding-block:var(--space-2);flex:1}.snackbar__action{height:36px;padding-inline:var(--space-3);border-radius:var(--md-shape-sm);color:var(--md-color-inverse-primary);font:var(--md-font-label-large);flex-shrink:0}.snackbar__action:hover{background-color:#ffffff14}@keyframes snackbar-in{0%{opacity:0;transform:translateY(12px)}}.banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--md-shape-sm);font:var(--md-font-body-medium);background-color:var(--md-color-surface-container-high);color:var(--md-color-on-surface);line-height:1.6;display:flex}.banner>svg{width:20px;height:20px;margin-top:1px}.banner__body{flex:1}.banner__title{font:var(--md-font-title-small)}.banner--error{background-color:var(--md-color-error-container);color:var(--md-color-on-error-container)}.banner--warning{background-color:var(--md-color-warning-container);color:var(--md-color-on-warning-container)}.banner--success{background-color:var(--md-color-success-container);color:var(--md-color-on-success-container)}.banner--info{background-color:var(--md-color-info-container);color:var(--md-color-on-info-container)}.empty-state{justify-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;display:grid}.empty-state__icon{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--md-shape-md);background-color:var(--md-color-surface-container-highest);color:var(--md-color-on-surface-variant);place-items:center;display:grid}.empty-state__icon svg{width:26px;height:26px}.empty-state__title{font:var(--md-font-title-medium)}.empty-state__text{max-width:44ch;font:var(--md-font-body-medium);color:var(--md-color-on-surface-variant)}.empty-state .btn{margin-top:var(--space-3)}.skeleton{border-radius:var(--md-shape-xs);background:linear-gradient(90deg, var(--md-color-surface-container-high) 25%, var(--md-color-surface-container-highest) 50%, var(--md-color-surface-container-high) 75%);background-size:200% 100%;height:12px;animation:1.2s ease-in-out infinite skeleton;display:block}@keyframes skeleton{to{background-position:-200% 0}}.spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{place-items:center;gap:var(--space-3);padding:var(--space-12);color:var(--md-color-on-surface-variant);display:grid}
.card{border-radius:var(--md-shape-lg);background-color:var(--md-color-surface-container-low);color:var(--md-color-on-surface);box-shadow:var(--md-elev-1);transition:box-shadow var(--md-duration-medium) var(--md-easing-standard), background-color var(--md-duration-medium) var(--md-easing-standard)}.card--filled{background-color:var(--md-color-surface-container-highest);box-shadow:var(--md-elev-0)}.card--outlined{background-color:var(--md-color-surface-container-lowest);box-shadow:inset 0 0 0 1px var(--md-color-outline-variant)}.card--interactive:hover{box-shadow:0 0 0 1px var(--md-color-outline)}.card__head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);display:flex}.card__title{font:var(--md-font-title-medium);letter-spacing:var(--md-tracking-title-medium)}.card__body{padding:var(--space-4)}.card__body--flush{padding:var(--space-2)}.grid{gap:var(--space-4);display:grid}.grid--stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid--split{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stat{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);display:flex}.stat__icon{border-radius:var(--md-shape-md);background-color:var(--md-color-primary-container);width:36px;height:36px;color:var(--md-color-primary);flex-shrink:0;place-items:center;display:grid}.stat__icon svg{width:20px;height:20px}.stat__body{min-width:0}.stat__label{font:var(--md-font-label-large);letter-spacing:var(--md-tracking-label-large);color:var(--md-color-on-surface-variant)}.stat__value{margin-top:var(--space-1);font:var(--md-font-headline-small);color:var(--md-color-on-surface)}.stat__delta{margin-top:var(--space-1);align-items:center;gap:var(--space-1);font:var(--md-font-body-small);color:var(--md-color-on-surface-variant);display:inline-flex}.stat__delta svg{width:14px;height:14px}.stat__delta--up{color:var(--md-color-success)}.stat__delta--down{color:var(--md-color-error)}.stat__delta span{color:var(--md-color-on-surface-variant)}.badge{border-radius:var(--md-shape-full);white-space:nowrap;background-color:var(--md-color-surface-container-highest);height:22px;color:var(--md-color-on-surface-variant);font:var(--md-font-label-medium);letter-spacing:var(--md-tracking-label-medium);align-items:center;gap:6px;padding-inline:9px;display:inline-flex}.badge--brand{background-color:var(--md-color-primary-container);color:var(--md-color-on-primary-container)}.badge--info{background-color:var(--md-color-info-container);color:var(--md-color-on-info-container)}.badge--success{background-color:var(--md-color-success-container);color:var(--md-color-on-success-container)}.badge--warning{background-color:var(--md-color-warning-container);color:var(--md-color-on-warning-container)}.badge--danger{background-color:var(--md-color-error-container);color:var(--md-color-on-error-container)}:is(.badge--info,.badge--success,.badge--warning,.badge--danger):before{content:"";background-color:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge--success:before{background-color:var(--md-color-success)}.badge--warning:before{background-color:var(--md-color-warning)}.badge--danger:before{background-color:var(--md-color-error)}.badge--info:before{background-color:var(--md-color-info)}.placeholder{min-height:320px;padding:var(--space-10) var(--space-6);border-radius:var(--md-shape-md);background-color:var(--md-color-surface-container-low);box-shadow:inset 0 0 0 1px var(--md-color-outline-variant);text-align:center;place-items:center;display:grid}.placeholder__inner{max-width:44ch}.placeholder__icon{width:56px;height:56px;margin-inline:auto;margin-bottom:var(--space-4);border-radius:var(--md-shape-md);background-color:var(--md-color-surface-container-highest);color:var(--md-color-on-surface-variant);place-items:center;display:grid}.placeholder__icon svg{width:28px;height:28px}.placeholder__title{font:var(--md-font-title-medium);letter-spacing:var(--md-tracking-title-medium)}.placeholder__text{margin-top:var(--space-2);font:var(--md-font-body-medium);letter-spacing:var(--md-tracking-body-medium);color:var(--md-color-on-surface-variant)}.placeholder__actions{margin-top:var(--space-5);justify-content:center;display:flex}.placeholder__meta{margin-top:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--md-shape-sm);background-color:var(--md-color-surface-container-high);font-family:var(--md-font-family-mono);color:var(--md-color-on-surface-variant);font-size:.75rem;display:inline-block}
