.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:hsl(var(--background));padding:20px}.login-card{background:hsl(var(--card));border-radius:12px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:400px;border:1px solid hsl(var(--border))}.login-header{text-align:center;margin-bottom:30px}.login-header h1,.login-header h2{color:hsl(var(--foreground));margin-bottom:8px;font-size:28px;font-weight:600}.login-header p{color:hsl(var(--muted-foreground));margin:0;font-size:16px}.login-form{margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:hsl(var(--foreground));font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid hsl(var(--border));border-radius:8px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box;background:hsl(var(--input));color:hsl(var(--foreground))}.form-group input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.form-group input::placeholder{color:hsl(var(--muted-foreground))}.error-message{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;border:1px solid hsl(var(--destructive) / .3)}.login-btn{width:100%;padding:14px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px hsl(var(--primary) / .3);background:hsl(var(--primary) / .9)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.demo-info{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:8px;padding:20px;text-align:center}.demo-info h4{margin:0 0 12px;color:hsl(var(--foreground));font-size:16px;font-weight:600}.demo-info p{margin:4px 0;font-size:14px;color:hsl(var(--muted-foreground))}.demo-info strong{color:hsl(var(--foreground))}:root{--background: 0 0% 100%;--foreground: 220 13% 13%;--card: 0 0% 100%;--card-foreground: 220 13% 13%;--popover: 0 0% 100%;--popover-foreground: 220 13% 13%;--primary: 199 89% 48%;--primary-foreground: 0 0% 100%;--secondary: 220 13% 95%;--secondary-foreground: 220 13% 13%;--muted: 220 13% 95%;--muted-foreground: 220 9% 46%;--accent: 142 76% 36%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 220 13% 91%;--input: 220 13% 91%;--ring: 199 89% 48%;--radius: .75rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%}.dark{--background: 220 13% 9%;--foreground: 220 13% 98%;--card: 220 13% 12%;--card-foreground: 220 13% 98%;--popover: 220 13% 12%;--popover-foreground: 220 13% 98%;--primary: 199 89% 48%;--primary-foreground: 0 0% 100%;--secondary: 220 13% 16%;--secondary-foreground: 220 13% 98%;--muted: 220 13% 16%;--muted-foreground: 220 9% 65%;--accent: 142 76% 36%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 220 13% 20%;--input: 220 13% 20%;--ring: 199 89% 48%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 224.3 76.3% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 217.2 91.2% 59.8%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));margin:0;padding:0;min-height:100vh;line-height:1.6}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;background:hsl(var(--sidebar-background));border-right:1px solid hsl(var(--sidebar-border));display:flex;flex-direction:column;transition:transform .3s ease;position:fixed;left:0;top:0;height:100vh;z-index:5;box-shadow:2px 0 8px #0000001a}.sidebar.closed{transform:translate(-100%)}.sidebar-header{padding:16px;border-bottom:1px solid hsl(var(--sidebar-border));background:hsl(var(--sidebar-background))}.user-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:8px 0}.user-name{color:hsl(var(--sidebar-foreground));font-size:14px;font-weight:500}.logout-btn{background:none;border:1px solid hsl(var(--muted-foreground));color:hsl(var(--muted-foreground));padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.logout-btn:hover{border-color:hsl(var(--destructive));color:hsl(var(--destructive))}.new-chat-btn{width:100%;padding:12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;transition:background .2s}.new-chat-btn:hover{background:hsl(var(--primary) / .9)}.chats-list{flex:1;overflow-y:auto;padding:8px}.chat-item{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:4px;border-radius:8px;cursor:pointer;transition:background .2s;color:hsl(var(--sidebar-foreground));border:1px solid transparent}.chat-item:hover{background:hsl(var(--sidebar-accent))}.chat-item.active{background:hsl(var(--sidebar-accent));border-color:hsl(var(--primary));color:hsl(var(--sidebar-primary))}.chat-title{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-btn{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:4px;display:flex;align-items:center;opacity:0;transition:opacity .2s}.chat-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:hsl(var(--destructive))}.main-content{flex:1;display:flex;flex-direction:column;min-height:100vh;background:hsl(var(--background));margin-left:0;transition:margin-left .3s ease;overflow-y:auto;overflow-x:hidden}.main-content.sidebar-open{margin-left:280px}.chat-header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 1px 3px #0000001a}.chat-actions{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card))}.chat-actions .export-pdf-btn,.chat-actions .upload-file-btn{margin-left:0;margin-right:0}.chat-header .header-actions{display:flex;align-items:center;margin-left:auto;gap:8px}.chat-header .nav-links{display:flex;gap:10px;margin-left:12px}.chat-header .nav-link{display:inline-flex;gap:6px;align-items:center;color:hsl(var(--muted-foreground));text-decoration:none;padding:6px 10px;border-radius:6px;font-size:13px;transition:background .15s,color .15s}.chat-header .nav-link span{display:inline-block}.chat-header .nav-link:hover{background:hsl(var(--accent) / .1);color:hsl(var(--accent))}.page-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 1px 3px #0000001a}.header-actions{display:flex;align-items:center;margin-left:auto;gap:8px}.header-controls{display:flex;align-items:center;gap:8px}.page-header .nav-links{display:flex;gap:10px;margin-left:12px}.page-header .nav-link{display:inline-flex;gap:6px;align-items:center;color:hsl(var(--muted-foreground));text-decoration:none;padding:6px 10px;border-radius:6px;font-size:13px;transition:background .15s,color .15s}.page-header .nav-link span{display:inline-block}.page-header .nav-link:hover{background:hsl(var(--accent) / .1);color:hsl(var(--accent))}.nav-link.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.logout-btn{background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive));cursor:pointer;padding:6px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;font-size:13px;transition:all .15s;font-weight:500}.logout-btn:hover{background:hsl(var(--destructive) / .2);border-color:hsl(var(--destructive) / .5)}.logout-btn:active{background:hsl(var(--destructive) / .3)}.menu-btn{background:none;border:none;color:hsl(var(--foreground));cursor:pointer;padding:8px;display:flex;align-items:center;border-radius:6px;transition:background .2s}.menu-btn:hover{background:hsl(var(--muted))}.chat-header h1,.page-header h1{flex:1;font-size:18px;font-weight:600;color:hsl(var(--foreground))}.model-selector{display:flex;align-items:center;gap:8px}.model-select:disabled{opacity:.6;cursor:not-allowed}.model-lock-indicator{font-size:16px;color:#71717a;cursor:help}.export-pdf-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:hsl(var(--accent));color:hsl(var(--accent-foreground));border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.export-pdf-btn:hover{background:hsl(var(--accent) / .9)}.export-pdf-btn span{display:inline-block}.messages-container{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;min-height:0}.chat-bottom{flex-shrink:0;background:hsl(var(--card));border-top:1px solid hsl(var(--border))}.welcome-message{text-align:center;margin-top:80px}.welcome-message h2{font-size:28px;margin-bottom:12px;color:hsl(var(--foreground))}.welcome-message p{font-size:16px;color:hsl(var(--muted-foreground))}.message{display:flex;gap:12px;max-width:900px}.message.user{margin-left:auto;flex-direction:row-reverse}.message-content{padding:12px 16px;border-radius:12px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 1px 3px #0000001a}.message.user .message-content{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.message.assistant .message-content{background:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border))}.typing{display:flex;gap:4px;padding:16px!important}.typing span{width:8px;height:8px;border-radius:50%;background:#71717a;animation:typing 1.4s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3}30%{opacity:1}}.input-area{display:flex;gap:12px;padding:16px 24px;background:hsl(var(--card));flex-shrink:0}.input-area input{flex:1;padding:12px 16px;background:hsl(var(--input));border:1px solid hsl(var(--border));border-radius:8px;color:hsl(var(--foreground));font-size:15px;outline:none;transition:border-color .2s}.input-area input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.input-area button{padding:12px 16px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;transition:background .2s}.input-area button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.input-area button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0a0a0a4d}::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#667eeab3}@media (max-width: 768px){.main-content{margin-left:0!important}}.page-content{padding:20px 24px 40px;max-width:80%;margin:0 auto;overflow-y:auto;height:calc(100% - 60px)}.page-content h1{color:hsl(var(--foreground));margin-bottom:20px;font-size:2.5rem}.page-content h2{color:hsl(var(--accent));margin:30px 0 15px;font-size:1.8rem}.page-content h3{color:hsl(var(--accent) / .8);margin:20px 0 10px;font-size:1.4rem}.page-content p{color:hsl(var(--foreground));line-height:1.6;margin-bottom:15px}.page-content ul,.page-content ol{color:hsl(var(--foreground));margin-left:20px;margin-bottom:15px}.page-content li{margin-bottom:5px}.page-content a{color:hsl(var(--primary));text-decoration:none}.page-content a:hover{text-decoration:underline}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:30px 0}.feature-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.feature-card h3{color:hsl(var(--accent));margin-bottom:10px}.docs-sections section{margin-bottom:40px}.docs-sections{max-width:100%;margin:0 auto}.page-nav{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;padding:15px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a;max-width:1200px;margin-left:auto;margin-right:auto}.page-nav h3{color:hsl(var(--accent));margin-bottom:10px;font-size:1.2rem}.page-nav ul{list-style:none;padding:0;margin:0}.page-nav li{margin-bottom:5px}.page-nav a{color:hsl(var(--foreground));text-decoration:none;padding:5px 0;display:block;transition:color .2s}.page-nav a:hover{color:hsl(var(--primary))}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:0;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #00000026}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid hsl(var(--border))}.modal-header h3{color:hsl(var(--foreground));font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}.modal-close:hover{color:hsl(var(--destructive))}.modal-body{padding:24px}.modal-body p{color:hsl(var(--foreground));margin-bottom:16px;font-size:15px}.model-select-modal{width:100%;padding:12px 16px;background:hsl(var(--input));border:1px solid hsl(var(--border));border-radius:8px;color:hsl(var(--foreground));font-size:15px;outline:none;transition:border-color .2s}.model-select-modal:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid hsl(var(--border))}.modal-cancel,.modal-confirm{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.modal-cancel{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.modal-cancel:hover{background:hsl(var(--muted) / .8)}.modal-confirm{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.modal-confirm:hover{background:hsl(var(--primary) / .9)}.interactive-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.list-option-button{display:flex;align-items:center;gap:12px;padding:12px 16px;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:8px;color:hsl(var(--foreground));cursor:pointer;transition:all .2s;text-align:left;font-size:15px;line-height:1.4}.list-option-button:hover{background:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .5);transform:translateY(-1px)}.list-option-button:active{transform:translateY(0)}.option-number{font-weight:600;color:hsl(var(--primary));min-width:24px}.option-text{flex:1}.form-toggle-button{margin-top:12px;padding:8px 16px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.form-toggle-button:hover{background:hsl(var(--primary) / .9)}.interactive-form{margin-top:16px;padding:16px;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:8px}.form-field{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;color:hsl(var(--foreground));font-weight:500;font-size:14px}.required{color:hsl(var(--destructive));margin-left:4px}.form-input,.form-select{width:100%;padding:10px 12px;background:hsl(var(--input));border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:14px;outline:none;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:hsl(var(--primary))}.form-input::placeholder{color:hsl(var(--muted-foreground))}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid hsl(var(--border))}.form-cancel,.form-submit{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.form-cancel{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.form-cancel:hover{background:hsl(var(--muted) / .8)}.form-submit{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.form-submit:hover{background:hsl(var(--primary) / .9)}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{color:hsl(var(--foreground));margin:16px 0 8px;font-weight:600}.message-content h1{font-size:24px}.message-content h2{font-size:20px}.message-content h3{font-size:18px}.message-content p{margin:8px 0;line-height:1.6}.message-content ul,.message-content ol{margin:8px 0;padding-left:20px}.message-content li{margin:4px 0}.message-content blockquote{border-left:4px solid hsl(var(--primary));padding-left:16px;margin:16px 0;color:hsl(var(--muted-foreground));font-style:italic}.message-content code{background:hsl(var(--muted));padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;color:hsl(var(--foreground))}.message-content pre{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:8px;padding:16px;overflow-x:auto;margin:16px 0}.message-content pre code{background:none;padding:0;color:hsl(var(--foreground))}.message-content table{border-collapse:collapse;margin:16px 0;width:100%}.message-content th,.message-content td{border:1px solid hsl(var(--border));padding:8px 12px;text-align:left}.message-content th{background:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground))}.message-content a{color:hsl(var(--primary));text-decoration:none}.message-content a:hover{text-decoration:underline}.pdf-export-btn{background:hsl(var(--accent) / .1);border:1px solid hsl(var(--accent));color:hsl(var(--accent));padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px;transition:all .2s}.pdf-export-btn:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.message-header{display:flex;justify-content:flex-end;margin-bottom:8px}.pdf-export-btn{background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);color:hsl(var(--primary));padding:6px 8px;border-radius:6px;cursor:pointer;display:flex;align-items:center;font-size:12px;transition:all .2s;opacity:.7}.pdf-export-btn:hover{background:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .5);opacity:1}.message.assistant .pdf-export-btn{background:hsl(var(--secondary) / .1);border-color:hsl(var(--secondary) / .3);color:hsl(var(--secondary-foreground))}.message.assistant .pdf-export-btn:hover{background:hsl(var(--secondary) / .2);border-color:hsl(var(--secondary) / .5)}.upload-file-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:hsl(var(--accent));color:hsl(var(--accent-foreground));border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.upload-file-btn:hover{background:hsl(var(--accent) / .9)}.upload-file-btn span{display:inline-block}.file-upload-modal-wrapper{max-width:500px;width:95%}.file-upload-modal{width:100%}.file-upload-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid hsl(var(--border))}.file-upload-header h3{color:hsl(var(--foreground));font-size:18px;font-weight:600;margin:0}.file-upload-body{padding:24px}.upload-area{border:2px dashed hsl(var(--border));border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:hsl(var(--muted) / .3);margin-bottom:16px}.upload-area:hover,.upload-area.dragging{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.upload-area.uploading{border-color:hsl(var(--accent));background:hsl(var(--accent) / .05);cursor:not-allowed}.upload-icon{color:hsl(var(--primary));margin-bottom:16px}.upload-text{color:hsl(var(--foreground));font-size:16px;font-weight:500;margin-bottom:8px}.upload-subtext{color:hsl(var(--muted-foreground));font-size:14px}.upload-progress{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:32px;height:32px;border:3px solid hsl(var(--muted));border-top:3px solid hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-status{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.upload-status.success{background:hsl(var(--accent) / .1);border:1px solid hsl(var(--accent) / .3);color:hsl(var(--accent))}.upload-status.error{background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive))}.file-list{margin-bottom:24px;padding:16px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;box-shadow:0 1px 3px #0000001a}.file-list h4{color:hsl(var(--foreground));font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.file-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:hsl(var(--muted-foreground));text-align:center}.empty-icon{color:hsl(var(--muted-foreground));opacity:.5}.file-list-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:hsl(var(--muted-foreground))}.file-list-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:hsl(var(--destructive));text-align:center}.retry-btn{padding:8px 16px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.retry-btn:hover{background:hsl(var(--primary) / .9)}.files-container{display:flex;flex-direction:column;gap:12px}.file-item{display:flex;align-items:center;gap:12px;padding:12px;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:8px;transition:background .2s}.file-item:hover{background:hsl(var(--muted) / .7)}.file-icon{flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{color:hsl(var(--foreground));font-size:14px;font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{color:hsl(var(--muted-foreground));font-size:12px;margin-bottom:4px}.file-preview{color:hsl(var(--foreground));font-size:13px;line-height:1.4;margin-top:8px;padding:8px;background:hsl(var(--muted) / .3);border-radius:4px;white-space:pre-wrap;word-break:break-word}.file-actions{display:flex;gap:8px;flex-shrink:0}.file-action-btn{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;transition:all .2s;opacity:.7}.file-action-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground));opacity:1}.delete-btn:hover{color:hsl(var(--destructive));background:hsl(var(--destructive) / .1)}.download-btn:hover{color:hsl(var(--accent));background:hsl(var(--accent) / .1)}.view-btn:hover{color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:hsl(var(--muted-foreground))}.page-loader .spinner{width:40px;height:40px;border:3px solid hsl(var(--muted));border-top:3px solid hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.page-loader p{font-size:16px;margin:0}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:hsl(var(--background));color:hsl(var(--foreground))}.auth-loading .spinner{width:50px;height:50px;border:4px solid hsl(var(--muted));border-top:4px solid hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.auth-loading p{font-size:18px;margin:0;font-weight:500;color:hsl(var(--foreground))}.theme-toggle-btn{background:none;border:1px solid hsl(var(--border));color:hsl(var(--foreground));cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:8px}.theme-toggle-btn:hover{background:hsl(var(--muted));border-color:hsl(var(--ring))}.auth-checking{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,hsl(var(--background)),hsl(var(--card)));gap:1rem}.auth-checking .spinner{width:48px;height:48px;border:4px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .8s linear infinite}.auth-checking p{color:hsl(var(--muted-foreground));font-size:.95rem}
