:root{--teal:#22a8c8;--teal-dark:#1a8faa;--orange:#f86f2d;--text:#34383c;--text-light:#6b7280;--bg:#f7f9fb;--surface:#fff;--border:#e2e8ed;--font-body:"Open Sans", system-ui, sans-serif;--font-heading:"Raleway", system-ui, sans-serif;--radius:8px;--shadow:0 1px 4px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px}.header{background:var(--surface);border-bottom:1px solid var(--border);height:60px;box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:0 24px;display:flex}.header-brand{align-items:center;gap:12px;text-decoration:none;display:flex}.header-logo{width:auto;height:32px}.header-title{font-family:var(--font-heading);color:var(--teal);letter-spacing:.01em;font-size:16px;font-weight:700}.header-title span{color:var(--text-light);font-weight:500}.header-actions{align-items:center;gap:12px;display:flex}.header-user{color:var(--text-light);font-size:13px}.btn{border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-dark)}.btn-ghost{color:var(--text-light);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.login-page{background:linear-gradient(160deg,#e8f7fc 0%,#f7f9fb 60%);justify-content:center;align-items:center;height:100%;display:flex}.login-card{background:var(--surface);text-align:center;border-radius:12px;width:100%;max-width:400px;padding:48px 40px;box-shadow:0 4px 24px #22a8c81f}.login-logo{width:auto;height:44px;margin-bottom:20px}.login-card h1{font-family:var(--font-heading);color:var(--text);margin-bottom:8px;font-size:22px}.login-card p{color:var(--text-light);margin-bottom:32px;font-size:14px;line-height:1.6}.login-card .btn{justify-content:center;width:100%;padding:12px 24px;font-size:15px}.login-notice{color:var(--text-light);margin-top:24px;font-size:12px;line-height:1.5}.chat-layout{flex-direction:column;height:100%;display:flex}.chat-body{flex:1;display:flex;overflow:hidden}.chat-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.message-list{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.message-empty{color:var(--text-light);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.message-empty p{font-size:14px}.message{flex-direction:column;gap:4px;max-width:760px;display:flex}.message-user{align-self:flex-end;align-items:flex-end}.message-assistant{align-self:flex-start;align-items:flex-start}.message-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);font-size:11px;font-weight:600}.message-bubble{border-radius:var(--radius);padding:12px 16px;font-size:14px;line-height:1.65}.message-user .message-bubble{background:var(--teal);color:#fff;border-bottom-right-radius:2px}.message-assistant .message-bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-bottom-left-radius:2px}.message-error .message-bubble{color:#c0440c;background:#fff5f0;border-color:#fbd0b8}.typing-indicator{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:fit-content;box-shadow:var(--shadow);border-bottom-left-radius:2px;gap:4px;padding:14px 16px;display:flex}.typing-dot{background:var(--teal);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typing}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-input-area{background:var(--surface);border-top:1px solid var(--border);padding:16px 24px}.chat-input-form{gap:10px;max-width:760px;margin:0 auto;display:flex}.chat-input{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);color:var(--text);background:var(--bg);resize:none;outline:none;flex:1;min-height:42px;max-height:120px;padding:10px 14px;font-size:14px;transition:border-color .15s}.chat-input:focus{border-color:var(--teal);background:var(--surface)}.help-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:320px;min-width:320px;display:flex;overflow-y:auto}.help-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.help-panel-header h2{font-family:var(--font-heading);color:var(--text);font-size:14px;font-weight:700}.help-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1}.help-close:hover{background:var(--bg)}.help-section{border-bottom:1px solid var(--border);padding:16px 20px}.help-section:last-child{border-bottom:none}.help-section h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.06em;color:var(--teal);margin-bottom:8px;font-size:12px;font-weight:700}.help-section p,.help-section li{color:var(--text-light);font-size:13px;line-height:1.65}.help-section ul{flex-direction:column;gap:4px;padding-left:16px;display:flex}.help-section .example{background:var(--bg);border-left:3px solid var(--teal);color:var(--text);border-radius:0 4px 4px 0;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic}.help-toggle-btn{padding:6px 12px;font-size:13px}.message-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.message-time{color:var(--text-light);font-size:11px}.message-actions{align-items:center;gap:4px;display:flex}.btn-sm,.msg-action-btn{padding:3px 8px;font-size:12px}.feedback-btns{gap:2px;display:inline-flex}.btn-feedback{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px;transition:opacity .15s}.btn-feedback:hover,.btn-feedback.active{opacity:1}.message-bubble p{margin-bottom:.5em}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{flex-direction:column;gap:2px;margin-bottom:.5em;padding-left:20px;display:flex}.message-bubble h1,.message-bubble h2,.message-bubble h3{font-family:var(--font-heading);margin:.6em 0 .3em}.message-bubble code{background:var(--bg);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:13px}.message-bubble pre{background:var(--bg);border-radius:var(--radius);margin-bottom:.5em;padding:10px 12px;overflow-x:auto}.message-bubble pre code{background:0 0;padding:0}.message-bubble table{border-collapse:collapse;width:100%;margin-bottom:.75em;font-size:13px}.message-bubble th,.message-bubble td{border:1px solid var(--border);text-align:left;padding:5px 10px}.message-bubble th{background:var(--bg);font-weight:600}.prompt-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:600px;margin-top:16px;display:flex}.prompt-chip{background:var(--surface);border:1px solid var(--teal);color:var(--teal);font-size:13px;font-family:var(--font-body);cursor:pointer;text-align:left;border-radius:20px;padding:6px 14px;line-height:1.4;transition:background .15s,color .15s}.prompt-chip:hover{background:var(--teal);color:#fff}.context-notice{color:var(--text-light);text-align:center;margin-top:6px;font-size:12px;font-style:italic}.history-panel{width:360px;min-width:320px}.history-loading,.history-empty{color:var(--text-light);text-align:center;padding:20px;font-size:13px}.history-entry{border-bottom:1px solid var(--border)}.history-entry-header{cursor:pointer;flex-direction:column;gap:3px;padding:12px 16px;display:flex}.history-entry-header:hover{background:var(--bg)}.history-question{color:var(--text);font-size:13px;line-height:1.4}.history-meta{color:var(--text-light);font-size:11px}.history-entry-body{padding:0 16px 12px}.history-answer{color:var(--text);background:var(--bg);border-radius:var(--radius);max-height:300px;margin-bottom:8px;padding:10px 12px;font-size:13px;overflow-y:auto}.history-delete-btn{color:#c0440c;border-color:#fbd0b8;padding:3px 8px;font-size:12px}.app-loading{height:100%;color:var(--text-light);justify-content:center;align-items:center;font-size:14px;display:flex}
