@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes banner-slide-in{0%{opacity:0;transform:translate(-50%)translateY(-140%)}60%{opacity:1;transform:translate(-50%)translateY(6px)}80%{opacity:1;transform:translate(-50%)translateY(-3px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pwa-banner{animation:.55s cubic-bezier(.22,1,.36,1) both banner-slide-in;transform:translate(-50%)}.ui-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}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);isolation:isolate;border:1px solid #0000;outline:none;font-family:inherit;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.ui-btn:focus-visible{box-shadow:0 0 0 2px var(--bg-app), 0 0 0 4px var(--border-focus)}.ui-btn-sm{font-size:var(--text-sm);padding:var(--space-1) var(--space-3);min-height:28px}.ui-btn-md{font-size:var(--text-base);padding:var(--space-2) var(--space-4);min-height:36px}.ui-btn-lg{font-size:var(--text-base);padding:var(--space-3) var(--space-6);min-height:44px}.ui-btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.ui-btn-primary:hover:not(:disabled):not([data-loading=true]){filter:brightness(1.1)}.dark:not(.theme-orange):not(.theme-classic) .ui-btn-primary,[data-theme=dark]:not(.theme-orange):not(.theme-classic) .ui-btn-primary{background:color-mix(in srgb, var(--accent) 70%, #000)}.dark .ui-btn-primary:hover:not(:disabled):not([data-loading=true]),[data-theme=dark] .ui-btn-primary:hover:not(:disabled):not([data-loading=true]){filter:brightness(1.15)}.ui-btn-primary:active:not(:disabled){filter:brightness(.92)}.ui-btn-primary:before{content:"";background:var(--shimmer-gradient);pointer-events:none;z-index:-1;width:75%;height:100%;transition:left .45s cubic-bezier(.25,.46,.45,.94);position:absolute;top:0;left:-100%;transform:skew(-25deg)}.ui-btn-primary:hover:not(:disabled):not([data-loading=true]):before{left:125%}.ui-btn-secondary{background:var(--bg-surface-raised);color:var(--text-primary);border-color:var(--border-default)}.ui-btn-secondary:hover:not(:disabled):not([data-loading=true]){background:var(--bg-surface-sunken);border-color:var(--border-strong)}.ui-btn-secondary:active:not(:disabled){background:var(--bg-surface-sunken)}.ui-btn-ghost{color:var(--text-primary);border-color:var(--border-default);background:0 0}.ui-btn-ghost:hover:not(:disabled):not([data-loading=true]){background:var(--bg-surface-raised)}.ui-btn-ghost:active:not(:disabled){background:var(--bg-surface-sunken)}.ui-btn-danger{background:var(--btn-danger-bg);color:var(--text-on-danger);border-color:#0000}.ui-btn-danger:hover:not(:disabled):not([data-loading=true]),.ui-btn-danger:active:not(:disabled){background:var(--btn-danger-bg-hover)}.ui-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ui-btn[data-loading=true]{pointer-events:none;opacity:.8}.ui-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite ui-spin}.ui-input,.ui-select-control{box-sizing:border-box;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-base);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;outline:none;font-family:inherit}.ui-input::placeholder,.ui-select-control::placeholder{color:var(--text-disabled)}.ui-input:focus-visible,.ui-select-control:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.ui-input[aria-invalid=true]{border-color:var(--danger)}.ui-input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--danger-subtle)}.ui-input:disabled,.ui-select-control:disabled{opacity:.55;cursor:not-allowed;background:var(--bg-surface-raised)}.ui-select-control{padding-right:var(--space-8);cursor:pointer}.ui-toggle-track{border-radius:var(--radius-full);background:var(--border-strong);width:44px;height:24px;transition:background var(--transition-fast);cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.ui-toggle-track[data-checked=true]{background:var(--accent)}.ui-toggle-track[data-disabled=true]{opacity:.45;cursor:not-allowed}.ui-toggle-thumb{width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;left:2px}.ui-toggle-track[data-checked=true] .ui-toggle-thumb{transform:translate(20px)}@media (prefers-reduced-motion:reduce){.ui-toggle-track,.ui-toggle-thumb{transition:none}}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1;display:inline-flex}.ui-badge-sm{font-size:var(--text-xs);padding:3px var(--space-2)}.ui-badge-md{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.ui-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--bg-surface-raised) 25%, var(--bg-surface-sunken) 50%, var(--bg-surface-raised) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite ui-shimmer}@media (prefers-reduced-motion:reduce){.ui-skeleton{background:var(--bg-surface-raised);animation:none}}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.ui-table thead{z-index:1;background:var(--bg-surface-raised);position:sticky;top:0}.ui-table th{padding:var(--space-2) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border-default)}.ui-table td{padding:var(--space-3) var(--space-4);color:var(--text-primary);border-bottom:1px solid var(--border-default);vertical-align:middle}.ui-table tbody tr:hover{background:var(--bg-surface-sunken)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-backdrop{background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);z-index:50;padding:var(--space-4);animation:ui-fade-in var(--transition-base) ease both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);max-height:calc(100vh - var(--space-8));animation:ui-slide-up var(--transition-base) ease both;flex-direction:column;display:flex;position:relative;overflow:hidden}.ui-modal-sm{width:100%;max-width:400px}.ui-modal-md{width:100%;max-width:560px}.ui-modal-lg{width:100%;max-width:720px}.ui-modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ui-modal-body{padding:var(--space-6);flex:1;overflow-y:auto}.ui-modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-default);flex-shrink:0;display:flex}@media (prefers-reduced-motion:reduce){.ui-backdrop,.ui-modal-panel{animation:none}}.ui-breadcrumb{align-items:center;gap:var(--space-1);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.ui-breadcrumb a{color:var(--text-secondary);text-decoration:none}.ui-breadcrumb a:hover{color:var(--text-primary);text-decoration:underline}.ui-breadcrumb-sep{color:var(--text-disabled);-webkit-user-select:none;user-select:none}.ui-breadcrumb-current{color:var(--text-primary);font-weight:var(--font-weight-medium)}.ui-empty{text-align:center;padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.ui-empty--standalone{padding:var(--space-12) var(--space-6)}.ui-card-empty{align-items:center;gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.ui-empty-icon{color:var(--text-disabled);margin-bottom:var(--space-1)}.ui-empty-title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.ui-empty-desc{font-size:var(--text-base);color:var(--text-secondary);max-width:360px;line-height:var(--leading-normal);margin:0}.ui-select-wrapper{display:block;position:relative}.ui-select-chevron{right:var(--space-3);pointer-events:none;color:var(--text-secondary);align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}input[type=range]{appearance:none;background:linear-gradient(to right, color-mix(in srgb, var(--accent) 75%, #000) 0%, color-mix(in srgb, var(--accent) 75%, #000) var(--progress,50%), transparent var(--progress,50%), transparent 100%);cursor:pointer;border-radius:3px;outline:none;height:6px}input[type=range]::-webkit-slider-runnable-track{border-radius:3px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px 4px #0000004d}input[type=range]::-moz-range-track{background:0 0;border-radius:3px;height:6px}input[type=range]::-moz-range-progress{background:color-mix(in srgb, var(--accent) 75%, #000);border-radius:3px;height:6px}input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0000004d}