:root{--color-primary-50:#f0f9ff;--color-primary-100:#e0f2fe;--color-primary-200:#bae6fd;--color-primary-300:#7dd3fc;--color-primary-400:#38bdf8;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-success:#10b981;--color-success-light:#d1fae5;--color-success-dark:#047857;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-warning-dark:#d97706;--color-error:#ef4444;--color-error-light:#fee2e2;--color-error-dark:#dc2626;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-info-dark:#2563eb;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-border-light:#e2e8f0;--color-border-medium:#cbd5e1;--color-border-dark:#94a3b8;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--space-0:0;--space-0-5:0.25rem;--space-1:0.5rem;--space-1-5:0.75rem;--space-2:1rem;--space-2-5:1.25rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--space-10:5rem;--space-12:6rem;--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",sans-serif;--font-family-mono:"SF Mono","Monaco","Cascadia Code","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--border-width-0:0;--border-width-1:1px;--border-width-2:2px;--border-width-4:4px;--radius-none:0;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-none:none;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--shadow-primary:0 4px 16px #3b82f626;--shadow-success:0 4px 16px #10b98126;--shadow-warning:0 4px 16px #f59e0b26;--shadow-error:0 4px 16px #ef444426;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-slower:500ms cubic-bezier(0.4,0,0.2,1);--z-0:0;--z-10:10;--z-20:20;--z-30:30;--z-40:40;--z-50:50;--z-modal:1000;--z-popover:1100;--z-tooltip:1200;--z-toast:1300;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px}@media (prefers-color-scheme:dark){:root{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-tertiary:#1a1a1a;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8}}body{background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;line-height:var(--leading-normal)}.btn,body{font-family:var(--font-family-base)}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-3);text-decoration:none;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primary{background-color:var(--color-primary-500);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background-color:initial;border:var(--border-width-1) solid var(--color-border-medium);color:var(--color-gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark);box-shadow:var(--shadow-success)}.btn-danger{background-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark);box-shadow:var(--shadow-error)}.btn-warning{background-color:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark);box-shadow:var(--shadow-warning)}.btn-ghost{background-color:initial;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-sm{font-size:var(--text-xs);gap:var(--space-1);padding:var(--space-1) var(--space-2)}.btn-lg{font-size:var(--text-base);gap:var(--space-2);padding:var(--space-3) var(--space-4)}.btn-xl{font-size:var(--text-lg);gap:var(--space-3);padding:var(--space-4) var(--space-6)}.btn-block,.input{width:100%}.input{background-color:var(--color-bg-primary);border:var(--border-width-1) solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-base);padding:var(--space-2);transition:all var(--transition-fast)}.input::placeholder{color:var(--color-text-tertiary)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}.input:disabled{background-color:var(--color-gray-50);cursor:not-allowed;opacity:.6}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input-success{border-color:var(--color-success)}.input-sm{font-size:var(--text-sm);padding:var(--space-1-5)}.input-lg{font-size:var(--text-lg);padding:var(--space-3)}.textarea{font-family:var(--font-family-base);min-height:100px;resize:vertical}.select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%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 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--space-2) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:var(--space-8)}.card{background-color:var(--color-bg-primary);border:var(--border-width-1) solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);transition:box-shadow var(--transition-base)}.card-hover{cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-flat{box-shadow:none}.card-bordered{border:var(--border-width-2) solid var(--color-border-medium)}.card-header{border-bottom:var(--border-width-1) solid var(--color-border-light);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:calc(var(--space-4)*-1);margin-bottom:var(--space-4);padding:var(--space-4)}.card-footer{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:var(--border-width-1) solid var(--color-border-light);margin:var(--space-4) calc(var(--space-4)*-1) calc(var(--space-4)*-1);padding:var(--space-4)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-0-5) var(--space-2);white-space:nowrap}.badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.badge-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-700)}.alert{align-items:flex-start;border:var(--border-width-1) solid;border-radius:var(--radius-md);display:flex;gap:var(--space-2);padding:var(--space-3)}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-primary-900)}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:var(--z-modal)}.modal{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:var(--container-md);overflow-y:auto;width:100%}.modal-header{border-bottom:var(--border-width-1) solid var(--color-border-light);padding:var(--space-6)}.modal-title{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.modal-body,.modal-footer{padding:var(--space-6)}.modal-footer{border-top:var(--border-width-1) solid var(--color-border-light);display:flex;gap:var(--space-2);justify-content:flex-end}.spinner{animation:spin .8s linear infinite;border:3px solid var(--color-gray-200);border-radius:var(--radius-full);border-top-color:var(--color-primary-500);display:inline-block;height:1.5rem;width:1.5rem}@keyframes spin{to{transform:rotate(1turn)}}.spinner-sm{border-width:2px;height:1rem;width:1rem}.spinner-lg{border-width:4px;height:2.5rem;width:2.5rem}.tooltip{display:inline-block;position:relative}.tooltip-text{background-color:var(--color-gray-900);border-radius:var(--radius-md);bottom:125%;color:var(--color-text-inverse);font-size:var(--text-xs);left:50%;opacity:0;padding:var(--space-1) var(--space-2);position:absolute;text-align:center;transform:translateX(-50%);transition:opacity var(--transition-base);visibility:hidden;white-space:nowrap;z-index:var(--z-tooltip)}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.divider{border:none;border-top:var(--border-width-1) solid var(--color-border-light);margin:var(--space-4) 0}.divider-thick{border-top-width:var(--border-width-2)}.divider-dashed{border-top-style:dashed}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.border{border:var(--border-width-1) solid var(--color-border-light)}.border-t{border-top:var(--border-width-1) solid var(--color-border-light)}.border-b{border-bottom:var(--border-width-1) solid var(--color-border-light)}.border-l{border-left:var(--border-width-1) solid var(--color-border-light)}.border-r{border-right:var(--border-width-1) solid var(--color-border-light)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes progress{0%{width:0}to{width:100%}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-fadeInUp{animation:fadeInUp var(--transition-base) ease-out}.animate-fadeInDown{animation:fadeInDown var(--transition-base) ease-out}.animate-fadeInLeft{animation:fadeInLeft var(--transition-base) ease-out}.animate-fadeInRight{animation:fadeInRight var(--transition-base) ease-out}.animate-slideInUp{animation:slideInUp var(--transition-slow) ease-out}.animate-slideInDown{animation:slideInDown var(--transition-slow) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-base) ease-out}.animate-bounce{animation:bounce 1s ease infinite}.animate-shake{animation:shake .5s ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-rotate{animation:rotate 1s linear infinite}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,var(--color-gray-200) 0,var(--color-gray-300) 50%,var(--color-gray-200) 100%);background-size:1000px 100%}.animate-wiggle{animation:wiggle .5s ease}.animate-heartbeat{animation:heartbeat 1.5s ease infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-1000{animation-delay:1s}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transition-colors{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-sm{transition:transform var(--transition-fast)}.hover-scale-sm:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px #3b82f666}.hover-glow-success:hover{box-shadow:0 0 20px #10b98166}.hover-glow-error:hover{box-shadow:0 0 20px #ef444466}.hover-glow-warning:hover{box-shadow:0 0 20px #f59e0b66}.hover-brighten{transition:filter var(--transition-fast)}.hover-brighten:hover{filter:brightness(1.1)}.hover-darken{transition:filter var(--transition-fast)}.hover-darken:hover{filter:brightness(.9)}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;border-radius:var(--radius-md)}.skeleton-text{height:1rem;margin-bottom:var(--space-2)}.skeleton-title{height:1.5rem;margin-bottom:var(--space-3);width:60%}.skeleton-avatar{height:3rem;width:3rem}.progress-bar,.skeleton-avatar{border-radius:var(--radius-full)}.progress-bar{background-color:var(--color-gray-200);height:4px;overflow:hidden;width:100%}.progress-bar-fill{background-color:var(--color-primary-500);height:100%;transition:width var(--transition-slow)}.progress-bar-animated{animation:progress 2s ease-in-out infinite}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.progress-indeterminate{background-color:var(--color-gray-200);border-radius:var(--radius-full);height:4px;overflow:hidden;position:relative}.progress-indeterminate:after{animation:indeterminate 1.5s ease-in-out infinite;background-color:var(--color-primary-500);content:"";height:100%;left:0;position:absolute;top:0;width:25%}.modal-backdrop-enter{opacity:0}.modal-backdrop-enter-active{opacity:1;transition:opacity var(--transition-base)}.modal-backdrop-exit{opacity:1}.modal-backdrop-exit-active{opacity:0;transition:opacity var(--transition-base)}.modal-content-enter{opacity:0;transform:scale(.95) translateY(-20px)}.modal-content-enter-active{transition:opacity var(--transition-base),transform var(--transition-base)}.modal-content-enter-active,.modal-content-exit{opacity:1;transform:scale(1) translateY(0)}.modal-content-exit-active{opacity:0;transform:scale(.95) translateY(-20px);transition:opacity var(--transition-base),transform var(--transition-base)}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}.toast-enter{animation:toastSlideIn var(--transition-slow) ease-out}.toast-exit{animation:toastSlideOut var(--transition-base) ease-in}.accordion-content{overflow:hidden;transition:max-height var(--transition-slow) ease-in-out,opacity var(--transition-base) ease-in-out}.accordion-content-collapsed{max-height:0;opacity:0}.accordion-content-expanded{max-height:1000px;opacity:1}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--transition-slow),transform var(--transition-slow)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity var(--transition-fast)}.stagger-children>*{animation:fadeInUp var(--transition-base) ease-out}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.stagger-children>:nth-child(9){animation-delay:.45s}.stagger-children>:nth-child(10){animation-delay:.5s}.focus-ring{transition:box-shadow var(--transition-fast)}.focus-ring:focus{box-shadow:0 0 0 3px #3b82f64d;outline:none}.focus-ring-success:focus{box-shadow:0 0 0 3px #10b9814d}.focus-ring-error:focus{box-shadow:0 0 0 3px #ef44444d}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{height:100%}body{overflow-x:hidden;overflow-y:auto;padding:0;scrollbar-color:var(--color-gray-300) var(--color-gray-50);scrollbar-width:thin}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:var(--color-gray-50)}body::-webkit-scrollbar-thumb{background:var(--color-primary-500);border:2px solid var(--color-gray-50);border-radius:var(--radius-sm)}body::-webkit-scrollbar-thumb:hover{background:var(--color-primary-600)}#root{height:100%;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--background-light:#f8fafc;--background-white:#fff;--background-gray:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--border-dark:#0f172a;--header-bg:#000;--header-text:#fff;--primary-accent:#3b82f6;--primary-accent-dark:#2563eb;--green-accent:#10b981;--red-accent:#ef4444;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--background-light);color:#0f172a;color:var(--text-primary);cursor:default;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.btn,[role=button],a,button,input,select,textarea{cursor:pointer}.App{min-height:100vh;padding-top:calc(64px + env(safe-area-inset-top, 0px));width:100%}.nav-link{align-items:center;border-radius:.5rem;border-radius:var(--border-radius-md);color:#9ca3af;display:flex;font-weight:500;gap:8px;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease-in-out}.nav-link.active,.nav-link:hover{background-color:#ffffff1a;color:#fff}.page-container{margin:0 auto;max-width:1400px;padding:2rem;width:100%}.page-header{margin-bottom:2rem}.page-header h1{color:#0f172a;color:var(--text-primary);font-size:2.25rem;font-weight:800;margin:0}.page-header p{color:#64748b;color:var(--text-secondary);font-size:1.125rem;margin-top:.25rem}.content-box{background-color:#fff;background-color:var(--background-white);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem}.mobile-drawer,.mobile-drawer-overlay{display:none}@media (min-width:769px){.mobile-bottom-nav,.mobile-hamburger-button{display:none!important}}@media (max-width:768px){.app-nav-desktop,.user-email-text{display:none!important}.mobile-hamburger-button{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex!important;justify-content:center;margin-left:auto;min-height:44px;min-width:44px}.mobile-hamburger-button:hover{background:#ffffff1a}.mobile-drawer-overlay{animation:fadeIn .3s;background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-drawer{background:#000;border-left:1px solid #ffffff1a;display:block;height:calc(100vh - 64px - env(safe-area-inset-top, 0px));overflow-y:auto;position:fixed;right:0;top:calc(64px + env(safe-area-inset-top, 0px));transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:999}.mobile-drawer.open{transform:translateX(0)}.mobile-drawer-header{align-items:center;border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:16px}.mobile-drawer-close{align-items:center;background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:background .2s;width:40px}.mobile-drawer-close:hover{background:#ffffff1a}.mobile-drawer-nav{padding:16px 0}.mobile-drawer-section{margin-bottom:24px}.mobile-drawer-section-title{color:#fff6;font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:0;padding:16px 16px 8px;text-transform:uppercase}.mobile-drawer-item{align-items:center;background:none;border:none;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;margin:0 8px;padding:12px 16px;text-align:left;text-decoration:none;transition:all .2s;width:calc(100% - 16px)}.mobile-drawer-item:hover{background:#ffffff14;color:#fff}.mobile-drawer-item.active{background:#ffffff1a;color:#fff;font-weight:600}.mobile-drawer-item.logout{border-bottom:none;color:#ef4444}.mobile-drawer-item.logout:hover{background:#ef44441a}.mobile-bottom-nav{align-items:center;background:#000;border-top:1px solid #ffffff1a;bottom:0;display:flex;height:calc(60px + env(safe-area-inset-bottom, 0px));justify-content:space-around;left:0;padding:0 8px env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:997}.mobile-bottom-nav-item{align-items:center;border-radius:8px;color:#6b7280;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;padding:8px 12px;text-decoration:none;transition:all .2s}.mobile-bottom-nav-item span{font-size:11px;font-weight:600}.mobile-bottom-nav-item:hover{background:#ffffff0d;color:#9ca3af}.mobile-bottom-nav-item.active{background:#ffffff1a;color:#fff}.App{padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px))}.app-nav{padding-left:1rem!important;padding-right:1rem!important}.app-nav>div:first-child{font-size:.9rem!important}}.app-nav-mobile-title{color:#fff;display:none;font-size:.9rem;font-weight:700;left:50%;letter-spacing:.03em;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}@media (max-width:480px){.app-nav>div:first-child>span:last-child{display:none}.app-nav-mobile-title{display:block}.app-nav{padding:0 .5rem!important}}.toast-container{display:flex;flex-direction:column;gap:.75rem;pointer-events:none;position:fixed;right:2rem;top:5rem;z-index:10000}.toast{align-items:flex-start;animation:toast-slide-in .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e2a47;border:1px solid #2d3a5a;border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;gap:.75rem;max-width:420px;min-width:320px;padding:1rem 1.25rem;pointer-events:auto}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.toast-exit{animation:toast-slide-out .3s ease-out forwards}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}.toast-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.toast-success{border-left:3px solid #10b981}.toast-success .toast-icon{background:#10b98126;color:#10b981}.toast-error{border-left:3px solid #ef4444}.toast-error .toast-icon{background:#ef444426;color:#ef4444}.toast-warning{border-left:3px solid #f59e0b}.toast-warning .toast-icon{background:#f59e0b26;color:#f59e0b}.toast-info{border-left:3px solid #0ea5e9}.toast-info .toast-icon{background:#0ea5e926;color:#0ea5e9}.toast-content{flex:1 1;padding-top:.25rem}.toast-title{color:#e5e7eb;font-size:.95rem;font-weight:600;margin-bottom:.25rem}.toast-message{color:#9ca3af;font-size:.875rem;line-height:1.4}.toast-close{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:.25rem;transition:all .2s ease}.toast-close:hover{background:#6b72801a;color:#9ca3af}.toast:after{animation:toast-progress 5s linear forwards;background:linear-gradient(90deg,#0ea5e9,#8b5cf6);border-radius:0 0 12px 12px;bottom:0;content:"";height:3px;left:0;opacity:.3;position:absolute;width:100%}@keyframes toast-progress{0%{width:100%}to{width:0}}.toast-success:after{background:linear-gradient(90deg,#10b981,#059669)}.toast-error:after{background:linear-gradient(90deg,#ef4444,#dc2626)}.toast-warning:after{background:linear-gradient(90deg,#f59e0b,#d97706)}@media (max-width:640px){.toast-container{left:1rem;right:1rem}.toast{min-width:0;min-width:auto;width:100%}}.custom-dialog-overlay{align-items:center;animation:dialogFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.custom-dialog{animation:dialogSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:450px;width:90%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-dialog-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:.75rem;padding:1.5rem}.custom-dialog-header h3{color:#0f172a;flex:1 1;font-size:1.125rem;font-weight:600;margin:0}.dialog-icon{flex-shrink:0}.dialog-icon.info{color:#3b82f6}.dialog-icon.success{color:#10b981}.dialog-icon.warning{color:#f59e0b}.dialog-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.dialog-close-btn:hover{background:#f1f5f9;color:#0f172a}.custom-dialog-body{padding:1.5rem}.custom-dialog-body p{color:#0f172a;font-size:1rem;line-height:1.5;margin:0 0 1rem}.custom-dialog-body p:last-child{margin-bottom:0}.dialog-input{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.dialog-input:focus{border-color:#000;box-shadow:0 0 0 3px #0000001a;outline:none}.dialog-input::placeholder{color:#94a3b8}.custom-dialog-footer{background:#f8fafc;border-radius:0 0 16px 16px;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;padding:1rem 1.5rem}.dialog-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.dialog-btn-cancel{background:#f1f5f9;color:#64748b}.dialog-btn-cancel:hover{background:#e2e8f0;color:#0f172a}.dialog-btn-confirm{background:#0f172a;color:#fff}.dialog-btn-confirm:hover{background:#334155;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.dialog-btn-confirm:active{transform:translateY(0)}.dialog-menu-options{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;max-height:400px;overflow-y:auto}.dialog-menu-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:1rem;text-align:left;transition:all .2s ease;width:100%}.dialog-menu-option:hover{background:#f8fafc;border-color:#0f172a;transform:translateX(4px)}.dialog-menu-option.selected{background:#f1f5f9;border-color:#0f172a;box-shadow:0 2px 8px #0000001a}.menu-option-icon{flex-shrink:0;font-size:1.5rem}.menu-option-content{flex:1 1}.menu-option-label{color:#0f172a;font-weight:600;margin-bottom:.25rem}.menu-option-description{color:#64748b;font-size:.875rem;line-height:1.4}@media (max-width:600px){.custom-dialog{max-width:none;width:95%}.custom-dialog-body,.custom-dialog-footer,.custom-dialog-header{padding:1rem}.dialog-btn{font-size:.9rem;padding:.625rem 1rem}.dialog-menu-option{padding:.75rem}.menu-option-icon{font-size:1.25rem}}
/*# sourceMappingURL=main.5142bd1d.css.map*/