/* Shared profile and persistent AI assistant. Existing native chat styles remain untouched. */
.ai-settings-page {max-inline-size:1120px;margin-inline:auto;padding-block-end:110px;}
.ai-settings-page>h1{font-size:clamp(26px,4vw,42px);}.ai-settings-page .card{margin-block:20px;}
.ai-settings-grid,.ai-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ai-provider-card{border:1px solid var(--line-strong);border-radius:12px;padding:16px;min-inline-size:0;overflow-wrap:anywhere;}
.ai-provider-card h3{font-size:16px;margin:0 0 10px;}.ai-provider-card summary{cursor:pointer;padding-block:12px;}
.ai-provider-card a{display:inline-block;margin-block:10px;}.ai-provider-card input,.ai-provider-card select{max-inline-size:100%;}
.ai-settings-actions,.ai-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ai-connection-state{font-size:12px;}.ai-connection-state:before{content:'';display:inline-block;inline-size:9px;block-size:9px;margin-inline-end:7px;border-radius:50%;background:#6b7280;}
.ai-connection-state[data-state=connected]:before{background:#15803d;}.ai-connection-state[data-state=verification_failed]:before{background:#b91c1c;}
.pc-launcher{position:fixed;inset-block-end:max(18px,env(safe-area-inset-bottom));inset-inline-end:18px;z-index:9990;display:flex;align-items:center;gap:9px;border-radius:999px;min-block-size:52px;padding:6px 18px 6px 7px;box-shadow:0 4px 18px #0003;}
.pc-launcher[data-position=left]{inset-inline-end:auto;inset-inline-start:18px;}
.pc-avatar{display:grid;place-items:center;inline-size:38px;block-size:38px;border-radius:50%;background:var(--surface);color:var(--brand);font-size:24px;font-weight:800;}
.pc-panel{position:fixed;inset-block-end:84px;inset-inline-end:18px;z-index:9991;inline-size:min(460px,calc(100vw - 24px));block-size:min(760px,calc(100dvh - 110px));border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 8px 32px #0004;display:flex;flex-direction:column;overflow:hidden;}
.pc-panel[hidden],.pc-panel [hidden]{display:none!important;}.pc-panel[data-position=left]{inset-inline-end:auto;inset-inline-start:18px;}
.pc-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-block-end:1px solid var(--line);flex-shrink:0;}.pc-heading strong{font-size:18px;}.pc-heading p{margin:3px 0 0;}
.pc-source{padding:8px 16px;border-block-end:1px solid var(--line);flex-shrink:0;}.pc-source label{margin:0 0 4px;font-size:12px;}.pc-source select{padding:7px 10px;font-size:12px;}.pc-source a{display:inline-block;font-size:12px;margin-block-start:5px;}.pc-source p{margin:4px 0 0;max-block-size:42px;overflow:auto;}
#pc-status{margin:0;padding:0 16px;font-size:12px;max-block-size:64px;overflow:auto;flex-shrink:0;}#pc-status:not(:empty){padding-block:8px;}
.pc-log{flex:1 1 0;min-block-size:40px;overflow:auto;padding:10px 16px;overscroll-behavior:contain;}.pc-log article{padding:10px 12px;margin-block-end:12px;border-radius:10px;border:1px solid var(--line);overflow-wrap:anywhere;}.pc-user{background:var(--brand-soft);margin-inline-start:24px;}.pc-assistant{background:var(--ground);margin-inline-end:10px;}.pc-log strong{font-size:11px;}.pc-log p{font-size:14px;line-height:1.6;white-space:pre-wrap;margin:5px 0 0;}
#pc-form{padding:9px 16px;border-block-start:1px solid var(--line-strong);margin:0;flex-shrink:0;}#pc-form label{font-size:12px;margin:0 0 5px;}#pc-message{inline-size:100%;min-block-size:60px;max-block-size:120px;resize:vertical;font-size:14px;margin:0;padding:8px 10px;}
.pc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-block-start:7px;}.pc-actions button{font-size:12px;padding:7px 12px;}.pc-footer{padding:0 16px 10px;margin:0;font-size:10px;line-height:1.4;flex-shrink:0;}#pc-local{padding:16px;}
@media(max-width:600px){.ai-settings-grid,.ai-provider-grid{grid-template-columns:1fr;}.pc-panel{inset-inline-end:12px;inset-block-end:78px;inline-size:calc(100vw - 24px);block-size:calc(100dvh - 94px);}.pc-panel[data-position=left]{inset-inline-start:12px;}.pc-source p,.pc-footer{display:none;}.pc-heading{padding-block:8px;}.pc-launcher{inset-inline-end:12px;}.pc-log{padding:8px 12px;}#pc-form{padding:8px 12px;}}
@media(max-height:540px){.pc-panel{inset-block-end:64px;block-size:calc(100dvh - 74px);}.pc-launcher{min-block-size:44px;inset-block-end:8px;}.pc-avatar{inline-size:30px;block-size:30px;}.pc-source p,.pc-heading p,.pc-footer{display:none;}.pc-source{padding-block:3px;}.pc-heading{padding-block:4px;}#pc-message{min-block-size:42px;max-block-size:64px;}}

@media(max-height:540px){
 .pc-source label,.pc-source a{display:none;}.pc-source{padding-block:4px;}
 #pc-status{max-block-size:30px;font-size:11px;line-height:1.3;}#pc-status:not(:empty){padding-block:5px;}
 #pc-form{max-block-size:55%;overflow-y:auto;}
 #pc-message{height:48px;min-height:48px;min-block-size:48px;max-height:64px;}
}

.pc-launcher[data-modal=true]{inset-block-end:210px;inline-size:48px;block-size:48px;min-block-size:48px;padding:4px;border-radius:50%;justify-content:center;}
.pc-launcher[data-modal=true]>span:last-child{display:none;}

/* The same assistant can occupy the main chat workspace. These rules never
   change the floating assistant on account, room or native-analysis pages. */
body.workspace-shell .pc-panel[data-docked=true] {
  position:relative; inset:auto; z-index:auto; inline-size:100%; block-size:100%;
  max-inline-size:none; min-block-size:0; border:0; border-radius:0;
  box-shadow:none; background:var(--ground); overflow:hidden;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-heading { display:none; }
body.workspace-shell .pc-panel[data-docked=true] .pc-source {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  gap:3px 16px; padding:2px 10px 10px; border:0; min-inline-size:0;
  inline-size:min(calc(100% - 56px),800px); margin-inline:auto;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-source>label {
  position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-source select {
  inline-size:min(100%,380px); min-block-size:36px; padding:6px 28px 6px 8px;
  border:1px solid transparent; border-radius:8px; background:transparent;
  color:var(--ink); font-size:13px; font-weight:550;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-source select:hover {
  background:var(--surface-muted); border-color:var(--line);
}
body.workspace-shell .pc-panel[data-docked=true] .pc-source>a {
  display:inline-flex; align-items:center; min-block-size:36px; margin:0;
  padding:7px 9px; border-radius:8px; color:var(--ink-2); font-size:11px;
  line-height:1.4; text-decoration:none;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-source>a:hover { background:var(--surface-muted); }
body.workspace-shell .pc-panel[data-docked=true] .pc-source>p {
  grid-column:1/-1; margin:0; padding-inline:9px; max-block-size:36px;
  color:var(--ink-3); font-size:10px; line-height:1.6; overflow:auto;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-status {
  inline-size:min(100% - 48px,760px); margin-inline:auto; padding:0;
  color:var(--ink-2); font-size:12px; max-block-size:54px;
  line-height:1.5; overflow-wrap:anywhere;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-status:not(:empty) { padding-block:9px; }
body.workspace-shell .pc-panel[data-docked=true] .pc-log {
  flex:1 1 0; min-block-size:50px; padding-block:18px 28px;
  padding-inline:max(28px,calc((100% - 760px)/2));
  scroll-padding-block:24px; scrollbar-gutter:stable; background:transparent;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-log article {
  border:0; margin:22px 0 30px; padding:0; border-radius:0;
  background:transparent; color:var(--ink); line-height:1.8;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-log .pc-user {
  inline-size:fit-content; max-inline-size:85%; margin-inline-start:auto;
  padding:13px 18px; border-radius:20px; background:var(--surface-muted);
}
body.workspace-shell .pc-panel[data-docked=true] .pc-log .pc-user>strong {
  position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-log .pc-assistant { margin-inline:0; }
body.workspace-shell .pc-panel[data-docked=true] .pc-log strong {
  display:block; margin-block-end:8px; color:var(--ink-2); font-size:11px;
  font-weight:600; line-height:1.6;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-log p {
  font-size:15px; line-height:1.85; margin:0; color:var(--ink);
}
body.workspace-shell .pc-panel[data-docked=true] .pc-log>.small:only-child {
  max-inline-size:420px; margin:clamp(36px,11vh,130px) auto 20px;
  color:var(--ink-2); font-size:18px; font-weight:450; text-align:center;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-welcome {
  margin-inline:auto; max-inline-size:560px; padding-block:clamp(30px,9vh,105px) 24px;
  text-align:center;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-welcome-mark {
  display:inline-grid; place-items:center; inline-size:40px; block-size:40px; margin-block-end:18px;
  border-radius:12px; background:var(--brand); color:var(--on-brand); font-size:26px; font-weight:600; line-height:1;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-welcome :is(h1,h2) {
  margin:0 0 18px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(29px,3.8vw,42px);
  line-height:1.2; font-weight:450; letter-spacing:-1px; color:var(--ink);
}
body.workspace-shell .pc-panel[data-docked=true] .pc-welcome p {
  color:var(--ink-3); font-size:13px; line-height:1.8;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-form {
  inline-size:min(calc(100% - 40px),960px); margin:0 auto 10px;
  padding:10px 15px 9px; border:1px solid var(--line-strong); border-radius:22px;
  background:var(--surface); box-shadow:0 3px 14px #25262308;
  flex-shrink:0; max-block-size:min(48dvh,350px); overflow-y:auto;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-form>label[for=pc-message] {
  position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-message {
  inline-size:100%;
  max-block-size:180px; padding:5px 3px 8px; margin:0; border:0; border-radius:6px;
  background:transparent; color:var(--ink); font-size:15px; line-height:1.7; resize:vertical;
}
/* Override only the later phone/short-screen initial sizes. Their font sizes
   and smaller maximums still apply. Older browsers retain manual resizing. */
body.workspace-shell .pc-panel[data-docked=true] textarea#pc-message {
  block-size:44px; min-height:44px; min-block-size:44px;
}
body.workspace-shell .pc-panel[data-docked=true] textarea#pc-message:placeholder-shown {
  white-space:nowrap;
}
@supports (field-sizing:content) {
  /* A wrapping placeholder must not make an empty draft taller. */
  body.workspace-shell .pc-panel[data-docked=true] textarea#pc-message:not(:placeholder-shown) {
    field-sizing:content; block-size:auto;
  }
}
body.workspace-shell .pc-panel[data-docked=true] #pc-form:focus-within { outline:2px solid var(--focus); outline-offset:2px; }
body.workspace-shell .pc-panel[data-docked=true] #pc-message:focus-visible { outline:none; }
body.workspace-shell .pc-panel[data-docked=true] .pc-actions {
  align-items:center; gap:8px; margin-block-start:6px;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-actions button {
  min-block-size:34px; padding:7px 12px; font-size:11px; font-weight:500; border-radius:9px;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-send {
  order:5; margin-inline-start:auto; min-inline-size:62px; border-radius:12px;
}
body.workspace-shell .pc-panel[data-docked=true] .pc-actions button.quiet {
  background:transparent; border-color:transparent; color:var(--ink-2);
}
body.workspace-shell .pc-panel[data-docked=true] .pc-actions button.quiet:not(:disabled):hover { background:var(--surface-muted); }
body.workspace-shell .pc-panel[data-docked=true] .pc-footer {
  max-inline-size:800px; margin:0 auto; padding:0 24px 12px;
  color:var(--ink-3); font-size:10px; line-height:1.6; text-align:center;
}
body.workspace-shell .pc-panel[data-docked=true] #pc-local {
  inline-size:min(100% - 48px,650px); margin:36px auto; padding:24px;
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
}
@media(max-width:800px) {
  body.workspace-shell .pc-panel[data-docked=true] .pc-source { inline-size:calc(100% - 28px); padding:0 6px 8px; gap:3px 6px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-source select { font-size:12px; max-inline-size:100%; padding-inline-start:6px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-source>a { max-inline-size:100px; font-size:10px; padding-inline:6px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-source>p { display:block; padding-inline:6px; max-block-size:32px; font-size:9px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-log { padding:10px 20px 22px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-log p { font-size:14px; line-height:1.8; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-log .pc-user { max-inline-size:92%; padding:11px 14px; border-radius:17px; }
  body.workspace-shell .pc-panel[data-docked=true] #pc-status { inline-size:calc(100% - 32px); font-size:11px; }
  body.workspace-shell .pc-panel[data-docked=true] #pc-form { inline-size:calc(100% - 24px); padding:10px 12px; border-radius:18px; margin-block-end:7px; }
  body.workspace-shell .pc-panel[data-docked=true] #pc-message { block-size:62px; min-block-size:48px; min-height:48px; max-block-size:130px; font-size:14px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-footer { display:block; padding:0 16px max(8px,env(safe-area-inset-bottom)); font-size:9px; }
}
@media(max-height:540px) {
  body.workspace-shell .pc-panel[data-docked=true] .pc-source { padding-block-end:2px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-source>p { display:none; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-source>a { display:inline-flex; }
  body.workspace-shell .pc-panel[data-docked=true] #pc-form { max-block-size:49dvh; padding-block:7px; }
  body.workspace-shell .pc-panel[data-docked=true] #pc-message { block-size:44px; min-block-size:44px; min-height:44px; max-block-size:90px; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-footer { display:none; }
  body.workspace-shell .pc-panel[data-docked=true] .pc-welcome { padding-block:15px; }
}
#ai-billing p { overflow-wrap:anywhere; }
#ai-billing article { border-top:1px solid var(--border, #555); padding-block:1rem; }
#ai-billing label { display:block; margin-block:.5rem; }
@media(forced-colors:active) {
  body.workspace-shell .pc-panel[data-docked=true] #pc-form,
  body.workspace-shell .pc-panel[data-docked=true] .pc-log .pc-user { border:1px solid CanvasText; }
}


/* Settings window, Claude-style: categories on the left, one section at a time,
   and only the open section scrolls. Shared by the chat dialog and /settings/*. */
.settings-layout { display:grid; grid-template-columns:200px minmax(0,1fr); min-block-size:0; block-size:100%; }
.settings-tabs { display:flex; flex-direction:column; gap:2px; padding:16px 12px; border-inline-end:1px solid var(--line); min-block-size:0; }
.settings-tabs [role=tab], body[data-q-ui] .settings-tabs button[role=tab] { display:block; inline-size:100%; min-block-size:38px; padding:8px 12px; border:0; border-radius:8px;
  background:transparent; color:var(--ink-2); font:inherit; font-size:13px; font-weight:500; text-align:start; cursor:pointer; box-shadow:none; }
.settings-tabs [role=tab]:hover, body[data-q-ui] .settings-tabs button[role=tab]:hover { background:var(--surface-muted); color:var(--ink); }
.settings-tabs [role=tab][aria-selected=true], body[data-q-ui] .settings-tabs button[role=tab][aria-selected=true] { background:var(--surface-muted); color:var(--ink); font-weight:650; }
.settings-tabs [role=tab]:focus-visible { outline:2px solid var(--focus,var(--brand)); outline-offset:1px; }
.settings-panels { min-block-size:0; overflow:hidden; }
.settings-panels>[role=tabpanel] { block-size:100%; overflow-y:auto; overscroll-behavior:contain; padding:4px 28px 28px; scrollbar-width:thin; }
.settings-panels>[role=tabpanel]:focus-visible { outline:2px solid var(--focus,var(--brand)); outline-offset:-2px; }
.settings-panels .card { margin:0; padding:20px 0; border:0; border-block-end:1px solid var(--line); border-radius:0; box-shadow:none; background:transparent; }
.settings-panels .card:last-child { border-block-end:0; }
.settings-panels h2 { font-size:16px; margin:0 0 8px; }

/* The /settings/* address shows the same window, centred under the page header. */
main.ai-settings-page[data-ai-settings-view=route] { display:flex; flex-direction:column; max-inline-size:960px;
  block-size:calc(100dvh - 120px); min-block-size:480px; margin:24px auto; padding:0; overflow:hidden;
  border:1px solid var(--line); border-radius:16px; background:var(--surface); }
main.ai-settings-page[data-ai-settings-view=route]>:is(.eyebrow,h1,#ai-settings-status,.ai-settings-actions) { margin-inline:24px; }
main.ai-settings-page[data-ai-settings-view=route]>.eyebrow { margin-block:20px 0; }
main.ai-settings-page[data-ai-settings-view=route]>h1 { font-size:22px; margin-block:4px 0; }
main.ai-settings-page[data-ai-settings-view=route]>#ai-settings-status:empty { display:none; }
main.ai-settings-page[data-ai-settings-view=route]>.ai-settings-actions { margin-block:8px 12px; font-size:13px; }
main.ai-settings-page[data-ai-settings-view=route]>#ai-settings-private { flex:1; min-block-size:0; border-block-start:1px solid var(--line); }

@media (max-width:640px) {
  .settings-layout { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
  .settings-tabs { flex-direction:row; overflow-x:auto; padding:8px 12px; border-inline-end:0; border-block-end:1px solid var(--line); scrollbar-width:none; }
  .settings-tabs [role=tab], body[data-q-ui] .settings-tabs button[role=tab] { inline-size:auto; flex:none; white-space:nowrap; }
  .settings-panels>[role=tabpanel] { padding:4px 16px 20px; }
  main.ai-settings-page[data-ai-settings-view=route] { margin:12px; block-size:calc(100dvh - 94px); border-radius:12px; }
}

/* Compact status row: refresh stays reachable when signed out; the account link moves
   into the Account category once private settings are shown. */
.ai-settings-page>#ai-settings-status { font-size:12px; color:var(--ink-3); }
.ai-settings-page>.ai-settings-actions { font-size:12px; gap:8px; }
.ai-settings-page>.ai-settings-actions a { color:var(--brand); }
body[data-q-ui] .ai-settings-page>.ai-settings-actions button { min-block-size:32px; padding:4px 12px; font-size:12px; }
.ai-settings-page:has(>#ai-settings-private:not([hidden]))>.ai-settings-actions { justify-content:flex-end; }
.ai-settings-page:has(>#ai-settings-private:not([hidden]))>.ai-settings-actions>a { display:none; }
.workspace-shell #workspace-settings .ai-settings-page:has(>#ai-settings-private:not([hidden])) { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto minmax(0,1fr); }
.workspace-shell #workspace-settings .ai-settings-page:has(>#ai-settings-private:not([hidden]))>#ai-settings-private { grid-column:1/-1; }

/* Account permission editor shares the existing Settings panel and scroll owner. */
#ai-permission { min-inline-size:0; }
#ai-permission [hidden] { display:none!important; }
#ai-permission p { overflow-wrap:anywhere; }
#ai-permission .ai-permission-state { font-weight:600; margin-block:14px 4px; }
#ai-permission .ai-permission-status { margin-block:12px; color:var(--ink); }
#ai-permission .ai-permission-status:empty { display:none; }
#ai-permission .ai-settings-actions { justify-content:flex-start; margin-block:12px; }
#ai-permission :is(button,summary,select) { min-block-size:40px; touch-action:manipulation; }
#ai-permission :is(button,input,select,summary):focus-visible { outline:2px solid var(--focus,var(--brand)); outline-offset:2px; }
#ai-permission :is(input,select,button) { max-inline-size:100%; }
#permission-form { display:grid; gap:24px; margin-block-start:24px; }
#permission-form fieldset { min-inline-size:0; margin:0; padding:0; border:0; }
#permission-form .ai-permission-group { display:grid; gap:14px; padding-block-start:14px; border-block-start:1px solid var(--line); }
#permission-form .ai-permission-group>legend { padding:0; font-size:15px; font-weight:650; color:var(--ink); }
#permission-form .ai-permission-group>p { margin:0; }
.ai-permission-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-inline-size:0; }
.ai-permission-field { min-inline-size:0; }
#ai-permission .ai-permission-field label { display:block; margin-block:0 6px; font-size:13px; line-height:1.5; }
#ai-permission .ai-permission-field :is(input,select) { inline-size:100%; min-inline-size:0; margin:0; font-size:14px; background:var(--surface); color:var(--ink); }
#ai-permission .ai-permission-field .small { margin-block:6px 0; color:var(--ink-2); }
#ai-permission .ai-permission-cap { padding-block:8px; }
#ai-permission .ai-permission-cap>legend { padding:0; margin-block-end:8px; font-size:13px; font-weight:600; }
.ai-permission-model-picker { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.ai-permission-model-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.ai-permission-model-heading h4 { min-inline-size:0; margin:0; overflow-wrap:anywhere; font-size:13px; }
.ai-permission-model { border:1px solid var(--line); border-radius:10px; padding:12px; margin-block:10px; }
.ai-permission-model .ai-permission-pair { margin-block-start:10px; }
#ai-permission .ai-permission-approval { display:flex; align-items:flex-start; gap:10px; margin:0; min-block-size:44px; font-size:13px; line-height:1.6; }
#ai-permission .ai-permission-approval input { inline-size:20px; block-size:20px; flex:0 0 20px; margin-block-start:2px; }
#permission-save { justify-self:start; }
.ai-permission-usage { margin-block:20px 8px; padding-block:12px; border-block:1px solid var(--line); }
.ai-permission-usage summary { cursor:pointer; display:list-item; align-content:center; font-weight:600; font-size:14px; }
.ai-permission-usage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ai-permission-usage-grid h3 { font-size:14px; margin-block:10px; }
.ai-permission-usage-grid dl { margin:0; }
.ai-permission-usage-grid dl>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding-block:9px; border-block-end:1px solid var(--line); }
.ai-permission-usage-grid dt { font-size:12px; line-height:1.5; }
.ai-permission-usage-grid dd { margin:0; font-size:12px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; align-self:end; }
.ai-permission-source { display:block; color:var(--ink-2); font-size:11px; margin-block-end:2px; }
.ai-permission-recovery { border:1px solid var(--line-strong); border-radius:10px; padding:12px; margin-block:16px; }
.ai-permission-recovery p { margin-block:0 12px; }
#ai-permission .ai-permission-error { font-size:12px; margin-block:6px 0; color:var(--ink); font-weight:600; }
#ai-permission [aria-invalid=true] { outline:2px solid var(--ink-2); outline-offset:1px; }
@media (max-width:640px) {
  .ai-permission-pair,.ai-permission-usage-grid,.ai-permission-model-picker { grid-template-columns:minmax(0,1fr); }
  .ai-permission-model-picker button { justify-self:start; }
  #ai-permission :is(button,summary,select) { min-block-size:44px; }
  .ai-permission-usage-grid { gap:16px; }
}

/* Standing-permission refusals remain next to the retained draft. */
body.workspace-shell .pc-panel[data-docked=true] #pc-form #pc-status {
  inline-size:100%; margin-inline:0; padding-inline:0;
}
.pc-feedback a:not([hidden]) {
  display:inline-flex; align-items:center; min-block-size:32px; margin-block-start:3px;
  font-size:12px; overflow-wrap:anywhere;
}
#pc-clear-confirm { margin:8px 16px; padding:12px; border:1px solid var(--line-strong); border-radius:10px; }
#pc-clear-confirm p { margin:0; font-size:13px; line-height:1.5; }
@media(max-height:540px) {
  body.workspace-shell .pc-panel[data-docked=true] #pc-form #pc-status { max-block-size:34px; }
}

/* Settings categories keep long translated labels and profile identities contained. */
.settings-tabs { overflow-y:auto; }
.settings-panels p,.settings-panels a { overflow-wrap:anywhere; }
#ai-color-theme { max-inline-size:22rem; }
#ai-color-theme-status:empty { display:none; }
@media(max-width:640px) { .settings-tabs { overflow-y:hidden; } }
