:root{--bg-dark:#0f172a;--bg-darker:#020617;--primary:#3b82f6;--primary-hover:#2563eb;--accent:#8b5cf6;--text-main:#f8fafc;--text-muted:#94a3b8;--bot-msg-bg:#1e293b;--user-msg-bg:linear-gradient(135deg, #3b82f6, #6366f1);--error:#ef4444}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background-color:var(--bg-dark);color:var(--text-main);justify-content:center;align-items:center;min-height:100vh;display:flex;overflow:hidden}#root{flex-direction:column;width:100%;height:100dvh;display:flex;position:relative}.public-chat-layout{background-color:#0000;flex-direction:column;width:100%;max-width:100%;height:100dvh;margin:0 auto;display:flex;position:relative}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bot-msg-bg);border-radius:10px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDots{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes progressUpdate{0%{stroke-dashoffset:100px}to{stroke-dashoffset:var(--dash-offset)}}.fade-in{animation:.4s ease-out forwards fadeIn}.chat-container{scroll-behavior:smooth;box-sizing:border-box;flex-direction:column;flex:1;gap:0;padding:1rem .75rem 3rem;display:flex;overflow-y:auto}.message{letter-spacing:-.01em;word-wrap:break-word;opacity:0;max-width:90%;font-size:16px;line-height:1.55;animation:.4s ease-out forwards fadeIn;position:relative}.message.bot{background-color:var(--bot-msg-bg);color:var(--text-main);border:1px solid #ffffff08;border-radius:1.25rem;align-self:flex-start;margin-top:.5rem;padding:.75rem 1rem;box-shadow:0 1px 2px #0000001a}.message.bot+.message.bot,.typing-indicator{border-top-left-radius:.25rem;margin-top:.25rem}.message.bot:not(:has(+.message.bot)):not(:has(+.typing-indicator)){border-bottom-left-radius:.25rem}.message.user{background:var(--user-msg-bg);color:#fff;border-radius:1.25rem 1.25rem .25rem;align-self:flex-end;margin-top:1.5rem;padding:.75rem 1rem;box-shadow:0 4px 10px #3b82f633}.typing-indicator{background-color:var(--bot-msg-bg);border-radius:.25rem 1.25rem 1.25rem .25rem;align-self:flex-start;align-items:center;gap:4px;width:fit-content;margin-top:.25rem;padding:1rem 1.15rem;display:flex}.typing-dot{background-color:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulseDots}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.input-area{background-color:var(--bg-dark);z-index:10;box-sizing:border-box;border-top:1px solid #ffffff0d;flex-direction:column;gap:.75rem;padding:1rem;display:flex;position:relative}.input-wrapper{flex-direction:column;gap:.5rem;display:flex}.input-row{align-items:flex-end;gap:.75rem;display:flex}.field{background-color:var(--bot-msg-bg);color:var(--text-main);border:1px solid #ffffff1a;border-radius:.75rem;outline:none;flex:1;width:100%;padding:.875rem 1rem;font-size:16px;transition:all .2s}.field::placeholder{color:var(--text-muted)}.field:focus{border-color:var(--primary);background-color:#1e293b;box-shadow:0 0 0 2px #3b82f633}textarea.field{resize:vertical;min-height:50px;max-height:150px;line-height:1.4}select.field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.2rem;padding-right:2.5rem}select.field option{background-color:var(--bot-msg-bg);color:var(--text-main)}.options-grid{flex-direction:column;gap:.5rem;display:flex}.option-btn{background-color:var(--bot-msg-bg);color:var(--text-main);text-align:left;cursor:pointer;border:1px solid #ffffff1a;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:16px;transition:all .2s;display:flex}.option-btn:hover{border-color:var(--primary);background-color:#2a3b52}.option-btn.selected{background:var(--user-msg-bg);border-color:#0000;font-weight:500}.send-btn{background:var(--user-msg-bg);color:#fff;cursor:pointer;border:none;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 10px #3b82f64d}.send-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #3b82f666}.send-btn:disabled{background:var(--bot-msg-bg);color:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}.send-btn-full{border-radius:.75rem;width:100%;height:3.2rem;margin-top:.5rem;font-size:16px;font-weight:600}.error-msg{color:var(--error);margin-top:.25rem;padding-left:.5rem;font-size:.85rem;animation:.3s fadeIn;display:block}.progress-container{background-color:var(--bot-msg-bg);width:100%;height:4px}.progress-bar{background:var(--user-msg-bg);height:100%;transition:width .4s ease-out}.final-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;animation:.6s ease-out forwards fadeIn;display:flex}.icon-success{color:#10b981;background:#10b9811a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1rem;display:flex}.final-title{background:linear-gradient(90deg,#60a5fa,#a78bfa);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.final-desc{color:var(--text-muted);line-height:1.6}.header{background-color:var(--bg-darker);z-index:10;border-bottom:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.header-info h2{font-size:1rem;font-weight:600}.header-info p{color:#10b981;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.status-dot{background-color:#10b981;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #10b981}@media (width>=600px){.public-chat-layout{max-width:580px}}@media (width>=1024px){.public-chat-layout{max-width:630px}.message{max-width:85%}}@media (width>=1440px){.public-chat-layout{max-width:680px}.message{max-width:80%}}.admin-layout{background-color:var(--bg-darker);width:100vw;height:100vh;color:var(--text-main);display:flex}.admin-layout.loader{justify-content:center;align-items:center}.admin-sidebar{background-color:var(--bg-dark);border-right:1px solid #ffffff0d;flex-direction:column;gap:1rem;width:250px;padding:1.5rem;display:flex}.admin-brand{border-bottom:1px solid #ffffff0d;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.admin-warn{color:#fbbf24;background:#f59e0b1a;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.8rem;display:flex}.admin-sidebar nav{flex-direction:column;flex:1;gap:.5rem;display:flex}.admin-sidebar nav button{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;transition:background .2s,color .2s;display:flex}.admin-sidebar nav button:hover{color:var(--text-main);background:#ffffff0d}.admin-sidebar nav button.active{background:var(--bot-msg-bg);color:var(--primary);font-weight:500}.admin-save-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-weight:600;transition:background .2s;display:flex}.admin-save-btn:hover{background:var(--primary-hover)}.admin-save-btn:disabled{opacity:.5;cursor:not-allowed}.admin-content{flex:1;padding:2rem 3rem;position:relative;overflow-y:auto}.admin-title{margin-bottom:2rem;font-size:1.5rem;font-weight:600}.admin-card{background:var(--bot-msg-bg);border:1px solid #ffffff0d;border-radius:1rem;flex-direction:column;gap:1.25rem;max-width:600px;padding:1.5rem;display:flex}.admin-field{flex-direction:column;gap:.5rem;display:flex}.admin-field label{color:var(--text-muted);font-size:.85rem}.admin-field input[type=text],.admin-field input[type=number],.admin-field textarea,.admin-field select{background:var(--bg-dark);color:var(--text-main);box-sizing:border-box;border:1px solid #ffffff1a;border-radius:.5rem;outline:none;width:100%;padding:.75rem;font-size:.9rem}.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{border-color:var(--primary)}.admin-field.checkbox{flex-direction:row;align-items:center;gap:.5rem}.admin-field.checkbox label{color:var(--text-main);cursor:pointer;font-size:.95rem}.admin-questions-list{flex-direction:column;gap:1rem;max-width:700px;display:flex}.admin-q-card{background:var(--bot-msg-bg);border:1px solid #ffffff0d;border-radius:1rem;transition:opacity .2s;overflow:hidden}.admin-q-card.disabled{opacity:.5}.q-header{background:#0003;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.q-title{flex:1;align-items:center;gap:1rem;display:flex}.q-badge{background:var(--bg-dark);width:24px;height:24px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.q-label-edit{color:var(--text-main);background:0 0;border:1px dashed #fff3;outline:none;width:100%;padding:.25rem;font-size:1rem;font-weight:500}.q-label-edit:focus{background:var(--bg-dark);border-color:var(--primary)}.q-actions{flex-shrink:0;gap:.5rem;display:flex}.q-actions button{background:var(--bg-dark);color:var(--text-muted);cursor:pointer;border:1px solid #ffffff1a;border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.q-actions button:hover:not(:disabled){color:var(--text-main);background:#ffffff1a}.q-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.q-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.opt-area{margin-top:1rem}.divider{border:0;border-top:1px solid #ffffff0d;margin:.5rem 0}@media (width<=800px){.admin-layout{flex-direction:column;overflow-y:auto}.admin-sidebar{border-bottom:1px solid #ffffff1a;border-right:none;flex-shrink:0;width:100%;max-height:max-content;padding:1rem}.admin-sidebar nav{flex-flow:wrap}.admin-content{flex-shrink:0;padding:1.5rem 1rem;overflow-y:visible}.q-grid{grid-template-columns:1fr;gap:1rem}}
