:root{--bg-primary: #121212;--bg-secondary: #1E1E1E;--bg-tertiary: #2a2a2a;--bg-quad: #374151;--bg-hover: #4b5563;--text-primary: #E0E0E0;--text-secondary: #B0B0B0;--text-tertiary: #9ca3af;--accent-primary: #8b5cf6;--accent-secondary: #7c3aed;--border-color: #4b5563;--danger-color: #f44336;--warning-color: #f59e0b;--success-color: #10b981;--info-color: #3b82f6;--font-family: "Inter", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);line-height:1.6}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loading-container,.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background-color:var(--bg-secondary);padding:3rem 4rem;border-radius:12px;border:1px solid var(--border-color);text-align:center}.login-tagline{font-size:1.1rem;color:var(--text-secondary);margin-top:-1rem}.broadcast-message{background-color:var(--bg-tertiary);padding:.75rem 1rem;border-radius:8px;border-left:4px solid var(--warning-color);color:var(--text-primary)}.inline-broadcast-message{margin-bottom:1.5rem;text-align:center}.login-error{color:var(--danger-color);margin-top:1rem}#app-container{display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:1rem 2rem}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color);margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.logo{display:flex;align-items:center;gap:.75rem}.logo-emoji{font-size:2rem}header h1{font-size:1.75rem;font-weight:600}.header-right{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.user-info{color:var(--text-secondary)}nav{display:flex;gap:.5rem}nav button{padding:.5rem 1.25rem;border:none;background-color:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:1rem;font-weight:500;border-radius:8px}nav button:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}nav button.active{background-color:var(--accent-primary);color:#fff}.logout-button{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;cursor:pointer}.logout-button:hover{background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}main{width:100%}.control-group{display:flex;flex-direction:column}.control-group label{margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}select,input[type=text],input[type=email]{padding:.75rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:1rem}.platform-item{display:flex;align-items:center;gap:.5rem}.generate-button{display:flex;align-items:center;justify-content:center;padding:.75rem 2rem;border:none;border-radius:8px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:150px;min-height:48px}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #0003}.generate-button:disabled{opacity:.6;cursor:not-allowed}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.result-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.card-title-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.card-title-group h3{font-size:1.25rem;margin:0}.metadata-tag{font-size:.8rem;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:.25rem .75rem;border-radius:12px}.card-actions{display:flex;gap:.5rem}.card-actions button{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;cursor:pointer}.card-actions button:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.card-actions button:disabled{opacity:.5;cursor:not-allowed}.card-header-controls{display:flex;align-items:center;gap:1rem}.card-content{padding:1.5rem;overflow-y:auto;flex-grow:1;min-height:200px;max-height:60vh}.card-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-family);font-size:1rem;line-height:1.7}.no-content-message{color:var(--text-secondary);text-align:center;padding:2rem}.sources-list{margin-top:1.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.sources-list h4{margin-bottom:.5rem}.sources-list ul{list-style:disc;padding-left:20px}.sources-list a{color:var(--accent-primary)}.spinner{animation:rotate 2s linear infinite;width:24px;height:24px}.path{stroke:#fff;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.spinner-container{display:flex;justify-content:center;align-items:center;min-height:150px}.error-message{color:var(--danger-color);text-align:center}.warning-message{color:var(--warning-color);text-align:center;font-size:.9rem}.about-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:90;display:flex;align-items:center;justify-content:center}.about-modal{background-color:var(--bg-secondary);border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 30px #0000004d}.about-modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.close-button{background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer}.about-modal-content{padding:1.5rem;line-height:1.8}.about-modal-content p{white-space:pre-wrap}.about-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.language-selector{width:100%}.feedback-button{position:fixed;bottom:2rem;right:2rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:50px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;cursor:pointer;box-shadow:0 4px 15px #0000004d;z-index:99;transition:transform .2s}.feedback-button:hover{transform:translateY(-2px);background-color:var(--accent-secondary)}.feedback-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:100;display:flex;align-items:center;justify-content:center}.feedback-modal{background-color:var(--bg-secondary);border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 30px #0000004d}.feedback-modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.feedback-modal-content{padding:1.5rem}.feedback-form{display:flex;flex-direction:column;gap:1.5rem}.feedback-form textarea{min-height:150px;width:100%;padding:.75rem;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:1rem;resize:vertical}.success-message{color:var(--success-color);text-align:center}.submit-button{padding:.75rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500}.submit-button:disabled{opacity:.6;cursor:not-allowed}.admin-view{display:flex;flex-direction:column;gap:2.5rem}.admin-view h1{font-size:2rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:1rem}.admin-section{background-color:var(--bg-secondary);padding:1.5rem 2rem;border-radius:12px;border:1px solid var(--border-color)}.admin-section h2{font-size:1.5rem;margin-bottom:1.5rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background-color:var(--bg-tertiary);padding:1.5rem;border-radius:8px;text-align:center}.stat-card h3{font-size:2.5rem;color:var(--accent-primary)}.stat-card p{color:var(--text-secondary);font-size:1rem;margin-top:.5rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.settings-grid .control-group:last-of-type{grid-column:1 / -1}.feature-flags-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;background-color:var(--bg-tertiary);padding:1rem;border-radius:8px}.save-settings-button{padding:.75rem 1.5rem;background-color:var(--accent-primary);border:none;color:#fff;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem}.user-table-container,.analytics-table-container{overflow-x:auto}.analytics-table-container{max-height:600px}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.user-table th{color:var(--text-secondary)}.analytics-table th:nth-child(4),.analytics-table td:nth-child(4){text-align:right}.feedback-table .feedback-message-col{max-width:400px;white-space:pre-wrap;word-break:break-word}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge.status-active{background-color:var(--success-color);color:#fff}.status-badge.status-paused{background-color:var(--warning-color);color:var(--bg-primary)}.status-badge.status-blocked{background-color:var(--danger-color);color:#fff}.feedback-status-new{background-color:var(--info-color);color:#fff}.feedback-status-seen{background-color:var(--warning-color);color:var(--bg-primary)}.feedback-status-resolved{background-color:var(--success-color);color:#fff}.feedback-status-rejected{background-color:var(--danger-color);color:#fff}.status-changer{background-color:var(--bg-tertiary)}.analytics-controls{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.analytics-controls button{padding:.5rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500;border-radius:8px}.analytics-controls button:hover:not(:disabled){background-color:var(--bg-quad)}.analytics-controls button.active{color:#fff;border-color:var(--accent-primary);background-color:var(--accent-primary)}.analytics-controls button:disabled{opacity:.5;cursor:not-allowed}.data-analyst-view{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.upload-container{width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:1.5rem;background-color:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.upload-container h2{font-size:1.75rem}.upload-subtitle{color:var(--text-secondary);text-align:center;margin-top:-1rem}.file-upload-box{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;text-align:center;transition:background-color .2s,border-color .2s}.file-upload-box:hover{background-color:var(--bg-tertiary);border-color:var(--accent-primary)}.file-upload-box p{font-size:1.1rem}.upload-hint{font-size:.9rem;color:var(--text-secondary)}.upload-container textarea{width:100%;min-height:120px;padding:1rem;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:1rem;resize:vertical}.upload-container .generate-button{width:50%;max-width:300px}.data-analyst-loading{display:flex;flex-direction:column;gap:1rem}.results-container{width:100%}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.new-analysis-button{padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer}.chart-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.chart-container svg{width:100%;height:auto;max-height:100%}@media (max-width: 768px){#app-container{padding:1rem}header{flex-direction:column;gap:1rem}}
