:root {
  --bg: #f5f8f6; --card: #fff; --text: #17231d; --muted: #68766f;
  --border: #dfe7e2; --green: #1e6d51; --green-dark: #154b39;
  --green-soft: #ebf7f1; --sidebar: #17231e; --danger: #bd3f3f;
  --shadow: 0 1px 2px rgba(18, 35, 27, .05), 0 8px 24px rgba(18, 35, 27, .04);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  color: var(--text); background: var(--bg);
}
* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { font-family: inherit; font-size: 16px; line-height: 1.5; font-feature-settings: "cv02", "cv03", "cv04", "cv11"; margin: 0; min-width: 320px; background: var(--bg); }
.login-screen { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top,#e4f3eb,var(--bg) 48%); }.login-card { width: min(410px,100%); padding: 32px; border: 1px solid var(--border); border-radius: 16px; display: grid; gap: 17px; background: white; box-shadow: 0 20px 60px rgba(15,45,30,.12); }.login-card .brand-mark { margin: auto; }.login-card h1,.login-card p { margin: 0; text-align: center; }.login-card > p { color: var(--muted); font-size:14px; }.login-card label,.settings-card label,.compact-form label { display: grid; gap: 7px; color: var(--muted); font-size:14px; font-weight: 650; }.login-card input,.settings-card input,.compact-form input,.compact-form select,.share-result input { height: 40px; border: 1px solid var(--border); border-radius: 8px; padding: 0 11px; }.form-error { min-height: 16px; color: var(--danger)!important; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 192px minmax(0, 1fr); transition:grid-template-columns .18s ease; }
.sidebar { min-height: 100vh; background: var(--sidebar); color: #edf5f1; display: flex; flex-direction: column; border-right: 1px solid #2a3b33; }
.brand { height: 72px; display: flex; align-items: center; gap: 12px; padding: 0 20px; border-bottom: 1px solid #2a3b33; }
.brand-mark, .mobile-brand { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: #70bd9b; color: #102019; font-size:14px; font-weight: 800; }
.brand strong, .brand span { display: block; }
.brand strong { font-size: 15px; }.brand span { margin-top: 2px; color: rgba(255,255,255,.5); font-size:14px; }
.brand-copy { min-width:0;flex:1;white-space:nowrap;overflow:hidden; }
.sidebar-toggle { width:26px;height:26px;flex:0 0 auto;border:1px solid #3a4a43;border-radius:7px;background:#22332b;color:#dce9e2;font-size:20px;line-height:1; }
.sidebar nav { flex: 1; padding: 14px 12px; }
.sidebar nav p { margin: 17px 12px 7px; color: rgba(255,255,255,.34); font-size:12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.sidebar nav button { width: 100%; border: 0; border-radius: 8px; padding: 10px 12px; display: flex; gap: 10px; align-items: center; color: rgba(255,255,255,.48); background: transparent; text-align: left; font-size:14px; }
.sidebar nav button.active { background: #25362e; color: white; }.sidebar nav button i { margin-left: auto; width: 6px; height: 6px; border-radius: 50%; background: #70bd9b; }
.sidebar nav button small { margin-left: auto; color: rgba(255,255,255,.25); }.sidebar nav button:disabled { cursor: default; }.sidebar nav button:not(:disabled):hover { background: rgba(255,255,255,.055); color: white; }
.local-status { margin: 16px; padding: 13px; border-top: 1px solid #2a3b33; display: flex; align-items: center; gap: 10px; }
.local-status i { width: 9px; height: 9px; border-radius: 50%; background: #64c794; box-shadow: 0 0 0 4px rgba(100,199,148,.1); }
.local-status strong, .local-status span { display: block; }.local-status strong { font-size:14px; }.local-status strong small { color:rgba(255,255,255,.45);font-size:12px;font-weight:500; }.local-status span { margin-top: 2px; color: rgba(255,255,255,.42); font-size:12px; }
.sidebar nav button b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500; }
.sidebar-collapsed .app-shell { grid-template-columns:72px minmax(0,1fr); }
.sidebar-collapsed .brand { padding:0 18px;position:relative; }
.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar nav p,.sidebar-collapsed .sidebar nav button b,.sidebar-collapsed .sidebar nav button i,.sidebar-collapsed .local-status>div { display:none; }
.sidebar-collapsed .sidebar-toggle { position:absolute;right:-13px;top:23px;z-index:12;box-shadow:0 3px 10px rgba(0,0,0,.25); }
.sidebar-collapsed .sidebar nav { padding:14px 10px; }
.sidebar-collapsed .sidebar nav button { justify-content:center;padding:11px 8px;font-size:16px; }
.sidebar-collapsed .local-status { margin:auto auto 18px;padding:10px;border-top:0; }
main { min-width: 0; }.topbar { height: 64px; position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 12px; padding: 0 38px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.95); backdrop-filter: blur(10px); }
.topbar > div:not(.mobile-brand) { display: flex; flex-direction: column; }.topbar span { color: var(--muted); font-size:12px; }.topbar strong { font-size: 14px; }.topbar .button { margin-left: auto; }.mobile-brand { display: none; }#mobile-tabs { display: none; height: 36px; max-width: 145px; border: 1px solid var(--border); border-radius: 8px; padding: 0 8px; background: white; color: var(--text); }
.topbar .user-menu { margin-left: auto; display: flex!important; flex-direction: row!important; align-items: center; gap: 9px; }.topbar .user-menu .button { margin-left: 0; min-height: 32px; padding: 5px 10px; }.topbar #topbar-action { margin-left: 0; }.member-user [data-admin-only] { display: none!important; }
.button { min-height: 36px; border: 1px solid transparent; border-radius: 8px; padding: 8px 14px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size:14px; font-weight: 650; transition: .16s ease; }
.button.primary { background: var(--green); color: white; }.button.primary:hover { background: var(--green-dark); }.button.secondary { border-color: var(--border); background: white; color: var(--text); box-shadow: 0 1px 1px rgba(0,0,0,.03); }.button.secondary:hover { background: #f6f8f7; }.button.danger { background: var(--danger); color: white; }
.button:disabled { cursor: wait; opacity: .6; }.content { max-width: 1180px; margin: 0 auto; padding: 38px; display: grid; gap: 30px; }
.heading-row { display: flex; align-items: end; justify-content: space-between; gap: 28px; }.heading-row > div:first-child { max-width: 670px; }.heading-row h1 { margin: 0; font-size: 30px; letter-spacing: -.035em; }.heading-row p { margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.metrics { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--border); border-radius: 11px; background: white; box-shadow: var(--shadow); overflow: hidden; }.metrics div { min-width: 82px; padding: 12px 15px; text-align: center; }.metrics div + div { border-left: 1px solid var(--border); }.metrics strong, .metrics span { display: block; }.metrics strong { font-size: 19px; }.metrics span { margin-top: 3px; color: var(--muted); font-size:12px; }
.policy-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 15px; }.policy-card, .capacity-card { border-radius: 12px; padding: 19px; }.policy-card { display: flex; gap: 15px; border: 1px solid #bfe2d0; background: #edf9f3; color: #183e2f; }.policy-icon { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: #d8f1e4; color: var(--green); }.policy-title { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }.policy-title span { border: 1px solid #bfe2d0; border-radius: 999px; padding: 3px 8px; background: white; color: var(--green); font-size:12px; font-weight: 700; }.policy-card p, .capacity-card p { margin: 6px 0 0; color: #4c7363; font-size:14px; line-height: 1.6; }
.capacity-card { border: 1px solid var(--border); background: white; box-shadow: var(--shadow); display: flex; align-items: start; justify-content: space-between; }.capacity-card strong { font-size:14px; }.capacity-card p { color: var(--muted); }.capacity-card i { width: 10px; height: 10px; margin-top: 3px; border-radius: 50%; background: #d39438; }.capacity-card i.ready { background: #39a873; }
.section-title { margin-bottom: 14px; display: flex; justify-content: space-between; align-items: end; gap: 16px; }.section-title h2, .quick-section h2 { margin: 0; font-size: 17px; }.section-title p { margin: 4px 0 0; color: var(--muted); font-size:14px; }
.loading, .empty-state { min-height: 230px; border: 1px solid var(--border); border-radius: 12px; background: white; display: grid; place-items: center; color: var(--muted); box-shadow: var(--shadow); }
.empty-state { display: block; padding: 44px 20px; text-align: center; }.empty-state .empty-icon { width: 48px; height: 48px; margin: auto; display: grid; place-items: center; border-radius: 11px; background: var(--green-soft); color: var(--green); font-size: 22px; }.empty-state h2 { margin: 15px 0 0; font-size: 16px; }.empty-state p { max-width: 460px; margin: 8px auto 18px; color: var(--muted); font-size:14px; line-height: 1.6; }.empty-state > div:last-child { display: flex; justify-content: center; gap: 8px; }
.connection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }.connection-card { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: white; box-shadow: var(--shadow); }.connection-card.disabled { opacity: .62; }.card-head { padding: 18px; display: flex; gap: 13px; align-items: start; }.provider-mark { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; font-size:14px; font-weight: 800; }.provider-mark.ollama { background: #dff3e9; color: #176a49; }.provider-mark.openai { background: #edf0ef; color: #293833; }.provider-mark.anthropic { background: #faebdd; color: #8d4c1c; }.provider-mark.gemini { background: #e1edfb; color: #315f9a; }.provider-mark.openrouter { background: #eee8fa; color: #67459d; }.provider-mark.openai-compatible { background: #ddf3f4; color: #247078; }
.provider-mark.colibri { background:#e8f0ff;color:#315da8; }.provider-mark.perplexity { background:#dcf4ef;color:#12685c; }
.model-runtime-list { padding:0 15px 13px;display:grid;gap:6px; }.model-runtime-row { display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:12px; }.model-runtime-row span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.model-runtime-row b { color:var(--green);font-size:12px; }.model-runtime-row select { height:28px;border:1px solid var(--border);border-radius:7px;background:white;font-size:12px; }.model-runtime-row.model-disabled>span{opacity:.48;text-decoration:line-through}.model-enabled{display:flex;align-items:center;gap:4px;white-space:nowrap;font-weight:600}.model-enabled input{accent-color:var(--green)}
.card-title { min-width: 0; flex: 1; }.card-title h3 { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 14px; }.badge { display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 999px; padding: 3px 7px; color: #5b6862; font-size:12px; font-weight: 700; }.badge.private { border-color: #bfe2d0; background: #edf9f3; color: #176a49; }.card-title p { margin: 5px 0 0; color: var(--muted); font-size:12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.details { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--border); }.details div { min-width: 0; padding: 11px 18px; background: var(--card); color: var(--text); }.details label { display: block; color: var(--muted); font-size:12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.details span { margin-top: 4px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
#agent-list .details { grid-template-columns:minmax(0,1fr); }
#agent-list .details span { font-family:inherit; font-size:13px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
.card-foot { padding: 13px 15px; display: flex; align-items: center; gap: 10px; }.status { min-width: 0; flex: 1; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size:12px; }.status i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #9ba49f; }.status.connected i { background: #39a873; }.status.error i { background: #d85454; }.status span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.card-actions { display: flex; align-items: center; gap: 5px; }.privacy-toggle { padding-right: 9px; margin-right: 2px; border-right: 1px solid var(--border); display: flex; align-items: center; gap: 7px; color: var(--muted); font-size:12px; }.icon-button { width: 32px; height: 32px; border: 0; border-radius: 7px; display: grid; place-items: center; background: transparent; color: #66736d; font-size: 16px; }.icon-button:hover { background: #f0f4f2; }.icon-button.delete { color: var(--danger); }
.switch { width: 32px; height: 19px; display: inline-block; position: relative; flex: 0 0 auto; }.switch input { position: absolute; opacity: 0; }.switch span { position: absolute; inset: 0; border-radius: 999px; background: #ccd5d0; transition: .15s; }.switch span::after { content: ""; position: absolute; width: 15px; height: 15px; left: 2px; top: 2px; border-radius: 50%; background: white; box-shadow: 0 1px 2px rgba(0,0,0,.15); transition: .15s; }.switch input:checked + span { background: var(--green); }.switch input:checked + span::after { transform: translateX(13px); }.switch input:focus-visible + span { outline: 3px solid rgba(30,109,81,.2); }
.quick-section h2 { margin-bottom: 13px; }.quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }.quick-card { border: 1px solid var(--border); border-radius: 11px; padding: 13px; display: flex; align-items: center; gap: 11px; background: white; text-align: left; box-shadow: var(--shadow); transition: .15s; }.quick-card:hover { border-color: #9bcdb6; transform: translateY(-1px); }.quick-card .provider-mark { width: 38px; height: 38px; }.quick-card div:nth-child(2) { min-width: 0; flex: 1; }.quick-card strong, .quick-card small { display: block; }.quick-card strong { font-size:14px; }.quick-card small { margin-top: 3px; color: var(--muted); font-size:12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.quick-card b { color: var(--muted); font-weight: 400; }
.modal { width: min(580px, calc(100vw - 30px)); max-height: calc(100vh - 30px); padding: 0; border: 1px solid var(--border); border-radius: 14px; background: white; color: var(--text); box-shadow: 0 24px 70px rgba(9,30,20,.22); }.modal::backdrop { background: rgba(10,22,16,.55); backdrop-filter: blur(2px); }.modal-header { padding: 22px 22px 15px; display: flex; align-items: start; justify-content: space-between; gap: 15px; }.modal-header h2 { margin: 0; font-size: 19px; }.modal-header p { margin: 6px 0 0; color: var(--muted); font-size:14px; line-height: 1.5; }.form-grid { max-height: calc(100vh - 210px); overflow-y: auto; padding: 5px 22px 20px; display: grid; gap: 16px; }.form-grid > label { display: grid; gap: 7px; color: #2c3933; font-size:14px; font-weight: 650; }.form-grid input, .form-grid select { width: 100%; height: 39px; border: 1px solid #ced9d3; border-radius: 8px; padding: 0 11px; background: white; color: var(--text); outline: none; }.form-grid input:focus, .form-grid select:focus { border-color: #6cad8f; box-shadow: 0 0 0 3px rgba(30,109,81,.1); }.form-grid small { color: var(--muted); font-size:12px; font-weight: 400; line-height: 1.45; }.label-row { display: flex; justify-content: space-between; }.label-row em { color: var(--muted); font-size:12px; font-style: normal; font-weight: 400; }.switch-panel { border: 1px solid var(--border); border-radius: 11px; padding: 14px; display: flex; align-items: center; gap: 12px; background: #f8faf9; }.switch-panel > div:nth-child(2), .switch-panel > div:first-child:not(.shield) { flex: 1; }.switch-panel strong { font-size:14px; }.switch-panel p { margin: 4px 0 0; color: var(--muted); font-size:12px; line-height: 1.5; }.private-panel { align-items: start; }.shield { width: 28px; color: var(--green); }.modal-actions { padding: 14px 22px 20px; display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--border); }.confirm-modal { width: min(440px, calc(100vw - 30px)); }.confirm-modal .modal-header { padding-bottom: 23px; }
.toast { position: fixed; z-index:10000; right: 22px; bottom: 22px; max-width: min(380px, calc(100vw - 44px)); padding: 11px 14px; border: 1px solid #bcdacb; border-radius: 9px; background: #173d2e; color: white; font-size:14px; box-shadow: 0 10px 30px rgba(0,0,0,.18); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s; }.toast.show { opacity: 1; transform: none; }.toast.error { border-color: #e7bcbc; background: #772d2d; }
.subform { display: grid; gap: 16px; }.subform > label, .field-row > label { display: grid; gap: 7px; color: #2c3933; font-size:14px; font-weight: 650; }.field-row { display: grid; grid-template-columns: .45fr 1fr; gap: 12px; }
.connector-card .card-head { padding-bottom: 15px; }.connector-badges { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 5px; }.provider-mark.google { background: #e1edfb; color: #315f9a; }.provider-mark.microsoft { background: #e5efff; color: #205ba7; }.provider-mark.imap { background: #eee8fa; color: #67459d; }.provider-mark.mailstore { background: #dff3e9; color: #176a49; }
.connector-actions { padding: 12px 15px; border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }.connector-actions .status { margin-right: auto; }.oauth-needed { border-color: #e8cc9f; background: #fff8ec; color: #8a5a13; }
.calendar-list { display: grid; gap: 10px; }.calendar-row { border: 1px solid var(--border); border-radius: 11px; padding: 15px 17px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 20px; align-items: center; background: white; box-shadow: var(--shadow); }.calendar-name { min-width: 0; display: flex; align-items: center; gap: 11px; }.calendar-color { width: 11px; height: 38px; border-radius: 999px; background: var(--green); }.calendar-name strong, .calendar-name span { display: block; }.calendar-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size:14px; }.calendar-name span { margin-top: 4px; color: var(--muted); font-size:12px; }.calendar-control { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size:14px; }.calendar-control.locked { opacity: .55; }.calendar-row.unselected { opacity: .6; }
.chat-content { max-width: none; height: calc(var(--app-height, 100dvh) - 64px); padding: 0; display: block; }
.chat-layout { --conversation-width:280px; height: 100%; display: grid; grid-template-columns: var(--conversation-width) 10px minmax(0,1fr); }
.conversation-panel { min-width:0; min-height: 0; padding: 18px 12px; background: #eef3f0; overflow-y: auto; }
.conversation-resizer { position:relative;min-width:10px;background:#e5ece8;border-left:1px solid var(--border);border-right:1px solid var(--border);cursor:col-resize;touch-action:none; }
.conversation-resizer::after { content:"";position:absolute;top:50%;left:50%;width:3px;height:46px;border-radius:3px;background:#8ca79a;transform:translate(-50%,-50%); }
.conversation-resizer:hover,.conversation-resizer:focus-visible,.chat-layout.resizing .conversation-resizer { background:#c8e3d4;outline:none; }
.conversation-resizer:focus-visible { box-shadow:inset 0 0 0 2px var(--green); }
body[data-theme="midnight"] .conversation-resizer { background:#273b34;border-color:var(--border); }
body[data-theme="midnight"] .conversation-resizer:hover,body[data-theme="midnight"] .conversation-resizer:focus-visible,body[data-theme="midnight"] .chat-layout.resizing .conversation-resizer { background:#365947; }
.chat-layout.resizing,.chat-layout.resizing * { cursor:col-resize!important;user-select:none!important; }
.new-chat-button { width: 100%; margin-bottom: 10px; }.conversation-tools { margin-bottom:10px;padding:9px;border:1px solid var(--border);border-radius:9px;display:grid;gap:7px;background:rgba(255,255,255,.65); }.conversation-tools select { width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:white;padding:0 7px;font-size:12px; }.conversation-tools label { display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px; }.conversation-tools .button { min-height:30px;padding:5px 8px;font-size:12px; }.conversation-list { display: grid; gap: 6px; }.conversation-list > p { padding: 10px; color: var(--muted); font-size:14px; }
.conversation-item { width: 100%; min-width: 0; padding: 7px; border: 1px solid transparent; border-radius: 9px; display: flex; align-items: center; gap: 7px; background: transparent; color: var(--text); text-align: left; }.conversation-item:hover, .conversation-item.active { border-color: var(--border); background: white; }.conversation-item > button[data-open-conversation] { min-width:0;flex:1;padding:4px;border:0;background:transparent;color:inherit;text-align:left; }.conversation-item strong, .conversation-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.conversation-item strong { font-size:14px; }.conversation-item small { margin-top: 5px; color: var(--muted); font-size:12px; }.conversation-item button[data-delete-conversation] { width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:var(--danger);font-size:16px; }.conversation-item button[data-delete-conversation]:hover { background:#fff0f0; }
.chat-panel { min-width:0;max-width:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;background:white; }.chat-toolbar { min-width:0;max-width:100%;min-height:64px;padding:11px 22px;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px; }.chat-toolbar > div { min-width:0;flex:1 1 220px; }.chat-toolbar strong,.chat-toolbar > div span { display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.chat-toolbar strong { font-size:14px; }.chat-toolbar > div span { margin-top:4px;color:var(--muted);font-size:12px; }.chat-toolbar > label { min-width:0;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px; }.chat-toolbar select { min-width:0;height:35px;max-width:210px;border:1px solid var(--border);border-radius:8px;padding:0 9px;background:white; }.privacy-chat { flex:0 0 auto;padding-left:12px;border-left:1px solid var(--border); }
.message-list { min-height: 0; overflow-y: auto; padding: 28px max(24px, calc((100% - 800px)/2)); }.chat-welcome { max-width: 520px; margin: 10vh auto 0; text-align: center; }.chat-welcome > div { width: 52px; height: 52px; margin: auto; display: grid; place-items: center; border-radius: 14px; background: var(--green-soft); color: var(--green); font-weight: 800; }.chat-welcome h1 { margin: 17px 0 0; font-size: 25px; }.chat-welcome p { color: var(--muted); line-height: 1.65; font-size:14px; }.chat-message { margin: 0 auto 24px; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 13px; }.chat-message > div { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #edf0ef; font-size:12px; font-weight: 800; }.chat-message.assistant > div { background: var(--green-soft); color: var(--green); }.chat-message section { min-width: 0; }.chat-message header { min-height: 25px; display: flex; align-items: center; gap: 8px; }.chat-message header strong { font-size:14px; }.chat-message header span { color: var(--muted); font-size:12px; }.chat-message pre { margin: 3px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.7 Inter, ui-sans-serif, system-ui, sans-serif; }.chat-message.pending { opacity: .6; }
.message-copy { margin-left:auto;padding:3px 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;opacity:0; }.chat-message:hover .message-copy,.message-copy:focus { opacity:1;border-color:var(--border); }.message-content { display:grid;gap:10px; }.message-text { white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 Inter,ui-sans-serif,system-ui,sans-serif; }.message-text>code { padding:2px 4px;border-radius:4px;background:#edf2ef;font:12px ui-monospace,SFMono-Regular,Consolas,monospace; }.code-block { overflow:hidden;border:1px solid #cbd5d1;border-radius:9px;background:#10201a;color:#e7f2ed; }.chat-message .code-block>header { min-height:34px;padding:0 10px;border-bottom:1px solid #2b3c35;display:flex;align-items:center;justify-content:space-between; }.chat-message .code-block>header span { color:#a8bbb3;font-size:12px; }.code-block button { padding:4px 8px;border:1px solid #43574f;border-radius:5px;background:#1b3027;color:#dce9e3;font-size:12px;cursor:pointer; }.chat-message .code-block pre { margin:0;padding:13px;overflow:auto;white-space:pre;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }.conversation-copy { margin:4px auto 22px;display:flex;justify-content:center; }
.composer { margin: 0 auto; width: min(850px, calc(100% - 40px)); padding: 0 0 22px; display: flex; align-items: end; gap: 9px; }.composer textarea { min-height: 58px; max-height: 180px; flex: 1; resize: vertical; border: 1px solid #bdcbc4; border-radius: 12px; padding: 12px 13px; outline: none; font: 13px/1.5 inherit; box-shadow: var(--shadow); }.composer textarea:focus { border-color: #6cad8f; box-shadow: 0 0 0 3px rgba(30,109,81,.1); }.composer .button { min-height: 44px; }
.queue-panel { width: min(850px,calc(100% - 40px)); max-height: 190px; margin: 0 auto 10px; border: 1px solid var(--border); border-radius: 10px; overflow-y: auto; background: #f8faf9; }.queue-panel > header { padding: 9px 12px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--border); }.queue-panel header strong { font-size:14px; }.queue-panel header span { color: var(--muted); font-size:12px; }.queue-item { padding: 9px 11px; display: flex; gap: 10px; align-items: center; }.queue-item + .queue-item { border-top: 1px solid var(--border); }.queue-item > div { min-width:0; flex:1; }.queue-item strong,.queue-item span,.queue-item small { display:block; }.queue-item strong { font-size:12px; }.queue-item span { margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }.queue-item small { color:var(--danger); }.queue-item nav { display:flex; }.queue-item nav button { width:27px;height:27px;border:0;border-radius:6px;background:transparent; }.queue-item nav button:hover { background:#e8efeb; }
.account-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:18px; }.settings-card { padding:20px; border:1px solid var(--border); border-radius:12px; display:grid; align-content:start; gap:15px; background:white; box-shadow:var(--shadow); }.settings-card h2,.settings-card h3,.settings-card p { margin:0; }.settings-card p { color:var(--muted); font-size:14px; }.compact-form { padding-top:14px; border-top:1px solid var(--border); display:grid; gap:12px; }.user-list,.memory-list,.share-list { display:grid; gap:8px; }.user-row,.memory-row,.share-row { padding:12px 14px; border:1px solid var(--border); border-radius:9px; display:flex; align-items:center; gap:12px; background:white; }.user-row>div,.memory-row>div,.share-row>div { min-width:0;flex:1; }.user-row strong,.user-row span,.memory-row strong,.memory-row span,.share-row strong,.share-row span { display:block; }.user-row span,.memory-row span,.share-row span { margin-top:3px;color:var(--muted);font-size:12px; }.memory-row strong { font-size:14px;line-height:1.5; }.share-result { margin:0 22px 18px; display:flex; gap:8px; }.share-result label { flex:1;display:grid;gap:5px;font-size:12px; }.share-list { margin:0 22px 20px; }.share-row { padding:9px 11px; }.share-row .button { min-height:30px;padding:5px 8px;font-size:12px; }
.memory-add-form { padding:16px; border:1px solid var(--border); border-radius:12px; display:grid; grid-template-columns:minmax(180px,.7fr) minmax(260px,1.5fr) auto; align-items:end; gap:14px; background:white; box-shadow:var(--shadow); }.memory-add-form label strong,.memory-add-form label span { display:block; }.memory-add-form label span { margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45; }.memory-add-form textarea { min-height:62px;resize:vertical;border:1px solid #ccd5d1;border-radius:8px;padding:10px 11px;font:12px/1.5 Inter,ui-sans-serif,system-ui,sans-serif; }
.filter-bar { padding:12px 14px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:end;justify-content:space-between;gap:12px;background:white;box-shadow:var(--shadow); }.filter-bar label { display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650; }.filter-bar select,.section-title select { height:34px;border:1px solid var(--border);border-radius:7px;background:white;padding:0 9px; }.filter-bar span { color:var(--muted);font-size:12px; }
.cleanup-summary { margin:0 22px 12px;padding:11px;border-radius:8px;background:#fff6e8;color:#73501e;font-size:14px; }.cleanup-columns { max-height:calc(100vh - 250px);overflow:auto;padding:0 22px 18px;display:grid;grid-template-columns:1fr 1fr;gap:12px; }.cleanup-list { margin-top:9px;display:grid;gap:6px; }.cleanup-list label { padding:7px;border:1px solid var(--border);border-radius:7px;display:flex;align-items:start;gap:7px;font-size:12px;line-height:1.35; }.cleanup-list small { color:var(--muted); }
.diagnostic-list { display:grid;gap:8px; }.diagnostic-row { padding:12px 14px;border:1px solid var(--border);border-radius:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;background:white;box-shadow:var(--shadow); }.diagnostic-row b { padding:3px 6px;border-radius:999px;background:#e7f5ee;color:var(--green);font-size:12px;text-transform:uppercase; }.diagnostic-row.warning b { background:#fff3db;color:#865d18; }.diagnostic-row.error b { background:#ffe7e7;color:var(--danger); }.diagnostic-row strong,.diagnostic-row span { display:block; }.diagnostic-row strong { font-size:14px; }.diagnostic-row span { margin-top:4px;color:var(--muted);font-size:12px; }.diagnostic-row code { color:var(--muted);font-size:12px; }
.share-page { padding:28px; }.shared-card { max-width:850px;margin:auto;border:1px solid var(--border);border-radius:14px;background:white;box-shadow:var(--shadow);overflow:hidden; }.shared-card>header { padding:18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border); }.shared-card>header strong,.shared-card>header span { display:block; }.shared-card>header span { margin-top:3px;color:var(--muted);font-size:12px; }.shared-card>form,.shared-card>section { padding:24px; }.shared-card form label { display:grid;gap:8px;max-width:340px;font-size:14px; }.shared-card input { height:40px;border:1px solid var(--border);border-radius:8px;padding:0 10px; }.shared-card .message-list { padding:20px 0;overflow:visible; }
.alias-list { display: grid; gap: 9px; }.alias-row { padding: 14px 16px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: minmax(180px,1fr) minmax(260px,1fr) auto auto; align-items: center; gap: 12px; background: white; box-shadow: var(--shadow); }.alias-row.disabled { opacity: .55; }.alias-row p { margin: 4px 0 0; color: var(--muted); font-size:12px; }.alias-route { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size:12px; }.alias-route span, .alias-route code, .alias-route b { padding: 4px 7px; border: 1px solid var(--border); border-radius: 999px; font-weight: 500; }.alias-route b { border-color: #bfe2d0; background: var(--green-soft); color: var(--green); }.api-card { padding: 18px; border: 1px solid var(--border); border-radius: 12px; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: white; box-shadow: var(--shadow); }.api-card h2 { margin: 0; font-size: 16px; }.api-card p { margin: 6px 0 10px; color: var(--muted); font-size:14px; }.api-card code { font-size:14px; }.api-key-value { margin: 0 22px 20px; padding: 13px; border: 1px solid var(--border); border-radius: 8px; overflow-wrap: anywhere; background: #f5f8f6; font: 12px/1.5 ui-monospace, monospace; }
.check-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px; }
.check-grid label,.checkbox-row { display:flex;align-items:center;gap:8px;font-weight:600; }
.check-grid input,.checkbox-row input { width:auto; }
.agent-mcp-options { display:grid;gap:10px; }.agent-mcp-server { padding:10px;border:1px solid var(--border);border-radius:9px;background:#f8faf9;display:grid;gap:9px; }.agent-mcp-server>.check-grid { padding-left:8px; }.agent-mcp-server small { color:var(--muted);font-size:12px; }
fieldset { border:1px solid var(--border);border-radius:12px;padding:14px; }
fieldset legend { padding:0 6px;font-weight:700; }
.space-dot { display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px; }
.memory-row>label { min-width:140px;font-size:12px;color:var(--muted); }
.memory-row>label select { width:100%;margin-top:4px; }
[hidden] { display: none !important; }
.totp-qr { display:block; width:min(230px,100%); height:auto; margin:12px auto; border:12px solid white; }
#totp-manual-key { display:block; overflow-wrap:anywhere; user-select:all; font-size:14px; letter-spacing:1px; }
#totp-recovery-codes { padding:12px; background:#f1f7f3; border-radius:8px; user-select:all; }
@media (max-width: 1050px) { .connection-grid { grid-template-columns: 1fr; }.quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 800px) { .app-shell { display: block; }.sidebar { display: none; }.mobile-brand { display: grid; }.topbar { padding: 0 18px; }.topbar > div:not(.mobile-brand) { display: none; }#mobile-tabs { display: block; }.content { padding: 25px 18px; }.chat-content { height: calc(100vh - 64px); padding: 0; }.chat-layout { grid-template-columns: minmax(0,1fr); }.conversation-panel,.conversation-resizer { display: none; }.heading-row { align-items: stretch; flex-direction: column; }.metrics { align-self: start; }.policy-grid { grid-template-columns: 1fr; }.memory-add-form { grid-template-columns:1fr;align-items:stretch; }.alias-row { grid-template-columns: minmax(0,1fr) auto auto; }.alias-route { grid-column: 1/-1; grid-row: 2; }.cleanup-columns { grid-template-columns:1fr; } }
@media (max-width: 560px) { .topbar .button { padding: 8px 10px; }.topbar .button b { display: none; }.content { gap: 24px; }.chat-content { padding: 0; }.chat-toolbar { align-items: stretch; flex-wrap: wrap; }.chat-toolbar > div { flex-basis: 100%; }.chat-toolbar > label { flex: 1; }.chat-toolbar select { width: 100%; }.message-list { padding: 20px 15px; }.message-copy { opacity:1;border-color:var(--border); }.composer { width: calc(100% - 24px); padding-bottom: 12px; }.heading-row h1 { font-size: 25px; }.metrics { width: 100%; }.quick-grid { grid-template-columns: 1fr; }.card-foot { align-items: stretch; flex-direction: column; }.card-actions { justify-content: flex-end; }.details { grid-template-columns: 1fr; }.empty-state > div:last-child { flex-direction: column; }.modal-actions .button { flex: 1; }.field-row { grid-template-columns: 1fr; }.calendar-row { grid-template-columns: 1fr; gap: 12px; }.calendar-control { justify-content: space-between; }.api-card { align-items: stretch; flex-direction: column; }.api-card .button { width: 100%; } }

/* v0.7 workspace, notes, and mobile chat behavior */
.chat-panel { position:relative; }
.mobile-conversation-button,.conversation-drawer-close,.conversation-backdrop { display:none; }
.new-messages-button { position:absolute;z-index:4;left:50%;bottom:92px;transform:translateX(-50%);box-shadow:0 5px 18px rgba(0,0,0,.16); }
.api-key-value { user-select:all; }
.note-list { display:grid;gap:12px; }.note-card { padding:17px;border:1px solid var(--border);border-radius:12px;background:white;box-shadow:var(--shadow); }.note-card.pinned { border-color:#9fcdb8; }.note-card header { display:flex;align-items:start;justify-content:space-between;gap:15px; }.note-card header strong,.note-card header span { display:block; }.note-card header strong { font-size:14px; }.note-card header span { margin-top:5px;color:var(--muted);font-size:12px; }.note-card nav { display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end; }.note-body { margin-top:14px;white-space:pre-wrap;overflow:hidden;font-size:14px;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:3.3em; }.note-private-preview { color:var(--muted);font-style:italic; }.note-badge { display:inline!important;margin-left:5px!important;padding:2px 5px;border-radius:999px;background:#edf4f0;color:var(--green)!important; }.note-card footer { margin-top:14px;display:flex;flex-wrap:wrap;gap:5px; }.note-card footer span { padding:3px 7px;border-radius:999px;background:#edf4f0;color:var(--green);font-size:12px; }
.vault-table { display:table;width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden; }.vault-table .note-card { display:table-row;border:0;border-radius:0;box-shadow:none; }.vault-table .note-card>* { display:table-cell;padding:12px;border-bottom:1px solid var(--border);vertical-align:middle; }.vault-match { color:var(--muted);font-size:12px; }.vault-links { display:grid;gap:6px;margin-top:8px; }.vault-links button { justify-content:flex-start; }.vault-version-row { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px; }
.form-grid textarea { width:100%;border:1px solid #ced9d3;border-radius:8px;padding:10px 11px;resize:vertical;font:12px/1.5 inherit; }.filter-bar input[type="search"] { height:34px;border:1px solid var(--border);border-radius:7px;background:white;padding:0 9px; }
.conversation-item button[data-rename-conversation] { width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:14px; }.conversation-item button[data-rename-conversation]:hover { background:#e8efeb; }

@media (max-width:800px) {
  .chat-content { height:calc(var(--app-height,100dvh) - 64px); }
  .mobile-conversation-button,.conversation-drawer-close { display:grid;place-items:center; }
  .conversation-panel { display:block;position:fixed;z-index:101;inset:64px auto 0 0;width:min(320px,88vw);transform:translateX(-105%);transition:transform .2s;box-shadow:12px 0 35px rgba(0,0,0,.18); }
  .conversation-drawer-open .conversation-panel { transform:none; }
  .conversation-drawer-close { margin:0 0 9px auto; }
  .conversation-backdrop { position:fixed;z-index:100;inset:64px 0 0;border:0;background:rgba(5,17,11,.45); }
  .conversation-drawer-open .conversation-backdrop { display:block; }
}
@media (max-width:560px) {
  .chat-toolbar { padding:8px 10px;gap:8px;align-items:center; }
  .chat-toolbar > div { flex:1;flex-basis:auto; }
  .chat-toolbar > label { flex:1 1 44%; }
  .chat-toolbar select { max-width:none; }
  .privacy-chat { padding-left:0;border-left:0; }
  .composer { width:calc(100% - 16px);padding-bottom:max(8px,env(safe-area-inset-bottom));gap:6px; }
  .composer textarea { min-width:0;min-height:48px;max-height:110px;resize:none; }
  .composer .button { padding:8px 10px; }
  .queue-panel { width:calc(100% - 16px); }
  .filter-bar { align-items:stretch;flex-direction:column; }
  .note-card header { flex-direction:column; }.note-card nav { width:100%;justify-content:flex-end; }
}

/* v0.7.2 hardware-aware Ollama model catalog */
.model-picker-label { min-width:0; }
.model-picker-label select { width:100%; }
.model-legend { display:block;max-width:520px;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45;white-space:normal; }
.chat-toolbar .model-picker-label { flex:1 1 300px;max-width:520px; }
.chat-toolbar .model-picker-label select { max-width:none; }
.chat-mode-label { flex:0 1 112px;min-width:88px; }
.chat-heading { overflow:hidden; }
@media (max-width:1350px) and (min-width:801px) {
  .chat-toolbar .chat-heading { flex-basis:calc(100% - 110px); }
  .chat-toolbar .model-picker-label { max-width:none; }
}
.composer { flex-wrap:wrap; }
.composer textarea { flex:1 1 360px; }
.attachment-button { flex:0 0 auto; }
.attachment-tray { flex:1 0 100%;display:flex;flex-wrap:wrap;gap:6px; }
.attachment-tray>span { max-width:260px;padding:5px 7px;border:1px solid var(--border);border-radius:7px;display:flex;align-items:center;gap:6px;overflow:hidden;background:#f6faf8;font-size:12px; }
.attachment-tray>span small { color:var(--muted);white-space:nowrap; }.attachment-tray>span button { border:0;background:transparent;color:var(--danger); }
.message-attachments { margin:8px 0;display:flex;flex-wrap:wrap;gap:7px; }.message-attachments a { max-width:280px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;color:inherit;text-decoration:none;background:#f7faf8; }.message-attachments a span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px; }.message-attachments a small { color:var(--muted);font-size:12px;white-space:nowrap; }
.message-attachments a.image-attachment { display:flex;flex-direction:column;align-items:stretch;max-width:340px; }.message-attachments .image-attachment img { width:100%;max-height:280px;object-fit:contain;border-radius:5px;background:#edf2ef; }.message-attachments .image-attachment b { display:none; }.message-attachments .image-attachment span { white-space:normal;overflow-wrap:anywhere; }.message-attachments .image-attachment small { align-self:flex-end; }

/* Account themes and compact workspace navigation. */
body[data-theme="ocean"] { --green:#166ba4;--green-dark:#124f7a;--green-soft:#eaf5fd;--sidebar:#132a3e;--bg:#f1f7fb;--border:#dae7ee; }
body[data-theme="violet"] { --green:#7352a6;--green-dark:#533783;--green-soft:#f4effc;--sidebar:#292138;--bg:#f8f5fb;--border:#e8dff1; }
body[data-theme="sunset"] { --green:#ba5a43;--green-dark:#934331;--green-soft:#fff1ec;--sidebar:#392a27;--bg:#fff8f5;--border:#f0e0d9; }
body[data-theme="midnight"] { color-scheme:dark;--bg:#111d26;--card:#1b2c36;--text:#e7f3f5;--muted:#a8bbc1;--border:#334952;--green:#57bdb5;--green-dark:#39998f;--green-soft:#243f43;--sidebar:#0d1921; }
body[data-theme="midnight"] .topbar,body[data-theme="midnight"] .chat-panel,body[data-theme="midnight"] .conversation-item:hover,body[data-theme="midnight"] .conversation-item.active,body[data-theme="midnight"] .settings-card,body[data-theme="midnight"] .connection-card,body[data-theme="midnight"] .note-card,body[data-theme="midnight"] .filter-bar,body[data-theme="midnight"] .empty-state,body[data-theme="midnight"] .metrics,body[data-theme="midnight"] .capacity-card { background:var(--card);color:var(--text); }
body[data-theme="midnight"] textarea,body[data-theme="midnight"] input,body[data-theme="midnight"] select,body[data-theme="midnight"] .button.secondary { background:#22343d;color:var(--text);border-color:var(--border); }
body[data-theme="midnight"] .message-list,body[data-theme="midnight"] .chat-content { background:var(--bg); }
body[data-theme="midnight"] .policy-card,body[data-theme="midnight"] .conversation-panel,body[data-theme="midnight"] .queue-panel { background:var(--card);color:var(--text);border-color:var(--border); }
body[data-theme="midnight"] .policy-card p,body[data-theme="midnight"] .capacity-card p { color:var(--muted); }
body[data-theme="midnight"] .conversation-tools,body[data-theme="midnight"] .user-row,body[data-theme="midnight"] .memory-row,body[data-theme="midnight"] .share-row { background:var(--card);color:var(--text); }
body[data-theme="midnight"] .chat-message>div { background:#30424d;color:var(--text); }
.topbar .user-menu .profile-trigger { width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:800;font-size:14px;display:grid;place-items:center;cursor:pointer; }
.profile-menu { position:fixed;right:16px;top:70px;z-index:120;width:min(315px,calc(100vw - 32px));max-height:calc(100dvh - 82px);overflow-y:auto;padding:11px;border:1px solid var(--border);border-radius:17px;background:var(--card);color:var(--text);box-shadow:0 18px 55px rgba(13,35,30,.21); }
.profile-menu-heading { padding:12px 12px 4px;display:grid;gap:3px; }.profile-menu-heading small { color:var(--muted); }
.profile-menu p { padding:8px 11px 3px;margin:0;color:var(--muted);font-size:12px;letter-spacing:.1em;font-weight:750; }
.profile-menu .profile-section-account { padding-top:16px;color:var(--text);font-size:14px;letter-spacing:0;font-weight:750; }
.profile-menu button { width:100%;padding:12px;border:0;border-radius:9px;text-align:left;background:transparent;color:inherit;font-size:14px;cursor:pointer; }.profile-menu button:hover,.profile-menu button:focus-visible { background:var(--green-soft);color:var(--green); }
.profile-menu #logout-button { margin-top:8px;border-top:1px solid var(--border);border-radius:0;color:var(--danger); }
.admin-connection-access { display:grid;gap:12px; }
.admin-connection-row { display:grid;grid-template-columns:minmax(170px,.7fr) minmax(260px,1.5fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--card); }
.admin-connection-summary { display:grid;gap:4px; }.admin-connection-summary span { color:var(--muted);font-size:14px; }
.admin-account-checks { display:flex;flex-wrap:wrap;gap:8px 14px; }.admin-account-checks label { display:flex;align-items:center;gap:6px;font-size:14px; }.admin-account-checks small { color:var(--muted); }
.nav-icon-sprite { position:absolute;width:0;height:0;overflow:hidden;pointer-events:none; }
.nav-icon { width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.sidebar nav button { gap:11px; }
.mobile-workspace-nav { display:none; }
.chat-options { flex:1 0 100%;min-width:0; }.chat-options>summary { display:none; }.chat-options-grid { display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px; }
.chat-options:not([open]) .chat-options-grid { display:none; }
.chat-options-grid>label { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:14px; }.chat-options-grid>label select { max-width:210px; }.chat-options-grid .model-picker-label { flex:1 1 210px;min-width:0; }
.vault-error { padding:16px;border:1px solid #e5b6aa;border-radius:11px;background:#fff4f1;color:#86392e;line-height:1.55;font-size:14px;overflow-wrap:anywhere; }
@media(max-width:800px) {
  .admin-connection-row { grid-template-columns:1fr;align-items:stretch; }
  .account-grid { grid-template-columns:minmax(0,1fr); }
  .topbar { height:62px;padding:0 14px;gap:10px; }
  .topbar>div:not(.mobile-brand) { display:flex; }
  .topbar .user-menu { margin-left:auto; }
  .topbar .user-menu #signed-in-user { display:none; }
  .topbar #topbar-action { margin:0 0 0 auto;padding:8px 10px;min-height:34px;white-space:nowrap;font-size:14px; }
  .mobile-brand { width:31px;height:31px;border-radius:10px; }
  .mobile-workspace-nav { height:56px;display:flex;align-items:stretch;gap:4px;overflow-x:auto;padding:4px 9px;background:var(--card);border-bottom:1px solid var(--border);scrollbar-width:none; }
  .mobile-workspace-nav button { flex:1;min-width:54px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px; }
  .mobile-workspace-nav .nav-icon { width:18px;height:18px;flex:0 0 18px; }
  .mobile-workspace-nav button.active { background:var(--green-soft);color:var(--green); }
  .chat-content { height:calc(var(--app-height,100dvh) - 118px); }
  .chat-toolbar { padding:8px 12px;gap:6px 9px;min-height:0; }
  .chat-toolbar>.chat-heading { flex:1 1 120px;min-width:0; }
  .chat-toolbar .button.secondary { min-height:30px;padding:5px 8px;font-size:12px; }
  .chat-options { display:block;flex:1 0 100%;border-top:1px solid var(--border);margin-top:5px;padding-top:4px; }
  .chat-options>summary { display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:5px 2px;font-size:14px;font-weight:700;color:var(--green);list-style:none; }
  .chat-options>summary::-webkit-details-marker { display:none; }
  .chat-options>summary span { font-size:12px;color:var(--muted);font-weight:400; }
  .chat-options-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0; }
  .chat-options-grid>label { display:grid;gap:3px;min-width:0; }
  .chat-options-grid>label select { max-width:none;width:100%; }
  .chat-options-grid .model-picker-label { grid-column:1/-1; }
  .chat-options-grid .privacy-chat { display:flex;align-items:center;justify-content:space-between; }
  .composer { width:calc(100% - 16px);display:grid;grid-template-columns:42px minmax(0,1fr) 45px;gap:6px;align-items:end;padding:9px 0 max(9px,env(safe-area-inset-bottom)); }
  .composer .attachment-tray { grid-column:1/-1;grid-row:1;min-width:0; }
  .composer .attachment-button { grid-column:1;grid-row:2;width:42px;height:44px;padding:0;border-radius:12px; }
  .composer textarea { grid-column:2;grid-row:2;width:100%;min-width:0;min-height:44px;max-height:125px;padding:10px 11px;resize:vertical;font-size:16px; }
  .composer #send-message { grid-column:3;grid-row:2;width:45px;height:44px;padding:0;border-radius:12px;font-size:0; }
  .composer #send-message::after { content:'↑';font-size:24px;line-height:1; }
  .composer #open-code-workspace,.composer #stop-generating { grid-column:1/-1;grid-row:auto;justify-self:start; }
  .message-list { padding:18px 14px; }
  .content:not(.chat-content) { padding:22px 14px; }
  .policy-grid { grid-template-columns:1fr; }
  .heading-row { gap:12px; }
}
@media (max-width:560px) {
  .chat-toolbar .model-picker-label { flex-basis:100%;min-width:0; }
  .model-legend { font-size:12px; }
}

/* Mobile chat settings float above the transcript instead of shrinking it. */
@media (max-width:800px) {
  .chat-panel { min-height:0; }
  .chat-toolbar { position:relative;z-index:5;align-content:start; }
  .chat-options { flex:1 0 100%;margin-top:0;padding-top:2px; }
  .chat-options>summary { min-height:34px;align-items:center; }
  .chat-options[open] .chat-options-grid { position:absolute;top:calc(100% - 1px);left:8px;right:8px;z-index:6;max-height:min(58dvh,440px);overflow-y:auto;padding:13px;background:var(--card);border:1px solid var(--border);border-radius:0 0 14px 14px;box-shadow:0 18px 35px rgba(15,35,24,.2); }
  .message-list { min-height:0;overflow-y:auto; }
  .composer { min-height:65px; }
}

/* Compact, readable connection guide on phones as well as desktop. */
.client-guide-page { max-width:920px;margin:0 auto;padding:28px 20px 50px;display:grid;gap:16px;line-height:1.55; }
.client-guide-page h1 { margin:0;font-size:27px; }
.client-guide-page>p { margin:0;color:var(--muted); }
.client-guide-page .settings-card { min-width:0; }
.client-guide-page ol { padding-left:24px; }
.client-guide-page li { margin:8px 0; }
.client-guide-page code,.client-guide-page pre,.account-setup-card code { overflow-wrap:anywhere; }
.client-guide-page pre { overflow-x:auto;white-space:pre-wrap;background:#f2f6f4;padding:13px;border-radius:9px;font-size:14px; }
.client-guide-table { width:100%;border-collapse:collapse;table-layout:fixed; }
.client-guide-table td,.client-guide-table th { border-bottom:1px solid var(--border);padding:10px;text-align:left;vertical-align:top;overflow-wrap:anywhere; }
.client-guide-table td:first-child,.client-guide-table th:first-child { width:33%;font-weight:650; }
.client-guide-page ul { padding-left:24px; }
.client-guide-figure { margin:16px 0 2px; }
.client-guide-figure img { display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:#fff; }
.client-guide-figure figcaption { margin-top:8px;color:var(--muted);font-size:14px; }
.client-guide-details { margin-top:12px; }
.client-guide-details summary { cursor:pointer;font-weight:650; }
@media(max-width:560px) { .client-guide-page { padding:17px 12px 42px; }.client-guide-page h1 { font-size:23px; } }

/* v0.7.1 account setup guidance and mobile-safe dialog footer */
.account-setup-card { padding:20px;border:1px solid #c7ddd2;border-radius:12px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px 28px;background:white;box-shadow:var(--shadow); }
.account-setup-card h2 { margin:5px 0 0;font-size:17px; }
.account-setup-card p { margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.6; }
.account-setup-card ol { margin:0;padding-left:20px;display:grid;gap:9px; }
.account-setup-card li { padding-left:4px;font-size:14px; }
.account-setup-card li strong,.account-setup-card li span { display:block; }
.account-setup-card li span { margin-top:2px;color:var(--muted);line-height:1.45; }
.account-setup-actions { grid-column:1/-1;display:flex;gap:8px; }
.eyebrow { color:var(--green);font-size:12px;font-weight:800;letter-spacing:.12em; }
.oauth-setup-guide { padding:14px;border:1px solid #badbc9;border-radius:11px;background:#f0f8f4; }
.oauth-guide-head { display:flex;align-items:start;justify-content:space-between;gap:12px; }
.oauth-guide-head strong { margin-top:4px;display:block;font-size:14px; }
.oauth-guide-head .button { min-height:31px;padding:5px 9px;flex:0 0 auto;font-size:12px; }
.oauth-setup-guide ol { margin:13px 0;padding-left:20px;display:grid;gap:8px;color:#33433b;font-size:12px;line-height:1.5; }
.oauth-setup-guide > p { margin:11px 0 0;color:#49675a;font-size:12px;line-height:1.5; }
.redirect-uri-box { padding:10px;border:1px solid #cddfd6;border-radius:8px;display:flex;align-items:center;gap:10px;background:white; }
.redirect-uri-box > div { min-width:0;flex:1; }
.redirect-uri-box span,.redirect-uri-box code { display:block; }
.redirect-uri-box span { margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase; }
.redirect-uri-box code { overflow-wrap:anywhere;color:#173d2e;font-size:12px; }
.redirect-uri-box .button { min-height:30px;padding:5px 9px;flex:0 0 auto;font-size:12px; }
.required-field { margin-left:5px;padding:2px 5px;border-radius:999px;background:#edf9f3;color:var(--green);font-size:12px;font-style:normal;font-weight:750;text-transform:uppercase; }

.modal { max-height:calc(var(--app-height, 100dvh) - 30px); }
#connector-dialog { overflow:hidden; }
.modal > form { max-height:inherit;min-height:0;display:flex;flex-direction:column; }
.modal > form > .modal-header { flex:0 0 auto; }
.modal > form > .form-grid { max-height:none;min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:24px; }
.modal > form > .modal-actions { position:relative;z-index:2;flex:0 0 auto;align-items:center;padding-bottom:max(20px,env(safe-area-inset-bottom));background:white;box-shadow:0 -8px 20px rgba(18,35,27,.04); }
.reference-options{display:grid;gap:8px;max-height:45vh;overflow:auto;padding:8px 22px 18px}.reference-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px}.reference-options input{accent-color:var(--green)}#conversation-reference-link-label{display:grid;gap:6px;padding:0 22px 10px;font-size:14px;font-weight:650}#conversation-reference-link{height:38px;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:#f7faf8}
.modal-action-hint { margin-right:auto;color:var(--muted);font-size:12px; }

@media (max-width:800px) {
  .account-setup-card { grid-template-columns:1fr; }
  .account-setup-actions { grid-column:1; }
}
@media (max-width:560px) {
  .account-setup-actions { flex-direction:column; }
  .modal { width:calc(100vw - 16px);max-height:calc(var(--app-height, 100dvh) - 16px); }
  .modal-header { padding:17px 15px 12px; }
  .modal > form > .form-grid { padding:4px 15px 20px; }
  .modal > form > .modal-actions { padding:11px 15px max(12px,env(safe-area-inset-bottom));flex-wrap:wrap; }
  .modal-action-hint { width:100%;margin:0;text-align:center; }
  .oauth-guide-head,.redirect-uri-box { align-items:stretch;flex-direction:column; }
  .oauth-guide-head .button,.redirect-uri-box .button { width:100%; }
}

/* v0.8 controlled code workspace */
.code-project-bar { display:flex;align-items:end;gap:18px; }.code-project-bar form { flex:1; }.code-project-bar>label { min-width:260px;display:grid;gap:6px;color:var(--muted);font-size:12px; }.code-project-bar select { height:38px;border:1px solid var(--border);border-radius:8px;background:white;padding:0 9px; }
.code-workbench { min-height:620px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px; }.code-workbench>aside,.code-workbench>article { min-width:0;border:1px solid var(--border);border-radius:12px;background:white;box-shadow:var(--shadow);overflow:hidden; }.code-workbench>aside header,.code-workbench>article>header { min-height:48px;padding:9px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:9px; }.code-workbench>aside header strong { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px; }.code-workbench>aside>div { max-height:700px;overflow:auto;padding:7px;display:grid;gap:2px; }.code-workbench>aside>div button { min-width:0;padding:7px 8px;border:0;border-radius:6px;display:flex;gap:7px;text-align:left;background:transparent;font-size:12px; }.code-workbench>aside>div button:hover { background:var(--green-soft); }.code-workbench>aside>div button small { margin-left:auto;color:var(--muted); }.code-workbench>article>header span { margin-left:auto;color:var(--muted);font:9px ui-monospace,monospace; }.code-workbench>article>#code-editor,.code-proposal>textarea { width:100%;min-height:390px;padding:14px;border:0;border-bottom:1px solid var(--border);resize:vertical;background:#132019;color:#dbe8e1;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }.code-workbench>article>form { padding:14px;display:grid;gap:10px; }.code-workbench>article>form label { display:grid;gap:7px;font-size:12px;font-weight:650; }.code-workbench>article>form textarea { min-height:80px;padding:9px;border:1px solid var(--border);border-radius:8px;resize:vertical; }.code-proposal { grid-column:1/-1; }.code-proposal header { justify-content:space-between; }.code-proposal header strong,.code-proposal header span { display:block; }.code-proposal>p { margin:12px 14px;color:var(--muted);font-size:12px; }.code-proposal>textarea { min-height:420px;border-bottom:0; }
@media (max-width:900px) { .code-project-bar { align-items:stretch;flex-direction:column; }.code-project-bar>label { min-width:0; }.code-workbench { grid-template-columns:1fr; }.code-workbench>aside { max-height:260px; }.code-proposal { grid-column:auto; } }
:root { --private-auto-accent: #226c53; }
.router-result { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; padding: 1rem; background: #f3f7f5; border-radius: 12px; }
#private-auto-panel, #private-auto-panel form, #private-auto-panel label { min-width: 0; }
#private-auto-panel select, #private-auto-panel input:not([type="checkbox"]) { min-width: 0; width: 100%; max-width: 100%; }
#private-auto-panel p, #chat-route { overflow-wrap: anywhere; }

#users-content .user-row { flex-wrap:wrap; }
#users-content .user-row>div { flex:1 1 180px; }

#mcp-server-dialog { width:min(800px,calc(100vw - 30px)); }
.mcp-tool-fieldset { min-width:0; }
.mcp-tool-intro { margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.5; }
.mcp-tool-count { margin:0 0 12px;font-size:14px;font-weight:700; }
#mcp-tool-options { display:grid;gap:14px;min-width:0; }
.mcp-tool-groups { display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#f8faf9; }
.mcp-tool-groups>strong { font-size:14px; }
.mcp-tool-group-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px; }
.mcp-tool-group { display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:white;font-size:14px;font-weight:650;cursor:pointer; }
.mcp-tool-group small { margin-left:5px;font-size:14px; }
.mcp-tool-list { display:grid;gap:8px; }
.mcp-tool-item { display:flex;align-items:flex-start;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:white;cursor:pointer; }
.mcp-tool-item:hover,.mcp-tool-group:hover { border-color:#6cad8f; }
.mcp-tool-item input,.mcp-tool-group input { flex:0 0 auto;width:18px;height:18px;margin:1px 0 0; }
.mcp-tool-text { display:grid;gap:5px;min-width:0;overflow-wrap:anywhere;line-height:1.45; }
.mcp-tool-text strong { font-size:14px; }
.mcp-tool-description { color:var(--muted);font-size:14px;font-weight:400;white-space:pre-wrap; }
.mcp-tool-access { color:var(--green);font-size:14px;font-weight:650; }
.mcp-tool-item input[data-access="other"] + .mcp-tool-text .mcp-tool-access { color:var(--muted); }

.connector-preview { display:grid;gap:10px;padding:16px 22px;max-height:65vh;overflow:auto; }
.connector-preview article,.chat-email-draft { border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--card);overflow-wrap:anywhere; }
.connector-preview article p,.chat-email-draft p { margin:6px 0;color:var(--muted);font-size:14px; }
.connector-preview pre,.chat-email-draft pre { white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font-family:inherit;font-size:14px;line-height:1.5; }
.chat-email-draft { margin:12px 0; }
.chat-email-draft .button { margin-top:8px; }
.calendar-row:has([data-view-calendar-events]) { grid-template-columns:minmax(0,1fr) auto auto auto; }
@media (max-width:560px) { .calendar-row:has([data-view-calendar-events]) { grid-template-columns:1fr; } }
@media (max-width:560px) { #mcp-server-dialog { width:calc(100vw - 16px); }.mcp-tool-group-grid { grid-template-columns:1fr; } }

/* Consistent readable type in editable fields and prose across screen sizes. */
/* Conversation bubbles share the transcript width and keep text left aligned. */
body { --chat-font-size:14px; }
#message-list .message-text,#message-list .chat-message pre,#message-list .chat-email-draft pre { font-size:var(--chat-font-size);line-height:1.5; }
#message-list .code-block pre { font-size:var(--chat-font-size)!important; }
.conversation-item { display:grid;grid-template-columns:18px minmax(0,1fr) 54px;gap:6px; }
.conversation-item-actions { display:flex;flex-wrap:wrap;width:54px;gap:2px; }
.conversation-item-actions button { width:24px;height:26px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer; }
.conversation-item-actions button:hover { background:var(--green-soft);color:var(--green); }
.conversation-unread { display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#28a46a;flex-shrink:0; }
.conversation-group-heading { margin:10px 0 2px!important;padding:0 6px!important;font-size:12px!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em; }
#chat-content .chat-toolbar { padding:10px 14px;gap:8px; }
#chat-content .chat-toolbar .button { font-size:12px;min-height:32px;padding:6px 10px; }
#chat-content .chat-toolbar select { font-size:13px!important;min-height:32px;height:32px;padding:0 7px; }
#chat-content .chat-options-grid { gap:8px 12px;align-items:center; }
#chat-content .chat-options-grid>label { position:relative;font-size:12px; }
#chat-content .chat-options-grid label>small { display:none;position:absolute;top:calc(100% + 5px);left:0;z-index:12;width:min(300px,70vw);margin:0;padding:10px 12px;background:#172b22;color:#fff;border-radius:8px;box-shadow:var(--shadow);font-size:12px;line-height:1.5;white-space:normal; }
#chat-content .chat-options-grid label:hover>small,#chat-content .chat-options-grid label:focus-within>small { display:block; }
#chat-content #chat-route { display:none; }
#chat-content .chat-toolbar strong { font-size:13px; }
#chat-content .chat-options>summary { font-size:12px; }
.calendar-row:has([data-add-calendar-event]) { grid-template-columns:minmax(0,1fr) auto auto auto auto; }
@media(max-width:800px) { .calendar-row:has([data-add-calendar-event]) { grid-template-columns:1fr; } }

/* The account's chat size applies to the whole conversation workspace. */
.conversation-panel { font-size:var(--chat-font-size); }
.conversation-panel .new-chat-button,.conversation-panel .conversation-tools .button,
.conversation-panel .conversation-item strong { font-size:var(--chat-font-size);line-height:1.4; }
.conversation-panel .conversation-tools select { font-size:var(--chat-font-size)!important;height:auto;min-height:44px; }
.conversation-panel .conversation-tools label,.conversation-panel .conversation-item small,
.conversation-panel .conversation-group-heading { font-size:calc(var(--chat-font-size) * .85)!important;line-height:1.5; }
.conversation-item-actions { align-content:center; }
.conversation-item-actions button { font-size:clamp(12px,var(--chat-font-size),22px); }
.conversation-panel .conversation-tools .button { min-height:36px;white-space:normal; }
.conversation-panel .button { transition:background-color .16s,color .16s,border-color .16s,opacity .16s; }
.conversation-panel .conversation-unread { width:clamp(8px,calc(var(--chat-font-size) * .6),14px);height:clamp(8px,calc(var(--chat-font-size) * .6),14px); }
#queue-panel { font-size:var(--chat-font-size);max-height:min(30vh,250px); }
#queue-panel header strong,#queue-panel .queue-item strong,#queue-panel .queue-item span { font-size:var(--chat-font-size);line-height:1.5; }
#queue-panel .queue-item small { font-size:calc(var(--chat-font-size) * .85); }
#queue-panel .queue-item span { white-space:normal;overflow-wrap:anywhere; }
#queue-panel header { flex-wrap:wrap;gap:6px; }
#message-list .chat-message header strong { font-size:var(--chat-font-size); }
#message-list .chat-message header span,#message-list .message-copy { font-size:calc(var(--chat-font-size) * .85); }
#chat-input { font-size:max(16px,var(--chat-font-size))!important; }
.composer-ai-label { flex:1 0 100%;position:relative;min-width:0;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650;color:var(--muted); }
.composer-ai-label select { width:min(420px,calc(100% - 32px));max-width:100%;min-width:0;height:34px;min-height:34px;font-size:13px!important;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);padding:0 9px; }
.composer-ai-label .model-legend { display:none;position:absolute;bottom:calc(100% + 6px);left:25px;z-index:15;width:min(340px,75vw);margin:0;padding:10px 12px;border-radius:8px;background:#172b22;color:#fff;font-size:12px;line-height:1.5;box-shadow:var(--shadow);white-space:normal; }
.composer-ai-label:hover .model-legend,.composer-ai-label:focus-within .model-legend { display:block; }
.composer .conversation-copy { flex:0 0 auto;margin:0; }
.composer .conversation-copy .button { min-height:26px;padding:3px 9px;font-size:12px;line-height:1.4; }
.composer .composer-menus { grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:10px;min-width:0; }
.composer-menus .chat-mode-label { display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:12px;color:var(--muted); }
.composer-menus .chat-mode-label select { width:82px;height:28px;min-height:28px;font-size:12px!important;padding:0 6px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text); }
.composer-menus .composer-ai-label { flex:0 1 360px;gap:6px;font-size:12px; }
.composer-menus .composer-ai-label select { flex:1;width:auto;height:28px;min-height:28px;font-size:12px!important;padding:0 6px;border-radius:6px; }
.composer { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:9px; }
.composer .composer-ai-label { grid-column:1/-1;grid-row:1; }
.composer .attachment-tray { grid-column:1/-1;grid-row:2; }
.composer .attachment-button { grid-column:1;grid-row:3; }
.composer textarea { grid-column:2;grid-row:3;width:100%;min-width:0; }
.composer #stop-generating { grid-column:3;grid-row:3; }
.composer #send-message { grid-column:4;grid-row:3; }
.composer #open-code-workspace { grid-column:1/-1;grid-row:4;justify-self:start; }
.composer { row-gap:5px; }
.composer .attachment-tray { grid-row:3; }
.composer .attachment-button,.composer textarea,.composer #stop-generating,.composer #send-message { grid-row:4; }
.composer #open-code-workspace { grid-row:5; }
@media(max-width:800px) {
  .composer { grid-template-columns:42px minmax(0,1fr) 45px;gap:6px; }
  .composer .composer-ai-label { grid-column:1/-1;grid-row:1; }
  .composer .attachment-tray { grid-row:2; }
  .composer .attachment-button,.composer textarea,.composer #send-message { grid-row:3; }
  .composer #send-message { grid-column:3; }
  .composer #stop-generating { grid-column:1/-1;grid-row:4;justify-self:start; }
  .composer #open-code-workspace { grid-row:5; }
  .composer-ai-label select { width:calc(100% - 32px); }
  .composer { row-gap:5px; }
  .composer .attachment-tray { grid-row:3; }
  .composer .attachment-button,.composer textarea,.composer #send-message { grid-row:4; }
  .composer #stop-generating { grid-row:5; }
  .composer #open-code-workspace { grid-row:6; }
  .composer-menus .composer-ai-label select { width:auto; }
}
.message-list { padding:24px clamp(12px,3vw,32px); }
.chat-message { display:block;width:fit-content;max-width:90%;min-width:min(260px,90%);margin:0 auto 20px 0;text-align:left; }
.chat-message>div { display:none; }
.chat-message>section { padding:16px 18px;border:1px solid #cfe5d9;border-radius:16px 16px 16px 4px;background:#edf7f1;color:var(--text);overflow-wrap:anywhere; }
.chat-message.user { margin-left:auto;margin-right:0; }
.chat-message.user>section { background:#e9f0fc;border-color:#cedbf0;border-radius:16px 16px 4px 16px; }
.chat-message header { align-items:flex-start;flex-wrap:wrap;margin-bottom:10px;gap:6px 10px; }
.chat-message header span { overflow-wrap:anywhere; }
.chat-message .message-copy { opacity:1; }
.chat-message.pending { opacity:.8; }
.chat-email-draft { max-width:90%;margin-right:auto; }
body[data-theme="midnight"] .chat-message>section { background:#203d30;border-color:#365e49; }
body[data-theme="midnight"] .chat-message.user>section { background:#263c59;border-color:#3e5879; }
@media (max-width:560px) { .chat-message>section { padding:12px; }.chat-message { max-width:90%;min-width:0; }.chat-message header strong { font-size:14px; } }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]), select, textarea {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size:16px !important;
  line-height:1.5 !important;
  font-feature-settings:"cv02","cv03","cv04","cv11";
  min-width:0;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]), select { min-height:44px; }
textarea { padding:12px; }
.message-text,.chat-message pre,.note-body,.connector-preview pre,.chat-email-draft pre { font-size:16px;line-height:1.5; }
.code-block pre,.code-workbench #code-editor,.code-proposal>textarea { font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important;font-size:14px !important;line-height:1.5 !important; }
.login-card label,.settings-card label,.compact-form label,.form-grid label,.filter-bar label,.chat-toolbar>label,.chat-options-grid>label { font-size:14px;line-height:1.5; }
.button { font-size:14px;line-height:1.5; }
.chat-toolbar select { max-width:100%; }
.conversation-item { min-width:0; }
/* A single quiet title row; secondary actions appear only when requested. */
.conversation-panel .conversation-item {grid-template-columns:18px minmax(0,1fr) 44px;gap:4px;padding:0 4px;min-height:44px;position:relative;}
.conversation-panel .conversation-item>button[data-open-conversation] {min-height:44px;padding:8px 4px;}
.conversation-panel .conversation-item strong {font-size:var(--chat-font-size);font-weight:400;line-height:1.5;}
.conversation-panel .conversation-item.active strong {font-weight:600;}
.conversation-panel .conversation-item-actions {width:44px;display:block;}
.conversation-item-actions summary {display:grid;place-items:center;width:44px;height:44px;border-radius:50%;list-style:none;cursor:pointer;font-size:20px;}
.conversation-item-actions summary::-webkit-details-marker {display:none;}
.conversation-item-actions summary:hover,.conversation-item-actions summary:focus-visible {background:var(--green-soft);outline:2px solid var(--green);outline-offset:-2px;}
.conversation-item:has(.conversation-item-actions[open]) {z-index:4;}
.conversation-item-actions nav {position:absolute;top:42px;right:0;display:grid;width:170px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--card);box-shadow:var(--shadow);z-index:5;}
.conversation-panel .conversation-item-actions nav button {width:100%;min-height:44px;height:auto;text-align:left;padding:8px 12px;color:var(--text);font:inherit;}
.conversation-panel .conversation-item-actions nav [data-delete-conversation] {color:var(--danger);}
.conversation-tools { min-width:0; }
.conversation-tools select { max-width:100%; }
@media (max-width:800px) {
  .chat-options-grid { gap:12px; }
  .composer textarea { min-height:60px; }
  .form-grid,.field-row { min-width:0; }
}

/* Compact copy action shares the model row, leaving more room for messages. */
.composer .attachment-tray { grid-row:2; }
.composer .attachment-button,.composer textarea,.composer #stop-generating,.composer #send-message { grid-row:3; }
.composer #open-code-workspace { grid-row:4; }
@media (max-width:800px) {
  .composer .composer-menus { gap:6px; }
  .composer-menus .chat-mode-label { gap:4px; }
  .composer-menus .chat-mode-label select { width:60px; }
  .composer .conversation-copy { flex:0 0 82px; }
  .composer .conversation-copy .button { width:100%;padding:2px 4px;white-space:normal; }
  .composer .attachment-tray { grid-row:2; }
  .composer .attachment-button,.composer textarea,.composer #send-message { grid-row:3; }
  .composer #stop-generating { grid-row:4; }
  .composer #open-code-workspace { grid-row:5; }
}

/* Compact app navigation with the existing application icon. */
.brand { gap:8px;padding:0 12px; }
.app-icon { flex:0 0 auto;object-fit:contain; }
.sidebar nav { padding:12px 8px; }
.sidebar nav button { padding:9px 10px; }
.local-status { margin:12px;padding:10px 0;justify-content:center; }
.local-status [data-app-version] { color:rgba(255,255,255,.6);font-size:12px;font-weight:500; }
.sidebar-collapsed .local-status>div { display:block; }
.sidebar-collapsed .local-status { margin:12px 0;padding:10px 0; }

.conversation-tools #conversation-search { width:100%;min-width:0;min-height:36px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-family:inherit;font-size:16px; }
.conversation-search-status { margin:0;color:var(--muted);font-size:12px;line-height:1.4; }

.dev-project-bar,.dev-heading,.dev-actions { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0; }
.dev-project-bar label,.dev-heading label { display:grid;gap:6px; }.dev-project-bar select,.dev-heading select { padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text); }
.dev-heading { justify-content:space-between; }.dev-heading h2 { margin:0; }.dev-heading small { overflow-wrap:anywhere;color:var(--muted); }
.dev-layout { display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start; }.dev-task-sidebar,.dev-main { min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--card);padding:14px; }
#dev-tasks button { width:100%;display:grid;text-align:left;gap:4px;padding:10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);overflow-wrap:anywhere; }#dev-tasks small { color:var(--muted); }
.dev-tabs { display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--border);padding-bottom:10px; }.dev-tabs button { border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:6px; }.dev-tabs button.active { background:var(--green-soft);color:var(--green); }
.dev-conversation { max-height:480px;overflow:auto; }.dev-message { background:var(--green-soft);border-radius:10px;padding:12px;margin:10px 8% 10px 0;white-space:pre-wrap;overflow-wrap:anywhere; }.dev-message.user { background:#edf2fb;margin:10px 0 10px 8%; }.dev-message p { margin:6px 0; }
.dev-main pre,#dev-pending-detail,#dev-connection-test,#dev-client-info { white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto;padding:10px;background:var(--bg);font:12px/1.6 ui-monospace,Consolas,monospace; }
.dev-file-layout { display:grid;grid-template-columns:minmax(120px,30%) minmax(0,1fr);gap:12px; }.dev-file { display:block;width:100%;text-align:left;overflow-wrap:anywhere;border:0;background:transparent;color:var(--text);padding:6px; }
.dev-main .settings-card label,#dev-new-project label,#dev-release-dialog label { display:grid;gap:6px; }.dev-main textarea,.dev-main input,#dev-new-project input,#dev-new-project select,#dev-release-dialog input { width:100%;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit; }
.dev-actions textarea { flex:1 0 100%; }.dev-main details { border:1px solid var(--border);border-radius:8px;padding:10px;margin:8px 0; }.dev-main details summary { cursor:pointer;overflow-wrap:anywhere; }
@media(max-width:1000px) { .dev-layout { grid-template-columns:1fr; }.dev-task-sidebar { max-height:220px;overflow:auto; }.dev-file-layout { grid-template-columns:1fr; }.dev-heading select { max-width:100%; } }

.dev-browser-evidence { max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px; }
#code-content { gap:16px; }.dev-heading { margin-top:4px; }.dev-main label.checkbox-row,#dev-new-project label.checkbox-row,#dev-release-dialog label.checkbox-row { display:flex;align-items:center;gap:8px; }.dev-main label.checkbox-row input,#dev-new-project label.checkbox-row input,#dev-release-dialog label.checkbox-row input { width:18px;height:18px;flex:0 0 18px; }

/* Compact settings; chat text continues to follow the user's chat size preference. */
:is(.modal,.settings-card,.compact-form,.filter-bar,.dev-main) { font-size:13px;line-height:1.5; }
:is(.modal,.settings-card,.compact-form,.filter-bar,.dev-main) label { font-size:13px; }
:is(.modal,.settings-card) h2 { font-size:18px; }
:is(.modal,.settings-card) p { font-size:13px; }
:is(.modal,.settings-card,.compact-form,.filter-bar,.dev-main) .button { font-size:13px; }
:is(.modal,.settings-card,.compact-form,.filter-bar,.dev-main) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]),select,textarea) { font-size:14px !important;min-height:36px; }
.modal form > p { margin:12px 22px;color:var(--muted); }
input[type="checkbox"]:not(.setting-toggle) { width:16px;height:16px;min-height:0;padding:0;flex:0 0 16px;accent-color:var(--green); }
input[type="checkbox"].setting-toggle,
.dev-main label.checkbox-row input.setting-toggle,
#dev-new-project label.checkbox-row input.setting-toggle,
#dev-release-dialog label.checkbox-row input.setting-toggle {
  appearance:none;position:relative;width:34px;height:20px;min-height:0;flex:0 0 34px;padding:0;margin:0;border:0;border-radius:999px;background:#a5b1aa;cursor:pointer;transition:background .15s;
}
input[type="checkbox"].setting-toggle::before { content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 2px #0003;transition:transform .15s; }
input[type="checkbox"].setting-toggle:checked { background:var(--green); }
input[type="checkbox"].setting-toggle:checked::before { transform:translateX(14px); }
input[type="checkbox"].setting-toggle:focus-visible { outline:3px solid var(--green);outline-offset:3px; }
input[type="checkbox"].setting-toggle:disabled,.switch:has(input:disabled) { opacity:.5;cursor:not-allowed; }
.switch input[type="checkbox"] { inset:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer; }
@media(max-width:600px) {
 :is(.modal,.settings-card,.compact-form,.filter-bar,.dev-main) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]),select,textarea) { font-size:16px !important; }
 .checkbox-row { min-height:36px; }
}

:is(.modal,.settings-card,.compact-form,.filter-bar,.dev-main) label.checkbox-row { display:flex;align-items:center;gap:9px; }

/* Development connections has one scroll owner, including its test results. */
#dev-connections-dialog { overflow-y:auto;overscroll-behavior:contain; }
#dev-connections-dialog .form-grid { max-height:none;overflow:visible; }
#dev-connections-dialog #dev-connection-test { max-height:none;overflow:visible; }
#dev-connections-dialog > .dev-actions { padding:12px 22px; }

#dev-connections-dialog > form { max-height:none;display:block; }
#dev-connections-dialog .form-grid { flex:none;min-height:auto;height:auto; }

#dev-task-actions > label { flex:1 0 100%;display:grid;gap:6px;font-size:13px; }
/* Claude gateway: compact settings, one page scroll, accessible native controls. */
.claude-page { font-size:13px; max-width:1320px; }
.claude-page h1 { font-size:26px; }.claude-page h2 { font-size:17px; margin:0 0 12px; }.claude-page h3 { font-size:15px; }
.claude-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px; }
.claude-heading p,.claude-card p { color:var(--muted);line-height:1.5; }
.claude-card { border:1px solid var(--border);background:var(--surface,#fff);border-radius:14px;padding:20px;margin-bottom:16px;min-width:0; }
.claude-card label { display:grid;gap:6px;margin:10px 0;font-size:13px; }
.claude-card input,.claude-card select,.claude-card textarea,.claude-card button { font:inherit; }
.claude-card input,.claude-card select,.claude-card textarea { width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px;background:var(--surface,#fff);color:var(--text); }
.claude-card select[multiple] { min-height:90px; }.claude-card textarea { resize:vertical; }
.claude-card pre { white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:var(--bg,#f5f8fa);padding:12px;border-radius:8px;max-width:100%; }
.claude-card code,.claude-card small { overflow-wrap:anywhere; }.claude-card small { display:block;color:var(--muted);font-size:12px; }
.claude-card details { margin:14px 0; }.claude-card summary { cursor:pointer;font-weight:600;line-height:1.5; }
.claude-two-column,.claude-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }.claude-grid label { margin:0 0 12px; }
.claude-flags { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-bottom:18px; }
.claude-card .claude-switch { display:flex;align-items:center;gap:10px;cursor:pointer; }
.claude-card .claude-switch input[type="checkbox"] { appearance:none;flex:0 0 32px;width:32px;height:19px;min-height:0;border:0;border-radius:12px;background:#a8b5b3;padding:0;position:relative;cursor:pointer; }
.claude-switch input:after { content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .15s; }
.claude-switch input:checked { background:var(--primary,#206e56); }.claude-switch input:checked:after { transform:translateX(13px); }
.claude-switch input:focus-visible { outline:2px solid var(--primary,#206e56);outline-offset:3px; }
.claude-copy-row,.claude-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0; }.claude-copy-row code,.claude-copy-row input { flex:1;min-width:150px; }
.claude-key-row { display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:12px 0;flex-wrap:wrap; }.claude-key-row>div { flex:1;min-width:150px; }
.claude-status { padding:7px 12px;background:var(--primary-soft,#e7f4ee);border-radius:20px;white-space:nowrap; }
.claude-metrics { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }.claude-metrics .claude-card { padding:16px; }.claude-metrics strong { display:block;font-size:20px;margin-top:6px; }
.claude-chart>div { display:grid;grid-template-columns:minmax(80px,1fr) minmax(60px,2fr) auto;gap:12px;align-items:center;margin:12px 0; }.claude-chart span { overflow-wrap:anywhere; }.claude-chart meter { width:100%;height:18px;accent-color:var(--primary,#206e56); }
.claude-request-list>div,.claude-tool-row { border-bottom:1px solid var(--border);padding:12px 0; }.claude-tool-row button { margin-top:10px; }
.claude-warning { color:#9b6100 !important; }
@media(max-width:900px) { .claude-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .claude-two-column,.claude-grid,.claude-flags { grid-template-columns:minmax(0,1fr);gap:10px; }.claude-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.claude-card { padding:15px; }.claude-heading { align-items:flex-start;flex-direction:column; }.claude-page { padding:18px 12px; } }

.oauth-consent{max-width:760px;margin:3rem auto;padding:1rem}.oauth-consent h1{font-size:1.4rem}.oauth-consent label{margin-block:.7rem}#integrations-root small{display:block}.model-wait-status{font-size:.8em;color:var(--muted);margin:.3rem 0}

.queue-item nav button[data-queue-retry] { display:grid;place-items:center; }
.queue-item nav button:disabled { opacity:.5;cursor:wait; }

/* Settings directories and complete model catalogs. */
.settings-directory { max-width:1180px;margin:auto;padding:24px; }
.settings-directory h2 { font-size:17px;margin-top:24px; }
.settings-link-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px; }
.settings-link { display:grid;gap:7px;min-width:0;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);text-align:left;text-decoration:none;overflow-wrap:anywhere; }
.settings-link span { color:var(--muted);font-size:14px; }
.settings-link:hover,.settings-link:focus-visible { border-color:var(--green);background:var(--green-soft); }
.model-catalog-details { border-top:1px solid var(--border);padding:12px 0; }
.model-catalog-details summary { cursor:pointer;font-weight:650; }
.model-search-label { display:grid;gap:5px;margin:12px 0;font-size:13px; }
.model-search-label input { width:100%;min-width:0;padding:8px;border:1px solid var(--border);border-radius:8px; }
.model-runtime-list { max-height:420px;overflow-y:auto; }
.model-runtime-row { min-width:0; }
.model-runtime-row[hidden] { display:none; }
.model-runtime-row>span { white-space:normal;overflow-wrap:anywhere;min-width:0; }
#model-test-dialog { width:min(880px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto; }
.model-test-body { padding:18px;min-width:0; }
.model-test-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0; }
.model-test-actions select { max-width:100%; }
.model-test-actions label { min-width:0;max-width:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.model-test-result { padding:12px;border:1px solid var(--border);border-radius:8px;margin:10px 0;overflow-wrap:anywhere; }
.model-test-result>div { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.model-test-result label { display:flex;gap:6px;align-items:center; }
.model-test-result p { white-space:pre-wrap; }

/* Let content shrink and wrap instead of masking overflow at the page edge. */
main,.main-area,.tab-content,.settings-card,.connection-card,.card-title,.details,.chat-main,.chat-panel,.dev-main,.form-grid,.field-row { min-width:0;max-width:100%; }
.tab-content :is(input,select,textarea) { min-width:0;max-width:100%; }
.tab-content :is(p,h1,h2,h3,small,code,summary),.details span { overflow-wrap:anywhere; }
.tab-content pre { white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%; }
.tab-content table { width:100%;table-layout:fixed; }
.tab-content :is(th,td) { overflow-wrap:anywhere; }
.card-foot,.card-actions,.dev-project-bar,.dev-heading,.dev-actions,.filter-bar,.composer-menus { flex-wrap:wrap; }
.card-foot .status { min-width:0;white-space:normal; }
.modal { max-width:calc(100% - 24px);max-height:calc(100dvh - 24px); }
.modal :is(input,select,textarea,pre) { min-width:0;max-width:100%; }
@media(max-width:1100px) {
 .claude-two-column,.claude-grid { grid-template-columns:minmax(0,1fr); }
 .composer .composer-menus { flex-wrap:wrap; }
}
@media(max-width:600px) {
 .settings-directory { padding:18px 12px; }
 .model-runtime-row { display:flex;flex-wrap:wrap;gap:8px; }
 .model-runtime-row>span { flex:1 0 100%; }
 .model-runtime-row select { flex:1;max-width:100%; }
 .model-test-actions>.button { flex:1 1 180px; }
 .claude-copy-row code,.claude-copy-row input,.claude-key-row>div { min-width:0; }
 .claude-chart>div { grid-template-columns:minmax(0,1fr); }
 .modal-header h2 { min-width:0;overflow-wrap:anywhere; }
 .form-grid,.field-row { grid-template-columns:minmax(0,1fr); }
}

/* Keep populated cards inside the viewport; do not rely on clipped overflow. */
.content { width:100%;grid-template-columns:minmax(0,1fr); }
.heading-row>div,.policy-card>div,.capacity-card>div,.section-title>div,.card-actions { min-width:0; }
.policy-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); }
.metrics { grid-template-columns:repeat(3,minmax(0,1fr));min-width:0; }
.details { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:800px) {
 .policy-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .topbar { height:auto;min-height:54px;padding:7px 10px;gap:8px;flex-wrap:wrap; }
 .topbar>div:not(.mobile-brand):not(.user-menu) { min-width:0;flex:1; }
 .topbar strong { font-size:12px;line-height:1.3; }
 .topbar span { font-size:10px; }
 .topbar .mobile-brand { width:28px;height:28px;flex:0 0 28px; }
 .topbar .user-menu { flex:0 0 auto;gap:5px; }
 .topbar .user-menu .profile-trigger { width:32px;height:32px;font-size:12px; }
 .topbar #topbar-action { min-height:34px;font-size:12px;padding:6px 8px;margin:0; }
 .mobile-workspace-nav { height:48px;padding:3px 6px;gap:2px;overflow:visible; }
 .mobile-workspace-nav button { min-width:0;padding:3px;font-size:11px; }
 .mobile-workspace-nav .nav-icon { width:16px;height:16px;flex-basis:16px; }
 .chat-content { height:calc(var(--app-height,100dvh) - 102px); }
 .content:not(.chat-content) { padding:16px 10px;gap:14px;font-size:13px; }
 .heading-row { flex-direction:column;align-items:stretch;gap:12px; }
 .heading-row h1 { font-size:22px;line-height:1.25; }
 .heading-row p { margin-top:6px;font-size:13px;line-height:1.5; }
 .metrics { width:100%; }
 .metrics div { min-width:0;padding:8px 5px; }
 .metrics strong { font-size:17px; }.metrics span { font-size:11px;margin-top:0; }
 .policy-grid,.connection-grid,.quick-grid { grid-template-columns:minmax(0,1fr);gap:10px; }
 .policy-card,.capacity-card { padding:12px;gap:10px; }
 .policy-icon { width:30px;height:30px; }
 .policy-title { gap:5px;font-size:13px; }.policy-title span { font-size:10px;padding:2px 6px; }
 .policy-card p,.capacity-card p,.section-title p { font-size:12px;line-height:1.5; }
 .section-title { margin-bottom:10px;flex-wrap:wrap;gap:8px; }
 .section-title h2,.quick-section h2 { font-size:15px; }
 .card-head { padding:12px;gap:9px; }
 .provider-mark { width:32px;height:32px;border-radius:8px;font-size:12px; }
 .card-title h3 { font-size:13px;gap:5px; }.badge { font-size:10px;padding:2px 6px; }
 .card-title p { font-size:11px;white-space:normal;overflow-wrap:anywhere; }
 .details { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .details div { padding:8px 10px; }.details label { font-size:10px;letter-spacing:.03em; }
 .details span { font-size:11px;white-space:normal;overflow-wrap:anywhere; }
 .card-foot { padding:10px;gap:7px; }
 .card-foot .status { flex-basis:100%;font-size:11px; }.card-foot .status span { white-space:normal; }
 .card-actions { width:100%;gap:5px;justify-content:flex-start; }
 .card-actions .button { font-size:11px;min-height:34px;padding:6px 8px; }
 .privacy-toggle { border:0;margin:0;padding-right:4px; }
 .settings-card { padding:14px; }.settings-card h2 { font-size:16px; }
 .modal-header { padding:14px 14px 10px; }.modal-header h2 { font-size:17px; }
 .modal-header p { font-size:12px; }.form-grid { padding:5px 14px 14px;gap:12px; }
 .modal-actions { padding:10px 14px;flex-wrap:wrap; }
 .form-grid input,.form-grid select { font-size:16px; }
}

/* Keep connection testing visible while the fields scroll, including mobile Gemini setup. */
#connection-form { display:flex;flex-direction:column;max-height:calc(100dvh - 26px); }
#connection-form .form-grid { flex:1;min-height:0;max-height:none;overflow-y:auto; }
#connection-form .modal-header,#connection-form .modal-actions { flex-shrink:0; }
#connection-form .modal-actions { background:var(--card); }
.model-test-history-label { display:grid;gap:5px;min-width:0; }
.model-test-history-label select { width:100%;min-width:0;height:36px; }
.model-test-help { font-size:12px;color:var(--muted); }
.model-disabled-badge { color:var(--danger)!important;background:var(--card);border-color:var(--danger);font-size:11px;white-space:normal; }
.model-runtime-row.model-disabled>span { text-decoration:none;opacity:1; }
.card-head>.model-disabled-badge { align-self:center;max-width:90px; }
@media(max-width:600px) { .card-head { flex-wrap:wrap; }.card-head .card-title { flex-basis:calc(100% - 85px); }.card-head>.model-disabled-badge { margin-left:41px;max-width:none; }.card-head>.switch { margin-left:auto; } }

.settings-back-nav:has(#settings-back:not([hidden])) { padding:12px 24px 0; }
#settings-back { max-width:100%;white-space:normal;text-align:left; }
@media(max-width:600px) { .settings-back-nav:has(#settings-back:not([hidden])) { padding:10px 12px 0; } }

.queue-item nav { gap:4px;flex-shrink:0; }
.queue-item nav button[data-queue-edit],.queue-item nav button[data-queue-cancel] { width:auto;padding:0 6px; }
#queue-panel .queue-item span { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.queue-edit-body { padding:16px;overflow-y:auto; }
#queue-edit-dialog form { display:flex;flex-direction:column;max-height:calc(100dvh - 32px); }
#queue-edit-content { width:100%;min-height:160px;max-height:50dvh;resize:vertical; }
@media(max-width:600px) { .queue-item { gap:5px;padding:7px; } .queue-item nav button { font-size:12px; } }

/* Content must shrink within its track instead of widening the page. */
.quick-card { min-width:0;max-width:100%; }
.quick-card .provider-mark,.quick-card>b { flex-shrink:0; }
.quick-card strong,.quick-card small { white-space:normal;overflow-wrap:anywhere; }
.content section,.content article,.settings-card,.account-grid>* { min-width:0; }
.account-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); }
.field-row { grid-template-columns:minmax(0,.45fr) minmax(0,1fr); }
.content h1,.content h2,.content h3,.content p,.content label,.content a { overflow-wrap:anywhere; }
.connector-actions { flex-wrap:wrap; }
.connector-actions .status { min-width:0; }
@media(max-width:600px) {
 .account-grid,.field-row { grid-template-columns:minmax(0,1fr); }
 .quick-card { padding:10px;gap:9px; }
 .quick-card strong { font-size:13px; }.quick-card small { font-size:11px; }
}

@media(max-width:900px) { .account-grid { grid-template-columns:minmax(0,1fr); } }

/* One compact workspace row between the logo and profile. */
.app-shell,.sidebar-collapsed .app-shell { grid-template-columns:minmax(0,1fr); }
.app-shell>.sidebar { display:none; }
.topbar { display:flex;flex-wrap:nowrap;gap:12px;min-height:56px;height:56px;padding:6px 16px; }
.topbar>.mobile-brand { display:block;width:32px;height:32px;flex:0 0 32px; }
.topbar>.mobile-workspace-nav { display:flex;position:static;flex:1;min-width:0;height:44px;padding:0;gap:8px;border:0;justify-content:center; }
.topbar .mobile-workspace-nav button { display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;flex:0 1 100px;min-width:0;padding:4px 8px; }
.topbar .user-menu { flex:0 0 auto;margin-left:0; }
.topbar .nav-icon { width:18px;height:18px; }
.page-actions:has(button:not([hidden])) { padding:12px 24px 0; }
.chat-resource-actions { display:flex;flex-wrap:wrap;gap:8px; }
.memory-preview { border:0;background:transparent;color:var(--text);font:inherit;font-weight:600;padding:0;text-align:left;cursor:pointer;overflow-wrap:anywhere; }
.memory-preview:hover { text-decoration:underline; }
.memory-read-text { white-space:pre-wrap;overflow-wrap:anywhere; }
.memo-memory-toggle { display:flex;align-items:center;gap:6px; }
@media(max-width:800px) {
 .topbar { height:52px;min-height:52px;padding:4px 8px;gap:6px; }
 .topbar>.mobile-brand { width:26px;height:26px;flex-basis:26px; }
 .topbar>.mobile-workspace-nav { gap:2px;height:42px; }
 .topbar .mobile-workspace-nav button { flex:1;flex-direction:column;gap:2px;padding:3px 1px;font-size:10px; }
 .topbar .user-menu>#signed-in-user { display:none; }
 .topbar .nav-icon { width:16px;height:16px; }
 .topbar .profile-trigger { width:30px;height:30px; }
 .composer { grid-template-columns:34px minmax(0,1fr) auto; }
 .composer .attachment-button { width:34px;min-width:34px;min-height:36px;padding:5px; }
 .page-actions:has(button:not([hidden])) { padding:8px 12px 0; }
}

.chat-content { height:calc(var(--app-height,100dvh) - 56px); }
@media(max-width:800px) { .chat-content { height:calc(var(--app-height,100dvh) - 52px); } }

.memory-row { flex-wrap:wrap; }
.memory-row>div { flex:1 1 180px;overflow-wrap:anywhere; }
@media(max-width:600px) {
 .memory-row { display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:10px; }
 .memory-row>label,.memory-row>.button { grid-column:2;min-width:0;max-width:100%; }
 .memory-row>label select { min-width:0; }
 .memory-preview { font-size:13px; }
}

/* Open navigation icons; color and underline identify the current page. */
.topbar .mobile-workspace-nav button { border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-family:inherit;font-weight:600;cursor:pointer;position:relative; }
.topbar .mobile-workspace-nav button.active { background:transparent;color:var(--green); }
.topbar .mobile-workspace-nav button i { display:none; }
.topbar .mobile-workspace-nav button.active::after { content:"";position:absolute;bottom:0;left:35%;right:35%;height:2px;background:currentColor;border-radius:2px; }
.topbar .mobile-workspace-nav button:hover { color:var(--green); }
.topbar .mobile-workspace-nav button:focus-visible { outline:2px solid var(--green);outline-offset:2px; }
.chat-options-row { display:contents; }
@media(max-width:800px) {
 .chat-options-row { display:flex;align-items:center;gap:8px;flex:1 0 100%;min-width:0; }
 .chat-options-row .mobile-conversation-button { flex:0 0 32px;width:32px;height:34px;min-height:34px;border:0;background:transparent;padding:6px; }
 .chat-options-row .chat-options { flex:1 1 0;border:0;margin:0;padding:0;min-width:0; }
 .chat-heading:has(#chat-title:empty) { display:none; }
}
.web-search-form { display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:18px 0; }
.web-search-form label { flex:1 1 200px;min-width:0; }
.web-search-form input { width:100%; }
.web-result { display:grid;gap:8px;margin:12px 0;min-width:0; }
.web-result a,.web-result small,#web-page-text { overflow-wrap:anywhere; }
.web-result a { color:var(--green);font-weight:700; }
.web-result button { justify-self:start; }
#web-page-text { white-space:pre-wrap; }
@media(max-width:600px) { .web-search-form { gap:8px; }.web-search-form button { min-height:36px; }.web-result { padding:12px; } }
/* Account model sharing fits mobile and long model names. */
.user-model-provider { min-width:0; padding:16px 0; border-top:1px solid var(--border); }
.user-model-provider h3,.user-model-provider span { overflow-wrap:anywhere; }
.user-model-provider select { width:100%; max-width:100%; }
.user-model-choices { max-height:280px; overflow-y:auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:8px; padding:12px 0; }
.user-model-choices[hidden] { display:none; }
.user-model-choices label { display:flex; align-items:flex-start; gap:8px; min-width:0; }
.user-model-choices input { flex:0 0 auto; margin-top:3px; }
.user-model-provider small { font-weight:normal; }

.memory-sharing-body{padding:1rem;overflow-wrap:anywhere;min-width:0}.memory-sharing-body .user-row{flex-wrap:wrap;gap:.5rem}.memory-sharing-body select{max-width:100%;min-width:0}

.hub-pool-editor{grid-column:1/-1;min-width:0}.hub-pool-editor .check-grid{max-height:18rem;overflow:auto;min-width:0}.hub-pool-editor label,.user-hub-access label{overflow-wrap:anywhere;min-width:0;align-items:flex-start}.hub-pool-editor label span,.user-hub-access label span{min-width:0;flex:1}.user-hub-access small{display:block;overflow-wrap:anywhere}.user-hub-access{padding-top:1rem;border-top:1px solid var(--border);overflow-wrap:anywhere;min-width:0}
.user-hub-access>[data-configure-user-hub]{margin:4px 0 12px;max-width:100%;white-space:normal}

#space-list .user-row{flex-wrap:wrap}#space-list .user-row>div{flex:1 1 220px}.memory-space-identifier{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;min-width:0}.memory-space-identifier code{overflow-wrap:anywhere;min-width:0;max-width:100%;user-select:all;font-size:12px}.memory-space-identifier .button{min-height:30px;padding:5px 8px;font-size:12px}.memory-space-id-help{display:block;margin-top:5px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}

.inherited-models,.shared-hub-card{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card);min-width:0;overflow-wrap:anywhere}.inherited-models h4,.shared-hub-card h3{margin:0 0 8px}.inherited-models p,.shared-hub-card p{font-size:13px;color:var(--muted)}.inherited-models .checkbox-row,.shared-hub-card .checkbox-row{align-items:flex-start;min-width:0;overflow-wrap:anywhere}.shared-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.shared-hub-card small{display:block;color:var(--muted)}

/* AUDIO-001 */
.voice-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem;align-items:center}.voice-toolbar button{font-size:.8rem;padding:.4rem .6rem}.voice-toolbar [role=status]{flex-basis:100%;font-size:.85rem;overflow-wrap:anywhere}.client-type-filter{max-width:24rem;margin-bottom:.6rem}#agent-form [data-agent-step] .form-grid>div{min-width:0}#agent-form [hidden]{display:none!important}#agent-form fieldset{margin-block:.6rem}#agent-access-review{overflow-wrap:anywhere}

.chat-message .message-timestamp { display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.3;text-align:right;overflow-wrap:anywhere; }

/* One scroll area keeps account fields readable above the admin controls. */
#voice-settings-dialog { overflow:hidden; }
#voice-settings-dialog > form { max-height:calc(min(var(--app-height, 100dvh), 100dvh) - 28px); }
#voice-settings-dialog .voice-settings-body { min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable; }
#voice-settings-dialog .voice-settings-body .form-grid { max-height:none;overflow:visible; }
#voice-settings-dialog .voice-settings-body > p { margin:12px 22px;color:var(--muted); }
#voice-settings-dialog #voice-preview { margin:0 22px; }
#voice-settings-dialog #voice-admin { margin:20px 22px; padding-top:16px;border-top:1px solid var(--border); }
#voice-settings-dialog #voice-admin .form-grid { padding:16px 0 0; }
#voice-settings-dialog #voice-admin > .checkbox-row { margin:10px 0; }
@media (max-width:560px) {
 #voice-settings-dialog .voice-settings-body > p,#voice-settings-dialog #voice-admin { margin-left:14px;margin-right:14px; }
 #voice-settings-dialog #voice-preview { margin-left:14px;margin-right:14px; }
}
/* Client endpoints stay readable and copyable on narrow screens. */
.api-endpoint-list { padding:20px; border:1px solid var(--border); border-radius:16px; margin-bottom:24px; }
.api-endpoint-list > div { display:flex; align-items:center; gap:12px; padding:8px 0; flex-wrap:wrap; }
.api-endpoint-list strong { min-width:150px; }
.api-endpoint-list code { flex:1; overflow-wrap:anywhere; min-width:120px; }
.api-endpoint-list p { margin-bottom:0; }
/* BuildX project home and browser editor. */
.buildx-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:22px}
.buildx-project-grid[hidden]{display:none}
.buildx-project-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.buildx-project-card h2,.buildx-project-card p{margin:0;overflow-wrap:anywhere}
.buildx-project-card p{flex:1;color:var(--muted)}
#dev-file-content.buildx-editor{display:block;width:100%;min-height:480px;resize:vertical;tab-size:2;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;overflow:auto;margin-top:12px}

/* BuildX conversation */
.dev-sidebar-heading,.dev-message header {display:flex;align-items:center;justify-content:space-between;gap:12px}
.dev-sidebar-heading h3 {font-size:14px;margin:0}.dev-sidebar-heading .button {padding:6px 10px}
.dev-task-sidebar #dev-tasks {margin-top:14px}.dev-tabs {overflow-x:auto;flex-wrap:nowrap}.dev-tabs button {white-space:nowrap}
.dev-chat-panel {display:flex;flex-direction:column;min-height:540px}.dev-chat-panel[hidden] {display:none}
.dev-conversation {flex:1;min-height:260px;max-height:58vh;padding:8px 4px 18px;scroll-behavior:smooth}
.dev-message {padding:14px 16px;margin:12px 9% 12px 0;border:1px solid var(--border);background:var(--card);border-radius:16px;line-height:1.6;white-space:normal}
.dev-message.user {margin:12px 0 12px 12%;background:var(--green-soft)}
.dev-message header {font-size:12px;color:var(--muted)}.dev-message header strong {color:var(--text)}
.dev-message time {font-size:11px;white-space:nowrap}.dev-message p {white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}
.dev-message.activity {border:0;background:transparent;margin:5px 0;padding:6px 12px;color:var(--muted);font-size:12px}
.dev-message.activity header strong {font-weight:500}.dev-message.activity p {margin-top:2px}
.dev-composer {border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--card);box-shadow:0 4px 18px #102a4308}
.dev-composer>textarea {resize:vertical;min-height:76px;border:0;box-shadow:none;background:transparent;padding:8px}
.dev-composer-toolbar {display:flex;align-items:end;gap:10px;flex-wrap:wrap}.dev-composer-toolbar label {flex:1;min-width:160px;font-size:12px}
.dev-composer-toolbar label input,.dev-composer-toolbar label select {font-size:13px;margin-top:4px}
.dev-composer .muted,.dev-composer summary {font-size:12px}.dev-composer details textarea {margin-top:8px}
.dev-working {display:flex;align-items:center;gap:9px;color:var(--muted);padding:10px 14px;font-size:13px}.dev-working[hidden] {display:none}
.dev-spinner {width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent,#008d95);border-radius:50%;animation:dev-spin .8s linear infinite;flex:none}
@keyframes dev-spin {to {transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.dev-spinner {animation:none;border-style:dotted}.dev-conversation {scroll-behavior:auto}}
.dev-queued {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;color:var(--muted)}.dev-queued .button {padding:5px 10px;font-size:12px}
.dev-approval {border:1px solid #dca64a;border-radius:12px;padding:14px;margin-bottom:12px;background:var(--card)}.dev-approval h3 {margin:0}.dev-approval pre {max-height:220px;overflow:auto;white-space:pre-wrap}
.dev-publish {padding:12px;max-width:850px}.dev-publish ol {line-height:1.9}.dev-publish .dev-actions {margin:22px 0}
@media(max-width:700px){.dev-composer-toolbar label {min-width:42%}.dev-composer-toolbar .button {flex:1}.dev-message {margin-right:3%}.dev-message.user {margin-left:5%}.dev-chat-panel {min-height:440px}.dev-conversation {max-height:52vh}}

.dev-composer .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#code-content {gap:14px;padding-top:24px}#code-content>.heading-row h1 {font-size:27px}#code-content>.heading-row p {margin:5px 0}
#code-content .dev-project-bar {margin:2px 0 8px}#dev-workspace>.dev-actions {margin:0 0 10px}#dev-workspace>.dev-heading {margin:6px 0 16px}
.dev-chat-panel {height:clamp(480px,calc(100dvh - 340px),760px);min-height:0}.dev-conversation {min-height:140px;max-height:none;flex:1 1 auto}.dev-composer {flex-shrink:0}
.dev-danger-zone {border-top:1px solid var(--border);padding-top:14px;margin-top:12px}.dev-danger-zone summary {color:var(--muted);font-size:13px}
.dev-message header .message-timestamp {margin:0;display:inline}
@media(max-width:700px){#code-content {gap:10px;padding-top:18px}.dev-chat-panel {height:560px;min-height:0}.dev-conversation {max-height:none}.dev-task-sidebar {max-height:170px}}

.dev-composer-toolbar label {display:grid;gap:4px}.dev-composer-toolbar label input,.dev-composer-toolbar label select {margin:0;width:100%;min-height:40px}

/* Conversation surfaces share BuildX's quieter cards and clear activity state. */
#message-list .chat-message {max-width:92%;margin-bottom:16px;}
#message-list .chat-message>section {border:1px solid var(--border);border-radius:16px;padding:14px 16px;background:var(--card);}
#message-list .chat-message.user>section {background:var(--green-soft);border-color:var(--border);}
#message-list .chat-message.pending {opacity:1;}
.chat-working {display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;min-height:26px;}
.chat-working+.message-content {margin-top:10px;}
#message-list .message-speak {display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);width:30px;height:30px;padding:5px;cursor:pointer;}
#message-list .message-speak:hover,#message-list .message-speak:focus-visible {background:var(--green-soft);border-color:var(--border);color:var(--text);}
#message-list .message-speak:focus-visible {outline:2px solid var(--green);outline-offset:2px;}
.model-select-search {width:100%;font-size:12px;min-height:34px;margin-bottom:3px;}
.model-select {width:100%;min-width:0;max-width:100%;text-overflow:ellipsis;}
@media(max-width:560px){#message-list .chat-message {max-width:96%;}#message-list .chat-message>section {padding:12px;}#message-list .chat-message header {gap:5px;}}

.sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
/* A chatbox contains a separate writing area and one compact control row. */
.composer,.dev-composer {display:flex;flex-direction:column;gap:6px;min-width:0;box-sizing:border-box;border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:0 3px 14px rgba(20,45,60,.045);padding:10px;}
.composer {width:min(900px,calc(100% - 24px));margin:10px auto max(12px,env(safe-area-inset-bottom));}
.composer #chat-input,.dev-composer #dev-goal {width:100%;min-width:0;min-height:64px;max-height:min(240px,30dvh);resize:vertical;flex:0 0 auto;font:inherit;font-size:16px;line-height:1.5;box-sizing:border-box;border:0;border-radius:10px;background:transparent;padding:8px;box-shadow:none;}
.chatbox-controls {display:grid;grid-template-columns:44px minmax(64px,110px) minmax(64px,180px) 44px 44px;justify-content:space-between;gap:4px;align-items:center;width:100%;min-width:0;}
#chat-form .chatbox-controls>*,#dev-task-form .chatbox-controls>* {grid-row:1;grid-column:auto;}
.chatbox-controls .chatbox-mode,.chatbox-controls .chatbox-model {display:block;min-width:0;margin:0;}
.chatbox-controls .chatbox-mode select,.chatbox-controls .model-menu-trigger {display:block;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin:0;box-sizing:border-box;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:12px!important;font-weight:400;padding:0 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
.model-menu-trigger {cursor:pointer;text-align:left;border:1px solid var(--border);border-radius:9px;min-height:40px;padding:8px 24px 8px 8px;background:var(--card);color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
.model-menu-trigger::after {content:'⌄';padding-left:4px;color:var(--muted);}
.model-menu-trigger:hover,.chatbox-mode select:hover {background:var(--green-soft);}
.composer-circle,.composer #send-message,.chatbox-controls .attachment-button {display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-height:44px;border-radius:50%;padding:11px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;box-sizing:border-box;}
.composer-circle svg {width:21px;height:21px;pointer-events:none;}
.composer #send-message,.dev-composer #dev-send {background:var(--green);color:white;border-color:var(--green);}
.composer #send-message::after {content:none;}
.composer-circle[aria-pressed=true] {background:#a83348;color:white;}
.composer-circle:disabled {opacity:.45;cursor:wait;}
.composer-circle:focus-visible,.model-menu-trigger:focus-visible,.model-menu-popup button:focus-visible,.model-menu-popup summary:focus-visible {outline:2px solid var(--green);outline-offset:2px;}
.composer #stop-generating,.dev-composer #dev-stop {display:none;}
.composer-status {color:var(--muted);font-size:12px;overflow-wrap:anywhere;}.composer-status:empty {display:none;}
.composer .conversation-copy {align-self:flex-end;}.dev-composer #dev-composer-help {margin:0;font-size:11px;line-height:1.4;}.dev-composer>details {font-size:12px;}
.model-menu-popup {position:fixed;z-index:1600;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);box-shadow:0 8px 30px rgba(0,0,0,.15);overflow:auto;font-size:12px;}
.model-menu-popup[hidden] {display:none;}.model-menu-popup>header {display:flex;justify-content:space-between;align-items:center;font-weight:600;}.model-menu-close {background:transparent;border:0;color:var(--text);font-size:22px;min-width:44px;min-height:36px;cursor:pointer;}
.model-menu-popup .model-select-search {flex:none;width:100%;min-width:0;box-sizing:border-box;min-height:40px;margin:0;border:1px solid var(--border);border-radius:9px;padding:8px;background:var(--card);color:var(--text);font-size:14px;}
.model-menu-note {margin:0;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere;}
.model-menu-group {margin:0!important;padding-left:10px;}.model-menu-root {padding-left:0;}.model-menu-group>summary {padding:10px 5px;cursor:pointer;font-size:12px;min-height:36px;box-sizing:border-box;}
.model-choice-row {display:flex;min-width:0;border-radius:8px;}.model-choice {display:block;flex:1;min-width:0;min-height:44px;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere;}.model-choice small {display:block;color:var(--muted);font-size:10px;}.model-choice.selected {background:var(--green-soft);font-weight:600;}.model-choice:disabled {opacity:.55;cursor:default;}.model-choice-pin {flex:none;width:44px;min-height:44px;background:transparent;border:0;border-radius:8px;color:var(--muted);font-size:20px;cursor:pointer;}.model-choice-pin[aria-pressed=true] {color:#a46d00;}.model-choice:hover,.model-choice-pin:hover {background:var(--green-soft);}
.dev-chat-panel {height:clamp(540px,calc(100dvh - 270px),1000px);min-height:0;}.dev-conversation,.message-list {overscroll-behavior:contain;overflow-wrap:anywhere;scroll-padding-block:12px;}.dev-conversation {min-height:160px;padding:8px;}.dev-message {margin:0 4% 14px 0;padding:12px 14px;}.dev-message.user {margin-left:4%;margin-right:0;}.dev-message header,#message-list .chat-message header {display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;}.dev-message p {line-height:1.6;}.queue-item nav,.dev-queued {flex-wrap:wrap;gap:6px;}
@media(max-width:700px){.composer {width:calc(100% - 16px);}.composer,.dev-composer {padding:6px;border-radius:18px;}.chatbox-controls {gap:2px;grid-template-columns:44px minmax(48px,1fr) minmax(64px,1.3fr) 44px 44px;}.chatbox-controls .chatbox-mode select,.chatbox-controls .model-menu-trigger {font-size:11px!important;padding:0 2px;}.model-menu-popup .model-select-search {font-size:16px;}.dev-chat-panel {height:max(520px,calc(100dvh - 300px));min-height:520px;max-height:none;}.dev-task-sidebar {max-height:130px;}.dev-conversation {padding:4px;}.dev-message,.dev-message.user {margin-left:0;margin-right:0;padding:10px 12px;}#message-list {padding:12px 8px;}#message-list .chat-message {max-width:100%;gap:6px;}#message-list .chat-message>section {padding:10px 12px;min-width:0;}}

/* Resource readings remain legible on phones without compressing labels. */
.resource-cards,.resource-charts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;}
.resource-card,.resource-chart {min-width:0;margin:0;border:1px solid var(--border);border-radius:12px;padding:18px;background:var(--card);}
.resource-card h2,.resource-chart figcaption {margin:0 0 12px;font-size:14px;font-weight:500;color:var(--muted);}
.resource-card>strong {display:block;font-size:20px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.resource-card meter {display:block;width:100%;height:12px;margin:12px 0;accent-color:var(--green);}
.resource-card small,.resource-chart small {display:block;margin-top:10px;line-height:1.5;color:var(--muted);}
.resource-charts {grid-template-columns:repeat(2,minmax(0,1fr));}.resource-chart svg {display:block;width:100%;max-height:180px;}
.resource-chart polyline {fill:none;stroke:var(--green);stroke-width:2;stroke-linejoin:round;}.resource-grid {fill:none;stroke:var(--border);stroke-width:1;}
.resource-services {overflow:auto;margin:20px 0;}.resource-services caption {text-align:left;padding:8px 0;color:var(--muted);}
.resource-events {list-style:none;padding:0;margin:0;max-height:420px;overflow:auto;}
.resource-events li {display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);}
.resource-events time {color:var(--muted);font-size:12px;min-width:75px;}.resource-events small {display:block;color:var(--muted);overflow-wrap:anywhere;}
@media(max-width:900px){.resource-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:500px){.resource-cards,.resource-charts{grid-template-columns:minmax(0,1fr);}.resource-card{padding:14px;}}
.resource-chart circle {fill:var(--green);}
.resource-services table {width:100%;min-width:520px;border-collapse:collapse;text-align:left;font-size:14px;}
.resource-services th,.resource-services td {padding:12px;border-bottom:1px solid var(--border);vertical-align:top;}
.resource-services td small {display:block;color:var(--muted);margin-top:4px;font-size:12px;}
#resource-residency {font-size:14px;overflow-wrap:anywhere;}

.message-copy{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:6px;border:0;border-radius:50%;background:transparent;color:var(--muted,#637487);cursor:pointer;flex-shrink:0}.message-copy:hover{background:rgba(95,125,150,.12)}.message-copy:focus-visible{outline:2px solid #087f95;outline-offset:2px}.dev-message>header .message-copy{margin-left:auto}.message-copy svg{pointer-events:none}
@media(pointer:coarse){.message-copy{width:44px;height:44px;min-width:44px}}
#dev-pipeline pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem}#dev-pipeline article{padding:12px 0;border-top:1px solid var(--border,#dce4ec)}#dev-pipeline a{overflow-wrap:anywhere}#dev-pipeline .dev-actions{flex-wrap:wrap}

.dev-brief-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;}
.dev-brief-heading .button {font-size:12px;min-height:34px;padding:6px 10px;}
#dev-requirements-text {width:100%;min-height:280px;max-height:55dvh;resize:vertical;box-sizing:border-box;}

.model-status-menu {position:relative;display:inline-flex;align-items:center;}
.model-status-light {width:32px;height:32px;border:1px solid var(--border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);cursor:pointer;}
.model-status-light[hidden],.model-status-panel[hidden] {display:none;}
.model-status-light>span {width:11px;height:11px;border-radius:50%;background:#7d8790;box-shadow:0 0 0 3px #7d879018;}
.model-status-light[data-status="ready"]>span {background:#24965b;box-shadow:0 0 0 3px #24965b20;}
.model-status-light[data-status="loading"]>span {background:#d2811c;box-shadow:0 0 0 3px #d2811c20;}
.model-status-light[data-status="error"]>span {background:#cf4653;box-shadow:0 0 0 3px #cf465320;}
.model-status-light.blinking>span {animation:model-status-pulse 1.3s ease-in-out infinite;}
@keyframes model-status-pulse {50%{opacity:.35;transform:scale(.85);}}
@media(prefers-reduced-motion:reduce){.model-status-light.blinking>span {animation:none;outline:2px dotted currentColor;outline-offset:3px;}}
.model-status-panel {position:fixed;right:12px;top:64px;width:min(400px,calc(100vw - 24px));max-height:75dvh;overflow:auto;z-index:1700;padding:14px;box-sizing:border-box;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow);font-size:12px;line-height:1.5;}
.model-status-panel>header {display:flex;align-items:center;justify-content:space-between;gap:8px;}
.model-status-panel h3 {font-size:13px;margin:12px 0 4px;}.model-status-panel p {font-size:12px;overflow-wrap:anywhere;}
.model-resident {display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;}.model-resident>small {color:var(--muted);}

@media(max-width:700px){.user-menu #signed-in-user {display:none;}.user-menu {gap:6px;}.model-status-light {width:30px;height:30px;}}

/* Routine BuildX work stays compact; questions and results remain chat messages. */
.dev-activity-group{margin:8px 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--card);min-width:0}
.dev-activity-group>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;padding:10px 12px;color:var(--muted);font-size:12px;cursor:pointer;list-style:none;min-height:42px}
.dev-activity-group>summary::-webkit-details-marker{display:none}.dev-activity-group>summary::before{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin:0 5px 0 1px;flex-shrink:0}
.dev-activity-group[open]>summary::before{transform:rotate(45deg)}.dev-activity-group>summary:focus-visible{outline:2px solid var(--primary,#087f95);outline-offset:2px;border-radius:12px}
.dev-activity-title{font-weight:600;color:var(--text)}.dev-activity-count{font-size:11px}.dev-activity-time{margin-left:auto;font-size:11px}.dev-activity-live{font-size:11px;color:var(--primary,#087f95)}
.dev-activity-group .dev-spinner{width:12px;height:12px;flex-shrink:0}.dev-activity-body{padding:0 8px 8px;border-top:1px solid var(--border)}.dev-activity-body:empty{display:none}.dev-activity-body .dev-message.activity{font-size:12px;margin:5px 0;padding:6px}
@media(max-width:700px){.dev-activity-group>summary{gap:5px 7px;padding:9px 10px}.dev-activity-time{flex-basis:100%;padding-left:17px;margin-left:0}.dev-activity-body{padding:0 4px 5px}}

/* Physical GPU identifiers must wrap on small screens. */
.resource-card small, .resource-chart figcaption { overflow-wrap: anywhere; }
