*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--accent: #4361EE;--accent-hover: #3451D1;--accent-light: #eef1fd;--bg: #f3f5f7;--white: #ffffff;--text: #1a1f36;--text-muted: #5e6a7a;--text-light: #94a3b8;--border: #e5e8ed;--border-light: #f0f2f5;--radius: 10px;--radius-pill: 100px;--shadow: 0 2px 6px rgba(0, 0, 0, .05), 0 12px 28px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--spacing: 24px}html{font-size:15px}body{font-family:Inter,Segoe UI,-apple-system,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--white);color:var(--text);padding:1.6rem 2rem;border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:1.25rem;max-width:1260px;margin:0 auto}.header-logo{height:42px;width:auto;object-fit:contain}.header-logo-fallback{font-weight:700;font-size:1.1rem;white-space:nowrap;color:var(--text)}.header-titles h1{font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--text);letter-spacing:-.01em}.subtitle{font-size:.78rem;color:var(--text-light);margin-top:2px;font-weight:400}.controls-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;padding:.75rem 2rem;background:var(--white);border-bottom:1px solid var(--border-light);max-width:1260px;margin:0 auto;width:100%}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-size:.73rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}select{padding:.4rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem;font-family:inherit;background:var(--white);color:var(--text);cursor:pointer;transition:border-color .15s}select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4361ee1a}.btn{padding:.5rem 1.3rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap;letter-spacing:.01em}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-sm{padding:.3rem .85rem;font-size:.72rem}.btn-primary{background:var(--accent);color:var(--white);box-shadow:0 2px 8px #4361ee4d}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 16px #4361ee59;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-muted);border:1.5px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.btn-outline{background:transparent;color:var(--accent);border:1.5px solid rgba(67,97,238,.3)}.btn-outline:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent)}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-slider{position:relative;width:38px;height:21px;background:var(--border);border-radius:11px;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;background:var(--white);border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000001f}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(17px)}.toggle-label{font-size:.8rem;color:var(--text-muted);font-weight:500}.main-layout{display:grid;grid-template-columns:340px 1fr;gap:var(--spacing);max-width:1260px;margin:0 auto;padding:var(--spacing) 2rem;width:100%;flex:1;align-items:start}.left-panel{position:sticky;top:var(--spacing)}.right-panel{display:flex;flex-direction:column;gap:var(--spacing)}.question-panel{display:flex;flex-direction:column;gap:.5rem}.question-panel label{font-size:.73rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}textarea{width:100%;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:.93rem;line-height:1.65;resize:vertical;color:var(--text);background:var(--white);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4361ee1a}textarea::placeholder{color:var(--text-light)}.sources-panel{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.35rem 1.35rem 1.15rem;box-shadow:var(--shadow)}.sources-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-light)}.sources-header h2{font-size:.73rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.sources-subtitle{font-size:.7rem;color:var(--text-light);margin-top:3px;font-weight:400}.sources-list{display:flex;flex-direction:column;gap:4px}.source-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:7px;cursor:default;transition:background .15s ease}.source-row:hover{background:var(--bg)}.source-icon{font-size:1rem;flex-shrink:0;opacity:.75}.source-info{display:flex;flex-direction:column;flex:1;min-width:0}.source-name{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-meta{font-size:.68rem;color:var(--text-light);margin-top:1px}.source-badge{font-size:.6rem;font-weight:600;padding:.15rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.badge-pdf{background:#faf0f0;color:#b44d4d}.badge-docx{background:#eef3fb;color:#4a6fa5}.badge-xlsx{background:#eef6f0;color:#4a8a5c}.response-panel{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.65rem;box-shadow:var(--shadow);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.response-panel.empty{display:flex;align-items:center;justify-content:center;color:var(--text-light);min-height:160px;animation:none}.response-panel.empty p{font-size:.88rem;font-weight:400}.response-panel section{margin-bottom:1.35rem}.response-panel section:last-of-type{margin-bottom:.5rem}.response-panel h3{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.45rem;font-weight:600}.response-panel p{font-size:.93rem;line-height:1.7}.response-panel ul{list-style:none;padding-left:0}.response-panel li{font-size:.93rem;line-height:1.65;margin-bottom:.3rem;padding-left:1.15rem;position:relative}.response-panel li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5}.sources-referenced{padding-top:1.15rem;margin-top:.75rem}.sources-referenced li{font-size:.82rem;color:var(--text-muted);line-height:1.6}.sources-referenced li:before{width:4px;height:4px;background:var(--text-light);opacity:.6}.response-meta{margin-top:1.25rem;padding-top:.85rem;border-top:1px solid var(--border-light);font-size:.7rem;color:var(--text-light)}.app-footer{background:var(--white);color:var(--text-light);text-align:center;padding:1rem 2rem;font-size:.75rem;border-top:1px solid var(--border-light)}.footer-link{color:var(--accent);text-decoration:none;font-weight:600}.footer-link:hover{text-decoration:underline}.loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.loader-content{text-align:center;color:var(--text)}.loader-content p{margin-top:1.25rem;font-size:.9rem;font-weight:500;color:var(--text-muted)}.spinner{width:40px;height:40px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .15s ease}.modal-card{background:var(--white);border-radius:12px;width:100%;max-width:460px;box-shadow:0 8px 32px #00000029;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.5rem;border-bottom:1px solid var(--border-light)}.modal-header h2{font-size:1rem;font-weight:700}.modal-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-light);padding:.25rem;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-body{padding:1.5rem}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.drop-zone:hover{border-color:var(--accent);background:var(--accent-light)}.drop-zone-icon{font-size:2rem;margin-bottom:.5rem}.drop-zone-text{font-size:.88rem;color:var(--text);font-weight:500}.drop-zone-hint{font-size:.75rem;color:var(--text-light);margin-top:.35rem}.upload-notice{margin-top:1rem;font-size:.72rem;color:var(--text-light);text-align:center;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light)}.upload-success{text-align:center;padding:2rem 1rem}.upload-success-icon{font-size:2.5rem;color:#16a34a;margin-bottom:.5rem}.upload-success-text{font-size:.88rem;color:var(--text);font-weight:500}.drop-zone-has-file{border-color:var(--accent);background:var(--accent-light)}@media(max-width:768px){.main-layout{grid-template-columns:1fr}.left-panel{position:static}.controls-bar{padding:.75rem 1rem}.app-header,.main-layout{padding:1rem}}
