:root{--u-primary-50: #f0f9ff;--u-primary-100: #e0f2fe;--u-primary-200: #bae6fd;--u-primary-300: #7dd3fc;--u-primary-400: #38bdf8;--u-primary-500: #0ea5e9;--u-primary-600: #0284c7;--u-primary-700: #0369a1;--u-primary-800: #075985;--u-primary-900: #0c4a6e;--u-gray-50: #f9fafb;--u-gray-100: #f3f4f6;--u-gray-200: #e5e7eb;--u-gray-300: #d1d5db;--u-gray-400: #9ca3af;--u-gray-500: #6b7280;--u-gray-600: #4b5563;--u-gray-700: #374151;--u-gray-800: #1f2937;--u-gray-900: #111827;--u-gray-950: #030712;--u-primary: var(--u-primary-500);--u-success: #22c55e;--u-success-light: #86efac;--u-success-dark: #15803d;--u-success-500: #22c55e;--u-success-600: #16a34a;--u-warning: #f59e0b;--u-warning-light: #fcd34d;--u-warning-dark: #b45309;--u-warning-500: #f59e0b;--u-warning-600: #d97706;--u-error: #ef4444;--u-error-light: #fca5a5;--u-error-dark: #dc2626;--u-error-500: #ef4444;--u-error-600: #dc2626;--u-error-700: #b91c1c;--u-info: #0ea5e9;--u-info-light: #7dd3fc;--u-info-dark: #0284c7;--u-ios: #007aff;--u-android: #3ddc84}:root{--u-space-0: 0;--u-space-1: .25rem;--u-space-2: .5rem;--u-space-3: .75rem;--u-space-4: 1rem;--u-space-5: 1.25rem;--u-space-6: 1.5rem;--u-space-8: 2rem;--u-space-10: 2.5rem;--u-space-12: 3rem;--u-space-16: 4rem;--u-space-20: 5rem;--u-space-24: 6rem;--u-container-sm: 640px;--u-container-md: 768px;--u-container-lg: 1024px;--u-container-xl: 1280px;--u-container-2xl: 1536px}:root{--u-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--u-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--u-text-xs: .75rem;--u-text-sm: .875rem;--u-text-base: 1rem;--u-text-lg: 1.125rem;--u-text-xl: 1.25rem;--u-text-2xl: 1.5rem;--u-text-3xl: 1.875rem;--u-text-4xl: 2.25rem;--u-font-light: 300;--u-font-normal: 400;--u-font-medium: 500;--u-font-semibold: 600;--u-font-bold: 700;--u-leading-none: 1;--u-leading-tight: 1.25;--u-leading-snug: 1.375;--u-leading-normal: 1.5;--u-leading-relaxed: 1.625;--u-leading-loose: 2;--u-tracking-tight: -.025em;--u-tracking-normal: 0;--u-tracking-wide: .025em;--u-tracking-wider: .05em}:root{--u-radius-none: 0;--u-radius-sm: .25rem;--u-radius-md: .375rem;--u-radius-lg: .5rem;--u-radius-xl: .75rem;--u-radius-2xl: 1rem;--u-radius-3xl: 1.5rem;--u-radius-full: 9999px;--u-border-0: 0;--u-border-1: 1px;--u-border-2: 2px;--u-border-4: 4px}:root{--u-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--u-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--u-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--u-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--u-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--u-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--u-shadow-primary: 0 4px 14px 0 rgba(14, 165, 233, .3);--u-shadow-primary-lg: 0 10px 40px rgba(14, 165, 233, .15)}:root{--u-transition-fast: .15s ease;--u-transition-base: .2s ease;--u-transition-slow: .3s ease;--u-transition-slower: .5s ease;--u-ease-in: cubic-bezier(.4, 0, 1, 1);--u-ease-out: cubic-bezier(0, 0, .2, 1);--u-ease-in-out: cubic-bezier(.4, 0, .2, 1)}@keyframes u-fade-in{0%{opacity:0}to{opacity:1}}@keyframes u-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes u-fade-in-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes u-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes u-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes u-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes u-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes u-bounce{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.u-animate-fade-in{animation:u-fade-in var(--u-transition-base)}.u-animate-fade-in-up{animation:u-fade-in-up var(--u-transition-slow)}.u-animate-fade-in-down{animation:u-fade-in-down var(--u-transition-slow)}.u-animate-slide-in-right{animation:u-slide-in-right var(--u-transition-slow)}.u-animate-scale-in{animation:u-scale-in var(--u-transition-base)}.u-animate-spin{animation:u-spin 1s linear infinite}.u-animate-pulse{animation:u-pulse 2s ease-in-out infinite}.u-animate-bounce{animation:u-bounce 1s infinite}.u-page{animation:u-fade-in .3s ease}.u-page-slide-up{animation:u-fade-in-up .4s ease both}:root,[data-theme=light]{--u-bg-primary: #f9fafb;--u-bg-secondary: #ffffff;--u-bg-tertiary: #f3f4f6;--u-bg-inverse: #111827;--u-surface: #f9fafb;--u-surface-primary: #ffffff;--u-surface-secondary: #ffffff;--u-surface-tertiary: #f3f4f6;--u-surface-rgb: 249, 250, 251;--u-text-primary: #111827;--u-text-secondary: #4b5563;--u-text-muted: #9ca3af;--u-text-inverse: #ffffff;--u-border: #e5e7eb;--u-border-color: #e5e7eb;--u-border-hover: var(--u-primary-300);--u-border-focus: var(--u-primary-500);--u-hover-bg: rgba(0, 0, 0, .04);--u-active-bg: rgba(0, 0, 0, .08);--u-card-bg: #ffffff;--u-card-border: #e5e7eb;--u-card-shadow: 0 1px 3px rgba(0, 0, 0, .05);--u-card-shadow-hover: 0 10px 40px rgba(14, 165, 233, .1);--u-input-bg: #ffffff;--u-input-border: #d1d5db;--u-input-placeholder: #9ca3af;--u-modal-backdrop: rgba(0, 0, 0, .5);--u-modal-bg: #ffffff;--u-sidebar-bg: #ffffff;--u-sidebar-border: #e5e7eb;--u-sidebar-item-hover: rgba(14, 165, 233, .08);--u-sidebar-item-active: rgba(14, 165, 233, .12);--u-nav-bg: rgba(255, 255, 255, .9);--u-code-bg: #f3f4f6;--u-code-text: var(--u-primary-700);--u-scrollbar-track: #f3f4f6;--u-scrollbar-thumb: #d1d5db;--u-scrollbar-thumb-hover: #9ca3af}[data-theme=dark]{--u-bg-primary: #0f172a;--u-bg-secondary: #1e293b;--u-bg-tertiary: #334155;--u-bg-inverse: #f9fafb;--u-surface: #0f172a;--u-surface-primary: #1e293b;--u-surface-secondary: #1e293b;--u-surface-tertiary: #334155;--u-surface-rgb: 15, 23, 42;--u-text-primary: #f1f5f9;--u-text-secondary: #cbd5e1;--u-text-muted: #64748b;--u-text-inverse: #0f172a;--u-border: #334155;--u-border-color: #334155;--u-border-hover: var(--u-primary-500);--u-border-focus: var(--u-primary-400);--u-hover-bg: rgba(255, 255, 255, .04);--u-active-bg: rgba(255, 255, 255, .08);--u-card-bg: #1e293b;--u-card-border: #334155;--u-card-shadow: 0 1px 3px rgba(0, 0, 0, .3);--u-card-shadow-hover: 0 10px 40px rgba(14, 165, 233, .15);--u-input-bg: #1e293b;--u-input-border: #475569;--u-input-placeholder: #64748b;--u-modal-backdrop: rgba(0, 0, 0, .7);--u-modal-bg: #1e293b;--u-sidebar-bg: #1e293b;--u-sidebar-border: #334155;--u-sidebar-item-hover: rgba(14, 165, 233, .1);--u-sidebar-item-active: rgba(14, 165, 233, .15);--u-nav-bg: rgba(15, 23, 42, .9);--u-code-bg: #334155;--u-code-text: var(--u-primary-400);--u-scrollbar-track: #1e293b;--u-scrollbar-thumb: #475569;--u-scrollbar-thumb-hover: #64748b;--u-primary-500: #38bdf8;--u-primary-600: #0ea5e9}.u-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;border-radius:.5rem;border:1px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;user-select:none;min-height:36px}.u-btn:focus{outline:none;box-shadow:0 0 0 3px #0ea5e926}.u-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.u-btn-primary{background:linear-gradient(135deg,var(--u-primary-500, #0ea5e9),var(--u-primary-600, #0284c7));color:#fff;box-shadow:0 4px 12px #0ea5e940}.u-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e959}.u-btn-primary:active{transform:translateY(0)}.u-btn-secondary{background:var(--u-surface-secondary, #ffffff);color:var(--u-text-primary, #111827);border-color:var(--u-border, #e5e7eb)}.u-btn-secondary:hover:not(:disabled){border-color:var(--u-primary-400, #38bdf8)}[data-theme=dark] .u-btn-secondary{background:var(--u-surface-secondary, #1e293b);color:var(--u-text-primary, #f1f5f9);border-color:var(--u-border, #334155)}.u-btn-danger{background:var(--u-error-600, #dc2626);color:#fff;border-color:var(--u-error-600, #dc2626)}.u-btn-danger:hover:not(:disabled){background:var(--u-error-700, #b91c1c);border-color:var(--u-error-700, #b91c1c)}.u-btn-ghost{background:transparent;color:var(--u-text-secondary, #4b5563)}.u-btn-ghost:hover:not(:disabled){background:var(--u-surface-tertiary, #f3f4f6);color:var(--u-text-primary, #111827)}[data-theme=dark] .u-btn-ghost:hover:not(:disabled){background:var(--u-surface-tertiary, #334155);color:var(--u-text-primary, #f1f5f9)}.u-btn-link{background:transparent;color:var(--u-primary-600, #0284c7);padding:0;border:none;min-height:auto}.u-btn-link:hover:not(:disabled){color:var(--u-primary-700, #0369a1);text-decoration:underline}[data-theme=dark] .u-btn-link{color:var(--u-primary-400, #38bdf8)}[data-theme=dark] .u-btn-link:hover:not(:disabled){color:var(--u-primary-300, #7dd3fc)}.u-btn-icon{padding:.5rem;min-width:36px;min-height:36px}.u-btn-icon svg{width:1rem;height:1rem}.u-btn-sm{padding:.375rem .875rem;font-size:.8125rem;min-height:32px}.u-btn-lg{padding:.75rem 1.5rem;font-size:1rem;min-height:44px}.u-btn-block{width:100%}.u-btn-loading{position:relative;color:transparent!important}.u-btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:u-spin .6s linear infinite}.u-btn-primary.u-btn-loading:after{border-color:#fff;border-right-color:transparent}.u-btn-icon-touch{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--u-text-secondary);background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.u-btn-icon-touch:hover,.u-btn-icon-touch:active{background:var(--u-surface-tertiary);color:var(--u-text-primary)}.u-btn-icon-touch.u-btn-lg{width:48px;height:48px}.u-btn-circle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;color:#fff;background:linear-gradient(135deg,var(--u-primary-500),var(--u-primary-600));border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 4px 12px #0ea5e94d;-webkit-tap-highlight-color:transparent}.u-btn-circle:active:not(:disabled){transform:scale(.95)}.u-btn-circle:disabled{opacity:.7;cursor:wait}.u-btn-circle.u-btn-success{background:linear-gradient(135deg,var(--u-success-500),var(--u-success-600));box-shadow:0 4px 12px #22c55e4d}.u-btn-circle.u-btn-danger{background:linear-gradient(135deg,var(--u-error-500),var(--u-error-600));box-shadow:0 4px 12px #ef44444d}.u-btn-circle.u-btn-android{background:linear-gradient(135deg,var(--u-android, #3DDC84),#2cb062);box-shadow:0 4px 12px #3ddc844d}.u-btn-circle.u-btn-ios{background:linear-gradient(135deg,var(--u-ios, #007AFF),#0056b3);box-shadow:0 4px 12px #007aff4d}@media (max-width: 640px){.u-btn{min-height:44px;padding:.75rem 1.25rem}.u-btn-icon{min-width:44px;min-height:44px}.u-btn-sm{min-height:40px;padding:.5rem 1rem}}.u-card{background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;transition:all .2s ease}.u-card-interactive{cursor:pointer}.u-card-interactive:hover{border-color:var(--u-primary-300);box-shadow:0 10px 40px #0ea5e91a;transform:translateY(-2px)}.u-card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--u-border)}.u-card-body{padding:1.25rem}.u-card-footer{padding:1rem 1.25rem;border-top:1px solid var(--u-border);background:var(--u-surface-tertiary);border-radius:0 0 .75rem .75rem}.u-card-title{font-size:1.125rem;font-weight:600;color:var(--u-text-primary);margin:0 0 .5rem}.u-card-subtitle{font-size:.875rem;color:var(--u-text-secondary);margin:0}.u-card-sm .u-card-body{padding:1rem}.u-card-lg .u-card-body{padding:2rem}.u-card-padded{padding:1.25rem}.u-card-flat{box-shadow:none}.u-card-outlined{box-shadow:none;border-width:2px}@media (max-width: 480px){.u-card-body,.u-card-padded{padding:1rem}}.u-card-featured{border-color:var(--u-primary-500);box-shadow:0 0 0 1px var(--u-primary-500),var(--u-shadow-primary)}.u-card-danger{border-color:#ef44444d;background:#ef444405}[data-theme=dark] .u-card-danger{border-color:#ef444466;background:#ef44440d}.u-input{display:block;width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;line-height:1.5;color:var(--u-text-primary);background-color:var(--u-surface-tertiary);border:1px solid var(--u-border);border-radius:.5rem;transition:all .2s ease;min-height:36px}.u-input::placeholder{color:var(--u-text-muted)}.u-input:hover{background-color:var(--u-surface-secondary);border-color:var(--u-primary-300)}.u-input:focus{outline:none;background-color:var(--u-surface-secondary);border-color:var(--u-primary-400);box-shadow:0 0 0 3px #0ea5e91a}.u-input:disabled{background-color:var(--u-surface-tertiary);color:var(--u-text-muted);cursor:not-allowed}.u-input:-webkit-autofill,.u-input:-webkit-autofill:hover,.u-input:-webkit-autofill:focus,.u-input:-webkit-autofill:active{font-family:inherit!important;-webkit-text-fill-color:var(--u-text-primary);-webkit-box-shadow:0 0 0 1000px var(--u-surface-tertiary) inset;transition:background-color 5000s ease-in-out 0s}.u-input-sm{padding:.375rem .625rem;font-size:.8125rem;min-height:32px}.u-input-lg{padding:.75rem 1rem;font-size:1rem;min-height:44px}.u-input-error{border-color:var(--u-error-500)}.u-input-error:focus{border-color:var(--u-error-500);box-shadow:0 0 0 3px #ef44441a}.u-input-success{border-color:var(--u-success-500)}.u-input-success:focus{box-shadow:0 0 0 3px #22c55e1a}.u-textarea{min-height:100px;resize:vertical}.u-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--u-space-2) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:var(--u-space-8)}.u-input-group{display:flex;align-items:stretch}.u-input-group .u-input{flex:1;border-radius:0}.u-input-group .u-input:first-child{border-radius:var(--u-radius-lg) 0 0 var(--u-radius-lg)}.u-input-group .u-input:last-child{border-radius:0 var(--u-radius-lg) var(--u-radius-lg) 0}.u-input-group .u-btn{border-radius:0}.u-input-group .u-btn:last-child{border-radius:0 var(--u-radius-lg) var(--u-radius-lg) 0}.u-input-icon-wrapper{position:relative;display:block}.u-input-icon-wrapper .u-input{padding-left:var(--u-space-10)}.u-input-icon-wrapper .u-input-icon{position:absolute;left:var(--u-space-3);top:50%;transform:translateY(-50%);color:var(--u-text-muted);pointer-events:none}.u-label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;color:var(--u-text-secondary)}.u-label-required:after{content:" *";color:var(--u-error-500)}.u-helper-text{margin-top:.25rem;font-size:.75rem;color:var(--u-text-muted)}.u-helper-text-error{color:var(--u-error-500)}.u-form-error{font-size:.75rem;color:var(--u-error-500);margin-top:.25rem}.u-form-group{margin-bottom:1rem}.u-form-field{display:flex;flex-direction:column;gap:.375rem}.u-password-wrapper{position:relative}.u-password-wrapper .u-input{padding-right:2.75rem}.u-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--u-text-muted);cursor:pointer;padding:.25rem;transition:color .2s ease}.u-password-toggle:hover{color:var(--u-text-primary)}.u-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none;min-height:24px}.u-checkbox input{position:absolute;opacity:0;width:0;height:0}.u-checkbox-mark{width:16px;height:16px;border:1px solid var(--u-border);border-radius:3px;background:var(--u-surface-tertiary);position:relative;flex-shrink:0;transition:all .15s ease}.u-checkbox-mark:after{content:"";position:absolute;left:53%;top:46%;width:4px;height:7px;border:solid white;border-width:0 1.5px 1.5px 0;transform:translate(-50%,-50%) rotate(45deg);opacity:0;transition:opacity .15s ease}.u-checkbox input:checked+.u-checkbox-mark{background:var(--u-primary-500);border-color:var(--u-primary-500)}.u-checkbox input:checked+.u-checkbox-mark:after{opacity:1}.u-checkbox input:focus-visible+.u-checkbox-mark{box-shadow:0 0 0 2px #0ea5e933}.u-checkbox:hover .u-checkbox-mark{border-color:var(--u-primary-400)}.u-checkbox-label{font-size:.8125rem;color:var(--u-text-secondary)}@media (max-width: 640px){.u-input{min-height:44px;padding:.75rem 1rem}.u-input-sm{min-height:40px;padding:.5rem .875rem}.u-password-wrapper .u-input{padding-right:3rem}.u-password-toggle{padding:.5rem;right:.5rem}.u-checkbox{min-height:44px;gap:.75rem}.u-checkbox-mark{width:20px;height:20px;border-radius:4px}.u-checkbox-mark:after{width:5px;height:9px}.u-checkbox-label{font-size:.875rem}}.u-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-family:inherit;font-size:.75rem;font-weight:500;line-height:1;border-radius:9999px;white-space:nowrap}.u-badge-neutral{background-color:var(--u-bg-tertiary);color:var(--u-text-secondary)}.u-badge-primary{background-color:#0ea5e926;color:var(--u-primary-700)}[data-theme=dark] .u-badge-primary{background-color:#38bdf826;color:var(--u-primary-400)}.u-badge-success{background-color:#22c55e26;color:var(--u-success-dark)}[data-theme=dark] .u-badge-success{background-color:#22c55e33;color:var(--u-success-light)}.u-badge-warning{background-color:#f59e0b26;color:var(--u-warning-dark)}[data-theme=dark] .u-badge-warning{background-color:#f59e0b33;color:var(--u-warning-light)}.u-badge-error{background-color:#ef444426;color:var(--u-error-dark)}[data-theme=dark] .u-badge-error{background-color:#ef444433;color:var(--u-error-light)}.u-badge-info{background-color:#0ea5e926;color:var(--u-info-dark)}[data-theme=dark] .u-badge-info{background-color:#0ea5e933;color:var(--u-info-light)}.u-badge-ios{background-color:#007aff26;color:var(--u-ios)}.u-badge-android{background-color:#3ddc8426;color:var(--u-android)}.u-badge-sm{padding:2px var(--u-space-1);font-size:.625rem}.u-badge-lg{padding:var(--u-space-2) var(--u-space-3);font-size:var(--u-text-sm)}.u-badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.u-badge-pill{padding:var(--u-space-1) var(--u-space-3);border-radius:var(--u-radius-lg)}.u-badge-outlined{background-color:transparent;border:1px solid currentColor}.u-modal-backdrop{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:u-modal-fade-in .2s ease}[data-theme=dark] .u-modal-backdrop{background-color:#000000b3}@keyframes u-modal-fade-in{0%{opacity:0}to{opacity:1}}.u-modal{background:var(--u-surface-secondary, #ffffff);border:1px solid var(--u-border, #e5e7eb);border-radius:.75rem;box-shadow:0 20px 60px #00000026;max-width:500px;width:100%;max-height:calc(100vh - 2rem);overflow:hidden;display:flex;flex-direction:column;animation:u-modal-scale-in .2s ease}[data-theme=dark] .u-modal{background:var(--u-surface-secondary, #1e293b);border-color:var(--u-border, #334155);box-shadow:0 20px 60px #0006}@keyframes u-modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.u-modal-sm{max-width:400px}.u-modal-lg{max-width:700px}.u-modal-xl{max-width:900px}.u-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--u-border, #e5e7eb)}.u-modal-title{font-size:1.125rem;font-weight:600;color:var(--u-text-primary, #111827);margin:0}.u-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:.375rem;color:var(--u-text-muted, #9ca3af);cursor:pointer;transition:all .2s ease}.u-modal-close:hover{background:var(--u-surface-tertiary, #f3f4f6);color:var(--u-text-primary, #111827)}[data-theme=dark] .u-modal-close:hover{background:var(--u-surface-tertiary, #334155);color:var(--u-text-primary, #f1f5f9)}.u-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.u-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--u-border, #e5e7eb);background:var(--u-surface-tertiary, #f3f4f6)}[data-theme=dark] .u-modal-footer{background:var(--u-surface-tertiary, #334155);border-color:var(--u-border, #334155)}.u-confirm-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 1.25rem;border-radius:50%}.u-confirm-icon-warning{background:#f59e0b1f;color:#f59e0b}.u-confirm-icon-danger{background:#ef44441f;color:#ef4444}.u-confirm-icon-success{background:#22c55e1f;color:#22c55e}.u-confirm-title{font-size:1.125rem;font-weight:600;text-align:center;color:var(--u-text-primary, #111827);margin:0 0 .5rem}.u-confirm-message{font-size:.875rem;text-align:center;color:var(--u-text-secondary, #4b5563);margin:0;line-height:1.5}.u-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--u-border-color);border-top-color:var(--u-primary-500);border-radius:50%;animation:u-spin .6s linear infinite}.u-spinner-xs{width:12px;height:12px;border-width:1.5px}.u-spinner-sm{width:16px;height:16px;border-width:2px}.u-spinner-lg{width:32px;height:32px;border-width:3px}.u-spinner-xl{width:48px;height:48px;border-width:4px}.u-spinner-primary{border-top-color:var(--u-primary-500)}.u-spinner-white{border-color:#ffffff4d;border-top-color:#fff}.u-spinner-dark{border-color:#0000001a;border-top-color:var(--u-text-primary)}.u-loader-overlay{position:fixed;inset:0;background:var(--u-modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:9999}.u-loader-content{display:flex;flex-direction:column;align-items:center;gap:var(--u-space-4)}.u-loader-text{font-size:var(--u-text-sm);color:var(--u-text-secondary)}.u-skeleton{background:linear-gradient(90deg,var(--u-surface-tertiary) 25%,var(--u-surface-secondary) 50%,var(--u-surface-tertiary) 75%);background-size:200% 100%;animation:u-skeleton-shimmer 1.5s infinite;border-radius:.375rem}@keyframes u-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.u-skeleton-title{height:1.25rem;width:70%}.u-skeleton-text{height:.875rem;width:50%}.u-skeleton-text:last-child{width:80%}.u-skeleton-avatar{width:40px;height:40px;border-radius:50%}.u-skeleton-card{height:120px}.u-skeleton-button{height:36px;width:100px}.u-toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:400px;width:calc(100% - 3rem)}@media (max-width: 640px){.u-toast-container{left:1rem;right:1rem;bottom:1rem;width:auto;max-width:none}}.u-toast{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;box-shadow:0 10px 40px #00000026;animation:u-toast-slide-in .3s ease}[data-theme=dark] .u-toast{box-shadow:0 10px 40px #0006}@keyframes u-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.u-toast-icon{flex-shrink:0;width:20px;height:20px;margin-top:.125rem}.u-toast-content{flex:1;min-width:0}.u-toast-title{font-size:.875rem;font-weight:600;color:var(--u-text-primary);margin:0 0 .25rem;line-height:1.4}.u-toast-message{font-size:.8125rem;color:var(--u-text-secondary);margin:0;line-height:1.5}.u-toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:.375rem;color:var(--u-text-muted);cursor:pointer;transition:all .2s ease;margin:-.25rem -.25rem -.25rem 0}.u-toast-close:hover{background:var(--u-surface-tertiary);color:var(--u-text-primary)}.u-toast-success{border-left:3px solid var(--u-success-500, #22c55e)}.u-toast-success .u-toast-icon{color:var(--u-success-500, #22c55e)}.u-toast-error{border-left:3px solid var(--u-error-500, #ef4444)}.u-toast-error .u-toast-icon{color:var(--u-error-500, #ef4444)}.u-toast-warning{border-left:3px solid var(--u-warning-500, #f59e0b)}.u-toast-warning .u-toast-icon{color:var(--u-warning-500, #f59e0b)}.u-toast-info{border-left:3px solid var(--u-primary-500)}.u-toast-info .u-toast-icon{color:var(--u-primary-500)}.u-toast-exit{animation:u-toast-exit .2s ease forwards}@keyframes u-toast-exit{to{opacity:0;transform:translate(100%)}}.u-toast-container--pwa{left:1rem;right:1rem;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));width:auto;max-width:none;align-items:center;pointer-events:none}.u-toast-container--pwa .u-toast{animation:u-toast-slide-up .3s ease;pointer-events:auto}@keyframes u-toast-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.u-toast-container--pwa .u-toast-exit{animation:u-toast-slide-down .2s ease forwards}@keyframes u-toast-slide-down{to{opacity:0;transform:translateY(20px)}}.u-table-wrapper{overflow-x:auto;border:1px solid var(--u-border-color);border-radius:var(--u-radius-xl);background:var(--u-card-bg)}.u-table{width:100%;border-collapse:collapse;font-size:var(--u-text-sm)}.u-table th,.u-table td{padding:var(--u-space-3) var(--u-space-4);text-align:left;border-bottom:1px solid var(--u-border-color)}.u-table th{font-weight:var(--u-font-semibold);color:var(--u-text-primary);background:var(--u-bg-tertiary);white-space:nowrap}.u-table tbody tr:last-child td{border-bottom:none}.u-table tbody tr:hover{background:var(--u-hover-bg)}.u-table-clickable tbody tr{cursor:pointer;transition:background-color var(--u-transition-fast)}.u-table-clickable tbody tr:active{background:var(--u-active-bg)}.u-table-striped tbody tr:nth-child(2n){background:var(--u-bg-tertiary)}.u-table-striped tbody tr:nth-child(2n):hover{background:var(--u-hover-bg)}.u-table-compact th,.u-table-compact td{padding:var(--u-space-2) var(--u-space-3)}.u-table-center{text-align:center}.u-table-right{text-align:right}.u-table-empty{text-align:center;padding:var(--u-space-12) var(--u-space-4);color:var(--u-text-muted)}.u-table-actions{width:1%;white-space:nowrap}.u-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.u-empty-state-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:1rem;background:var(--u-surface-tertiary);border-radius:50%;color:var(--u-text-muted)}.u-empty-state-icon svg,.u-empty-state-icon i{width:32px;height:32px;font-size:1.5rem}.u-empty-state-icon:not(:has(svg)):not(:has(i)){font-size:2rem;background:transparent}.u-empty-state-icon-emoji{font-size:2rem;background:transparent}.u-empty-state-title{font-size:1.125rem;font-weight:600;color:var(--u-text-primary);margin:0 0 .5rem}.u-empty-state-description{font-size:.875rem;color:var(--u-text-secondary);max-width:400px;margin:0 0 1.5rem}.u-empty-state-actions{display:flex;gap:.75rem}.u-empty-state-compact{padding:2rem 1.5rem}.u-empty-state-compact .u-empty-state-icon{width:48px;height:48px}.u-empty-state-compact .u-empty-state-icon svg,.u-empty-state-compact .u-empty-state-icon i{width:20px;height:20px;font-size:1.25rem}.u-empty-state-compact .u-empty-state-icon:not(:has(svg)):not(:has(i)),.u-empty-state-compact .u-empty-state-icon-emoji{font-size:1.5rem}.u-empty-state-compact .u-empty-state-title{font-size:.9375rem}.u-empty-state-compact .u-empty-state-description{font-size:.8125rem;max-width:300px;margin-bottom:1rem}.u-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--u-space-6);background:var(--u-nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--u-border-color)}.u-header-logo{display:flex;align-items:center;gap:var(--u-space-3);text-decoration:none;color:var(--u-text-primary)}.u-header-logo-icon{width:32px;height:32px}.u-header-logo-text{font-size:var(--u-text-xl);font-weight:var(--u-font-bold);background:linear-gradient(135deg,var(--u-primary-600),var(--u-primary-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.u-header-nav{display:flex;align-items:center;gap:var(--u-space-6);list-style:none;margin:0;padding:0}.u-header-nav a{font-size:var(--u-text-sm);font-weight:var(--u-font-medium);color:var(--u-text-secondary);text-decoration:none;transition:color var(--u-transition-fast)}.u-header-nav a:hover,.u-header-nav a.active{color:var(--u-primary-500)}.u-header-actions{display:flex;align-items:center;gap:var(--u-space-3)}@media (max-width: 768px){.u-header{padding:0 var(--u-space-4)}.u-header-nav{display:none}}.u-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.u-page-header-content{flex:1;min-width:200px}.u-page-title{font-size:2rem;font-weight:700;color:var(--u-text-primary);margin:0 0 .5rem;line-height:1.2}.u-page-subtitle{font-size:1rem;color:var(--u-text-secondary);margin:0}.u-page-header-actions{display:flex;gap:.75rem;flex-shrink:0;position:relative;z-index:1}.u-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--u-text-muted);margin-bottom:.5rem}.u-breadcrumb a{color:var(--u-text-secondary);text-decoration:none;transition:color .2s ease}.u-breadcrumb a:hover{color:var(--u-primary-500)}.u-breadcrumb-separator{color:var(--u-text-muted)}.u-breadcrumb-current{color:var(--u-text-primary);font-weight:500}.u-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--u-text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;transition:all .2s ease}.u-back-link i,.u-back-link svg{font-size:.75rem;width:.75rem;height:.75rem;transition:transform .2s ease}.u-back-link:hover{color:var(--u-primary-500)}.u-back-link:hover i,.u-back-link:hover svg{transform:translate(-3px)}.u-section{margin-bottom:2rem}.u-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.u-section-title{font-size:1.125rem;font-weight:600;color:var(--u-text-primary);margin:0}.u-section-title-danger{color:var(--u-error-600)}.u-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;background:var(--u-surface-tertiary);border-radius:9999px;font-size:.75rem;font-weight:600;color:var(--u-text-secondary)}.u-error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.75rem;color:var(--u-error-600);font-size:.875rem}[data-theme=dark] .u-error-banner{background:#ef444426;color:var(--u-error-light)}.u-success-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:.75rem;color:var(--u-success-dark);font-size:.875rem}[data-theme=dark] .u-success-banner{background:#22c55e26;color:var(--u-success-light)}.u-info-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#0ea5e914;border:1px solid rgba(14,165,233,.2);border-radius:.5rem;font-size:.8125rem;color:var(--u-primary-600);line-height:1.5}.u-info-banner i,.u-info-banner svg{flex-shrink:0;margin-top:.125rem}[data-theme=dark] .u-info-banner{background:#0ea5e91a;border-color:#0ea5e940;color:var(--u-primary-400)}@media (max-width: 640px){.u-page-header{flex-direction:column;align-items:stretch}.u-page-header-actions{width:100%;flex-wrap:wrap}.u-page-header-actions .u-btn{flex:1;justify-content:center}.u-page-title{font-size:1.5rem}}.u-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;display:flex;flex-direction:column;background:var(--u-sidebar-bg);border-right:1px solid var(--u-sidebar-border);z-index:50;transition:transform var(--u-transition-slow)}.u-sidebar-collapsed{width:72px}.u-sidebar-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--u-space-4);border-bottom:1px solid var(--u-sidebar-border)}.u-sidebar-logo{display:flex;align-items:center;gap:var(--u-space-3);text-decoration:none}.u-sidebar-collapsed .u-sidebar-logo-text{display:none}.u-sidebar-nav{flex:1;padding:var(--u-space-4);overflow-y:auto}.u-sidebar-nav-group{margin-bottom:var(--u-space-6)}.u-sidebar-nav-title{font-size:var(--u-text-xs);font-weight:var(--u-font-semibold);color:var(--u-text-muted);text-transform:uppercase;letter-spacing:var(--u-tracking-wider);padding:0 var(--u-space-3);margin-bottom:var(--u-space-2)}.u-sidebar-collapsed .u-sidebar-nav-title{display:none}.u-sidebar-item{display:flex;align-items:center;gap:var(--u-space-3);padding:var(--u-space-2) var(--u-space-3);font-size:var(--u-text-sm);color:var(--u-text-secondary);text-decoration:none;border-radius:var(--u-radius-lg);transition:all var(--u-transition-fast);margin-bottom:var(--u-space-1)}.u-sidebar-item:hover{background:var(--u-sidebar-item-hover);color:var(--u-text-primary)}.u-sidebar-item.active{background:var(--u-sidebar-item-active);color:var(--u-primary-600)}[data-theme=dark] .u-sidebar-item.active{color:var(--u-primary-400)}.u-sidebar-item-icon{width:20px;height:20px;flex-shrink:0}.u-sidebar-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.u-sidebar-collapsed .u-sidebar-item-text{display:none}.u-sidebar-collapsed .u-sidebar-item{justify-content:center;padding:var(--u-space-3)}.u-sidebar-footer{padding:var(--u-space-4);border-top:1px solid var(--u-sidebar-border)}.u-main-with-sidebar{margin-left:260px;min-height:100vh;transition:margin-left var(--u-transition-slow)}.u-sidebar-collapsed+.u-main-with-sidebar{margin-left:72px}@media (max-width: 1024px){.u-sidebar{transform:translate(-100%)}.u-sidebar.open{transform:translate(0)}.u-main-with-sidebar{margin-left:0}.u-sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:40;opacity:0;visibility:hidden;transition:all var(--u-transition-base)}.u-sidebar.open+.u-sidebar-overlay{opacity:1;visibility:visible}}.u-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:none;align-items:center;justify-content:space-around;height:64px;background:var(--u-nav-bg);backdrop-filter:blur(12px);border-top:1px solid var(--u-border-color);z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}@media (max-width: 1024px){.u-bottom-nav{display:flex}}.u-bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--u-space-1);padding:var(--u-space-2);color:var(--u-text-muted);text-decoration:none;font-size:var(--u-text-xs);transition:color var(--u-transition-fast)}.u-bottom-nav-item:hover,.u-bottom-nav-item.active{color:var(--u-primary-500)}.u-bottom-nav-item svg{width:24px;height:24px}.u-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--u-radius-md, .5rem);font-size:.8125rem;line-height:1.4}.u-banner-info{background:#0ea5e914;border:1px solid rgba(14,165,233,.2);color:var(--u-primary-600)}[data-theme=dark] .u-banner-info{background:#38bdf81a;border-color:#38bdf833;color:var(--u-primary-400)}.u-banner-muted{background:var(--u-surface-tertiary);border:1px solid var(--u-border);color:var(--u-text-secondary)}.u-banner-success{background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:var(--u-success-dark, #16a34a)}[data-theme=dark] .u-banner-success{background:#22c55e1a;border-color:#22c55e40;color:var(--u-success-light, #4ade80)}.u-banner-warning{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);color:var(--u-warning-dark, #d97706)}[data-theme=dark] .u-banner-warning{background:#f59e0b1a;border-color:#f59e0b40;color:var(--u-warning-light, #fbbf24)}.u-banner-error{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--u-error-dark, #dc2626)}[data-theme=dark] .u-banner-error{background:#ef44441a;border-color:#ef444440;color:var(--u-error-light, #f87171)}.u-banner-sm{padding:.5rem .75rem;font-size:.75rem;gap:.375rem}.u-banner-lg{padding:1rem 1.25rem;font-size:.875rem;gap:.625rem}.u-banner>i:first-child,.u-banner>.pi:first-child{flex-shrink:0;font-size:1em}.u-file-upload{position:relative;border:2px dashed var(--u-border);border-radius:var(--u-radius-lg, .75rem);padding:1rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.u-file-upload:hover:not(.u-file-upload--disabled){border-color:var(--u-primary-400);background-color:#0ea5e905}[data-theme=dark] .u-file-upload:hover:not(.u-file-upload--disabled){background-color:#38bdf808}.u-file-upload--disabled{cursor:not-allowed;opacity:.6}.u-file-upload--lg{padding:2rem}.u-file-upload--lg .u-file-upload__content{flex-direction:column;gap:.75rem}.u-file-upload--lg .u-file-upload__icon{font-size:3rem}.u-file-upload__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.u-file-upload__input:disabled{cursor:not-allowed}.u-file-upload__content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;padding:.25rem;pointer-events:none}.u-file-upload__icon{font-size:1.75rem;color:var(--u-primary-500)}.u-file-upload__title{font-size:.9375rem;font-weight:600;color:var(--u-text-primary)}.u-file-upload__subtitle{font-size:.8125rem;color:var(--u-text-muted)}.u-file-upload__selected{display:flex;align-items:center;justify-content:space-between;padding:1rem;pointer-events:none}.u-file-upload__selected-info{overflow:hidden;text-align:left}.u-file-upload__selected-name{font-weight:600;color:var(--u-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.u-file-upload__selected-size{font-size:.8125rem;color:var(--u-text-secondary);margin-top:.25rem}.u-file-upload__selected-check{font-size:1.5rem;color:var(--u-success-500, #22c55e)}@media (max-width: 480px){.u-file-upload{padding:.875rem 1rem;border-radius:var(--u-radius-md, .5rem)}.u-file-upload__content{gap:.625rem;padding:0}.u-file-upload__icon{font-size:1.5rem}.u-file-upload__title{font-size:.875rem}.u-file-upload__subtitle{display:none}}.u-progress{width:100%;height:8px;background-color:var(--u-surface-tertiary);border-radius:4px;overflow:hidden}.u-progress__bar{height:100%;background:linear-gradient(90deg,var(--u-primary-500),var(--u-primary-400));transition:width .2s ease}.u-progress--sm{height:4px}.u-progress--lg{height:12px;border-radius:6px}.u-progress--success .u-progress__bar{background:linear-gradient(90deg,var(--u-success-500, #22c55e),var(--u-success-400, #4ade80))}.u-progress--warning .u-progress__bar{background:linear-gradient(90deg,var(--u-warning-500, #f59e0b),var(--u-warning-400, #fbbf24))}.u-progress--error .u-progress__bar{background:linear-gradient(90deg,var(--u-error-500, #ef4444),var(--u-error-400, #f87171))}.u-progress--indeterminate .u-progress__bar{width:30%!important;animation:u-progress-indeterminate 1.5s ease-in-out infinite}@keyframes u-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.u-progress-wrapper{display:flex;flex-direction:column;gap:.5rem}.u-progress-header{display:flex;justify-content:space-between;align-items:center}.u-progress-label{font-size:.8125rem;font-weight:500;color:var(--u-text-secondary)}.u-progress-value{font-size:.8125rem;font-weight:600;color:var(--u-text-primary)}.u-progress-row{display:flex;align-items:center;gap:.75rem;width:100%}.u-progress-row .u-progress{flex:1}.u-dropdown{position:relative;display:inline-block}.u-dropdown__trigger{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;min-height:36px;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--u-text-secondary);background:var(--u-surface-tertiary);border:1px solid var(--u-border);border-radius:var(--u-radius-md, .5rem);cursor:pointer;white-space:nowrap;transition:all .15s ease}.u-dropdown__trigger:hover{background:var(--u-surface-primary);color:var(--u-text-primary)}.u-dropdown__chevron{font-size:.625rem;opacity:.6;margin-left:.25rem}.u-dropdown__overlay{position:fixed;inset:0;z-index:10}.u-dropdown__menu{position:absolute;top:calc(100% + .25rem);left:0;min-width:160px;padding:.25rem;background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:var(--u-radius-md, .5rem);box-shadow:0 4px 12px #00000026;z-index:11}[data-theme=dark] .u-dropdown__menu{box-shadow:0 4px 12px #0006}.u-dropdown__menu--right{left:auto;right:0}.u-dropdown__menu--top{top:auto;bottom:calc(100% + .25rem)}.u-dropdown__option{display:block;width:100%;padding:.625rem .75rem;font-size:.8125rem;font-family:inherit;color:var(--u-text-secondary);background:transparent;border:none;border-radius:var(--u-radius-sm, .375rem);text-align:left;cursor:pointer;transition:all .15s ease}.u-dropdown__option:hover{background:var(--u-surface-tertiary);color:var(--u-text-primary)}.u-dropdown__option--active,.u-dropdown__option.active{color:var(--u-primary-500);background:#0ea5e91a}.u-dropdown__option--disabled{opacity:.5;cursor:not-allowed}.u-dropdown__option--disabled:hover{background:transparent;color:var(--u-text-secondary)}.u-dropdown__divider{height:1px;margin:.25rem 0;background:var(--u-border)}.u-dropdown__header{padding:.5rem .75rem .375rem;font-size:.6875rem;font-weight:600;color:var(--u-text-muted);text-transform:uppercase;letter-spacing:.05em}@media (max-width: 480px){.u-dropdown__trigger span{display:none}.u-dropdown__trigger{padding:.5rem;min-width:36px;justify-content:center}.u-dropdown__chevron{display:none}}.u-search{position:relative;display:flex;align-items:center;min-width:0}.u-search__icon{position:absolute;left:.75rem;font-size:.875rem;color:var(--u-text-muted);pointer-events:none}.u-search__input{width:100%;padding:.5rem 2rem .5rem 2.25rem;min-height:36px;font-size:.8125rem;font-family:inherit;color:var(--u-text-primary);background:var(--u-surface-tertiary);border:1px solid var(--u-border);border-radius:var(--u-radius-md, .5rem);outline:none;transition:all .2s ease}.u-search__input:focus{border-color:var(--u-primary-500);box-shadow:0 0 0 3px #0ea5e91a}[data-theme=dark] .u-search__input:focus{box-shadow:0 0 0 3px #38bdf826}.u-search__input::placeholder{color:var(--u-text-muted)}.u-search__clear{position:absolute;right:.25rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--u-text-muted);background:transparent;border:none;border-radius:var(--u-radius-sm, .375rem);cursor:pointer;transition:all .15s ease}.u-search__clear:hover{background:var(--u-surface-primary);color:var(--u-text-primary)}.u-search__clear i,.u-search__clear .pi{font-size:.75rem}.u-search--sm .u-search__input{padding:.375rem 1.75rem .375rem 2rem;min-height:32px;font-size:.75rem}.u-search--sm .u-search__icon{left:.625rem;font-size:.75rem}.u-search--sm .u-search__clear{width:24px;height:24px}.u-search--lg .u-search__input{padding:.625rem 2.5rem .625rem 2.75rem;min-height:44px;font-size:.9375rem}.u-search--lg .u-search__icon{left:1rem;font-size:1rem}.u-search--lg .u-search__clear{right:.5rem;width:32px;height:32px}.u-search--full{flex:1;width:100%}.u-search--pwa .u-search__input{padding:.625rem 2.5rem;min-height:40px;font-size:.875rem;background:var(--u-surface-secondary);border-radius:.5rem}.u-search--pwa .u-search__icon{left:.75rem}.u-search--pwa .u-search__clear{right:.25rem;width:32px;height:32px;-webkit-tap-highlight-color:transparent}.u-search--pwa .u-search__clear:active{background:var(--u-surface-tertiary);color:var(--u-text-secondary)}.u-toggle{position:relative;display:inline-block;width:52px;height:32px;flex-shrink:0}.u-toggle input{opacity:0;width:0;height:0;position:absolute}.u-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--u-surface-tertiary);border-radius:32px;transition:background-color .2s ease}.u-toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 4px #0003}.u-toggle input:checked+.u-toggle-slider{background-color:var(--u-primary-500)}.u-toggle input:checked+.u-toggle-slider:before{transform:translate(20px)}.u-toggle input:disabled+.u-toggle-slider{opacity:.5;cursor:not-allowed}.u-toggle input:focus-visible+.u-toggle-slider{outline:2px solid var(--u-primary-400);outline-offset:2px}.u-toggle--sm{width:40px;height:24px}.u-toggle--sm .u-toggle-slider:before{height:18px;width:18px;left:3px;bottom:3px}.u-toggle--sm input:checked+.u-toggle-slider:before{transform:translate(16px)}.u-toggle--success input:checked+.u-toggle-slider{background-color:var(--u-success-500)}.u-toggle--warning input:checked+.u-toggle-slider{background-color:var(--u-warning-500)}.u-toggle--error input:checked+.u-toggle-slider{background-color:var(--u-error-500)}.u-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.u-toggle-label{flex:1;min-width:0}.u-toggle-title{font-size:.9375rem;font-weight:500;color:var(--u-text-primary)}.u-toggle-description{font-size:.8125rem;color:var(--u-text-secondary);margin-top:.125rem}.u-block{display:block}.u-inline-block{display:inline-block}.u-inline{display:inline}.u-flex{display:flex}.u-inline-flex{display:inline-flex}.u-grid{display:grid}.u-hidden{display:none}.u-flex-row{flex-direction:row}.u-flex-row-reverse{flex-direction:row-reverse}.u-flex-col{flex-direction:column}.u-flex-col-reverse{flex-direction:column-reverse}.u-flex-wrap{flex-wrap:wrap}.u-flex-nowrap{flex-wrap:nowrap}.u-justify-start{justify-content:flex-start}.u-justify-end{justify-content:flex-end}.u-justify-center{justify-content:center}.u-justify-between{justify-content:space-between}.u-justify-around{justify-content:space-around}.u-justify-evenly{justify-content:space-evenly}.u-items-start{align-items:flex-start}.u-items-end{align-items:flex-end}.u-items-center{align-items:center}.u-items-baseline{align-items:baseline}.u-items-stretch{align-items:stretch}.u-self-start{align-self:flex-start}.u-self-end{align-self:flex-end}.u-self-center{align-self:center}.u-self-stretch{align-self:stretch}.u-flex-1{flex:1 1 0%}.u-flex-auto{flex:1 1 auto}.u-flex-initial{flex:0 1 auto}.u-flex-none{flex:none}.u-flex-shrink-0{flex-shrink:0}.u-flex-grow{flex-grow:1}.u-gap-0{gap:0}.u-gap-1{gap:var(--u-space-1)}.u-gap-2{gap:var(--u-space-2)}.u-gap-3{gap:var(--u-space-3)}.u-gap-4{gap:var(--u-space-4)}.u-gap-5{gap:var(--u-space-5)}.u-gap-6{gap:var(--u-space-6)}.u-gap-8{gap:var(--u-space-8)}.u-gap-10{gap:var(--u-space-10)}.u-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.u-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.u-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.u-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.u-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.u-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.u-relative{position:relative}.u-absolute{position:absolute}.u-fixed{position:fixed}.u-sticky{position:sticky}.u-inset-0{inset:0}.u-top-0{top:0}.u-right-0{right:0}.u-bottom-0{bottom:0}.u-left-0{left:0}.u-z-0{z-index:0}.u-z-10{z-index:10}.u-z-20{z-index:20}.u-z-30{z-index:30}.u-z-40{z-index:40}.u-z-50{z-index:50}.u-z-auto{z-index:auto}.u-w-full{width:100%}.u-w-auto{width:auto}.u-w-screen{width:100vw}.u-max-w-sm{max-width:var(--u-container-sm)}.u-max-w-md{max-width:var(--u-container-md)}.u-max-w-lg{max-width:var(--u-container-lg)}.u-max-w-xl{max-width:var(--u-container-xl)}.u-max-w-2xl{max-width:var(--u-container-2xl)}.u-max-w-full{max-width:100%}.u-min-w-0{min-width:0}.u-h-full{height:100%}.u-h-screen{height:100vh}.u-h-auto{height:auto}.u-min-h-screen{min-height:100vh}.u-overflow-auto{overflow:auto}.u-overflow-hidden{overflow:hidden}.u-overflow-visible{overflow:visible}.u-overflow-scroll{overflow:scroll}.u-overflow-x-auto{overflow-x:auto}.u-overflow-y-auto{overflow-y:auto}.u-container{width:100%;max-width:var(--u-container-xl);margin-left:auto;margin-right:auto;padding-left:var(--u-space-4);padding-right:var(--u-space-4)}@media (min-width: 640px){.u-container{padding-left:var(--u-space-6);padding-right:var(--u-space-6)}}@media (min-width: 1024px){.u-container{padding-left:var(--u-space-8);padding-right:var(--u-space-8)}}.u-m-0{margin:0}.u-m-1{margin:var(--u-space-1)}.u-m-2{margin:var(--u-space-2)}.u-m-3{margin:var(--u-space-3)}.u-m-4{margin:var(--u-space-4)}.u-m-6{margin:var(--u-space-6)}.u-m-8{margin:var(--u-space-8)}.u-m-auto{margin:auto}.u-mx-0{margin-left:0;margin-right:0}.u-mx-2{margin-left:var(--u-space-2);margin-right:var(--u-space-2)}.u-mx-4{margin-left:var(--u-space-4);margin-right:var(--u-space-4)}.u-mx-6{margin-left:var(--u-space-6);margin-right:var(--u-space-6)}.u-mx-auto{margin-left:auto;margin-right:auto}.u-my-0{margin-top:0;margin-bottom:0}.u-my-2{margin-top:var(--u-space-2);margin-bottom:var(--u-space-2)}.u-my-4{margin-top:var(--u-space-4);margin-bottom:var(--u-space-4)}.u-my-6{margin-top:var(--u-space-6);margin-bottom:var(--u-space-6)}.u-my-8{margin-top:var(--u-space-8);margin-bottom:var(--u-space-8)}.u-mt-0{margin-top:0}.u-mt-1{margin-top:var(--u-space-1)}.u-mt-2{margin-top:var(--u-space-2)}.u-mt-3{margin-top:var(--u-space-3)}.u-mt-4{margin-top:var(--u-space-4)}.u-mt-6{margin-top:var(--u-space-6)}.u-mt-8{margin-top:var(--u-space-8)}.u-mb-0{margin-bottom:0}.u-mb-1{margin-bottom:var(--u-space-1)}.u-mb-2{margin-bottom:var(--u-space-2)}.u-mb-3{margin-bottom:var(--u-space-3)}.u-mb-4{margin-bottom:var(--u-space-4)}.u-mb-6{margin-bottom:var(--u-space-6)}.u-mb-8{margin-bottom:var(--u-space-8)}.u-ml-0{margin-left:0}.u-ml-2{margin-left:var(--u-space-2)}.u-ml-4{margin-left:var(--u-space-4)}.u-ml-auto{margin-left:auto}.u-mr-0{margin-right:0}.u-mr-2{margin-right:var(--u-space-2)}.u-mr-4{margin-right:var(--u-space-4)}.u-mr-auto{margin-right:auto}.u-p-0{padding:0}.u-p-1{padding:var(--u-space-1)}.u-p-2{padding:var(--u-space-2)}.u-p-3{padding:var(--u-space-3)}.u-p-4{padding:var(--u-space-4)}.u-p-6{padding:var(--u-space-6)}.u-p-8{padding:var(--u-space-8)}.u-px-0{padding-left:0;padding-right:0}.u-px-2{padding-left:var(--u-space-2);padding-right:var(--u-space-2)}.u-px-3{padding-left:var(--u-space-3);padding-right:var(--u-space-3)}.u-px-4{padding-left:var(--u-space-4);padding-right:var(--u-space-4)}.u-px-6{padding-left:var(--u-space-6);padding-right:var(--u-space-6)}.u-px-8{padding-left:var(--u-space-8);padding-right:var(--u-space-8)}.u-py-0{padding-top:0;padding-bottom:0}.u-py-2{padding-top:var(--u-space-2);padding-bottom:var(--u-space-2)}.u-py-3{padding-top:var(--u-space-3);padding-bottom:var(--u-space-3)}.u-py-4{padding-top:var(--u-space-4);padding-bottom:var(--u-space-4)}.u-py-6{padding-top:var(--u-space-6);padding-bottom:var(--u-space-6)}.u-py-8{padding-top:var(--u-space-8);padding-bottom:var(--u-space-8)}.u-pt-0{padding-top:0}.u-pt-2{padding-top:var(--u-space-2)}.u-pt-4{padding-top:var(--u-space-4)}.u-pt-6{padding-top:var(--u-space-6)}.u-pb-0{padding-bottom:0}.u-pb-2{padding-bottom:var(--u-space-2)}.u-pb-4{padding-bottom:var(--u-space-4)}.u-pb-6{padding-bottom:var(--u-space-6)}.u-text-xs{font-size:var(--u-text-xs)}.u-text-sm{font-size:var(--u-text-sm)}.u-text-base{font-size:var(--u-text-base)}.u-text-lg{font-size:var(--u-text-lg)}.u-text-xl{font-size:var(--u-text-xl)}.u-text-2xl{font-size:var(--u-text-2xl)}.u-text-3xl{font-size:var(--u-text-3xl)}.u-text-4xl{font-size:var(--u-text-4xl)}.u-font-light{font-weight:var(--u-font-light)}.u-font-normal{font-weight:var(--u-font-normal)}.u-font-medium{font-weight:var(--u-font-medium)}.u-font-semibold{font-weight:var(--u-font-semibold)}.u-font-bold{font-weight:var(--u-font-bold)}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-text-justify{text-align:justify}.u-text-primary{color:var(--u-text-primary)}.u-text-secondary{color:var(--u-text-secondary)}.u-text-muted{color:var(--u-text-muted)}.u-text-inverse{color:var(--u-text-inverse)}.u-text-accent{color:var(--u-primary-600)}.u-text-success{color:var(--u-success)}.u-text-warning{color:var(--u-warning)}.u-text-error{color:var(--u-error)}[data-theme=dark] .u-text-accent{color:var(--u-primary-400)}.u-uppercase{text-transform:uppercase}.u-lowercase{text-transform:lowercase}.u-capitalize{text-transform:capitalize}.u-normal-case{text-transform:none}.u-underline{text-decoration:underline}.u-line-through{text-decoration:line-through}.u-no-underline{text-decoration:none}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-text-ellipsis{text-overflow:ellipsis}.u-text-clip{text-overflow:clip}.u-whitespace-normal{white-space:normal}.u-whitespace-nowrap{white-space:nowrap}.u-whitespace-pre{white-space:pre}.u-whitespace-pre-wrap{white-space:pre-wrap}.u-break-normal{word-break:normal;overflow-wrap:normal}.u-break-words{overflow-wrap:break-word}.u-break-all{word-break:break-all}.u-leading-none{line-height:var(--u-leading-none)}.u-leading-tight{line-height:var(--u-leading-tight)}.u-leading-normal{line-height:var(--u-leading-normal)}.u-leading-relaxed{line-height:var(--u-leading-relaxed)}.u-tracking-tight{letter-spacing:var(--u-tracking-tight)}.u-tracking-normal{letter-spacing:var(--u-tracking-normal)}.u-tracking-wide{letter-spacing:var(--u-tracking-wide)}.u-tracking-wider{letter-spacing:var(--u-tracking-wider)}.u-text-gradient{background:linear-gradient(135deg,var(--u-primary-500),var(--u-primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.u-code{font-family:var(--u-font-mono);font-size:.875em;padding:.125rem .375rem;background:var(--u-code-bg);color:var(--u-code-text);border-radius:var(--u-radius-sm)}.u-code-block{display:block;padding:var(--u-space-4);background:var(--u-bg-inverse);color:var(--u-text-inverse);border-radius:var(--u-radius-lg);overflow-x:auto;font-family:var(--u-font-mono);font-size:var(--u-text-sm);line-height:var(--u-leading-relaxed)}@media (min-width: 640px){.sm\:u-block{display:block}.sm\:u-hidden{display:none}.sm\:u-flex{display:flex}.sm\:u-grid{display:grid}.sm\:u-flex-row{flex-direction:row}.sm\:u-flex-col{flex-direction:column}.sm\:u-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:u-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:u-text-left{text-align:left}.sm\:u-text-center{text-align:center}.sm\:u-p-6{padding:var(--u-space-6)}.sm\:u-px-6{padding-left:var(--u-space-6);padding-right:var(--u-space-6)}}@media (min-width: 768px){.md\:u-block{display:block}.md\:u-hidden{display:none}.md\:u-flex{display:flex}.md\:u-grid{display:grid}.md\:u-flex-row{flex-direction:row}.md\:u-flex-col{flex-direction:column}.md\:u-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:u-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:u-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:u-justify-between{justify-content:space-between}.md\:u-items-center{align-items:center}.md\:u-text-left{text-align:left}.md\:u-text-2xl{font-size:var(--u-text-2xl)}.md\:u-p-8{padding:var(--u-space-8)}.md\:u-px-8{padding-left:var(--u-space-8);padding-right:var(--u-space-8)}}@media (min-width: 1024px){.lg\:u-block{display:block}.lg\:u-hidden{display:none}.lg\:u-flex{display:flex}.lg\:u-grid{display:grid}.lg\:u-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:u-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:u-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:u-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:u-text-3xl{font-size:var(--u-text-3xl)}.lg\:u-px-8{padding-left:var(--u-space-8);padding-right:var(--u-space-8)}}@media (min-width: 1280px){.xl\:u-block{display:block}.xl\:u-hidden{display:none}.xl\:u-flex{display:flex}.xl\:u-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:u-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:u-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.u-visible{visibility:visible}.u-invisible{visibility:hidden}.u-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.u-focus-visible:focus-visible{outline:2px solid var(--u-primary-500);outline-offset:2px}.u-pointer-events-none{pointer-events:none}.u-pointer-events-auto{pointer-events:auto}.u-cursor-pointer{cursor:pointer}.u-cursor-not-allowed{cursor:not-allowed}.u-cursor-default{cursor:default}.u-select-none{user-select:none}.u-select-text{user-select:text}.u-select-all{user-select:all}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--u-font-mono);font-size:var(--u-text-base);line-height:var(--u-leading-normal);color:var(--u-text-primary);background-color:var(--u-bg-primary);min-height:100vh;transition:background-color var(--u-transition-base),color var(--u-transition-base)}a{color:var(--u-primary-600);text-decoration:none;transition:color var(--u-transition-fast)}a:hover{color:var(--u-primary-700)}[data-theme=dark] a{color:var(--u-primary-400)}[data-theme=dark] a:hover{color:var(--u-primary-300)}img,svg{display:block;max-width:100%}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--u-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--u-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--u-scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--u-scrollbar-thumb) var(--u-scrollbar-track)}:focus{outline:none}:focus-visible{outline:2px solid var(--u-primary-500);outline-offset:2px}::selection{background-color:var(--u-primary-200);color:var(--u-primary-900)}[data-theme=dark] ::selection{background-color:var(--u-primary-800);color:var(--u-primary-100)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--u-ios: #007aff;--u-android: #3ddc84;--safe-area-top: env(safe-area-inset-top);--safe-area-bottom: env(safe-area-inset-bottom)}html,body{height:100%;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:16px;line-height:1.5;background:var(--u-surface);color:var(--u-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;touch-action:manipulation;overscroll-behavior:none;transition:background-color .2s ease,color .2s ease}#app{min-height:100%;display:flex;flex-direction:column}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.content{flex:1;padding:1rem;padding-bottom:calc(2rem + var(--safe-area-bottom))}.header{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:.5rem 1rem;padding-top:calc(.5rem + var(--safe-area-top));background:var(--u-surface-secondary);border-bottom:1px solid var(--u-border);position:sticky;top:0;z-index:100;transition:background-color .2s ease,border-color .2s ease}.header-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.header-title h1{font-size:1.125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{font-size:.8125rem;color:var(--u-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.header-logo{display:flex;align-items:center;flex-shrink:0}.btn-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--u-text-secondary);background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.btn-icon:active{background:var(--u-surface-tertiary);color:var(--u-text-primary)}.btn-download{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;color:#fff;background:linear-gradient(135deg,var(--u-primary-500),var(--u-primary-600));border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 4px 12px #0ea5e94d}.btn-download:active:not(:disabled){transform:scale(.95)}.btn-download:disabled{opacity:.7;cursor:wait}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;position:relative;transition:opacity .4s ease,transform .4s ease}.login-page.login-success{opacity:0;transform:scale(.95)}.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:100;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--u-text-secondary);background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .theme-toggle{box-shadow:0 2px 8px #0000004d}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:20px;height:20px}.login-center{display:flex;flex-direction:column;align-items:center;width:100%;max-width:380px;animation:cardFadeIn .5s ease}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;animation:logoFloat .6s ease}@keyframes logoFloat{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-logo svg{flex-shrink:0}.login-logo__text{font-size:1.75rem;font-weight:700;color:var(--u-text-primary)}.login-card{width:100%;padding:2rem 1.5rem;background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:1rem;transition:background-color .2s ease,border-color .2s ease}.login-card__title{font-size:1.25rem;font-weight:600;text-align:center;margin-bottom:.5rem}.login-card__subtitle{font-size:.875rem;color:var(--u-text-secondary);text-align:center;margin-bottom:1.5rem}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-card .u-input{min-height:48px;padding:.875rem 1rem;font-size:16px;border-radius:.75rem}.login-card .u-checkbox{min-height:44px;padding:.5rem 0;gap:.75rem}.login-card .u-checkbox-mark{width:20px;height:20px;border-radius:4px}.login-card .u-checkbox-mark:after{width:5px;height:9px;border-width:0 2px 2px 0}.login-card .u-btn-primary{min-height:48px;padding:.875rem 1.25rem;font-size:1rem;border-radius:.75rem}.login-card .u-btn-primary:active:not(:disabled){transform:scale(.98);box-shadow:0 2px 8px #0ea5e933}.builds-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.builds-sort-btn,.builds-group-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;min-height:40px;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--u-text-secondary);background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.5rem;cursor:pointer;white-space:nowrap;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.builds-sort-btn:hover,.builds-group-btn:hover{background:var(--u-surface-tertiary);color:var(--u-text-primary)}.builds-sort-btn:active,.builds-group-btn:active{transform:scale(.98)}.builds-group-dropdown{position:relative}.builds-group-chevron{opacity:.6;transition:transform .2s ease}.builds-group-overlay{position:fixed;inset:0;z-index:10}.builds-group-menu{position:absolute;top:calc(100% + .25rem);left:0;min-width:160px;padding:.25rem;background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;z-index:11}.builds-group-option{display:block;width:100%;padding:.625rem .75rem;font-size:.8125rem;font-family:inherit;color:var(--u-text-secondary);background:transparent;border:none;border-radius:.375rem;text-align:left;cursor:pointer;transition:all .15s ease}.builds-group-option:hover{background:var(--u-surface-tertiary);color:var(--u-text-primary)}.builds-group-option.active{color:var(--u-primary-500);background:#0ea5e91a}.builds-group{margin-bottom:.5rem}.builds-group:last-child{margin-bottom:0}.builds-group-header{padding:.5rem 0;font-size:.75rem;font-weight:600;color:var(--u-text-muted);text-transform:uppercase;letter-spacing:.025em}.platform-hint{margin-bottom:1rem}.platform-hint__trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.8125rem;font-family:inherit;color:var(--u-text-secondary);background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;cursor:pointer;text-align:left;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.platform-hint__trigger:active{background:var(--u-surface-tertiary)}.platform-hint__trigger svg:first-child{flex-shrink:0;color:var(--u-primary-500)}.platform-hint__trigger span{flex:1}.platform-hint__chevron{flex-shrink:0;color:var(--u-text-muted);transition:transform .2s ease}.platform-hint__chevron.expanded{transform:rotate(180deg)}.platform-hint__content{margin-top:.5rem;padding:1rem;font-size:.8125rem;line-height:1.6;color:var(--u-text-secondary);background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;animation:fadeIn .2s ease}.platform-hint__content p{margin:0 0 .75rem}.platform-hint__content p:last-child{margin-bottom:0}.platform-hint__content strong{color:var(--u-text-primary);font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.project-section{margin-bottom:2rem}.project-section:last-child{margin-bottom:0}.project-title{font-size:.75rem;font-weight:600;color:var(--u-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;padding-left:.25rem}.apps-grid{display:flex;flex-direction:column;gap:.5rem}.app-card{display:flex;align-items:center;gap:.875rem;width:100%;padding:1rem;min-height:72px;background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;cursor:pointer;text-align:left;color:inherit;font:inherit;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.app-card:active{background:var(--u-surface-tertiary);transform:scale(.99)}.app-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:.625rem;flex-shrink:0}.app-icon.ios{background:#007aff26;color:var(--u-ios)}.app-icon.android{background:#3ddc8426;color:var(--u-android)}.app-info{flex:1;min-width:0}.app-name{font-size:1rem;font-weight:600;color:var(--u-text-primary);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-package{font-size:.75rem;color:var(--u-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.chevron{color:var(--u-text-muted);flex-shrink:0}.platform-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;border-radius:.25rem;text-transform:uppercase;letter-spacing:.5px}.platform-badge.ios{color:var(--u-ios);background:#007aff26}.platform-badge.android{color:var(--u-android);background:#3ddc8426}.builds-list{display:flex;flex-direction:column;gap:0}.build-card{display:flex;flex-direction:column;gap:.5rem;width:100%;padding:1rem 1.25rem;background:var(--u-surface-secondary);border:1px solid var(--u-border);border-radius:.75rem;cursor:pointer;text-align:left;color:inherit;font:inherit;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.builds-list .build-card+.build-card{margin-top:.75rem}.build-card:hover:not(:disabled){background:var(--u-surface-tertiary)}.build-card:active:not(:disabled){transform:scale(.995)}.build-card:disabled{opacity:.6;cursor:not-allowed}.build-card--downloading{background:var(--u-surface-tertiary)}.build-main{display:flex;align-items:center;gap:.875rem}.build-app-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:.625rem}.build-app-icon.android{background:linear-gradient(135deg,#3ddc8426,#3ddc8440);color:var(--u-android)}.build-app-icon.ios{background:linear-gradient(135deg,#007aff1a,#007aff33);color:var(--u-ios)}.build-header{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.build-label{font-size:.6875rem;font-weight:500;color:var(--u-text-muted);text-transform:uppercase;letter-spacing:.025em}.build-filename{font-size:.875rem;font-weight:600;color:var(--u-text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.build-version{display:inline-flex;align-items:center;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;color:var(--u-primary-600);background:#0ea5e926;border-radius:.25rem}[data-theme=dark] .build-version{color:var(--u-primary-400)}.build-number{font-size:.75rem;color:var(--u-text-muted)}.build-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .375rem;font-size:.75rem;color:var(--u-text-secondary)}.build-meta span{white-space:nowrap}.build-meta-dot{color:var(--u-text-muted);opacity:.5}.build-description-row{display:flex;align-items:flex-start;gap:.5rem;min-height:1.25rem;margin-top:.25rem}.build-description-row.expandable{cursor:pointer;border-radius:.25rem;margin-left:-.25rem;margin-right:-.25rem;padding:.125rem .25rem;transition:background-color .15s ease}.build-description-row.expandable:hover{background:var(--u-surface-tertiary)}.build-description{flex:1;min-width:0;font-size:.8125rem;line-height:1.4;color:var(--u-text-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.build-description-row:not(.expandable) .build-description{opacity:.6}.build-description.expanded{white-space:normal;color:var(--u-text-secondary)}.build-chevron{flex-shrink:0;color:var(--u-text-muted);opacity:.6;transition:transform .2s ease,opacity .15s ease;margin-top:.125rem}.build-description-row:hover .build-chevron{opacity:1;color:var(--u-primary-500)}.build-chevron.expanded{transform:rotate(180deg)}.build-download{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0;margin-top:2px}.build-download-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--u-text-muted);opacity:.6;transition:opacity .15s ease,color .15s ease}.build-card:hover .build-download-icon{opacity:1;color:var(--u-primary-500)}.build-card--downloading .build-download-icon{opacity:1;color:var(--u-text-secondary)}.build-size{font-size:.6875rem;color:var(--u-text-muted);white-space:nowrap}.build-spinner{width:20px;height:20px;border:2px solid var(--u-border);border-top-color:var(--u-primary-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;min-height:300px}.loading p,.error-state p{color:var(--u-text-secondary);margin-top:1rem;font-size:.875rem}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:var(--u-bg-primary)}.loading-screen__content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-screen__logo{width:64px;height:64px;border-radius:16px;opacity:.9}.offline-banner{padding:.5rem 1rem;padding-top:calc(.5rem + var(--safe-area-top));font-size:.8125rem;font-weight:500;text-align:center;color:#fff;background:var(--u-error-600)}.pull-to-refresh{flex:1;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.pull-indicator{display:flex;align-items:center;justify-content:center;height:0;min-height:0;overflow:hidden;color:var(--u-text-muted);flex-shrink:0}.pull-indicator svg{will-change:transform,opacity}.apps-page .content>:not(.loading):not(.error-state),.install-page .content>:not(.loading):not(.error-state){animation:contentFadeIn .3s ease}.loading{animation:none!important;opacity:1!important}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.builds-controls{flex-wrap:wrap}.builds-sort-btn span,.builds-group-btn span{display:none}.builds-sort-btn,.builds-group-btn{padding:.5rem;min-width:40px;justify-content:center}.builds-group-chevron{display:none}.builds-controls .u-search{order:-1;flex-basis:100%;margin-bottom:.5rem}}@media (min-width: 768px){.login-card{padding:2.5rem 2rem}.app-card:hover,.build-card:hover{background:var(--u-surface-tertiary)}.btn-icon:hover{background:var(--u-surface-tertiary);color:var(--u-text-primary)}}
