@layer components{.ui-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--card-pad)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--space-3)}.ui-card--pad-lg{padding:var(--space-6)}.ui-card--interactive{cursor:pointer;transition:var(--transition-colors), box-shadow var(--dur-fast) var(--ease-standard)}.ui-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--elev-1)}.ui-card-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.ui-card-header svg{color:var(--fg-subtle);flex-shrink:0}.ui-card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--fg-strong);margin:0}.ui-card-header-action{margin-left:auto}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-family:inherit;font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:var(--transition-colors);border:1px solid #0000;text-decoration:none;display:inline-flex}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.ui-btn--sm{font-size:var(--text-sm);padding:6px 12px}.ui-btn--md{font-size:var(--text-base);padding:9px 16px}.ui-btn--lg{font-size:var(--text-md);padding:12px 20px}.ui-btn--sm{min-height:40px}.ui-btn--md,.ui-btn--lg{min-height:44px}@media (width>=600px){.ui-btn--sm,.ui-btn--md,.ui-btn--lg{min-height:0}}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--accent-solid);color:var(--accent-solid-fg)}.ui-btn--primary:hover:not(:disabled){background:var(--accent-solid-hover)}.ui-btn--secondary{background:var(--bg-surface);border-color:var(--border-strong);color:var(--fg-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--fg-subtle)}.ui-btn--ghost{color:var(--fg-default);background:0 0}.ui-btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-strong)}.ui-btn--danger{background:var(--danger-solid);color:var(--danger-solid-fg)}.ui-btn--danger:hover:not(:disabled){filter:brightness(.93)}.ui-btn--danger-ghost{color:var(--danger-fg);background:0 0}.ui-btn--danger-ghost:hover:not(:disabled){background:var(--danger-bg-subtle)}.ui-btn--link{color:var(--accent-fg);font-weight:var(--weight-medium);background:0 0;padding:0}.ui-btn--link:hover:not(:disabled){text-decoration:underline}.ui-icon-btn{border-radius:var(--radius-md);color:var(--fg-muted);cursor:pointer;transition:var(--transition-colors);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.ui-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-strong)}.ui-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ui-icon-btn--sm{width:32px;height:32px}.ui-icon-btn--md{width:38px;height:38px}.ui-icon-btn--lg{width:44px;height:44px}.ui-icon-btn--solid{background:var(--bg-surface);border-color:var(--border-default)}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-weight:var(--weight-semibold);white-space:nowrap;border:1px solid #0000;line-height:1.4;display:inline-flex}.ui-badge--sm{font-size:var(--text-2xs);padding:1px 7px}.ui-badge--md{font-size:var(--text-xs);padding:3px 10px}.ui-badge--neutral{background:var(--bg-sunken);color:var(--fg-muted);border-color:var(--border-default)}.ui-badge--accent{background:var(--accent-bg-subtle);color:var(--accent-fg);border-color:var(--accent-border)}.ui-badge--success{background:var(--success-bg-subtle);color:var(--success-fg);border-color:var(--success-border)}.ui-badge--warning{background:var(--warning-bg-subtle);color:var(--warning-fg);border-color:var(--warning-border)}.ui-badge--danger{background:var(--danger-bg-subtle);color:var(--danger-fg);border-color:var(--danger-border)}.ui-badge--info{background:var(--info-bg-subtle);color:var(--info-fg);border-color:var(--info-border)}.ui-badge--premium{background:var(--premium-bg-subtle);color:var(--premium-fg);border-color:var(--premium-border)}.ui-badge--solid.ui-badge--accent{background:var(--accent-solid);color:var(--accent-solid-fg);border-color:#0000}.ui-badge--solid.ui-badge--danger{background:var(--danger-solid);color:var(--danger-solid-fg);border-color:#0000}.ui-badge--solid.ui-badge--success{background:var(--success-solid);color:var(--success-solid-fg);border-color:#0000}.ui-badge-dot{border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:6px;height:6px}.ui-avatar{border-radius:var(--radius-full);background:var(--accent-bg-subtle);color:var(--accent-fg);font-weight:var(--weight-semibold);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-avatar--xs{width:22px;height:22px;font-size:var(--text-2xs)}.ui-avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.ui-avatar--md{width:36px;height:36px;font-size:var(--text-sm)}.ui-avatar--lg{width:48px;height:48px;font-size:var(--text-base)}.ui-spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;animation:.7s linear infinite ui-spin;display:inline-block}.ui-spinner--sm{width:14px;height:14px}.ui-spinner--md{width:18px;height:18px}.ui-spinner--lg{width:24px;height:24px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-skeleton{background:var(--bg-sunken);border-radius:var(--radius-sm);display:block;position:relative;overflow:hidden}.ui-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.4s infinite ui-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes ui-shimmer{to{transform:translate(100%)}}.ui-skeleton-text{gap:var(--space-2);flex-direction:column;display:flex}.ui-skeleton-text .ui-skeleton{height:.75rem}.ui-skeleton-text .ui-skeleton:last-child{width:60%}.ui-loading-block{gap:var(--space-2);flex-direction:column;display:flex}.ui-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);flex-direction:column;display:flex}.ui-empty--sm{padding:var(--space-6) var(--space-4)}.ui-empty--bare{padding:var(--space-6) 0;background:0 0;border:none}.ui-empty--inline{padding:var(--space-2) 0;text-align:left;align-items:flex-start;gap:var(--space-1);background:0 0;border:none}.ui-empty--inline .ui-empty-icon{display:none}.ui-empty--inline .ui-empty-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--fg-default)}.ui-empty--inline .ui-empty-description{font-size:var(--text-xs)}.ui-empty-icon{border-radius:var(--radius-full);background:var(--accent-bg-subtle);width:44px;height:44px;color:var(--accent-fg);justify-content:center;align-items:center;display:inline-flex}.ui-empty-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg-strong);margin:0}.ui-empty-description{font-size:var(--text-base);color:var(--fg-muted);margin:0}.ui-empty-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.ui-stat{gap:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);text-align:left;font:inherit;cursor:pointer;transition:var(--transition-colors), box-shadow var(--dur-fast) var(--ease-standard);flex-direction:column;text-decoration:none;display:flex}.ui-stat:hover{border-color:var(--border-strong);box-shadow:var(--elev-1)}.ui-stat-label{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-caps);display:flex}.ui-stat-value{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.05;font-weight:var(--weight-semibold);color:var(--fg-strong);font-variant-numeric:tabular-nums}.ui-stat--alert .ui-stat-value{color:var(--danger-fg)}.ui-stat--zero .ui-stat-value{color:var(--fg-subtle)}.ui-stat-meta{font-size:var(--text-xs);color:var(--fg-muted)}@media (width>=600px){.ui-stat{padding:var(--space-4) var(--space-5)}}.ui-page-header{align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}@media (width>=600px){.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-flow:wrap}}.ui-page-title{font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--fg-strong);margin:0}.ui-page-lede{font-size:var(--text-base);color:var(--fg-muted);margin:var(--space-1) 0 0;max-width:60ch}@media (width>=600px){.ui-page-title{font-size:var(--text-3xl);line-height:var(--leading-3xl)}}.ui-page-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-page-actions>*{flex:auto}@media (width>=600px){.ui-page-actions>*{flex:none}}.ui-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.ui-toolbar-grow{flex:1;min-width:200px}.ui-table-scroll{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);overflow-x:auto}.ui-table{border-collapse:collapse;width:100%}.ui-table th,.ui-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle);font-size:var(--text-base);vertical-align:top}.ui-table thead th{background:var(--bg-sunken);color:var(--fg-muted);font-weight:var(--weight-semibold);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover td{background:var(--bg-subtle)}.ui-table--compact th,.ui-table--compact td{padding:var(--space-2) var(--space-3)}.ui-table-num{text-align:right;font-variant-numeric:tabular-nums}.ui-table-primary{color:var(--fg-strong);font-weight:var(--weight-semibold);text-decoration:none}.ui-table-primary:hover{color:var(--accent-fg);text-decoration:underline}.ui-table-sub{font-size:var(--text-xs);color:var(--fg-muted);margin-top:2px;display:block}.ui-datalist{gap:var(--space-2);flex-direction:column;display:flex}.ui-datalist-item{align-items:flex-start;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);display:flex}.ui-datalist-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ui-datalist-primary{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);color:var(--fg-strong);font-size:var(--text-md);flex-wrap:wrap;display:flex}.ui-datalist-secondary{font-size:var(--text-base);color:var(--fg-default)}.ui-datalist-meta{font-size:var(--text-xs);color:var(--fg-muted)}.ui-datalist-actions{gap:var(--space-1);flex-shrink:0;display:flex}.ui-overlay{background:var(--bg-scrim);z-index:var(--z-dialog);animation:ui-fade var(--dur-normal) var(--ease-standard);position:fixed;inset:0}.ui-dialog{background:var(--bg-raised);border-radius:var(--radius-xl);width:min(100vw - 2rem,480px);max-height:min(85vh,720px);box-shadow:var(--elev-4);padding:var(--space-6);z-index:var(--z-dialog);animation:ui-pop var(--dur-normal) var(--ease-out);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ui-dialog--sm{width:min(100vw - 2rem,380px)}.ui-dialog--lg{width:min(100vw - 2rem,680px)}.ui-dialog-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--fg-strong);margin:0 var(--space-8) var(--space-4) 0}.ui-dialog-close{top:var(--space-4);right:var(--space-4);position:absolute}.ui-sheet{background:var(--bg-raised);width:min(88vw,320px);box-shadow:var(--elev-4);z-index:var(--z-dialog);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;overflow-y:auto}.ui-sheet--left{animation:ui-slide-left var(--dur-normal) var(--ease-out);left:0}.ui-sheet--right{animation:ui-slide-right var(--dur-normal) var(--ease-out);right:0}.ui-sheet--bottom{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:auto;max-height:85dvh;animation:ui-slide-up var(--dur-normal) var(--ease-out);overscroll-behavior:contain;transition:transform var(--dur-fast) var(--ease-out);inset:auto 0 0}.ui-sheet--bottom.is-dragging{transition:none}.ui-sheet-grip{width:36px;height:4px;margin:var(--space-2) auto var(--space-1);border-radius:var(--radius-full);background:var(--border-strong);flex-shrink:0}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}}@keyframes ui-slide-left{0%{transform:translate(-100%)}}@keyframes ui-slide-right{0%{transform:translate(100%)}}@keyframes ui-slide-up{0%{transform:translateY(100%)}}.ui-menu,.ui-popover{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--elev-3);z-index:var(--z-dropdown);animation:ui-fade var(--dur-fast) var(--ease-standard)}.ui-menu{min-width:200px;padding:var(--space-1)}.ui-popover{padding:0}.ui-menu-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);color:var(--fg-default);text-align:left;cursor:pointer;background:0 0;border:none;outline:none;text-decoration:none;display:flex}.ui-menu-item[data-highlighted]{background:var(--accent-bg-subtle);color:var(--accent-fg)}.ui-menu-item svg{color:var(--fg-subtle);flex-shrink:0}.ui-menu-item[data-highlighted] svg{color:var(--accent-fg)}.ui-menu-separator{background:var(--border-subtle);height:1px;margin:var(--space-1) 0}.ui-menu-label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-subtle);font-weight:var(--weight-semibold)}.ui-tooltip{background:var(--gray-900);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);z-index:var(--z-tooltip);max-width:240px;animation:ui-fade var(--dur-fast) var(--ease-standard)}.ui-tabs-list{gap:var(--space-1);border-bottom:1px solid var(--border-default);scrollbar-width:none;display:flex;overflow-x:auto}.ui-tabs-list::-webkit-scrollbar{display:none}.ui-tab{appearance:none;padding:var(--space-3) var(--space-4);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--fg-muted);cursor:pointer;white-space:nowrap;transition:var(--transition-colors);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.ui-tab:hover{color:var(--fg-strong)}.ui-tab[data-state=active]{color:var(--accent-fg);border-bottom-color:var(--accent-solid)}.ui-section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-muted);margin:0 0 var(--space-3)}@media (prefers-reduced-motion:reduce){.ui-skeleton:after,.ui-spinner,.ui-overlay,.ui-dialog,.ui-sheet,.ui-menu,.ui-popover,.ui-tooltip{animation:none}.ui-sheet--bottom{transition:none}.ui-skeleton:after{display:none}}.ui-switch-row{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex}.ui-switch-row.is-disabled{opacity:.6}.ui-switch-text{min-width:0}.ui-switch-label{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--fg-strong);cursor:pointer;display:block}.ui-switch-description{margin:var(--space-1) 0 0;font-size:var(--text-base);color:var(--fg-muted);max-width:68ch}.ui-switch{border-radius:var(--radius-full);background:var(--gray-300);cursor:pointer;width:42px;height:24px;transition:background-color var(--dur-fast) var(--ease-standard);border:none;flex-shrink:0;padding:0;position:relative}.ui-switch[data-state=checked]{background:var(--accent-solid)}.ui-switch:disabled{cursor:not-allowed}.ui-switch-thumb{border-radius:var(--radius-full);width:18px;height:18px;box-shadow:var(--elev-1);transition:transform var(--dur-fast) var(--ease-standard);will-change:transform;background:#fff;margin-left:3px;display:block}.ui-switch-thumb[data-state=checked]{transform:translate(18px)}.ui-check-row{align-items:flex-start;gap:var(--space-3);display:flex}.ui-check-row.is-disabled{opacity:.6}.ui-check{border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--bg-surface);cursor:pointer;width:18px;height:18px;transition:var(--transition-colors);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0;display:inline-flex}.ui-check:hover:not(:disabled){border-color:var(--accent-solid)}.ui-check[data-state=checked]{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.ui-check-indicator{display:inline-flex}.ui-check-label{font-size:var(--text-base);color:var(--fg-strong);cursor:pointer}.ui-check-description{font-size:var(--text-xs);color:var(--fg-muted);margin:2px 0 0}.ui-check-text--hidden{display:contents}.ui-radio-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.ui-radio-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);text-align:left;cursor:pointer;font:inherit;transition:var(--transition-colors);display:flex}.ui-radio-card:hover{border-color:var(--accent-border)}.ui-radio-card[data-state=checked]{border-color:var(--accent-solid);background:var(--accent-bg-subtle)}.ui-radio-dot{border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--bg-surface);flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:inline-flex}.ui-radio-card[data-state=checked] .ui-radio-dot{border-color:var(--accent-solid)}.ui-radio-indicator{border-radius:var(--radius-full);background:var(--accent-solid);width:9px;height:9px}.ui-radio-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-radio-label{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--fg-strong)}.ui-radio-description{font-size:var(--text-xs);color:var(--fg-muted)}.ui-field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.ui-field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-default)}.ui-field-required{color:var(--danger-fg)}.ui-field-hint{font-size:var(--text-xs);color:var(--fg-muted);margin:0}.ui-field-error{font-size:var(--text-xs);color:var(--danger-fg);margin:0}.ui-input{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;font:inherit;font-size:var(--text-base);color:var(--fg-default);transition:var(--transition-colors);padding:10px 12px}.ui-input::placeholder{color:var(--fg-subtle)}.ui-input:hover:not(:disabled){border-color:var(--border-strong)}.ui-input:focus{border-color:var(--accent-solid)}.ui-input:disabled{background:var(--bg-sunken);color:var(--fg-disabled);cursor:not-allowed}.ui-input.is-invalid{border-color:var(--danger-solid)}.ui-textarea{resize:vertical;min-height:96px}.ui-select-wrap{display:block;position:relative}.ui-select{appearance:none;cursor:pointer;padding-right:34px}.ui-select-chevron{color:var(--fg-subtle);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}@media (width<=560px){.ui-switch-row{gap:var(--space-3);flex-direction:row}}}
