.admin-screen{max-width:960px;margin:0 auto;padding:1.5rem;min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-header h1{font-size:1.5rem}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.65rem}.admin-card h2{font-size:1rem;margin-bottom:.25rem}.admin-card label{font-size:.85rem;color:var(--text-muted)}.new-code{color:var(--success);font-size:.95rem}.new-code strong{font-size:1.2rem;letter-spacing:.08em}.admin-table-wrap{margin-bottom:1.5rem}.admin-table-wrap h2{font-size:1rem;margin-bottom:.75rem}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-muted);font-weight:500;font-size:.8rem}.admin-table code{font-size:1rem;letter-spacing:.06em;color:var(--accent)}.btn-small{padding:.35rem .7rem;font-size:.8rem}.muted{color:var(--text-muted);font-size:.9rem}.admin-link{color:var(--accent);text-decoration:none;font-size:.9rem}.admin-link:hover{text-decoration:underline}.admin-error{margin-bottom:1rem}.chat-layout{display:flex;flex-direction:column;height:100vh;max-width:800px;margin:0 auto;width:100%}.chat-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);gap:1rem;flex-wrap:wrap}.chat-header h1{font-size:1.35rem;font-weight:600}.respondent{font-size:.85rem;color:var(--text-muted);margin-top:.2rem}.access-code{color:var(--accent);letter-spacing:.06em}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.banner{padding:.75rem 1.5rem;font-size:.9rem}.banner-info{background:#6c8cff1f;color:var(--accent)}.banner-success{background:#4ade801a;color:var(--success)}.banner-error{background:#f871711a;color:var(--danger)}.messages{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.85rem}.bubble{max-width:85%;padding:.75rem 1rem;border-radius:12px;line-height:1.45}.bubble-user{align-self:flex-end;background:var(--user-bubble)}.bubble-assistant{align-self:flex-start;background:var(--assistant-bubble);border:1px solid var(--border)}.bubble-role{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem}.typing{color:var(--text-muted);font-style:italic}.input-bar{display:flex;gap:.65rem;padding:1rem 1.5rem;border-top:1px solid var(--border);align-items:flex-end}.input-bar textarea{flex:1;resize:none;min-height:44px}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center;gap:1.5rem}.start-screen h1{font-size:2rem;font-weight:600}.start-screen p{color:var(--text-muted);max-width:420px}.start-form{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:360px}.start-form label{text-align:left;font-size:.85rem;color:var(--text-muted)}.start-form input{width:100%}.start-error{color:var(--danger);font-size:.9rem}:root{--bg: #0f1117;--surface: #1a1d27;--surface-hover: #222633;--border: #2d3348;--text: #e8eaef;--text-muted: #8b92a8;--accent: #6c8cff;--accent-hover: #5a7af0;--user-bubble: #2a3558;--assistant-bubble: #1e2438;--success: #4ade80;--danger: #f87171;font-family:DM Sans,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{font-family:inherit;font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:#f871711a}
