.login-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--gradient-hero);padding:var(--spacing-lg);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(200,16,46,.15) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(200,16,46,.1) 0%,transparent 50%);animation:slowRotate 30s linear infinite;pointer-events:none}@keyframes slowRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-box{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:440px;padding:var(--spacing-2xl);position:relative;z-index:1;transition:transform var(--transition-base),box-shadow var(--transition-base)}.login-box:hover{transform:translateY(-4px);box-shadow:var(--shadow-accent)}@media (max-width: 480px){.login-container{padding:var(--spacing-md);align-items:flex-start;padding-top:var(--spacing-2xl)}.login-box{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.login-logo{max-width:160px;margin-bottom:var(--spacing-md)}.login-header{margin-bottom:var(--spacing-lg)}.login-header h1{font-size:var(--font-size-xl)}.login-header p{font-size:var(--font-size-sm)}.login-form{gap:var(--spacing-md)}.form-group label{font-size:var(--font-size-sm)}.form-group input{padding:var(--spacing-md);font-size:16px}.login-btn{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.login-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.login-footer p{font-size:var(--font-size-xs)}}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{max-width:200px;height:auto;margin:0 auto var(--spacing-lg);display:block;filter:brightness(1.1)}.login-header h1{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.login-header p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-base)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-error{background:#dc262626;color:var(--color-accent-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid rgba(220,38,38,.3);font-size:var(--font-size-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:.01em}.form-group input{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all var(--transition-base);background:#ffffff0d;color:var(--color-text-primary)}.form-group input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow);background:#ffffff14}.login-btn{background:var(--gradient-accent);color:var(--color-text-primary);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);margin-top:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-accent)}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--glass-border);text-align:center}.login-footer p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.login-footer code{background:#c8102e33;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-family:Fira Code,monospace;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.3)}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}@media (max-width: 480px){.form-row{flex-direction:column;gap:var(--spacing-md)}}.otp-sent-message{background:#10b98126;color:#6ee7b7;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.3);font-size:var(--font-size-sm);text-align:center}.resend-btn{background:transparent;border:1px solid var(--glass-border);color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-sm)}.resend-btn:hover:not(:disabled){border-color:var(--color-accent-primary);color:var(--color-accent-secondary)}.resend-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-mode-btn{background:transparent;border:none;color:var(--color-accent-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm);transition:all var(--transition-fast);text-decoration:underline;text-underline-offset:2px}.toggle-mode-btn:hover{color:var(--color-accent-tertiary)}.back-to-login{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary);font-size:var(--font-size-sm);cursor:pointer;background:none;border:none;padding:var(--spacing-sm);transition:all var(--transition-fast);margin-bottom:var(--spacing-md)}.back-to-login:hover{color:var(--color-accent-secondary)}.user-management{max-width:1200px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.section-header h2{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.section-header p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.primary-btn{background:var(--gradient-accent);color:var(--color-text-primary);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.loading-state,.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);font-size:var(--font-size-base)}.table-container{background:var(--glass-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:visible;border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-dark-tertiary);border-bottom:1px solid var(--glass-border)}.data-table th{text-align:left;padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.data-table tbody tr:hover{background:var(--glass-bg-hover)}.role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.role-badge.admin{background:#f59e0b26;color:#fbbf24}.role-badge.user{background:#c8102e26;color:var(--color-accent-secondary)}.action-buttons{display:flex;gap:var(--spacing-sm)}.edit-btn,.delete-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.edit-btn{background:#c8102e1a;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.3)}.edit-btn:hover{background:#c8102e33;border-color:var(--color-accent-primary)}.delete-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--color-dark-secondary);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--glass-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--glass-border)}.modal-header h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-2xl)}.close-btn{background:none;border:none;font-size:2rem;color:var(--color-text-tertiary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);min-height:auto}.close-btn:hover{background:var(--glass-bg);color:var(--color-text-primary)}.modal-form{padding:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.form-group input,.form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all var(--transition-base);box-sizing:border-box;background:var(--glass-bg);color:var(--color-text-primary)}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow)}.modal-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--glass-border)}.cancel-btn{flex:1;padding:var(--spacing-md) var(--spacing-xl);border:1px solid var(--glass-border);background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-fast)}.cancel-btn:hover{border-color:var(--color-accent-primary);background:var(--glass-bg)}.modal-actions .primary-btn{flex:1}.access-cell{min-width:160px;overflow:visible;position:relative}.access-summary{position:relative}.data-table tbody tr{overflow:visible}.access-summary-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast);width:100%;text-align:left}.access-summary-btn:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.access-counts{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.access-count{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs)}.access-count.project{color:var(--color-accent-secondary)}.access-count.store{color:#6ee7b7}.count-icon{font-size:.65rem}.count-num{font-weight:var(--font-weight-bold)}.count-label{color:var(--color-text-muted)}.has-owner{color:#fbbf24;font-size:.65rem;margin-left:2px}.expand-icon{font-size:.6rem;color:var(--color-text-muted)}.access-details{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:var(--spacing-xs);background:var(--color-dark-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);max-height:250px;overflow-y:auto;min-width:220px}.access-detail-group{padding:var(--spacing-sm);border-bottom:1px solid var(--glass-border)}.access-detail-group:last-child{border-bottom:none}.detail-header{font-size:.65rem;font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);padding:0 var(--spacing-xs)}.detail-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--glass-bg);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.detail-item.owner{background:#f59e0b26}.detail-name{color:var(--color-text-primary);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.detail-level{font-size:.65rem;font-weight:var(--font-weight-semibold);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);white-space:nowrap}.detail-level.owner{background:#f59e0b26;color:#fbbf24}.detail-level.user{background:#c8102e26;color:var(--color-accent-secondary)}.access-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.access-badge.admin-access{background:#f59e0b26;color:#fbbf24}.no-access{color:var(--color-text-muted);font-size:var(--font-size-xs);font-style:italic}@media (max-width: 768px){.section-header{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.section-header h2{font-size:var(--font-size-lg)}.section-header p{font-size:var(--font-size-xs)}.primary-btn{width:100%;text-align:center}.table-container{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.data-table{min-width:700px}.access-cell{min-width:140px}.access-summary-btn{padding:var(--spacing-xs)}.access-count{font-size:.65rem}.access-details{min-width:180px}.detail-name{max-width:90px}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.data-table th{font-size:.65rem}.role-badge{font-size:.65rem;padding:var(--spacing-xs)}.action-buttons{flex-direction:column;gap:var(--spacing-xs)}.edit-btn,.delete-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:90vh;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header{padding:var(--spacing-md)}.modal-header h3{font-size:var(--font-size-xl)}.modal-form{padding:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{font-size:var(--font-size-sm)}.form-group input,.form-group select{padding:var(--spacing-md);font-size:16px}.modal-actions{flex-direction:column;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.cancel-btn,.modal-actions .primary-btn{width:100%;padding:var(--spacing-md)}}@media (max-width: 480px){.modal{max-height:100vh;max-height:100dvh;border-radius:0}.modal-header{padding:var(--spacing-md)}.modal-header h3{font-size:var(--font-size-lg)}.close-btn{width:40px;height:40px}.modal-form{padding:var(--spacing-md)}.data-table{min-width:500px}.data-table th,.data-table td{padding:var(--spacing-sm);font-size:var(--font-size-xs)}}.project-management{max-width:1400px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.project-card{background:var(--glass-bg);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid var(--glass-border);overflow:visible;position:relative;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.project-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-accent);transform:translateY(-4px)}.project-card-header{margin-bottom:var(--spacing-md)}.project-card-header h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.project-stats{display:flex;gap:var(--spacing-sm)}.project-description{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-bottom:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--glass-border)}.project-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.view-stores-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.view-stores-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.info-message{background:#c8102e1a;color:var(--color-accent-secondary);padding:var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);border-left:3px solid var(--color-accent-primary)}.project-actions-dropdown{position:relative}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.project-card{padding:var(--spacing-md)}.project-card-header h3{font-size:var(--font-size-sm)}.stat-badge{font-size:.65rem;padding:var(--spacing-xs)}.project-description{font-size:var(--font-size-xs)}.project-meta{font-size:.65rem}.view-stores-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.info-message{font-size:var(--font-size-xs);padding:var(--spacing-sm)}.actions-dropdown-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.dropdown-item{padding:var(--spacing-md);font-size:var(--font-size-xs)}}@media (max-width: 480px){.project-card{padding:var(--spacing-md)}.project-card-header h3{font-size:var(--font-size-sm)}.project-stats{flex-wrap:wrap}.stat-badge{font-size:.6rem}.project-actions{flex-direction:column}.view-stores-btn{width:100%;text-align:center}.project-actions-dropdown,.actions-dropdown-btn{width:100%}}.progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-modal{background:#fff;border-radius:16px;padding:2.5rem;min-width:450px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.progress-modal h3{margin:0 0 1.5rem;color:#1e293b;font-size:1.5rem;text-align:center}.progress-info{margin-bottom:1.5rem;text-align:center}.progress-info p{margin:.5rem 0;color:#475569;font-size:.95rem}.file-count{color:#64748b;font-size:.85rem;font-weight:500}.progress-bar-container{width:100%;height:12px;background:#e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:1rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;transition:width .3s ease;box-shadow:0 2px 8px #667eea66}.progress-percentage{text-align:center;font-size:1.25rem;font-weight:700;color:#667eea;margin:0}@media (max-width: 768px){.progress-overlay{padding:1rem}.progress-modal{min-width:auto;width:100%;max-width:400px;padding:2rem 1.5rem;border-radius:12px}.progress-modal h3{font-size:1.25rem;margin-bottom:1.25rem}.progress-info p{font-size:.9rem}.file-count{font-size:.8rem}.progress-bar-container{height:10px}.progress-percentage{font-size:1.1rem}}@media (max-width: 480px){.progress-modal{padding:1.5rem 1rem;border-radius:8px}.progress-modal h3{font-size:1.1rem;margin-bottom:1rem}.progress-info{margin-bottom:1rem}.progress-info p{font-size:.85rem}.file-count{font-size:.75rem}.progress-bar-container{height:8px;margin-bottom:.75rem}.progress-percentage{font-size:1rem}}.store-management{max-width:1400px}.stores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.store-card{background:var(--glass-bg);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid var(--glass-border);overflow:visible;position:relative;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.store-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-accent);transform:translateY(-4px)}.store-card-header{margin-bottom:var(--spacing-md)}.store-card-header h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.store-stats{display:flex;gap:var(--spacing-sm)}.stat-badge{background:#c8102e26;color:var(--color-accent-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.store-description{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.store-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-bottom:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--glass-border)}.store-actions-dropdown{position:relative}.actions-dropdown-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-base);text-align:center;box-shadow:var(--shadow-accent)}.actions-dropdown-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background:var(--color-dark-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl);z-index:1000;overflow:hidden}.dropdown-item{width:100%;padding:var(--spacing-md);background:transparent;border:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm)}.dropdown-item:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.dropdown-item.delete{color:#ef4444}.dropdown-item.delete:hover{background:#ef444426}.add-files-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:#c8102e1a;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.add-files-btn:hover{background:#c8102e33;border-color:var(--color-accent-primary)}.assign-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:#10b9811a;color:#6ee7b7;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.assign-btn:hover{background:#10b98133;border-color:#10b981}.form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;resize:vertical;box-sizing:border-box;background:var(--glass-bg);color:var(--color-text-primary)}.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow)}.file-list{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-sm);max-height:150px;overflow-y:auto;border:1px solid var(--glass-border)}.file-item{padding:var(--spacing-sm);background:var(--color-dark-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.file-item:last-child{margin-bottom:0}.user-assignment-list{max-height:400px;overflow-y:auto}.user-assignment-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--glass-border);transition:background var(--transition-fast)}.user-assignment-item:hover{background:var(--glass-bg)}.user-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-info strong{color:var(--color-text-primary);font-size:var(--font-size-base)}.user-info span{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.assign-user-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.assign-user-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.unassign-btn{padding:var(--spacing-sm) var(--spacing-lg);background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.unassign-btn:hover{background:#ef444440;border-color:#ef4444}.empty-message{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);font-size:var(--font-size-base)}.chat-modal .chat-interface{height:100%!important;max-height:100%}.manage-files-btn{padding:var(--spacing-sm);background:#c8102e1a;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);white-space:nowrap;text-align:center}.manage-files-btn:hover{background:#c8102e33;border-color:var(--color-accent-primary)}.chat-btn{padding:var(--spacing-sm);background:var(--glass-bg);color:var(--color-text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);white-space:nowrap;text-align:center}.chat-btn:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.edit-btn{padding:var(--spacing-sm);background:#f59e0b1a;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);white-space:nowrap;text-align:center}.edit-btn:hover{background:#f59e0b33;border-color:#f59e0b}.delete-btn{padding:var(--spacing-sm);background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);white-space:nowrap;text-align:center}.delete-btn:hover{background:#ef444433;border-color:#ef4444}.file-upload-section{padding:var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid var(--glass-border)}.file-upload-section h4,.existing-files-section h4{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:var(--font-size-base)}.files-list{max-height:400px;overflow-y:auto}.file-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);transition:all var(--transition-fast)}.file-row:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-sm)}.file-row:last-child{margin-bottom:0}.file-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.file-name{color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.file-date{color:var(--color-text-muted);font-size:var(--font-size-xs)}@media (max-width: 768px){.stores-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.store-card{padding:var(--spacing-md)}.store-card-header h3{font-size:var(--font-size-sm)}.store-stats{flex-wrap:wrap}.stat-badge{font-size:.65rem;padding:var(--spacing-xs)}.store-description{font-size:var(--font-size-xs)}.store-meta{font-size:.65rem}.actions-dropdown-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.dropdown-item{padding:var(--spacing-md);font-size:var(--font-size-xs)}.add-files-btn,.assign-btn{padding:var(--spacing-sm);font-size:.65rem}.modal.large{max-width:100%}.form-group textarea{font-size:16px}.user-assignment-list{max-height:300px}.user-assignment-item{padding:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.user-info strong{font-size:var(--font-size-sm)}.user-info span{font-size:var(--font-size-xs)}.assign-user-btn,.unassign-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);width:100%}.file-row{padding:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.file-name{font-size:var(--font-size-xs)}.file-date{font-size:.65rem}.manage-files-btn,.chat-btn,.edit-btn,.delete-btn{padding:var(--spacing-sm);font-size:.6rem}.file-upload-section{padding:var(--spacing-md)}.file-upload-section h4,.existing-files-section h4{font-size:var(--font-size-sm)}.files-list{max-height:300px}}@media (max-width: 480px){.store-card{padding:var(--spacing-md)}.store-card-header h3{font-size:var(--font-size-sm)}.stat-badge{font-size:.6rem}.user-assignment-item,.file-row{flex-direction:column;align-items:flex-start}.file-info{width:100%}.empty-message{padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm)}}.gemini-store-manager{max-width:1400px}.stats-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.stat-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;min-width:120px;flex:1;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.stat-item .stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stat-item .stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--spacing-xs)}.stat-item.imported .stat-value{color:#6ee7b7}.stat-item.orphaned .stat-value{color:#fbbf24}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.view-toggle{display:flex;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);overflow:hidden}.view-toggle-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.view-toggle-btn:hover{color:var(--color-text-secondary);background:var(--glass-bg-hover)}.view-toggle-btn.active{background:var(--color-accent-primary);color:var(--color-text-primary)}.view-toggle-btn:first-child{border-right:1px solid var(--glass-border)}.refresh-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--glass-bg);color:var(--color-text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.refresh-btn:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary);color:var(--color-text-primary)}.retry-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-top:var(--spacing-md);box-shadow:var(--shadow-accent)}.retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.error-state{text-align:center;padding:var(--spacing-2xl);color:#ef4444}.gemini-stores-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-md)}.gemini-store-card{background:var(--glass-bg);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.gemini-store-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-accent);transform:translateY(-4px)}.gemini-store-card.imported{border-left:3px solid #6ee7b7}.gemini-store-card.orphaned{border-left:3px solid #fbbf24}.store-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.store-card-header h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);word-break:break-word}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0}.status-badge.imported{background:#6ee7b726;color:#6ee7b7}.status-badge.orphaned{background:#fbbf2426;color:#fbbf24}.store-card-details{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--color-dark-tertiary);border-radius:var(--radius-sm)}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-xs) 0;gap:var(--spacing-sm)}.detail-row:not(:last-child){border-bottom:1px solid var(--glass-border);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.detail-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);flex-shrink:0}.detail-value{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-align:right;word-break:break-all}.detail-value.gemini-id{font-family:monospace;font-size:.65rem;color:var(--color-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis}.store-card-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.view-files-btn,.import-btn,.delete-gemini-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);min-width:80px}.view-files-btn{background:#c8102e1a;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.3)}.view-files-btn:hover{background:#c8102e33;border-color:var(--color-accent-primary)}.import-btn{background:var(--gradient-accent);color:var(--color-text-primary);box-shadow:var(--shadow-accent)}.import-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.reimport-btn{background:#6ee7b71a;color:#6ee7b7;border:1px solid rgba(110,231,183,.3)}.reimport-btn:hover{background:#6ee7b733;border-color:#6ee7b7}.delete-gemini-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.delete-gemini-btn:hover{background:#ef444433;border-color:#ef4444}.modal.large{max-width:600px}.modal.small{max-width:420px}.modal-content{padding:var(--spacing-xl)}.files-list-modal{max-height:400px;overflow-y:auto}.file-item-modal{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.file-item-modal:last-child{margin-bottom:0}.file-name{color:var(--color-text-primary);font-size:var(--font-size-sm);word-break:break-word}.file-date{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-shrink:0;margin-left:var(--spacing-md)}.empty-files{text-align:center;padding:var(--spacing-xl);color:var(--color-text-tertiary)}.delete-warning{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.store-name-confirm{color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);text-align:center;padding:var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);word-break:break-word}.delete-note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.delete-note.imported-note{color:#fbbf24;background:#fbbf241a;padding:var(--spacing-sm);border-radius:var(--radius-sm)}.delete-confirm-btn{flex:1;padding:var(--spacing-md) var(--spacing-xl);background:#ef4444;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-fast)}.delete-confirm-btn:hover{background:#dc2626}.stores-table-container{background:var(--glass-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow-x:auto;border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.stores-table{width:100%;border-collapse:collapse;min-width:800px}.stores-table thead{background:var(--color-dark-tertiary);border-bottom:1px solid var(--glass-border)}.stores-table th{text-align:left;padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.stores-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);vertical-align:middle}.stores-table tbody tr:hover{background:var(--glass-bg-hover)}.stores-table tbody tr.imported{border-left:3px solid #6ee7b7}.stores-table tbody tr.orphaned{border-left:3px solid #fbbf24}.store-name-cell{min-width:150px}.store-name-cell .store-name{display:block;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.store-name-cell .app-name-sub{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.store-id-cell{max-width:200px}.store-id-text{font-family:monospace;font-size:.7rem;color:var(--color-text-muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-cell{text-align:center;min-width:60px}.date-cell{white-space:nowrap;min-width:100px}.status-cell{min-width:120px}.actions-cell{min-width:200px}.table-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.table-action-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);white-space:nowrap}.table-action-btn.view{background:#c8102e1a;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.3)}.table-action-btn.view:hover{background:#c8102e33;border-color:var(--color-accent-primary)}.table-action-btn.import{background:var(--gradient-accent);color:var(--color-text-primary)}.table-action-btn.import:hover{opacity:.9}.table-action-btn.reimport{background:#6ee7b71a;color:#6ee7b7;border:1px solid rgba(110,231,183,.3)}.table-action-btn.reimport:hover{background:#6ee7b733;border-color:#6ee7b7}.table-action-btn.delete{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.table-action-btn.delete:hover{background:#ef444433;border-color:#ef4444}@media (max-width: 768px){.header-actions{gap:var(--spacing-sm)}.view-toggle-btn{padding:var(--spacing-xs) var(--spacing-sm)}.stores-table-container{margin:0 calc(-1 * var(--spacing-md));border-radius:0;border-left:none;border-right:none}.stores-table{min-width:600px}.stores-table th,.stores-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.table-action-btn{padding:4px 8px;font-size:.65rem}.stats-bar{gap:var(--spacing-sm)}.stat-item{padding:var(--spacing-md);min-width:100px}.stat-item .stat-value{font-size:var(--font-size-xl)}.stat-item .stat-label{font-size:.65rem}.gemini-stores-list{grid-template-columns:1fr}.gemini-store-card{padding:var(--spacing-md)}.store-card-header{flex-direction:column;gap:var(--spacing-sm)}.store-card-header h3{font-size:var(--font-size-sm)}.status-badge{align-self:flex-start}.store-card-details{padding:var(--spacing-sm)}.detail-row{flex-direction:column;gap:var(--spacing-xs)}.detail-value{text-align:left}.detail-value.gemini-id{max-width:100%}.store-card-actions{flex-direction:column}.view-files-btn,.import-btn,.delete-gemini-btn{width:100%;text-align:center}.modal.large{max-width:100%}.modal-content{padding:var(--spacing-md)}.files-list-modal{max-height:300px}.file-item-modal{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.file-date{margin-left:0}}@media (max-width: 480px){.stats-bar{flex-direction:column}.stat-item{flex-direction:row;justify-content:space-between;min-width:auto}.stat-item .stat-label{margin-top:0}.store-card-header h3{font-size:var(--font-size-xs)}.detail-label,.detail-value{font-size:.65rem}}.chat-interface{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--color-dark-primary)}.chat-header{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-dark-secondary);border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.chat-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.chat-logo{height:36px;width:auto;filter:brightness(1.1)}.chat-header h2{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.chat-header p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.chat-header-right{display:flex;gap:var(--spacing-sm)}.new-chat-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.new-chat-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.history-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);color:var(--color-text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.history-btn:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.session-tabs{background:var(--color-dark-secondary);border-bottom:1px solid var(--glass-border);padding:var(--spacing-sm) var(--spacing-md);overflow-x:auto}.session-tabs-scroll{display:flex;gap:var(--spacing-sm);min-width:min-content}.session-tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;min-width:120px;font-size:var(--font-size-sm)}.session-tab:hover{border-color:var(--color-accent-primary);background:var(--glass-bg-hover)}.session-tab.active{background:#c8102e26;border-color:var(--color-accent-primary);box-shadow:var(--shadow-accent)}.session-name{flex:1;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.session-tab.active .session-name{color:var(--color-accent-secondary);font-weight:var(--font-weight-semibold)}.close-tab{width:20px;height:20px;border:none;background:transparent;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);line-height:1;min-height:auto}.close-tab:hover{background:#dc262633;color:#ef4444}.messages-container{flex:1;overflow-y:auto;background:var(--color-dark-primary);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.no-session-state,.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);margin:auto;max-width:500px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.6}.no-session-state h3,.empty-chat h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.no-session-state p,.empty-chat p{margin:0 0 var(--spacing-xl) 0;color:var(--color-text-tertiary)}.primary-btn{padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-bold);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.primary-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.loading-messages{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);font-size:var(--font-size-base)}.sample-questions{width:100%;text-align:left;margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:#ffffff08;border-radius:var(--radius-md);border:1px solid var(--glass-border)}.sample-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.sample-questions ul{margin:0;padding-left:var(--spacing-xl);color:var(--color-text-tertiary)}.sample-questions li{margin:var(--spacing-sm) 0}.message{max-width:75%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background:#c8102e26;margin-left:auto;border:1px solid rgba(200,16,46,.3)}.message.assistant{align-self:flex-start;background:var(--glass-bg);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.message-role{font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.message.user .message-role{color:var(--color-accent-secondary)}.message.assistant .message-role{color:var(--color-accent-tertiary)}.message-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.message-content{color:var(--color-text-secondary);line-height:1.7;word-wrap:break-word;text-align:justify;text-justify:inter-word;font-size:var(--font-size-sm)}.paragraph-break{height:var(--spacing-md)}.message-content h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:var(--spacing-md) 0 var(--spacing-md) 0;color:var(--color-text-primary);line-height:1.3;text-align:left;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--glass-border)}.message-content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text-primary);line-height:1.3;text-align:left;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--glass-border)}.message-content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text-secondary);line-height:1.3;text-align:left}.message-content p{margin:var(--spacing-sm) 0;text-indent:0;line-height:1.7;text-align:justify}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.message-content em{font-style:italic;color:var(--color-text-secondary)}.message-content code{background:#c8102e1a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-family:Fira Code,monospace;font-size:.9em;color:var(--color-accent-secondary);border:1px solid rgba(200,16,46,.2);white-space:nowrap}.message-content ul,.message-content ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl);text-align:left}.message-content ul{list-style-type:disc}.message-content ol{list-style-type:decimal}.message-content li{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xs);line-height:1.6;text-align:justify}.message-content li::marker{color:var(--color-accent-primary);font-weight:var(--font-weight-bold)}.message-content ul ul,.message-content ol ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl);list-style-type:circle}.message-content ul ol,.message-content ol ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl)}.message.assistant .message-content h1{color:var(--color-accent-secondary);border-bottom-color:#c8102e4d}.message.assistant .message-content h2{color:var(--color-accent-secondary);border-bottom-color:#c8102e33}.message.assistant .message-content h3{color:var(--color-accent-tertiary)}.message.assistant .message-content li::marker{color:var(--color-accent-primary)}.message.assistant .message-content strong{color:var(--color-accent-secondary)}.message.user .message-content h1,.message.user .message-content h2,.message.user .message-content h3{color:var(--color-text-primary)}.message.user .message-content li::marker{color:var(--color-accent-secondary)}.citations{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--glass-border)}.citations-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-sm) 0}.citations ul{margin:0;padding-left:var(--spacing-lg);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.citations li{margin:var(--spacing-xs) 0}.loading-message{opacity:.9}.typing-indicator{display:flex;gap:.3rem;padding:var(--spacing-sm) 0}.typing-indicator span{width:8px;height:8px;background:var(--color-accent-primary);border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.input-container{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-dark-secondary);border-top:1px solid var(--glass-border);display:flex;gap:var(--spacing-md)}.message-input{flex:1;padding:var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:44px;max-height:120px;transition:all var(--transition-base);background:var(--glass-bg);color:var(--color-text-primary)}.message-input::placeholder{color:var(--color-text-muted)}.message-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow);background:#ffffff14}.message-input:disabled{background:#ffffff05;cursor:not-allowed;color:var(--color-text-muted)}.send-btn{padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);transition:all var(--transition-base);align-self:flex-end;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-accent)}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.send-btn:disabled{background:var(--color-dark-tertiary);cursor:not-allowed;box-shadow:none;transform:none;opacity:.5}.messages-container::-webkit-scrollbar,.session-tabs::-webkit-scrollbar{width:8px;height:8px}.messages-container::-webkit-scrollbar-track,.session-tabs::-webkit-scrollbar-track{background:var(--color-dark-secondary)}.messages-container::-webkit-scrollbar-thumb,.session-tabs::-webkit-scrollbar-thumb{background:var(--color-dark-tertiary);border-radius:var(--radius-sm)}.messages-container::-webkit-scrollbar-thumb:hover,.session-tabs::-webkit-scrollbar-thumb:hover{background:var(--color-accent-primary)}@media (max-width: 768px){.chat-header{padding:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.chat-header-left{gap:var(--spacing-md);min-width:0;flex:1}.chat-logo{height:28px}.chat-header h2{font-size:var(--font-size-base)}.chat-header p{font-size:var(--font-size-xs)}.chat-header-right{gap:var(--spacing-sm);flex-wrap:wrap}.new-chat-btn,.history-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.session-tabs{padding:var(--spacing-sm)}.session-tab{padding:var(--spacing-sm);min-width:100px;font-size:var(--font-size-xs)}.messages-container{padding:var(--spacing-md)}.message{max-width:85%}.no-session-state,.empty-chat{padding:var(--spacing-xl);max-width:90%}.empty-icon{font-size:3rem}.no-session-state h3,.empty-chat h3{font-size:var(--font-size-xl)}.input-container{padding:var(--spacing-md);gap:var(--spacing-sm)}.message-input{padding:var(--spacing-sm) var(--spacing-md);font-size:16px;min-height:44px}.send-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}}@media (max-width: 480px){.chat-header{padding:var(--spacing-sm) var(--spacing-md)}.chat-logo{height:24px}.chat-header h2{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.chat-header p{display:none}.chat-header-right{gap:var(--spacing-xs)}.new-chat-btn,.history-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.session-tab{min-width:90px;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.close-tab{width:18px;height:18px;font-size:1rem}.message{max-width:90%}.message-content{font-size:var(--font-size-sm)}.message-role{font-size:.65rem}.message-time{font-size:.6rem}.no-session-state h3,.empty-chat h3{font-size:var(--font-size-lg)}.no-session-state p,.empty-chat p{font-size:var(--font-size-sm)}.sample-questions{padding:var(--spacing-md)}.sample-questions li{font-size:var(--font-size-xs);margin:var(--spacing-xs) 0}.primary-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.send-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.citations-label{font-size:var(--font-size-xs)}.citations li{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}}.admin-dashboard{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--gradient-hero);overflow:hidden}.admin-header{background:var(--color-dark-secondary);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.admin-header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.dashboard-logo{height:40px;width:auto;filter:brightness(1.1)}.admin-header-left h1{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-header-left p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.admin-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.user-badge{background:var(--gradient-accent);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em}.logout-btn{background:var(--glass-bg);color:var(--color-text-primary);border:1px solid var(--glass-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;font-weight:var(--font-weight-semibold);transition:all var(--transition-base)}.logout-btn:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);box-shadow:var(--shadow-accent)}.admin-tabs{background:var(--color-dark-secondary);border-bottom:1px solid var(--glass-border);display:flex;padding:0 var(--spacing-xl);gap:var(--spacing-xs)}.tab-btn{background:none;border:none;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);border-bottom:2px solid transparent;transition:all var(--transition-fast);position:relative;top:1px}.tab-btn:hover{color:var(--color-text-primary);background:var(--glass-bg)}.tab-btn.active{color:var(--color-accent-secondary);border-bottom-color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.tab-btn:disabled{opacity:.5;cursor:not-allowed}.breadcrumb{background:var(--color-dark-secondary);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.breadcrumb-btn{background:none;border:none;color:var(--color-accent-secondary);cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.breadcrumb-btn:hover{background:var(--glass-bg);color:var(--color-accent-tertiary)}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.admin-content{flex:1;overflow:auto;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-dark-primary)}@media (max-width: 768px){.admin-header{padding:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.admin-header-left{gap:var(--spacing-md)}.dashboard-logo{height:32px}.admin-header-left h1{font-size:var(--font-size-base)}.admin-header-left p{font-size:var(--font-size-xs)}.admin-header-right{gap:var(--spacing-sm)}.user-badge{display:none}.logout-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.admin-tabs{padding:0 var(--spacing-md);gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.admin-tabs::-webkit-scrollbar{display:none}.tab-btn{padding:var(--spacing-md);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0}.breadcrumb{padding:var(--spacing-md);font-size:var(--font-size-xs);flex-wrap:wrap}.admin-content{padding:var(--spacing-md)}}@media (max-width: 480px){.admin-header{padding:var(--spacing-sm) var(--spacing-md)}.admin-header-left h1{font-size:var(--font-size-sm)}.dashboard-logo{height:28px}.tab-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.admin-content{padding:var(--spacing-sm)}.breadcrumb-btn{font-size:var(--font-size-xs)}}.admin-chat-mode{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--gradient-hero)}.admin-chat-header{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-dark-secondary);border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.admin-chat-header-left{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;flex:1}.admin-chat-back-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);white-space:nowrap;min-height:44px;color:var(--color-text-primary);transition:all var(--transition-fast)}.admin-chat-back-btn:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.admin-chat-title{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-header-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.admin-chat-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-sm);min-height:44px}.admin-chat-btn.secondary{background:var(--glass-bg);color:var(--color-text-secondary);border:1px solid var(--glass-border)}.admin-chat-btn.secondary:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.admin-chat-btn.primary{background:var(--gradient-accent);color:var(--color-text-primary);box-shadow:var(--shadow-accent)}.admin-chat-btn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.admin-chat-btn.accent{background:var(--color-accent-primary);color:var(--color-text-primary)}.admin-chat-btn.danger{background:#dc2626;color:var(--color-text-primary)}.admin-chat-content{flex:1;overflow:hidden;background:var(--color-dark-primary)}@media (max-width: 768px){.admin-chat-header{padding:var(--spacing-md)}.admin-chat-back-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.admin-chat-title{font-size:var(--font-size-base)}.admin-chat-btn{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.btn-text{display:none}.btn-icon{font-size:var(--font-size-base)}}@media (max-width: 480px){.admin-chat-header{padding:var(--spacing-sm) var(--spacing-md)}.admin-chat-header-left{gap:var(--spacing-sm)}.admin-chat-back-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.admin-chat-title{font-size:var(--font-size-sm)}.admin-chat-btn{padding:var(--spacing-xs) var(--spacing-sm);min-height:40px}.btn-text-only{font-size:var(--font-size-xs)}}.user-dashboard{display:flex;height:100vh;height:100dvh;background:var(--gradient-hero);flex-direction:column}.mobile-header{display:none;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-dark-secondary);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100}.menu-toggle{background:var(--glass-bg);border:1px solid var(--glass-border);font-size:1.5rem;cursor:pointer;padding:var(--spacing-sm);color:var(--color-text-primary);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.menu-toggle:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.mobile-logo{height:32px;width:auto;filter:brightness(1.1)}.mobile-store-name{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar{width:300px;background:var(--color-dark-secondary);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;flex-shrink:0}@media (min-width: 769px){.user-dashboard{flex-direction:row}}@media (max-width: 768px){.mobile-header{display:flex}.sidebar-overlay{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:999;transform:translate(-100%);transition:transform var(--transition-base);box-shadow:var(--shadow-xl)}.sidebar.open{transform:translate(0)}.main-content{height:calc(100vh - 60px);height:calc(100dvh - 60px)}}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--glass-border);background:var(--color-dark-primary)}.sidebar-logo{width:100%;max-width:160px;height:auto;margin-bottom:var(--spacing-md);filter:brightness(1.1)}.sidebar-header h2{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.user-name{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--glass-border);background:var(--color-dark-primary)}.logout-btn-sidebar{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--gradient-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.logout-btn-sidebar:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.project-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.loading-sidebar,.empty-sidebar{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}.empty-sidebar small{display:block;margin-top:var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-xs)}.project-group{margin-bottom:var(--spacing-md)}.project-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--glass-border)}.project-header:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.project-header.direct-access{background:#c8102e1a;border-color:#c8102e4d}.project-icon{font-size:var(--font-size-sm);color:var(--color-text-tertiary);min-width:16px}.project-info{flex:1}.project-info h3{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.project-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.project-stores{margin-top:var(--spacing-xs);margin-left:var(--spacing-md);border-left:2px solid var(--glass-border);padding-left:var(--spacing-sm)}.empty-project{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-xs);font-style:italic}.store-item{padding:var(--spacing-md);margin-bottom:var(--spacing-xs);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.store-item:hover{background:var(--glass-bg);border-color:var(--glass-border)}.store-item.active{background:#c8102e26;border-color:var(--color-accent-primary);box-shadow:var(--shadow-accent)}.store-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.store-item-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-muted)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-dark-primary)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary);padding:var(--spacing-xl)}.empty-icon{font-size:5rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.empty-state p{margin:0;color:var(--color-text-tertiary)}@media (max-width: 480px){.empty-icon{font-size:3rem}.empty-state h3{font-size:var(--font-size-xl)}.empty-state p{font-size:var(--font-size-sm);padding:0 var(--spacing-md);text-align:center}}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;max-width:100vw;background:var(--gradient-hero)}.app-loading{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gradient-hero);color:var(--color-text-primary);padding:var(--spacing-md)}.loading-spinner{width:50px;height:50px;border:4px solid var(--glass-border);border-top:4px solid var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-loading p{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.app-main{flex:1;padding:var(--spacing-sm);max-width:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.chat-container{background:var(--glass-bg);border-radius:var(--radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-md);height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--glass-border)}@media (max-width: 480px){.app-main{padding:var(--spacing-xs)}.chat-container{border-radius:0;padding:var(--spacing-xs)}}.uploaded-files-info{border-bottom:1px solid var(--glass-border);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-shrink:0}.files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.files-header h3{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.header-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media (max-width: 480px){.files-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.header-actions{width:100%}.header-actions button{flex:1}}.manage-stores-btn{background:var(--gradient-accent);color:var(--color-text-primary);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-base);box-shadow:var(--shadow-accent)}.manage-stores-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.reset-btn{background:var(--glass-bg);color:var(--color-text-secondary);border:1px solid var(--glass-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast)}.reset-btn:hover{background:var(--glass-bg-hover);border-color:var(--color-accent-primary)}.files-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:0;margin:0}.files-list li{background:var(--glass-bg);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);border:1px solid var(--glass-border)}.file-icon{font-size:var(--font-size-base)}*{margin:0;padding:0;box-sizing:border-box}:root{--color-black: #000000;--color-dark-primary: #0a0a0a;--color-dark-secondary: #1a1a1a;--color-dark-tertiary: #2a2a2a;--color-dark-surface: #141414;--color-accent-primary: #C8102E;--color-accent-secondary: #ff4d6d;--color-accent-tertiary: #ff8fa3;--color-accent-glow: rgba(200, 16, 46, .4);--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .85);--color-text-tertiary: rgba(255, 255, 255, .6);--color-text-muted: rgba(255, 255, 255, .4);--color-text-dark: #0a0a0a;--color-text-dark-secondary: #1a1a1a;--color-text-dark-muted: #64748b;--gradient-primary: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #C8102E 100%);--gradient-accent: linear-gradient(135deg, #C8102E 0%, #ff4d6d 100%);--gradient-dark: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);--gradient-hero: linear-gradient(135deg, #000000 0%, #0a0a0a 40%, #1a0a0e 70%, #2d0a12 100%);--glass-bg: rgba(255, 255, 255, .05);--glass-bg-hover: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(20px);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .6);--shadow-accent: 0 4px 20px rgba(200, 16, 46, .3);--shadow-accent-hover: 0 8px 30px rgba(200, 16, 46, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--radius-full: 50px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", sans-serif;--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: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: clamp(2rem, 5vw, 3.5rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--touch-target-min: 44px;--mobile-breakpoint: 480px;--tablet-breakpoint: 768px;--desktop-breakpoint: 1024px}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gradient-hero);min-height:100vh;min-height:100dvh;color:var(--color-text-primary);overflow-x:hidden;line-height:1.6}code{font-family:Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;min-height:100dvh}button,input[type=button],input[type=submit],a{min-height:var(--touch-target-min)}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}::selection{background:var(--color-accent-primary);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-dark-secondary)}::-webkit-scrollbar-thumb{background:var(--color-dark-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-primary)}@media (max-width: 480px){html{font-size:14px}}html,body{max-width:100vw;overflow-x:hidden}.glass-effect{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
