:root{--bg-main: #0c0a09;--bg-sidebar: #14100e;--bg-card: #1c1613;--accent-primary: #FF6D00;--accent-secondary: #FFB300;--text-primary: #fff7ed;--text-secondary: #a8a29e;--border-subtle: rgba(255, 255, 255, .05)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-main);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden;overflow-y:auto;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.hidden{display:none}.app-container{display:flex;height:100vh;width:100vw}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:1.5rem;flex-shrink:0;overflow-x:hidden}.sidebar-resizer{width:4px;cursor:col-resize;background:transparent;transition:background .2s;z-index:100;flex-shrink:0}.sidebar-resizer:hover,.sidebar-resizer:active{background:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary)}.module-table-container{margin-top:1rem;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:.8rem;background:rgba(255,255,255,.02)}.module-table{width:100%;border-collapse:collapse;font-size:.8rem;text-align:left}.module-table th{padding:.75rem;background:rgba(255,255,255,.05);color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;border-bottom:1px solid var(--border-subtle)}.module-table td{padding:.75rem;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:top}.module-table tr:last-child td{border-bottom:none}.module-table tr:hover td{background:rgba(255,255,255,.03)}.module-id-cell{font-family:monospace;font-weight:700;color:var(--accent-primary);white-space:nowrap}.connections-cell{font-size:.75rem;color:var(--accent-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:normal}.main-content{flex:1;display:flex;flex-direction:column;background:radial-gradient(circle at top right,rgba(255,109,0,.08),transparent);position:relative}.sidebar-header{margin-bottom:2rem}.sidebar-title{font-size:1.25rem;font-weight:800;background:linear-gradient(to right,#ffffff,var(--accent-primary));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.25rem}.sidebar-subtitle{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.spec-preview-section{flex:1;overflow-y:auto;margin-top:2rem;padding-right:.5rem}.module-group{margin-bottom:1.5rem}.module-group-title{font-size:.7rem;font-weight:800;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.1em}.module-item{background:rgba(255,255,255,.03);padding:.6rem .8rem;border-radius:.6rem;margin-bottom:.4rem;font-size:.85rem;display:flex;gap:.6rem;border:1px solid transparent;transition:all .2s}.module-item:hover{background:rgba(255,255,255,.05);border-color:#ff6d0033}.module-id{font-family:monospace;font-weight:700;color:var(--accent-primary)}.chat-window{flex:1;overflow-y:auto;padding:2.5rem 3rem;display:flex;flex-direction:column;gap:2rem}.message{display:flex;flex-direction:column;max-width:75%;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end}.message-agent{align-self:flex-start}.message-bubble{padding:1rem 1.4rem;border-radius:1.2rem;font-size:.95rem;line-height:1.4;position:relative;word-wrap:break-word}.message-user .message-bubble{background:linear-gradient(135deg,var(--accent-primary),#d9480f);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 15px #d9480f33}.message-agent .message-bubble{background-color:var(--bg-card);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border-subtle)}.message-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;padding:0 .4rem}.markdown-content p{margin-bottom:.4rem}.markdown-content ul,.markdown-content ol{margin-bottom:.4rem;padding-left:1.5rem;list-style-position:outside}.markdown-content li{margin-bottom:0;padding-left:.25rem}.markdown-content li>ul,.markdown-content li>ol{margin-top:0;margin-bottom:0;padding-left:1.4rem}.markdown-content li li{font-size:.9em;opacity:.9}.markdown-content ul li{list-style-type:disc}.markdown-content ul li li{list-style-type:circle}.markdown-content ul li li li{list-style-type:square}.message-user .message-label{text-align:right}.input-container{padding:1.5rem 3rem 2.5rem;background-color:#0f172ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle)}.input-wrapper{max-width:900px;margin:0 auto;position:relative;display:flex;gap:1rem}.chat-input{flex:1;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);padding:1.1rem 1.5rem;border-radius:1rem;font-size:1rem;outline:none;transition:all .2s}.chat-input:focus{border-color:var(--accent-primary);background-color:#111;box-shadow:0 0 20px #ff6d001a}.send-button{background-color:var(--accent-primary);color:#fff;border:none;padding:0 2rem;border-radius:1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.6rem}.send-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 4px 15px #ff6d004d}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#d9480f);color:#fff;border:none;padding:.9rem 1.4rem;border-radius:.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ff6d0026}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ff6d004d;filter:brightness(1.1)}.btn-secondary{background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.01));color:var(--text-primary);border:1px solid var(--border-subtle);padding:.9rem 1.4rem;border-radius:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-actions .btn-primary,.sidebar-actions .btn-secondary{width:100%;margin-bottom:1rem;justify-content:flex-start;padding:1rem 1.25rem}.btn-secondary:hover{background:rgba(255,255,255,.08);border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 15px #0003}.rag-status{padding:1rem;background:rgba(255,109,0,.03);border:1px solid rgba(255,109,0,.1);border-radius:.8rem;font-size:.75rem;color:var(--accent-primary);display:flex;align-items:center;gap:.75rem}.status-dot{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;box-shadow:0 0 10px var(--accent-primary);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.typing-indicator{display:flex;gap:4px;padding:4px 0}.dot{width:5px;height:5px;background:var(--text-secondary);border-radius:50%;animation:typing-bounce .8s infinite alternate}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-main);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;gap:3rem;text-align:center}.loading-logo{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-orb{width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FF6D00,#7c2500);box-shadow:0 0 40px #ff6d0099,0 0 80px #ff6d004d,0 0 120px #ff6d001a;animation:orb-pulse 2s ease-in-out infinite}@keyframes orb-pulse{0%,to{transform:scale(1);box-shadow:0 0 40px #ff6d0099,0 0 80px #ff6d004d}50%{transform:scale(1.1);box-shadow:0 0 60px #ff6d00cc,0 0 120px #ff6d0066}}.loading-title{font-size:2rem;font-weight:800;background:linear-gradient(to right,#ffffff,var(--accent-primary));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.loading-subtitle{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.15em;font-weight:600}.loading-status{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:340px}.loading-bar-track{width:100%;height:3px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.loading-bar-fill{height:100%;width:40%;background:linear-gradient(to right,transparent,var(--accent-primary),transparent);border-radius:99px;animation:bar-sweep 1.8s ease-in-out infinite}@keyframes bar-sweep{0%{transform:translate(-200%)}to{transform:translate(350%)}}.loading-message{font-size:.95rem;font-weight:600;color:var(--text-primary);min-width:260px}.loading-hint{font-size:.78rem;color:var(--text-secondary);line-height:1.5;max-width:300px}.btn-display-table{background:linear-gradient(135deg,var(--accent-primary),#d9480f);color:#fff;border:none;padding:1rem;border-radius:.8rem;font-weight:700;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.8rem;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #ff6d0033}.btn-display-table:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6d0066;filter:brightness(1.1)}.btn-display-table:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.no-modules-hint{font-size:.75rem;color:var(--text-secondary);margin-top:1rem;text-align:center;font-style:italic}.modules-view{height:100vh;display:flex;flex-direction:column;background:var(--bg-main);color:var(--text-primary);animation:fadeIn .4s ease-out}.modules-header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);background:rgba(20,16,14,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modules-title{font-size:1.5rem;font-weight:800;background:linear-gradient(to right,#ffffff,var(--accent-primary));-webkit-background-clip:text;background-clip:text;color:transparent}.table-wrapper{flex:1;overflow:auto;padding:1rem 2rem}.excel-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.excel-table th{position:sticky;top:0;background:var(--bg-sidebar);padding:1rem;text-align:left;border-bottom:2px solid var(--accent-primary);z-index:10;cursor:pointer;transition:background .2s}.excel-table th:hover{background:rgba(255,255,255,.05)}.header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;font-weight:700}.sort-icon{opacity:.3}th:hover .sort-icon{opacity:1;color:var(--accent-primary)}.filter-input-wrapper{display:flex;align-items:center;gap:.5rem;background:rgba(0,0,0,.3);padding:.4rem .6rem;border-radius:4px;border:1px solid var(--border-subtle)}.filter-input-wrapper input{background:transparent;border:none;color:var(--text-primary);font-size:.75rem;width:100%;outline:none}.excel-table td{padding:1rem;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.excel-table tr:hover td{background:rgba(255,255,255,.02)}.cell-id{font-family:monospace;font-weight:700;color:var(--accent-primary)}.cell-label{font-weight:600}.cell-value{color:var(--accent-secondary)}.cell-status{font-weight:800;font-size:.7rem}.status-active{color:#ef4444;background:rgba(239,68,68,.1);padding:.2rem .5rem;border-radius:4px;display:inline-block}.cell-ov{font-family:monospace}.cell-connections{font-size:.8rem;color:var(--text-secondary)}.row-overridden td{background:rgba(255,109,0,.03)}.no-results{text-align:center;padding:3rem!important;color:var(--text-secondary);font-style:italic}.loading-container{height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:var(--accent-primary);background:var(--bg-main)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:flex-start;padding:3rem 1rem;z-index:2000;overflow-y:auto}.modal-content{background:var(--bg-card);border-radius:1.5rem;padding:2.5rem;width:100%;max-width:550px;position:relative;border:1px solid var(--border-subtle);box-shadow:0 40px 100px #000c;margin-bottom:2rem;animation:modalPop .4s cubic-bezier(.17,.67,.83,.67)}@keyframes modalPop{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content h2{margin-bottom:2rem;font-size:1.6rem}.large-modal{width:90%;max-width:1216px;max-height:90vh;overflow-y:auto;position:relative;background:var(--bg-main);border:1px solid var(--border-light);box-shadow:0 25px 50px -12px #00000080}.modal-close{position:absolute;top:1rem;right:1.5rem;background:rgba(255,255,255,.05);border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;font-size:1.5rem}.modal-close:hover{background:rgba(255,255,255,.15)}.xlarge-modal{width:95%!important;max-width:1600px!important;max-height:95vh;margin:2.5vh auto}.modal-view{height:100%!important;background:transparent!important}.modal-view .modules-header{padding:1rem 1.5rem}.nav-section{margin-top:auto;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.nav-btn{background:linear-gradient(135deg,var(--accent-primary),#d9480f);color:#fff;border:none;padding:.9rem 1.2rem;border-radius:.8rem;font-weight:700;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:.8rem;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ff6d0026}.nav-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6d004d;filter:brightness(1.1)}.nav-btn.active{background:white;color:var(--accent-primary);box-shadow:0 0 15px #fff3}.nav-btn-logout{background:linear-gradient(135deg,#ef4444,#991b1b)!important}.nav-btn-logout:hover{box-shadow:0 8px 20px #ef44444d!important}.standalone-view{min-height:100vh;background:var(--bg-deep);display:flex;justify-content:center;align-items:flex-start;padding:2rem;overflow-y:auto}.standalone-view>*{width:100%;max-width:1400px;background:var(--bg-card);border-radius:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 25px 60px #0009;border:1px solid var(--border-subtle)}.admin-container{display:flex;flex-direction:column;gap:2rem;width:95%;max-width:1600px;margin:2rem auto;padding:clamp(1.5rem,4vw,3rem);background:var(--bg-card);border-radius:2rem;border:1px solid var(--border-subtle);box-shadow:0 40px 100px #0009;min-height:calc(100vh - 4rem);overflow-y:visible}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap;width:100%}.admin-header>div:first-child{flex:0 1 auto;min-width:200px}.header-actions-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end;flex:1}.admin-header h1{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(to right,white,#ff8c00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.admin-header p{color:var(--text-dim);font-size:1.1rem}.admin-card{background:rgba(255,255,255,.02);border-radius:1.2rem;border:1px solid var(--border-subtle);overflow:hidden;box-shadow:inset 0 0 20px #ffffff03}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th{background:rgba(255,255,255,.03);padding:1.25rem 1.5rem;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--border-subtle)}.admin-table td{padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:rgba(255,140,0,.03)}.role-badge{padding:.4rem .8rem;border-radius:2rem;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center}.role-masteradmin{background:rgba(255,140,0,.15);color:#ff8c00;border:1px solid rgba(255,140,0,.3)}.role-admin{background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.role-operator{background:rgba(156,163,175,.15);color:#d1d5db;border:1px solid rgba(156,163,175,.3)}.status-active-badge{color:#10b981;font-weight:600;font-size:.95rem}.reset-indicator{display:inline-flex;align-items:center;gap:.4rem;color:#fbbf24;font-size:.9rem;font-weight:600}.action-btn{background:rgba(255,255,255,.05);border:1px solid var(--border-subtle);color:#fff;padding:.6rem;border-radius:.6rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}.delete-btn:hover{background:rgba(239,68,68,.1)!important;color:#ef4444!important;border-color:#ef44444d!important}.profile-container{padding-bottom:4rem}.user-profile-section{background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:1rem;padding:1rem;margin:1.5rem 0;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.user-profile-section:hover{background:rgba(255,255,255,.05);border-color:#ff8c004d}.user-avatar{background:linear-gradient(135deg,var(--accent-orange),#ff4500);color:#fff;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ff8c004d}.user-info{display:flex;flex-direction:column;gap:.2rem}.user-name{font-weight:600;color:#fff;font-size:.95rem}.user-role-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.05rem;padding:.1rem .5rem;border-radius:100px;font-weight:700;width:fit-content}.role-masteradmin{background:rgba(255,140,0,.2);color:#ff8c00;border:1px solid rgba(255,140,0,.3)}.role-admin{background:rgba(59,130,246,.2);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.role-operator{background:rgba(16,185,129,.2);color:#10b981;border:1px solid rgba(16,185,129,.3)}.header-status-badge{display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.05);padding:.6rem 1rem;border-radius:12px;font-size:.9rem;color:var(--text-dim);border:1px solid var(--border-subtle)}.header-status-badge strong{color:#fff}.badge-masteradmin{color:#ff8c00;font-weight:700}.badge-admin{color:#3b82f6;font-weight:700}.badge-operator{color:#10b981;font-weight:700}.admin-form-group{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.admin-form-group label{font-size:.85rem;font-weight:600;color:var(--text-dim);margin-left:.2rem}.admin-form-group select,.admin-form-group input{width:100%;padding:.8rem 1rem;background:rgba(255,255,255,.05);border:1px solid var(--border-subtle);border-radius:12px;color:#fff;font-size:.95rem;transition:all .3s ease}.admin-form-group select:focus,.admin-form-group input:focus{outline:none;border-color:var(--accent-orange);background:rgba(255,255,255,.08);box-shadow:0 0 0 4px #ff8c001a}.admin-form-group select option{background:#1a1a1a;color:#fff}.modal-footer-actions{display:flex;gap:1rem;margin-top:2rem}.modal-footer-actions button{flex:1;padding:.85rem;font-size:.95rem}.onboarding-notice{background:rgba(255,140,0,.1);border:1px solid rgba(255,140,0,.3);border-radius:1rem;padding:1.5rem;margin-top:1.5rem;display:flex;gap:1.2rem;align-items:center;animation:slideInDown .4s ease-out}.onboarding-icon{background:rgba(255,140,0,.2);color:#ff8c00;padding:1rem;border-radius:.8rem;display:flex;align-items:center;justify-content:center}.onboarding-text h3{margin:0 0 .3rem;color:#ff8c00;font-size:1.1rem}.onboarding-text p{margin:0;color:var(--text-dim);font-size:.95rem;line-height:1.5}.validation-checklist{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0}.validation-item{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-dim);transition:all .2s ease}.validation-item.valid{color:#10b981}.validation-item svg{flex-shrink:0}.validation-item:not(.valid) svg{color:#fff3}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg-main);padding:2rem}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:1.5rem;padding:3rem;width:100%;max-width:440px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;gap:2rem}.login-header{text-align:center;display:flex;flex-direction:column;gap:.5rem}.login-header h1{font-size:2.2rem;font-weight:800;background:linear-gradient(to right,#ffffff,var(--accent-primary));-webkit-background-clip:text;background-clip:text;color:transparent}.login-header p{color:var(--text-secondary);font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-secondary)}.input-group input{width:100%;padding:1.1rem 1.1rem 1.1rem 3.2rem;background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:.8rem;color:var(--text-primary);font-size:.95rem;transition:all .2s}.input-group input:focus{outline:none;border-color:var(--accent-primary);background:rgba(255,255,255,.05);box-shadow:0 0 15px #ff6d001a}.password-toggle{position:absolute;right:1.2rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-primary)}.error-message{display:flex;align-items:center;gap:.6rem;color:#ef4444;background:rgba(239,68,68,.1);padding:.9rem 1rem;border-radius:.8rem;font-size:.9rem;border:1px solid rgba(239,68,68,.2)}.login-button{width:100%;padding:1.15rem;margin-top:.5rem}.forgot-password{text-align:center;margin-top:.5rem}.forgot-password-link{color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;transition:opacity .2s}.forgot-password-link:hover{opacity:.8;text-decoration:underline}.tutorial-highlight-container{position:relative;display:inline-flex;align-items:center}.tutorial-pulse-btn{animation:pulse-border 2s infinite!important;box-shadow:0 0 #00ccffb3!important}@keyframes pulse-border{0%{box-shadow:0 0 #00ccffb3!important}70%{box-shadow:0 0 0 15px #0cf0!important}to{box-shadow:0 0 #0cf0!important}}.tutorial-arrow-badge{position:absolute;right:calc(100% + 15px);top:50%;transform:translateY(-50%);background-color:var(--accent-primary);color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:800;white-space:nowrap;animation:bounce-horizontal 2s infinite;display:flex;align-items:center;gap:.4rem;pointer-events:none;box-shadow:0 4px 10px #00000080;z-index:100}.tutorial-arrow-badge:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-style:solid;border-color:transparent transparent transparent var(--accent-primary)}@keyframes bounce-horizontal{0%,20%,50%,80%,to{transform:translateY(-50%) translate(0)}40%{transform:translateY(-50%) translate(10px)}60%{transform:translateY(-50%) translate(5px)}}.response-mode-toggle{display:flex;gap:.5rem;margin-bottom:.8rem;max-width:900px;margin-left:auto;margin-right:auto}.mode-btn{background:rgba(255,255,255,.05);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.mode-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.mode-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 0 10px #ff6d004d}.feedback-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end;opacity:.6;transition:opacity .2s}.message:hover .feedback-actions{opacity:1}.feedback-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.feedback-btn:hover{background:rgba(255,255,255,.05);color:var(--text-primary)}.feedback-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.survey-modal{max-width:500px!important;background:linear-gradient(to bottom right,var(--bg-card),#151110)!important}.scale-description{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-bottom:1.5rem;margin-top:.5rem;font-weight:600}.rating-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:2rem}.rating-btn{background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);color:var(--text-primary);padding:1rem 0;border-radius:.8rem;font-weight:700;cursor:pointer;transition:all .2s}.rating-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #ff6d0033}.modal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.header-icon{color:var(--accent-primary);filter:drop-shadow(0 0 10px var(--accent-primary))}.analytics-view{background:var(--bg-main);min-height:100vh}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:var(--bg-card);padding:1.5rem;border-radius:1rem;border:1px solid var(--border-subtle);display:flex;align-items:center;gap:1.25rem;box-shadow:0 4px 15px #0003;transition:transform .2s}.kpi-card:hover{transform:translateY(-4px);border-color:#ff6d004d}.kpi-icon{width:40px;height:40px;color:var(--accent-primary);opacity:.8}.kpi-icon-amber{color:#fbbf24}.kpi-icon-green{color:#10b981}.kpi-content{display:flex;flex-direction:column}.kpi-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.kpi-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.dashboard-main-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem}.chart-card,.leaderboard-card,.feedback-card{padding:1.5rem}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;color:var(--text-secondary)}.card-header h3{font-size:1rem;font-weight:700;color:var(--text-primary)}.bar-chart-container{height:200px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-bottom:1rem}.bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%}.bar-fill{width:100%;background:linear-gradient(to top,var(--accent-primary),#fbbf24);border-radius:4px 4px 0 0;min-height:2px;transition:height .6s cubic-bezier(.17,.67,.83,.67);opacity:.8}.bar-fill:hover{opacity:1;filter:brightness(1.2)}.bar-label{font-size:.6rem;color:var(--text-secondary);font-weight:600}.simple-table th{background:transparent;padding:.75rem 0}.simple-table td{padding:.75rem 0}.feedback-card{grid-column:span 1;display:flex;flex-direction:column}.feedback-split{display:flex;justify-content:space-around;margin-bottom:2rem}.feedback-stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:2.5rem;font-weight:800}.text-green{color:#10b981}.text-red{color:#ef4444}.stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;font-weight:700}.feedback-divider{width:1px;background:var(--border-subtle)}.feedback-ratio-bar{height:8px;background:#331d1d;border-radius:4px;overflow:hidden;margin-bottom:1rem}.ratio-fill{height:100%;background:#10b981;border-radius:4px}.feedback-percentage{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.no-data-hint{width:100%;text-align:center;color:var(--text-dim);font-style:italic;padding:3rem}
