@charset "UTF-8";:root{--color-primary-50: #f0f9ff;--color-primary-100: #e0f2fe;--color-primary-200: #bae6fd;--color-primary-300: #7dd3fc;--color-primary-400: #38bdf8;--color-primary-500: #0ea5e9;--color-primary-600: #0284c7;--color-primary-700: #0369a1;--color-primary-800: #075985;--color-primary-900: #0c4a6e;--color-secondary-50: #fdf4ff;--color-secondary-100: #fdfbff;--color-secondary-200: #f3e8ff;--color-secondary-300: #e9d5ff;--color-secondary-400: #d8b4fe;--color-secondary-500: #c084fc;--color-secondary-600: #a855f7;--color-secondary-700: #9333ea;--color-secondary-800: #7c2d12;--color-secondary-900: #581c87;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-success-50: #f0fdf4;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-brand-primary: var(--color-primary-600);--color-brand-secondary: var(--color-secondary-600);--color-brand-accent: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-secondary-500) 100%);--color-bg-primary: #ffffff;--color-bg-secondary: var(--color-neutral-50);--color-bg-tertiary: var(--color-neutral-100);--color-bg-accent: var(--color-brand-accent);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-400);--color-text-inverse: #ffffff;--font-family-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .125rem;--radius-base: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 50px 100px -20px rgba(0, 0, 0, .25);--shadow-focus: 0 0 0 3px rgba(14, 165, 233, .15);--shadow-focus-error: 0 0 0 3px rgba(239, 68, 68, .15);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--mobile-nav-bar-height: 65px}@media (prefers-color-scheme: dark){:root{--color-bg-primary: var(--color-neutral-900);--color-bg-secondary: var(--color-neutral-800);--color-bg-tertiary: var(--color-neutral-700);--color-text-primary: var(--color-neutral-100);--color-text-secondary: var(--color-neutral-300);--color-text-tertiary: var(--color-neutral-500)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border:none;border-radius:var(--radius-lg);cursor:pointer;text-decoration:none;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-brand-accent);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-neutral-300);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-danger{background:var(--color-error-500);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-error-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base)}.btn-icon-only{padding:var(--space-3);width:auto;height:auto;aspect-ratio:1}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:var(--shadow-focus)}.input:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.input.error{border-color:var(--color-error-500)}.input.error:focus{box-shadow:var(--shadow-focus-error)}.input::placeholder{color:var(--color-text-tertiary)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-error{font-size:var(--font-size-xs);color:var(--color-error-500);display:flex;align-items:center;gap:var(--space-1)}.card{background:var(--color-bg-primary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-elevated{border:none;box-shadow:var(--shadow-lg)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--color-neutral-100)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-6);border-top:1px solid var(--color-neutral-100);background:var(--color-bg-secondary)}.alert{padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);display:flex;align-items:flex-start;gap:var(--space-3)}.alert-success{background:var(--color-success-50);color:var(--color-success-600);border:1px solid var(--color-success-500)}.alert-warning{background:var(--color-warning-50);color:var(--color-warning-600);border:1px solid var(--color-warning-500)}.alert-error{background:var(--color-error-50);color:var(--color-error-600);border:1px solid var(--color-error-500)}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-neutral-200);border-top:2px solid var(--color-brand-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-text{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-base)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-base);line-height:1}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background:var(--color-success-50);color:var(--color-success-600)}.badge-warning{background:var(--color-warning-50);color:var(--color-warning-600)}.badge-error{background:var(--color-error-50);color:var(--color-error-600)}.divider{height:1px;background:var(--color-neutral-200);border:none;margin:var(--space-4) 0}.divider-vertical{width:1px;height:100%;background:var(--color-neutral-200);border:none;margin:0 var(--space-4)}.focus-ring:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100%;font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;color:var(--color-text-secondary)}a{color:var(--color-brand-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-secondary)}a:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media (min-width: 640px){.container{padding:0 var(--space-6)}}@media (min-width: 1024px){.container{padding:0 var(--space-8)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 25%,var(--color-primary-100) 0%,transparent 50%),radial-gradient(circle at 75% 75%,var(--color-secondary-100) 0%,transparent 50%),var(--color-bg-primary);padding:var(--space-4);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23f0f9ff" fill-opacity="0.1"><circle cx="30" cy="30" r="1"/></g></svg>') repeat;pointer-events:none}.login-container{background:var(--color-bg-primary);border:1px solid var(--color-neutral-100);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);padding:var(--space-12);width:100%;max-width:440px;position:relative;z-index:1}.login-container.animate-slide-up{animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(32px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:var(--space-12)}.login-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4)}.login-brand-icon{width:48px;height:48px;background:var(--color-brand-accent);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-lg)}.login-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);background:var(--color-brand-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header .subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin-bottom:var(--space-1)}.login-header .tagline{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.error-message{background:var(--color-error-50);color:var(--color-error-600);border:1px solid var(--color-error-200);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);text-align:center;margin:var(--space-4) 0;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.loading-message{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--space-4) 0}.google-auth-section{margin-bottom:var(--space-8)}.google-signin-title{text-align:center;margin-bottom:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);position:relative}.google-signin-title:before,.google-signin-title:after{content:"";position:absolute;top:50%;width:20%;height:1px;background:var(--color-neutral-200)}.google-signin-title:before{left:0}.google-signin-title:after{right:0}.google-signin-button{width:100%;display:flex;justify-content:center;margin-bottom:var(--space-4);border-radius:var(--radius-xl)!important}.google-signin-button>div{border-radius:var(--radius-xl)!important;border:1px solid var(--color-neutral-200)!important;box-shadow:var(--shadow-sm)!important;transition:all var(--transition-base)!important;overflow:hidden!important}.google-signin-button:hover>div{box-shadow:var(--shadow-md)!important;transform:translateY(-1px)!important}@media (max-width: 480px){.login-page{padding:var(--space-4)}.login-container{padding:var(--space-8) var(--space-6);max-width:100%}.login-header h1{font-size:var(--font-size-2xl)}.login-brand-icon{width:40px;height:40px;font-size:var(--font-size-xl)}.google-signin-button{margin-bottom:var(--space-4)}.google-signin-title:before,.google-signin-title:after{width:calc(50% - var(--space-3))}}.dashboard-layout{display:flex;height:100vh;background:var(--color-bg-secondary);font-family:var(--font-family-sans);overflow:hidden;position:relative}.desktop-sidebar{width:280px;background:var(--color-bg-primary);border-right:1px solid var(--color-neutral-200);display:flex;flex-direction:column;transition:width var(--transition-base);box-shadow:var(--shadow-sm);z-index:var(--z-sticky);position:relative}.desktop-sidebar.collapsed{width:80px}.sidebar{width:280px;background:var(--color-bg-primary);border-right:1px solid var(--color-neutral-200);display:flex;flex-direction:column;transition:width var(--transition-base);box-shadow:var(--shadow-sm);z-index:var(--z-sticky);position:relative}.sidebar.collapsed{width:80px}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--color-neutral-100);display:flex;align-items:center;justify-content:space-between;min-height:80px;transition:all var(--transition-base);background:var(--color-bg-primary)}.collapsed .sidebar-header{justify-content:center;padding:var(--space-6) var(--space-4)}.logo{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.logo h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);background:var(--color-brand-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;overflow:hidden;transition:all var(--transition-base)}.logo p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;line-height:var(--line-height-tight)}.collapsed .logo{display:none}.toggle-button{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:all var(--transition-base);flex-shrink:0}.toggle-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-neutral-300);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.sidebar-nav{flex:1;padding:var(--space-6) var(--space-3);overflow-y:auto}.sidebar-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.nav-link{display:flex;align-items:center;padding:var(--space-4) var(--space-4);text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-base);border-radius:var(--radius-lg);position:relative;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.nav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:translate(2px)}.nav-link.active{background:var(--color-brand-accent);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.nav-link.active:hover{transform:translate(2px)}.nav-icon{font-size:var(--font-size-lg);margin-right:var(--space-3);display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.nav-text{font-weight:inherit;white-space:nowrap;overflow:hidden}.collapsed .nav-text{display:none}.collapsed .nav-link{padding:var(--space-4);justify-content:center}.collapsed .nav-icon{margin-right:0}.sidebar-footer{padding:var(--space-6) var(--space-4);border-top:1px solid var(--color-neutral-100);background:var(--color-bg-primary)}.user-info{display:flex;align-items:center;gap:var(--space-3)}.user-avatar{width:40px;height:40px;background:var(--color-brand-accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm);border:none;cursor:pointer;transition:all var(--transition-base)}.user-avatar.clickable:hover{background:var(--color-brand-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.user-avatar.clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.user-avatar span{color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.user-details{flex:1;min-width:0}.username{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-button{background:transparent;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;padding:0;transition:color var(--transition-base)}.logout-button:hover{color:var(--color-error-500)}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--color-bg-secondary)}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-primary);border-top:1px solid var(--color-neutral-200);padding:var(--space-2) var(--space-4);box-shadow:0 -2px 8px #0000001a;z-index:1000;height:70px;justify-content:space-around;align-items:center}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-base);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);min-width:60px;gap:var(--space-1)}.mobile-nav-item:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.mobile-nav-item.active{color:var(--color-brand-primary);background:var(--color-brand-50)}.mobile-nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.mobile-nav-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}@media (max-width: 768px){.desktop-sidebar{display:none}.mobile-bottom-nav{display:flex}.main-content{margin-left:0;padding-bottom:90px}}@media (max-width: 480px){.main-content{padding:var(--space-4);margin-bottom:var(--mobile-nav-bar-height)}.mobile-nav-text{font-size:10px}.mobile-bottom-nav{height:var(--mobile-nav-bar-height);padding:var(--space-1) var(--space-2)}.mobile-nav-item{min-width:50px;padding:var(--space-1)}}.floating-dialog-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.floating-dialog{position:absolute;bottom:0;left:0;right:0;height:50vh;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -10px 25px #0000001a;z-index:1001;display:flex;flex-direction:column;animation:slideUp .3s ease-out;transition:all .3s ease-out}.floating-dialog.maximized{top:20px;bottom:20px;height:auto;border-radius:12px;animation:expandToMax .3s ease-out}@keyframes expandToMax{0%{top:auto;bottom:0;left:0;right:0;height:50vh;border-radius:20px 20px 0 0}to{top:20px;bottom:20px;left:20px;right:20px;height:auto;border-radius:12px}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.floating-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:20px 20px 0 0;flex-shrink:0}.floating-dialog.maximized .floating-dialog-header{border-radius:12px 12px 0 0}.floating-dialog-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#333}.header-buttons{display:flex;gap:.5rem;align-items:center}.close-button,.maximize-button{background:none;border:none;padding:.5rem;cursor:pointer;color:#6c757d;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover,.maximize-button:hover{background:#e9ecef;color:#495057}.floating-chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.floating-chat-messages{flex:1;padding:1rem;overflow-y:auto;background:#fff}.floating-chat-welcome{text-align:center;color:#6c757d;padding:2rem 1rem}.floating-chat-welcome p:first-child{font-size:1.1rem;font-weight:500;color:#495057;margin-bottom:1rem}.floating-chat-welcome ul{text-align:left;max-width:400px;margin:0 auto;padding-left:0;list-style:none}.floating-chat-welcome li{margin:.5rem 0;padding-left:1rem;position:relative}.floating-message{margin:.75rem 0;display:flex}.floating-message.user{justify-content:flex-end}.floating-message.bot{justify-content:flex-start}.floating-message-content{max-width:80%;padding:.75rem 1rem;border-radius:1rem;position:relative;text-align:left}.floating-message.user .floating-message-content{background:#007bff;color:#fff;border-bottom-right-radius:.25rem}.floating-message.bot .floating-message-content{background:#f1f3f4;color:#333;border-bottom-left-radius:.25rem}.floating-message-text{font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.floating-message-text .markdown-content{line-height:1.5}.floating-message-text pre{max-width:100%;overflow-x:auto;white-space:pre;word-wrap:normal}.floating-message-text code{word-break:break-all}.floating-message-text table{border-collapse:collapse;width:100%;margin:.5em 0}.floating-message-text th,.floating-message-text td{border:1px solid #ddd;padding:.5em;text-align:left}.floating-message-text th{background-color:#f5f5f5;font-weight:600}.floating-message-text hr{border:none;border-top:1px solid #ddd;margin:1em 0}.floating-message-text a{color:#007bff;text-decoration:none}.floating-message-text a:hover{text-decoration:underline}.streaming-cursor{display:inline-block;animation:blink 1s infinite;color:#007bff;font-weight:700;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.floating-message.divider{justify-content:center;margin:1.5rem 0}.floating-message-divider{display:flex;align-items:center;width:100%;gap:1rem}.divider-line{flex:1;height:1px;background:#ddd}.divider-text{font-size:.75rem;color:#666;font-weight:500;padding:.25rem .75rem;background:#fff;border-radius:1rem;border:1px solid #ddd;white-space:nowrap}.floating-message-time{font-size:.7rem;opacity:.7;margin-top:.25rem}.floating-typing-indicator{display:flex;align-items:center;gap:.25rem}.floating-typing-indicator span{width:.5rem;height:.5rem;background:#6c757d;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.floating-typing-indicator span:nth-child(1){animation-delay:-.32s}.floating-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.floating-chat-input-container{border-top:1px solid #e9ecef;background:#fff;flex-shrink:0;border-radius:0 0 12px 12px}.floating-chat-input{display:flex;padding:1rem;gap:.75rem;align-items:center}.floating-chat-input textarea{flex:1;min-height:2.5rem;max-height:6rem;padding:.75rem;border:1px solid #ddd;border-radius:1.25rem;resize:none;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s ease,height .2s ease;overflow-y:auto}.floating-chat-input textarea:focus{border-color:#007bff}.floating-chat-input textarea:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.textarea-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.textarea-container textarea{width:100%}.recording-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#007bff1a;border-radius:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;animation:fadeInOverlay .3s ease-in}.recording-text{font-size:.85rem;color:#007bff;font-weight:500;margin-top:.5rem;text-align:center}.wave-animation{display:flex;align-items:center;gap:.25rem}.wave-dot{width:8px;height:8px;border-radius:50%;background:#007bff;animation:wave 1.4s infinite ease-in-out}.wave-dot:nth-child(1){animation-delay:-.32s}.wave-dot:nth-child(2){animation-delay:-.16s}.wave-dot:nth-child(3){animation-delay:0s}.wave-dot:nth-child(4){animation-delay:.16s}.wave-dot:nth-child(5){animation-delay:.32s}@keyframes wave{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.floating-send-button{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:1.25rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s ease;white-space:nowrap}.floating-send-button:hover:not(:disabled){background:#0056b3}.floating-send-button:disabled{background:#6c757d;cursor:not-allowed}:root{--record-button-normal: #439bff;--record-button-pulse-dark: #51759e;--record-button-pressed: #51759e}.floating-record-button{padding:0;background:var(--record-button-normal);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:45px;height:45px;-webkit-user-select:none;user-select:none}.floating-record-button.disabled{background:#ccc;cursor:not-allowed;opacity:.6}.floating-record-button.disabled:hover{background:#ccc;transform:none}.floating-record-button:hover:not(.recording):not(.connecting):not(:disabled){background:var(--record-button-normal)}.floating-record-button.pressed:not(.recording):not(.connecting){background:var(--record-button-pressed);transform:translateY(1px)}.floating-record-button.connecting{background:var(--record-button-pressed);animation:connecting 1s ease-in-out infinite}.floating-record-button.recording{background:var(--record-button-pressed);animation:pulse 1.5s infinite}@keyframes connecting{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes pulse{0%{background:var(--record-button-pressed)}50%{background:var(--record-button-pulse-dark)}to{background:var(--record-button-pressed)}}.floating-confirmation-controls{padding:1rem;background:#fff3cd;border-top:1px solid #ffeeba}.floating-confirmation-controls p{margin:0 0 .75rem;font-size:.85rem;color:#856404}.floating-confirmation-buttons{display:flex;gap:.75rem;justify-content:center}.floating-btn-confirm-small,.floating-btn-cancel-small{padding:.5rem 1rem;border:none;border-radius:.5rem;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.floating-btn-confirm-small{background:#28a745;color:#fff}.floating-btn-confirm-small:hover{background:#218838}.floating-btn-cancel-small{background:#6c757d;color:#fff}.floating-btn-cancel-small:hover{background:#5a6268}@media (max-width: 768px){.floating-dialog{height:60vh}.floating-dialog.maximized{top:70px;bottom:10px}.floating-dialog-header{padding:.5rem}.floating-dialog-header h3{font-size:1rem}.floating-chat-messages{padding:.75rem}.floating-message-content{max-width:85%;padding:.625rem .875rem}.floating-chat-input{display:flex;align-items:center;flex-direction:row}.floating-chat-input textarea{font-size:16px}.recording-overlay{border-radius:1rem}.wave-dot{width:6px;height:6px}.recording-text{font-size:.8rem}.floating-confirmation-controls{padding:.75rem}.floating-confirmation-buttons{flex-direction:column}.floating-btn-confirm-small,.floating-btn-cancel-small{width:100%;padding:.75rem}.floating-message-text pre{font-size:.75em;padding:.5em}.floating-message-text code{font-size:.8em}.floating-message-text h1{font-size:1.1em}.floating-message-text h2{font-size:1.05em}.floating-message-text h3{font-size:1em}}@media (max-width: 480px){.floating-dialog{height:70vh}.floating-chat-welcome{padding:1rem .5rem}.floating-chat-welcome ul{font-size:.85rem}}@media (min-width: 769px){.floating-dialog{left:10%;right:10%;max-width:1200px;margin:0 auto}.floating-dialog.maximized{left:5%;right:5%;top:20px;bottom:20px;max-width:none}}.task-container{display:flex;flex-direction:column;height:100%;background:#fff;overflow:hidden}.task-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #e9ecef;background:#f8f9fa;flex-shrink:0;gap:1rem;flex-wrap:nowrap}.task-stats{display:flex;gap:1rem;font-size:.875rem;color:#6c757d;flex-wrap:wrap}.task-stats span{font-weight:500}.task-sort{display:flex;align-items:center;gap:.5rem}.sort-buttons{display:flex;background:#f8f9fa;border-radius:.375rem;padding:.125rem;gap:.125rem;border:1px solid #e9ecef}.sort-direction-btn{padding:.375rem;border:1px solid #e9ecef;background:#fff;border-radius:.375rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;color:#6c757d;width:32px;height:32px}.sort-direction-btn:hover{background:#f8f9fa;border-color:#007bff;color:#007bff}.sort-btn{padding:.375rem .75rem;border:none;background:transparent;color:#6c757d;font-size:.8rem;font-weight:500;border-radius:.25rem;cursor:pointer;transition:all .15s ease;white-space:nowrap;min-width:60px}.sort-btn:hover{background:#e9ecef;color:#495057}.sort-btn.active{background:#007bff;color:#fff;box-shadow:0 1px 3px #007bff4d}.sort-btn.active:hover{background:#0056b3}.sort-disabled-hint{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6c757d;padding:.375rem .5rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:.25rem;font-weight:500}.sort-disabled-hint svg{color:#ffc107}.sort-disabled-hint span{white-space:nowrap;cursor:help}.task-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-add,.btn-save,.btn-reset{padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s;flex-shrink:0}.btn-add{background:#007bff;color:#fff}.btn-add:hover{background:#0056b3}.btn-save{background:#28a745;color:#fff}.btn-save:hover{background:#218838}.btn-reset{background:#6c757d;color:#fff}.btn-reset:hover{background:#545b62}.task-list{flex:1;overflow-y:auto;padding-top:1rem;min-height:0;background:#f8f9fa;padding-bottom:100px}.task-empty{text-align:center;color:#6c757d;padding:3rem 1rem;line-height:1.6}.task-item{background:#fff;border:1px solid #e9ecef;border-radius:.5rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;cursor:pointer;overflow:hidden}.task-item:hover{box-shadow:0 4px 12px #0000001a;border-color:#007bff}.task-item.expanded{cursor:default}.task-main{padding:1rem;display:flex;flex-direction:column;gap:.75rem;animation:slideDown .2s ease-out}.task-title-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.task-info-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;padding:.5rem 0;font-size:.875rem;border-bottom:1px solid #f1f3f4;margin-bottom:.5rem}.task-info-item{display:flex;align-items:center;gap:.25rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;background:#f8f9fa;white-space:nowrap}.task-info-item.priority{color:#495057;background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.task-info-item.urgency{color:#495057;background:linear-gradient(135deg,#f3e5f5,#e1bee7)}.task-info-item.deadline{color:#495057;background:linear-gradient(135deg,#e8f5e8,#c8e6c9)}.task-info-item.deadline.overdue{color:#721c24;background:linear-gradient(135deg,#f8d7da,#f5c6cb);font-weight:600}.task-info-item.deadline.today{color:#856404;background:linear-gradient(135deg,#fff3cd,#ffeaa7);font-weight:600}.task-info-item.deadline.tomorrow{color:#004085;background:linear-gradient(135deg,#cce5ff,#b3d7ff);font-weight:600}.task-title-input{flex:1;min-width:200px;padding:.5rem;border:1px solid #ced4da;border-radius:.375rem;font-size:1rem;font-weight:500}.task-title-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.task-title-input:read-only{background:#f8f9fa;cursor:default}.task-status{min-width:120px}.status-select{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:.375rem;color:#fff;font-weight:500;font-size:.875rem}.status-select:disabled{cursor:default}.task-description{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:.375rem;resize:vertical;font-family:inherit;min-height:60px;overflow-y:auto}.task-description:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.task-description:read-only{background:#f8f9fa;cursor:default}.task-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:.375rem}.task-field{display:flex;flex-direction:column;gap:.25rem}.task-field label{font-size:.75rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.05em}.small-input,.small-select,.datetime-input{padding:.375rem .5rem;border:1px solid #ced4da;border-radius:.25rem;font-size:.875rem;width:100%}.small-input:focus,.small-select:focus,.datetime-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .1rem #007bff40}.small-input:read-only,.datetime-input:read-only{background:#e9ecef;cursor:default}.small-select:disabled{background:#e9ecef;cursor:default}.task-field span{font-size:.75rem;color:#6c757d;margin-left:.25rem}.task-actions-row{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e9ecef}.task-left-actions{display:flex;gap:.5rem}.task-save-actions{display:flex;gap:.5rem;align-items:center}.btn-delete{padding:.375rem .75rem;background:#dc3545;color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:.75rem;font-weight:500;transition:background .2s}.btn-delete:hover{background:#c82333}.btn-save-task,.btn-reset-task{padding:.375rem .75rem;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;font-size:.8rem;transition:all .2s;flex-shrink:0}.btn-save-task{background:#28a745;color:#fff}.btn-save-task:hover{background:#218838}.btn-save-task:disabled{background:#6c757d;cursor:not-allowed}.btn-reset-task{background:#6c757d;color:#fff}.btn-reset-task:hover{background:#545b62}.btn-reset-task:disabled{background:#adb5bd;cursor:not-allowed}@media (max-width: 968px){.task-header{flex-wrap:wrap;gap:.75rem}.task-stats{order:1;flex:1 1 auto}.task-actions{order:2;flex:0 0 auto}.task-sort{order:3;flex:0 0 auto}}@media (max-width: 768px){.task-header{flex-direction:column;gap:.75rem;align-items:stretch}.task-stats{justify-content:center;order:1}.task-actions{justify-content:center;order:3}.task-sort{justify-content:center;order:2}.sort-buttons{justify-content:center;max-width:100%;overflow-x:auto}.sort-btn{font-size:.75rem;padding:.25rem .5rem;min-width:50px}.sort-direction-btn{width:28px;height:28px;padding:.25rem}.task-details{grid-template-columns:1fr}.task-title-row{flex-direction:column}.task-title-input{min-width:auto}.task-status{width:100%}.task-card-header,.task-main{padding:.75rem}.task-title-preview{flex-direction:column;align-items:flex-start;gap:.5rem}.task-title-text{white-space:normal;overflow:visible;text-overflow:unset}.task-expand-icon{margin-left:.5rem}}.task-container.readonly .task-item{opacity:.9;background:#f8f9fa;cursor:default}.task-container.readonly .task-card-header{cursor:default}.task-container.readonly .task-card-header:hover{background-color:transparent}.task-container.readonly .task-title-input,.task-container.readonly .task-description{background:#e9ecef;border-color:#dee2e6}.task-container.readonly{pointer-events:auto}.task-container.readonly .task-list{overflow-y:auto}.task-container.readonly input,.task-container.readonly select,.task-container.readonly textarea,.task-container.readonly button{pointer-events:none;-webkit-user-select:none;user-select:none}.task-container.readonly .task-item{cursor:default}.task-container.readonly .task-main{display:flex}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.1rem;color:#6c757d}.error-panel{background:#fff5f5;border:1px solid #fed7d7;border-radius:.5rem;margin:1rem;padding:1rem;box-shadow:0 2px 8px #dc35451a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-header{display:flex;align-items:center;margin-bottom:.75rem;gap:.5rem}.error-icon{font-size:1.25rem}.error-title{color:#e53e3e;font-size:1rem;font-weight:600;margin:0;flex:1}.error-close{background:none;border:none;color:#e53e3e;font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:background-color .2s}.error-close:hover{background:#fed7d7}.error-message{color:#c53030;font-weight:500;margin-bottom:1rem}.conflict-details{background:#fff;border:1px solid #fbb6ce;border-radius:.375rem;padding:1rem;margin-top:.75rem}.conflict-details h5{color:#c53030;font-size:.875rem;font-weight:600;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.conflict-item{background:#fef5e7;border:1px solid #fbd38d;border-radius:.375rem;padding:.75rem;margin-bottom:.75rem}.conflict-item:last-child{margin-bottom:0}.conflict-type{color:#dd6b20;font-weight:600;font-size:.875rem;margin-bottom:.25rem}.conflict-description{color:#744210;font-size:.875rem;margin-bottom:.5rem;line-height:1.4}.conflict-info{color:#553c0f;font-size:.8rem;background:#fff;border-radius:.25rem;padding:.5rem;border:1px solid #f6e05e}.conflict-info div{margin-bottom:.25rem}.conflict-info div:last-child{margin-bottom:0}.conflict-suggestion{background:#e6fffa;border:1px solid #81e6d9;border-radius:.375rem;padding:.75rem;margin-top:.75rem;color:#047857;font-size:.875rem;line-height:1.4}.validation-details{background:#fff;border:1px solid #fbb6ce;border-radius:.375rem;padding:1rem;margin-top:.75rem}.validation-details h5{color:#c53030;font-size:.875rem;font-weight:600;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.validation-message{color:#9b2c2c;font-size:.875rem;background:#fed7d7;border-radius:.25rem;padding:.5rem}.validation-errors{margin-top:.5rem}.validation-error-item{background:#fef5e7;border:1px solid #fbd38d;border-radius:.375rem;padding:.75rem;margin-bottom:.75rem}.validation-error-item:last-child{margin-bottom:0}.validation-message{color:#9c4221;font-size:.875rem;line-height:1.4;display:flex;align-items:flex-start;gap:.5rem}.error-bullet{color:#dd6b20;font-weight:700;margin-top:.1rem}.technical-details{margin-top:.5rem}.technical-details summary{color:#744210;font-size:.8rem;cursor:pointer;padding:.25rem 0}.technical-details code{display:block;background:#f7fafc;border:1px solid #e2e8f0;border-radius:.25rem;padding:.5rem;margin-top:.25rem;font-size:.75rem;color:#4a5568;white-space:pre-wrap;word-break:break-word}.validation-help{background:#e6fffa;border:1px solid #81e6d9;border-radius:.375rem;padding:1rem;margin-top:.75rem}.validation-help h6{color:#047857;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.validation-help ul{color:#065f46;font-size:.8rem;margin:.5rem 0;padding-left:1.25rem}.validation-help li{margin-bottom:.25rem;line-height:1.4}.refresh-note{background:#fff8dc;border:1px solid #f6e05e;border-radius:.25rem;padding:.75rem;margin-top:.75rem;color:#744210;font-size:.875rem;line-height:1.4}.refresh-note strong{color:#9c4221}.system-error-details{background:#fff;border:1px solid #fbb6ce;border-radius:.375rem;padding:1rem;margin-top:.75rem}.system-error-details h5{color:#c53030;font-size:.875rem;font-weight:600;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.system-error-message{color:#9b2c2c;font-size:.875rem;background:#fed7d7;border-radius:.25rem;padding:.75rem;margin-bottom:.5rem}.task-card-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s ease}.task-card-header:hover{background-color:#f8f9fa}.task-item.expanded .task-card-header{border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.task-header-content{flex:1;min-width:0}.task-title-preview{display:flex;gap:.75rem;margin-bottom:.5rem;align-items:flex-start}.task-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.task-title-text{font-size:1rem;font-weight:500;color:#333;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-status-badge{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.1)}.priority-badge,.urgency-badge{padding:.2rem .4rem;border-radius:.25rem;font-size:.7rem;font-weight:600;white-space:nowrap}.priority-badge{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.urgency-badge{background:#fff3e0;color:#f57c00;border:1px solid #ffcc02}.task-modified-badge{background:#ffc107;color:#212529;padding:.125rem .375rem;border-radius:.25rem;font-size:.7rem;font-weight:600;margin-right:.25rem;border:1px solid #ffca2c}.task-item.modified{border-left:4px solid #ffc107;background:#fffbf0}.task-item.modified .task-card-header{background:#fff9e6}.task-time-info{text-align:left;font-size:.875rem;color:#6c757d;line-height:1.2}.task-expand-icon{display:flex;align-items:center;margin-left:1rem;color:#6c757d;transition:transform .2s ease}.task-expand-icon svg.rotated{transform:rotate(180deg)}.task-readonly-content{display:flex;flex-direction:column;gap:.75rem}.task-description-readonly{font-size:.875rem;color:#495057;line-height:1.5;padding:.5rem 0;border-bottom:1px solid #f1f3f4}.task-details-readonly{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#6c757d}.task-details-readonly span{padding:.25rem .5rem;background:#f8f9fa;border-radius:.25rem;white-space:nowrap}.task-time-schedule{margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:.5rem;border:1px solid #dee2e6;box-shadow:inset 0 1px 2px #0000000d}.schedule-info{font-size:.875rem;color:#495057;font-weight:500;line-height:1.5;text-align:center}.schedule-incomplete{font-size:.875rem;color:#6c757d;font-style:italic;text-align:center;opacity:.8}@media (max-width: 768px){.task-details-readonly{flex-direction:column;gap:.5rem}.task-time-schedule{padding:.5rem}.schedule-info{font-size:.8rem;line-height:1.4}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-box{background:#fff;border-radius:.5rem;box-shadow:0 10px 25px #0003;max-width:480px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{padding:1.5rem 1.5rem 0;border-bottom:1px solid #e9ecef;margin-bottom:1rem}.dialog-header h4{margin:0;color:#495057;font-size:1.1rem;font-weight:600}.dialog-content{padding:0 1.5rem;color:#6c757d;line-height:1.6}.dialog-content p{margin:0 0 1rem}.dialog-content p:last-child{margin-bottom:0}.dialog-actions{padding:1.5rem;display:flex;gap:.75rem;justify-content:flex-end;border-top:1px solid #e9ecef;margin-top:1.5rem}.dialog-btn{padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s;min-width:80px}.dialog-btn-primary{background:#28a745;color:#fff}.dialog-btn-primary:hover{background:#218838}.dialog-btn-secondary{background:#ffc107;color:#212529}.dialog-btn-secondary:hover{background:#e0a800}.dialog-btn-cancel{background:#6c757d;color:#fff}.dialog-btn-cancel:hover{background:#545b62}@media (max-width: 768px){.dialog-box{width:95%;margin:1rem}.dialog-actions{flex-direction:column}.dialog-btn{width:100%}}.task-operations-container{position:relative;height:100%;overflow-y:scroll}.task-panel-fullscreen{width:100%;height:100vh;overflow-y:auto;background:#f8f9fa;position:relative}.confirmation-overlay{position:absolute;top:0;left:0;right:0;z-index:10;background:#ffc107e6;padding:10px;text-align:center;color:#856404;font-weight:700;border-bottom:1px solid #ffc107}.confirmation-text{font-size:.9rem}.floating-chat-button{position:fixed;bottom:30px;right:30px;width:64px;height:64px;border-radius:50%;background:#80b9fa;border:none;color:#fff;cursor:pointer;box-shadow:0 8px 25px #4facfe66;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1000;animation:float 5s ease-in-out infinite}.floating-chat-button:hover{transform:scale(1.05);box-shadow:0 12px 35px #4facfe99}.floating-chat-button:active{transform:scale(.95)}.floating-chat-button svg{width:26px;height:26px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}@media (max-width: 768px){.floating-chat-button{bottom:20px;right:20px;width:56px;height:56px}.floating-chat-button svg{width:22px;height:22px}.floating-chat-button:hover{transform:scale(1.03)}}@media (max-width: 480px){.floating-chat-button{bottom:80px}}.common-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.common-title h1{font-size:32px;font-weight:700;color:#2d3748;margin:0}@media (max-width: 768px){.common-title{flex-direction:column;align-items:flex-start;gap:16px}.common-title h1{font-size:28px}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width: 767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;position:absolute;right:0;margin-right:10px;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.profile-page{padding:1rem;background:#f8fafc;overflow-y:scroll;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.profile-container{max-width:1200px;margin:0 auto}.profile-header{margin-bottom:20px}.profile-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.profile-title h1{font-size:32px;font-weight:700;color:#2d3748;margin:0}.profile-actions{display:flex;gap:12px}.edit-button{background:#667eea;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.edit-button:hover{background:#5a6fd8;transform:translateY(-1px)}.edit-actions{display:flex;gap:8px}.save-button{background:#48bb78;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.save-button:hover:not(:disabled){background:#38a169;transform:translateY(-1px)}.save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fed7d7;color:#e53e3e;padding:12px 16px;border-radius:8px;font-size:14px;border:1px solid #feb2b2}.loading,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.retry-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px}.profile-content{display:flex;flex-direction:column;gap:16px}.profile-row{display:flex;gap:16px}.profile-row .profile-section{flex:1}.profile-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.profile-section h2{font-size:18px;font-weight:600;color:#2d3748;margin:0 0 16px;display:flex;align-items:center;gap:8px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item label{font-size:13px;font-weight:600;color:#4a5568}.info-value{font-size:14px;color:#2d3748;padding:8px 0}.info-input{padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;transition:border-color .2s ease}.info-input:focus{outline:none;border-color:#667eea}.timezone-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;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 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:.8em;padding-right:2.8rem;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stats-grid.compact{grid-template-columns:repeat(2,1fr);gap:12px}.stat-item{text-align:center;background:#f7fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.stat-number{font-size:24px;font-weight:700;color:#667eea;margin-bottom:6px}.stat-label{font-size:12px;color:#4a5568;font-weight:500}.schedule-container{display:flex;flex-direction:column;gap:16px}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.schedule-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.schedule-item{display:flex;flex-direction:column;gap:6px}.schedule-item label{font-size:13px;font-weight:600;color:#4a5568}.schedule-value{background:#f7fafc;padding:10px 12px;border-radius:6px;font-size:14px;color:#2d3748;border:1px solid #e2e8f0}.schedule-input{display:flex;align-items:center;gap:6px}.schedule-input input{padding:8px 10px;border:2px solid #e2e8f0;border-radius:6px;font-size:13px;flex:1}.schedule-input input.compact{padding:6px 8px;font-size:12px}.schedule-input input:focus{outline:none;border-color:#667eea}.schedule-input span{color:#4a5568;font-weight:500}.rest-day-button{background:#fed7d7;color:#e53e3e;border:1px solid #feb2b2;padding:8px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease;width:100%}.rest-day-button.compact{padding:6px 10px;font-size:12px}.rest-day-button:hover{background:#fbb6ce;border-color:#f687b3}.set-rest-button{background:#e2e8f0;color:#4a5568;border:none;padding:6px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.set-rest-button:hover{background:#cbd5e0}.weekly-timeline{background:#f7fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.weekly-timeline.compact{padding:12px}.timeline-header{margin-bottom:12px}.timeline-time-labels{display:grid;grid-template-columns:80px repeat(24,1fr);gap:1px;margin-bottom:8px;font-size:10px}.time-label{text-align:center;color:#718096;font-size:9px;padding:2px}.time-label:first-child{grid-column:1}.timeline-days{display:flex;flex-direction:column;gap:6px}.timeline-day{display:grid;grid-template-columns:80px 1fr;gap:8px;align-items:center}.day-label{display:flex;flex-direction:column;text-align:right;padding-right:8px}.day-name{font-size:12px;font-weight:600;color:#2d3748}.day-info{font-size:10px;color:#718096}.day-timeline{height:20px;position:relative}.timeline-track{width:100%;height:8px;background:#e2e8f0;border-radius:4px;position:relative;top:50%;transform:translateY(-50%)}.work-period{position:absolute;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;cursor:pointer;transition:all .2s ease}.work-period:hover{transform:scaleY(1.5);z-index:2;box-shadow:0 2px 8px #667eea4d}.work-time-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#2d3748;color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;margin-bottom:4px}.work-period:hover .work-time-tooltip{opacity:1}.timeline-track:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 24 - 1px),#cbd5e0 calc(100% / 24 - 1px),#cbd5e0 calc(100% / 24));border-radius:4px;pointer-events:none;opacity:.3}.sleep-schedule{display:flex;gap:16px;background:#f0f4ff;padding:16px;border-radius:8px;border:1px solid #c3dafe}.sleep-schedule.compact{gap:12px;padding:12px}.sleep-item{display:flex;flex-direction:column;gap:6px;flex:1}.sleep-item label{font-size:13px;font-weight:600;color:#4a5568}.sleep-value{background:#fff;padding:10px 12px;border-radius:6px;font-size:14px;color:#2d3748;border:1px solid #c3dafe}.sleep-input{padding:8px 10px;border:2px solid #c3dafe;border-radius:6px;font-size:13px;background:#fff}.sleep-input:focus{outline:none;border-color:#667eea}.subscription-wrapper{min-height:200px;width:100%}@media (max-width: 768px){.profile-page{padding:.5rem}.profile-row{flex-direction:column;gap:12px}.info-grid,.info-grid.compact{grid-template-columns:1fr}.stats-grid,.stats-grid.compact{grid-template-columns:repeat(2,1fr)}.schedule-grid,.schedule-grid.compact{grid-template-columns:1fr}.timeline-time-labels{display:none}.timeline-day{grid-template-columns:60px 1fr;gap:6px}.day-label{font-size:11px}.time-label:nth-child(2n){display:none}.sleep-schedule,.sleep-schedule.compact{flex-direction:column;gap:8px}.profile-section{padding:16px}.edit-actions{flex-direction:column;width:100%}.edit-actions button{width:100%}}@media (max-width: 480px){.profile-page{padding:.25rem}.profile-section{padding:12px}.stats-grid,.stats-grid.compact{grid-template-columns:1fr}.stat-item{padding:12px}.stat-number{font-size:20px}}.overview-row{display:flex;gap:20px}.overview-left{flex:2;display:flex;flex-direction:column;gap:16px}.overview-right{flex:1}.info-section h3,.sleep-section h3,.overview-right h3{font-size:16px;font-weight:600;color:#4a5568;margin:0 0 12px;display:flex;align-items:center;gap:6px}.info-section{background:#f8fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.sleep-section{background:#f0f4ff;padding:16px;border-radius:8px;border:1px solid #c3dafe}.sleep-section .sleep-schedule{background:transparent;padding:0;border:none}.overview-right{background:#f7fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.overview-right .stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.overview-right .stat-item{background:#fff;padding:12px;border-radius:6px;border:1px solid #e2e8f0}@media (max-width: 768px){.overview-row{flex-direction:column;gap:16px}.overview-left{flex:1;gap:12px}.overview-right{flex:1}.info-section,.sleep-section,.overview-right{padding:12px}.overview-right .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (max-width: 480px){.overview-row{gap:12px}.overview-left{gap:10px}.info-section,.sleep-section,.overview-right{padding:10px}.overview-right .stats-grid{grid-template-columns:1fr;gap:6px}}.stats-grid.large{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stats-grid-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.timezone-section{background:var(--color-bg-primary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-6)}.timezone-item{display:flex;flex-direction:column;gap:var(--space-3);max-width:300px}.timezone-item label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em}.timezone-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-brand-50) 0%,var(--color-brand-100) 100%);border:2px solid var(--color-brand-200);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.timezone-select{font-size:var(--font-size-base);padding:var(--space-3) var(--space-4);border:2px solid var(--color-neutral-300);border-radius:var(--radius-lg);background:var(--color-bg-primary);color:var(--color-text-primary);transition:all var(--transition-base)}.timezone-select:focus{outline:none;border-color:var(--color-brand-400);box-shadow:0 0 0 3px rgba(var(--color-brand-400-rgb),.1)}.stat-item.large{background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-neutral-50) 100%);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;transition:all var(--transition-base);position:relative;overflow:hidden}.stat-item.large:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-brand-300)}.stat-item.large:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-neutral-300);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.stat-item.large.success:before{background:linear-gradient(90deg,var(--color-success-400) 0%,var(--color-success-600) 100%)}.stat-item.large.warning:before{background:linear-gradient(90deg,var(--color-warning-400) 0%,var(--color-warning-600) 100%)}.stat-item.large.primary:before{background:linear-gradient(90deg,var(--color-brand-400) 0%,var(--color-brand-600) 100%)}.stat-item.large .stat-number{font-size:2.5rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);line-height:1}.stat-item.large .stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em}.sleep-section{background:var(--color-bg-primary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-6)}.sleep-schedule{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6);margin-bottom:var(--space-4)}.sleep-item{text-align:center}.sleep-item label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.025em}.sleep-value.large{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-brand-50) 0%,var(--color-brand-100) 100%);border:2px solid var(--color-brand-200);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:inline-block;min-width:120px}.sleep-stats{text-align:center;padding-top:var(--space-4);border-top:1px solid var(--color-neutral-200)}.sleep-stat{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.sleep-stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.sleep-stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.user-avatar.clickable{position:relative}.user-avatar.clickable:hover:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid var(--color-brand-400);border-radius:var(--radius-full);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 rgba(var(--color-brand-400-rgb),.4)}70%{box-shadow:0 0 0 10px rgba(var(--color-brand-400-rgb),0)}to{box-shadow:0 0 rgba(var(--color-brand-400-rgb),0)}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.info-item{background:var(--color-bg-primary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4);transition:all var(--transition-base)}.info-item:hover{border-color:var(--color-brand-300);box-shadow:var(--shadow-sm)}.info-item label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.025em}.info-value{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);word-break:break-word}@media (max-width: 768px){.stats-grid.large{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.stats-grid-row{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat-item.large{padding:var(--space-4)}.stat-item.large .stat-number{font-size:2rem}.sleep-schedule{grid-template-columns:1fr;gap:var(--space-4)}.sleep-value.large{font-size:1.5rem;min-width:100px}.info-grid{grid-template-columns:1fr}.timezone-section{padding:var(--space-4)}.timezone-item{max-width:100%}}@media (max-width: 480px){.stats-grid-row{grid-template-columns:1fr;gap:var(--space-2)}.stat-item.large{padding:var(--space-3)}.stat-item.large .stat-number{font-size:1.5rem}}.subscription-manager{margin:0;padding:0}.subscription-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#666}.subscription-loading .loading-spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:.75rem;border:1px solid #fcc;display:flex;justify-content:space-between;align-items:center;font-size:12px}.close-error{background:none;border:none;font-size:1rem;cursor:pointer;color:#c33;padding:0;margin-left:.5rem}.close-error:hover{color:#900}.all-plans{margin:0}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.plan-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;transition:all .3s ease;position:relative}.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.plan-card.selected{border-color:#667eea;background:#f8faff;box-shadow:0 4px 20px #667eea26}.plan-card.free{border-color:#cbd5e0}.plan-card.free.selected{border-color:#4a5568;background:#f7fafc}.plan-card.basic{border-color:#667eea}.plan-card.premium{border-color:#48bb78;position:relative}.plan-card.premium:before{content:"🌟 推荐";position:absolute;top:-10px;right:20px;background:#48bb78;color:#fff;padding:4px 12px;border-radius:16px;font-size:11px;font-weight:600}.plan-card.enterprise{border-color:#6f42c1}.plan-header{text-align:center;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.plan-name{font-size:18px;font-weight:700;color:#2d3748;margin-bottom:8px}.plan-price{font-size:24px;font-weight:700;color:#667eea;margin-bottom:12px}.plan-card.free .plan-price{color:#4a5568}.plan-card.premium .plan-price{color:#48bb78}.plan-card.enterprise .plan-price{color:#6f42c1}.current-badge{background:#667eea;color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-block}.plan-card.free .current-badge{background:#4a5568}.plan-card.premium .current-badge{background:#48bb78}.plan-card.enterprise .current-badge{background:#6f42c1}.cancel-notice{color:#f4f4f4;padding:4px 8px;border-radius:4px;font-size:10px;margin-top:4px}.next-billing{color:#f3f3f3;font-size:10px;margin-top:4px}.plan-features{flex:1;display:flex;flex-direction:column;gap:8px}.feature-item{font-size:13px;color:#4a5568;display:flex;align-items:center;gap:8px;padding:4px 0}.feature-item:first-child{margin-top:0}.plan-action{margin-top:auto}.plan-actions{display:flex;flex-direction:column;gap:8px}.subscribe-button,.reactivate-button,.cancel-button{width:100%;padding:12px 16px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.subscribe-button{background:#667eea;color:#fff}.subscribe-button:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.plan-card.free .subscribe-button{background:#4a5568}.plan-card.free .subscribe-button:hover:not(:disabled){background:#2d3748}.plan-card.premium .subscribe-button{background:#48bb78}.plan-card.premium .subscribe-button:hover:not(:disabled){background:#38a169}.plan-card.enterprise .subscribe-button{background:#6f42c1}.plan-card.enterprise .subscribe-button:hover:not(:disabled){background:#553c9a}.reactivate-button{background:#48bb78;color:#fff}.reactivate-button:hover:not(:disabled){background:#38a169}.cancel-button{background:#f7fafc;color:#e53e3e;border:1px solid #e2e8f0}.cancel-button:hover:not(:disabled){background:#edf2f7;border-color:#e53e3e}.current-plan-indicator{text-align:center;color:#4a5568;font-size:14px;font-weight:600;padding:12px 16px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px}.downgrade-button{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-weight:600;font-size:14px;cursor:not-allowed;background:#f7fafc;color:#a0aec0}.subscribe-button:disabled,.reactivate-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.plans-grid{grid-template-columns:1fr;gap:12px}.plan-card{padding:16px;gap:12px}.plan-name{font-size:16px}.plan-price{font-size:20px}.feature-item{font-size:12px}.subscribe-button,.reactivate-button,.cancel-button{padding:10px 14px;font-size:13px}}@media (max-width: 480px){.plan-card{padding:12px;gap:10px}.plan-header{padding-bottom:12px}.plan-name{font-size:15px}.plan-price{font-size:18px}.current-badge{padding:4px 10px;font-size:11px}.feature-item{font-size:11px;padding:2px 0}}.notification-settings{max-width:600px;margin:0 auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:100%;overflow-y:scroll}.notification-settings h2{margin-bottom:20px;color:#333;text-align:center}.notification-status{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px}.status-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 0;border-bottom:1px solid #e0e0e0}.status-item:last-child{border-bottom:none;margin-bottom:0}.status-item .label{font-weight:500;color:#555}.status-item .value{font-weight:600}.status-item .value.supported{color:#28a745}.status-item .value.unsupported{color:#dc3545}.status-item .value.subscribed{color:#28a745}.status-item .value.unsubscribed{color:#6c757d}.message{margin:15px 0;padding:10px 15px;border-radius:4px;font-size:14px}.message.info{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.notification-actions{margin:20px 0;text-align:center}.notification-actions .btn{margin:5px;padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.notification-actions .btn:disabled{opacity:.6;cursor:not-allowed}.notification-actions .btn-primary{background:#007bff;color:#fff}.notification-actions .btn-primary:hover:not(:disabled){background:#0056b3}.notification-actions .btn-secondary{background:#6c757d;color:#fff}.notification-actions .btn-secondary:hover:not(:disabled){background:#545b62}.notification-actions .btn-test{background:#ffc107;color:#212529}.notification-actions .btn-test:hover:not(:disabled){background:#e0a800}.notification-actions .btn-test-local{background:#17a2b8;color:#fff}.notification-actions .btn-test-local:hover:not(:disabled){background:#138496}.unsupported-notice,.permission-denied-notice{margin:15px 0;padding:15px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404}.unsupported-notice p,.permission-denied-notice p{margin:5px 0}.notification-help{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:6px}.notification-help h3{margin-bottom:15px;color:#333}.notification-help ul{list-style-type:disc;padding-left:20px;text-align:left}.notification-help li{margin-bottom:8px;color:#555;line-height:1.5}@media (max-width: 768px){.notification-settings{margin:10px;padding:15px}.status-item{flex-direction:column;align-items:flex-start;text-align:left}.status-item .value{margin-top:5px}.notification-actions .btn{display:block;width:100%;margin:10px 0}}*{margin:0;padding:0;box-sizing:border-box}.app{height:100vh;width:100vw;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;overflow:hidden}.welcome h1{font-size:3rem;margin-bottom:1rem}.welcome p{font-size:1.2rem;opacity:.8}.user-page-mobile{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;padding:1rem}@media (max-width: 768px){.user-page-mobile{padding:0}}.task-panel-fullscreen{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;position:relative}.floating-add-button{position:fixed;bottom:2rem;right:2rem;width:3.5rem;height:3.5rem;background:#007bff;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #007bff4d;transition:all .3s ease;z-index:100;padding:0}.floating-add-button svg{width:24px;height:24px;stroke-width:2}.floating-add-button:hover{background:#0056b3;transform:scale(1.1);box-shadow:0 6px 20px #007bff66}.floating-add-button:active{transform:scale(.95)}.user-page{display:flex;height:100vh;width:100vw;overflow:hidden}.chat-panel{width:50%;min-width:0;background:#f8f9fa;border-right:1px solid #e9ecef;display:flex;flex-direction:column;overflow:hidden}.task-panel{width:50%;min-width:0;background:#fff;display:flex;flex-direction:column;overflow:hidden;position:relative}.user-header{padding:1rem;background:#6c757d;color:#fff;text-align:center;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:.5rem}.error-indicator{font-size:1.25rem;animation:pulse 2s infinite;cursor:help}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.confirmation-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#80808066;z-index:10;display:flex;align-items:center;justify-content:center;pointer-events:none}.confirmation-text{color:#fff;font-size:.875rem;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.5);letter-spacing:.05em}#root{margin:0 auto;text-align:center}.logo{padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}@media (max-width: 768px){.floating-add-button{bottom:1.5rem;right:1.5rem;width:3rem;height:3rem}.floating-add-button svg{width:20px;height:20px;stroke-width:2.2}.welcome h1{font-size:2rem}.user-page{flex-direction:column}.chat-panel,.task-panel{width:100%;height:50vh}}@media (max-width: 480px){.floating-add-button{bottom:1rem;right:1rem;width:2.75rem;height:2.75rem}.floating-add-button svg{width:18px;height:18px;stroke-width:2.5}.user-header{padding:.75rem;font-size:.9rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f8fafc;text-align:center;padding:40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading-container>div{font-size:18px;color:#718096}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f8fafc;text-align:center;padding:40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.not-found h1{font-size:48px;font-weight:700;color:#2d3748;margin:0 0 16px}.not-found p{font-size:18px;color:#718096;margin:0 0 32px}.not-found a{display:inline-block;background:#667eea;color:#fff;text-decoration:none;padding:14px 28px;border-radius:10px;font-size:16px;font-weight:600;transition:all .3s ease}.not-found a:hover{background:#5a6fd8;transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}
