:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:#f9fafb}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em}.appRoot{height:100vh;display:flex;flex-direction:column}.appHeader{padding:14px 16px;border-bottom:1px solid #e5e7eb;background:#fff}.appTitle{font-size:16px;font-weight:700;color:#111827}.appSubTitle{margin-top:4px;font-size:12px;color:#6b7280}.appMain{flex:1;display:flex;flex-direction:column;background:#f9fafb}.errorBanner{margin:10px 16px 0;padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;font-size:13px}.supportCallout{margin:0 16px 10px;padding:12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa}.supportCalloutTitle{font-size:13px;font-weight:700;color:#9a3412;margin-bottom:6px}.supportCalloutText{font-size:12px;line-height:1.6;color:#7c2d12}.supportLinks{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}.supportLinkButton{display:inline-flex;align-items:center;padding:8px 10px;border-radius:10px;background:#111827;color:#fff;text-decoration:none;font-size:12px;font-weight:700}.supportLinkButton:hover{opacity:.92}.messageList{flex:1;overflow:auto;padding:16px}.emptyState{color:#6b7280;font-size:14px;padding:16px;border:1px dashed #d1d5db;border-radius:12px;background:#fff}.messageRow{display:flex;margin-bottom:12px}.messageRow.user{justify-content:flex-end}.messageRow.assistant{justify-content:flex-start}.messageBubble{width:min(760px,100%);border-radius:14px;padding:12px;background:#fff;border:1px solid #e5e7eb}.messageRow.user .messageBubble{background:#eef2ff;border-color:#e0e7ff}.messageRole{font-size:12px;color:#6b7280;margin-bottom:6px}.messageContent{white-space:pre-wrap;line-height:1.6;font-size:14px;color:#111827}.citations{margin-top:12px;padding-top:10px;border-top:1px dashed #e5e7eb}.citationsTitle{font-size:12px;font-weight:700;color:#374151;margin-bottom:6px}.citationsList{margin:0;padding-left:18px;font-size:13px}.citationsList a{color:#2563eb}.citationsList a:hover{text-decoration:underline}.feedback{margin-top:10px;display:flex;gap:8px;align-items:center}.feedbackButton{border:1px solid #d1d5db;background:#fff;padding:8px 10px;border-radius:10px;font-size:12px;cursor:pointer}.feedbackButton:disabled{cursor:not-allowed;opacity:.6}.feedbackDone{font-size:12px;color:#059669}.inputArea{display:flex;gap:10px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#fff}.footerNote{padding:8px 16px 14px;font-size:12px;line-height:1.5;color:#6b7280;background:#fff}.footerLinks{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.footerLinksLabel{color:#374151;font-weight:700}.footerLinksSeparator{color:#9ca3af}.footerLinks a{color:#2563eb;text-decoration:none}.footerLinks a:hover{text-decoration:underline}.adminNav{margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.adminNavLink{font-size:12px;color:#2563eb;text-decoration:none}.adminNavLink:hover{text-decoration:underline}.adminContainer{padding:16px;display:flex;flex-direction:column;gap:14px}.adminGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:860px){.adminGrid{grid-template-columns:1fr}}.adminSection{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.adminSectionTitle{font-size:13px;font-weight:700;color:#111827;margin-bottom:10px}.adminToolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}.adminField{display:flex;flex-direction:column;gap:4px}.adminLabel{font-size:12px;color:#6b7280}.adminInput{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff}.adminButtonRow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.adminButton{border:1px solid #d1d5db;background:#fff;padding:8px 10px;border-radius:10px;font-size:12px;cursor:pointer}.adminButton:disabled{cursor:not-allowed;opacity:.6}.adminButtonPrimary{background:#111827;border-color:#111827;color:#fff;font-weight:700}.adminMuted{font-size:12px;color:#6b7280}.adminError{margin:8px 0;padding:10px 12px;border-radius:10px;background:#fee2e2;border:1px solid #fecaca;color:#991b1b;font-size:12px;line-height:1.5;white-space:pre-wrap}.adminInfo{margin:8px 0;padding:10px 12px;border-radius:10px;background:#e0f2fe;border:1px solid #bae6fd;color:#075985;font-size:12px;line-height:1.5;white-space:pre-wrap}.adminKeyValue{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;align-items:center;font-size:13px}.adminKey{color:#6b7280;font-size:12px}.adminValue{color:#111827}.adminTableWrap{overflow:auto;border:1px solid #e5e7eb;border-radius:12px}.adminTable{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.adminTable th{text-align:left;padding:10px;background:#f9fafb;color:#374151;font-size:12px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.adminTable td{padding:10px;border-bottom:1px solid #f3f4f6;vertical-align:top}.adminRowClickable{cursor:pointer}.adminRowClickable:hover{background:#f9fafb}.adminPagination{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.adminMono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.adminMessages{margin-top:12px;display:flex;flex-direction:column;gap:10px}.adminMessage{border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;background:#fff}.adminMessage-user{border-left:4px solid #2563eb}.adminMessage-assistant{border-left:4px solid #10b981}.adminMessageMeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.adminBadge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;background:#111827;color:#fff;font-weight:700}.adminMessageContent{white-space:pre-wrap;line-height:1.6;font-size:13px;color:#111827}.adminCitations{margin-top:10px;padding-top:8px;border-top:1px dashed #e5e7eb}.adminCitationsList{margin:0;padding-left:18px;font-size:12px}.adminCitationsList a{color:#2563eb}.adminCitationsList a:hover{text-decoration:underline}.inputTextarea{flex:1;resize:none;border:1px solid #d1d5db;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.5;min-height:44px;max-height:140px}.sendButton{width:100px;border:0;border-radius:12px;background:#111827;color:#fff;font-weight:700;cursor:pointer}.sendButton:disabled{background:#9ca3af;cursor:not-allowed}
