:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182c37;background:#f4f6f5;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{height:82px;border-bottom:1px solid #dce4e1;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:24px;font-weight:750;letter-spacing:-.8px}.mark{display:grid;place-items:center;background:#146555;color:#fff;border-radius:12px;width:37px;height:37px;font-size:29px;font-weight:600}.muted{color:#566860}.pill{display:inline-block;border:1px solid #cbd9d2;border-radius:30px;padding:5px 12px;font-size:12px;background:#f0f6f2;color:#365749;white-space:nowrap}main{max-width:1240px;margin:auto;padding:46px 40px 0}.intro{padding:8px 0 30px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#4f625a;margin:0 0 10px}.intro h1{font-size:46px;line-height:1.13;letter-spacing:-1.9px;margin:14px 0 16px;font-weight:680}.intro h1 span{color:#176f5a}.intro>p:last-child{color:#61716c;font-size:16px;max-width:670px}.card{background:#fff;border:1px solid #dce5df;border-radius:15px;padding:27px;margin-bottom:24px;box-shadow:0 3px 10px #223d2f04}.signin{max-width:560px}.signin p{color:#61716c}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 17px;line-height:1.35}h3{font-size:16px;margin:0 0 4px}.small{font-size:12px;color:#566860}.toolbar,.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.toolbar{border-top:1px solid #dce5df;padding-top:14px}.section-title h2{margin-bottom:0}.scope-note{padding:19px 22px;border-inline-start:3px solid #3b826b;background:#eaf1ed;border-radius:4px;margin:5px 0 30px;font-size:13px}.scope-note p{margin:4px 0 0;color:#536a5e}.connections{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:17px 0 26px}.connection{border:1px solid #dce5df;border-radius:12px;padding:18px;background:#fff;min-width:0}.connection .model-name{overflow-wrap:anywhere;font-size:14px;font-weight:650}.connection p{margin:6px 0;font-size:12px;color:#566860}.connection .tag{color:#946324;font-size:11px;font-weight:650}.columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}.columns>.card{min-width:0}.sample-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:17px}label{font-size:12px;font-weight:650;display:block;margin:15px 0 7px}input,textarea,select{width:100%;font:inherit;font-size:14px;color:#23372d;background:#fafcfb;border:1px solid #cdd9d2;border-radius:8px;padding:11px 12px;min-width:0}textarea{resize:vertical;line-height:1.65;min-height:210px}input[type=file]{font-size:12px;padding:9px}button{border:1px solid #176f5a;background:#176f5a;color:#fff;padding:11px 17px;border-radius:8px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;min-height:40px}button span{margin-inline-start:15px}button:hover{filter:brightness(.96)}button:disabled{opacity:.6;cursor:not-allowed}button.quiet{background:#fff;color:#3b5949;border:1px solid #d5dfd9;padding:7px 12px;font-size:12px}.danger{color:#9b4949!important}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #0d4a3e;outline-offset:3px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.empty{color:#566860;padding:30px 0;text-align:center;font-size:13px}.job{padding:14px 0;border-top:1px solid #e6ece8}.job button{background:transparent;color:#264737;border:0;padding:0;min-height:28px;text-align:start;font-size:13px}.job small{display:block;color:#566860;font-size:11px;overflow-wrap:anywhere}.job .state{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#466e5d}.job .reason{font-size:11px;color:#985d3a}.tree-item{border:1px solid #dde6df;border-radius:10px;margin:16px 0;padding:19px;min-width:0}.tree-item .level{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#566860;margin-bottom:5px}.tree-item .item-title{font-size:17px;font-weight:650;overflow-wrap:anywhere}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.field{font-size:13px;overflow-wrap:anywhere;padding:9px 11px;background:#f6f8f6;border-radius:6px}.field .label{font-size:10px;color:#566860;text-transform:uppercase;letter-spacing:.7px}.field .status{font-size:10px;color:#73593a}.field details{font-size:11px;margin-top:5px;color:#506e5c}.field summary{cursor:pointer}.field blockquote{margin:8px 0 6px;border-inline-start:2px solid #b7cdbd;padding:0 9px;white-space:pre-wrap;color:#344e40}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 10px}#notice:not(:empty){padding:13px 16px;border-radius:8px;background:#faeddd;color:#825a2c;font-size:13px;margin-bottom:22px;overflow-wrap:anywhere}.mock-warning{background:#fff3d9;border:1px solid #e4c880;padding:13px;font-size:12px;font-weight:750;border-radius:8px;margin:15px 0}.warning-line{font-size:12px;color:#876849;margin:7px 0}#verify-result{font-size:13px;font-weight:600;color:#286e51}footer{padding:24px 0 32px;border-top:1px solid #dce5df;color:#566860;font-size:11px;display:flex;justify-content:space-between;gap:15px}code{font-size:12px;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(max-width:700px){header{padding:0 20px;height:70px}.brand{font-size:21px}.pill{font-size:10px;padding:4px 8px}main{padding:30px 18px 0}.intro h1{font-size:35px;letter-spacing:-1.3px}.intro>p:last-child{font-size:14px}.columns{grid-template-columns:1fr;gap:0}.card{padding:21px 18px}.field-pair{grid-template-columns:1fr;gap:0}.fields{grid-template-columns:1fr}.section-title{align-items:flex-start}.section-title h2{font-size:18px}.connections{grid-template-columns:1fr}.tree-item{padding:15px}.sample-controls .small{width:100%}.toolbar{margin-top:0}footer{display:block}footer span{display:block;margin-top:5px}.result-actions button{width:100%}}

/* Review-only additions: source text remains selectable and bidirectional. */
#result-identity{overflow-wrap:anywhere}#date-review:not(:empty){margin:20px 0;padding:16px;border:1px solid #dce5df;border-radius:10px}#date-review h3{margin-top:0}.date-candidate{padding:10px 0;border-top:1px solid #e6ece8;font-size:13px;overflow-wrap:anywhere}.date-candidate small{display:block;color:#566860;font-size:11px}.date-status{font-weight:650}.date-text{white-space:pre-wrap;margin:5px 0}.calendar-review{margin:8px 0}.field details summary:focus-visible,#result-heading:focus-visible{outline:3px solid #0d4a3e;outline-offset:3px}

/* Recent summaries are a bounded, page-local view of the existing latest-50 API. */
.jobs{min-width:0;align-self:start}.jobs-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,.6fr);gap:12px}.jobs-filters>div{min-width:0}.jobs-filters input,.jobs-filters select{width:100%;box-sizing:border-box}#jobs{max-height:28rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}#jobs .job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px 4px}#jobs .job small,#jobs .job .reason{grid-column:1/-1;overflow-wrap:anywhere}#jobs .job small{font-family:monospace}#jobs .job button{padding:8px 12px}#jobs-status:not(:empty){border-inline-start:3px solid #73593a;padding-inline-start:10px}.jobs-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.jobs-pagination button:disabled,#jobs-clear:disabled{cursor:default}#jobs-summary:focus{outline:2px solid currentColor;outline-offset:3px}@media(max-width:480px){.jobs-filters{grid-template-columns:1fr}.jobs-pagination button{padding:9px 12px}}

/* Hosted owner/public access pages use the workspace's existing design and CSP. */
.auth-main{max-width:1020px}.auth-main .signin{max-width:580px}.auth-main fieldset{margin:0;padding:0;border:0;min-width:0}.auth-main form button[type=submit]{margin-top:20px}.nav-link{font-size:13px;font-weight:650;color:#176f5a;text-underline-offset:4px}.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tabs button{flex:1}.auth-main input[readonly]{background:#f0f5f2;color:#476557}.auth-main input[type=password]{font-family:inherit}.auth-main summary{cursor:pointer;font-weight:650;color:#365749}.recovery-toggle{margin-top:18px}.account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button-link{display:inline-block;text-decoration:none;background:#176f5a;border:1px solid #176f5a;border-radius:8px;padding:10px 16px;color:#fff;font-size:13px;font-weight:650}.account-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e2eae5;padding:20px 0}.account-info{min-width:0;overflow-wrap:anywhere}.account-info p{margin:4px 0 8px;color:#566860;font-size:13px}.account-row>.account-actions{flex-shrink:0}.auth-main details{margin-top:20px}#auth-notice:not(:empty){padding:13px 16px;border-radius:8px;background:#faeddd;color:#825a2c;font-size:13px;margin-bottom:22px;overflow-wrap:anywhere}#account-email{overflow-wrap:anywhere}#account-heading:focus{outline:3px solid #0d4a3e;outline-offset:3px}@media(max-width:480px){.nav-link{font-size:12px}.account-row{align-items:flex-start;flex-direction:column;gap:12px}.account-row>.account-actions,.account-row>.account-actions>button{width:100%}.auth-main .toolbar{align-items:flex-start;flex-direction:column}}

.google-auth{display:block;width:100%;text-align:center;background:#fff;color:#23372d;border-color:#cfd8d3;margin:14px 0 8px}.google-auth:hover{background:#f8faf9;filter:none}.oauth-divider{display:flex;align-items:center;gap:12px;margin:15px 0 5px;color:#566860;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.oauth-divider::before,.oauth-divider::after{content:"";height:1px;background:#e1e8e4;flex:1}.oauth-divider span{white-space:nowrap}.prochat{max-width:900px}.chat-allowance{font-size:13px;font-weight:650;color:#176f5a}.chat-log{max-height:28rem;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.chat-log:empty{display:none}.chat-message{padding:16px 18px;margin:12px 0;border:1px solid #dce5df;border-radius:12px;background:#f4f8f5;overflow-wrap:anywhere}.chat-message.user{background:#fff;margin-inline-start:12%}.chat-message.assistant{margin-inline-end:4%}.chat-message strong{font-size:11px;color:#476557}.chat-message p{white-space:pre-wrap;font-size:14px;line-height:1.65;margin:7px 0 0}.chat-message details{font-size:12px}.chat-message blockquote{white-space:pre-wrap;border-inline-start:2px solid #95c9b2;padding-inline-start:12px;margin:12px 0}.prochat textarea{min-height:135px}.chat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.auth-main .chat-actions button[type=submit]{margin-top:0}.chat-limit{border-top:1px solid #dce5df;margin-top:25px;padding-top:12px}.chat-limit-controls{display:flex;align-items:center;gap:12px;max-width:400px}.chat-limit-controls input{max-width:130px}.auth-main .chat-limit-controls button[type=submit]{margin-top:0}@media(max-width:480px){.chat-message.user{margin-inline-start:5%}.chat-message.assistant{margin-inline-end:0}.chat-actions>button{width:100%}.chat-limit-controls{align-items:stretch;flex-direction:column}.chat-limit-controls input{max-width:none}}

/* Shared tokens and parts for the account pages: see docs/frontend-enhancement.md.
   Text colours meet 4.5:1 on every surface used here; the focus ring and input edges meet 3:1.
   Layout uses logical properties so a right-to-left page mirrors without extra rules. */
:root{--ink:#182c37;--ink-2:#3d5048;--ink-3:#566860;--brand:#176f5a;--brand-strong:#0d4a3e;--brand-soft:#e2f0ea;--ground:#f4f6f5;--surface:#fff;--line:#dce5df;--line-strong:#76897f;--warn:#7a4a0a;--warn-bg:#fdf1dc;--warn-line:#e8cf9c;--danger:#9c2a2a;--danger-bg:#fbeaea;--danger-line:#e6b9b9}
.skip-link{position:absolute;inset-inline-start:12px;top:-80px;z-index:10;background:var(--brand-strong);color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:650}.skip-link:focus{top:12px}main:focus{outline:none}
header nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.nav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
button,.button-link{min-height:44px}.button-link{display:inline-flex;align-items:center;justify-content:center}.job button{min-height:28px}
input,textarea,select{border-color:var(--line-strong)}summary:focus-visible,.chat-log:focus-visible{outline:3px solid var(--brand-strong);outline-offset:3px}
.muted{color:var(--ink-3)}.danger{color:var(--danger)!important}
.state-tag{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:4px 11px;font-size:12px;font-weight:650;border:1px solid var(--line);background:var(--ground);color:var(--ink-2);white-space:nowrap}.state-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.state-tag[data-tone=ok]{background:var(--brand-soft);border-color:#b5d6c9;color:var(--brand-strong)}.state-tag[data-tone=warn],.review-tag{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.state-tag[data-tone=bad]{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}
.battery{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:16px 0;background:#fafcfb}.battery h3{margin:0}.battery-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.battery-level{display:flex;align-items:center;gap:14px;margin:12px 0 6px}.battery-level p{margin:0}.battery .chat-allowance{font-size:15px;color:var(--ink)}.battery>.small{margin:6px 0 0}
.gauge{display:inline-flex;align-items:center;gap:2px;flex:none}.gauge-body{display:flex;gap:3px;padding:3px;border:2px solid var(--ink);border-radius:7px}.gauge i{display:block;width:11px;height:20px;border-radius:2px;background:var(--line)}.gauge i.on{background:var(--brand)}.gauge-nub{width:4px;height:10px;border-radius:2px;background:var(--ink)}
.battery-facts{margin-top:8px}.battery-facts summary{cursor:pointer;font-size:13px;font-weight:650;color:var(--ink-2);padding:12px 0}.auth-main .battery-facts{margin-top:8px}
.facts{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:10px 16px;margin:8px 0 0;font-size:13px}.facts dt{color:var(--ink-3)}.facts dd{margin:0;overflow-wrap:anywhere}.fact-detail{display:block;margin-top:2px}.source-reported{background:var(--brand-soft);border-color:#b5d6c9;color:var(--brand-strong)}
.chat-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}#chat-count[data-tone=bad]{color:var(--danger);font-weight:650}
.chat-status{margin:12px 0 0;padding:11px 14px;border-radius:8px;font-size:13px;background:var(--brand-soft);color:var(--brand-strong);overflow-wrap:anywhere}.chat-status:empty{display:none}.chat-status[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.chat-status[data-tone=bad]{background:var(--danger-bg);color:var(--danger)}
.chat-recovery{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.auth-main .chat-recovery button{margin-top:0}
.chat-confirm{margin-top:14px;padding:14px 16px;border:1px solid var(--danger-line);background:var(--danger-bg);border-radius:10px}.chat-confirm p{margin:0;font-size:14px;font-weight:650;color:var(--danger)}
.chat-message .review-tag{margin-top:10px}.chat-copy{display:block;margin-top:10px}.chat-message summary{cursor:pointer;padding:10px 0}
.steps{list-style:none;margin:16px 0;padding:0;display:grid;gap:14px;counter-reset:step}.steps li{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;counter-increment:step}.steps li::before{content:counter(step);grid-row:span 2;width:28px;height:28px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ink-2);box-sizing:border-box}.steps li.done::before{background:var(--brand);border-color:var(--brand);color:#fff}.steps li.now::before{border-color:var(--brand);color:var(--brand-strong)}.steps strong{font-size:14px}.steps .small{grid-column:2}
#auth-notice[data-kind=info]:not(:empty){background:var(--brand-soft);color:var(--brand-strong)}#auth-notice[data-kind=problem]:not(:empty){background:var(--danger-bg);color:var(--danger)}
.account-row .account-actions .small{flex-basis:100%;color:var(--danger);font-weight:650}
@media(max-width:480px){.facts{grid-template-columns:1fr;gap:2px 0}.facts dd{margin-bottom:10px}.chat-recovery>*{width:100%}}
@media(forced-colors:active){.gauge i.on{background:Highlight}.state-tag::before{background:CanvasText}}

/* q-platforms-ui-1.0.0 — repository-local Q-Platforms tokens and account chrome.
   Existing token names are reused; no shared package, font host or runtime dependency.
   Only register/admin opt in. Workspace, exported evidence and generated outputs do not. */
body[data-q-ui="aima"] {
  --q-platforms-ui-version: "q-platforms-ui-1.0.0";
  --ink: #202124;
  --ink-2: #4b5563;
  --ink-3: #5f6368;
  --ground: #f7f7f8;
  --surface: #ffffff;
  --surface-muted: #f0f0f2;
  --line: #d1d5db;
  --line-strong: #6b7280;
  --brand: #6d28d9;
  --brand-hover: #5b21b6;
  --brand-active: #4c1d95;
  --brand-strong: #4c1d95;
  --brand-soft: #ede9fe;
  --on-brand: #ffffff;
  --focus: #6d28d9;
  --success: #166534;
  --success-bg: #dcfce7;
  --success-line: #15803d;
  --warn: #78350f;
  --warn-bg: #ffedd5;
  --warn-line: #b45309;
  --danger: #991b1b;
  --danger-bg: #fee2e2;
  --danger-line: #b91c1c;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --radius-control: 8px;
  --radius-panel: 12px;
  color-scheme: light;
  color: var(--ink);
  background: var(--ground);
  min-block-size: 100vh;
}
@media (prefers-color-scheme: dark) {
  :where(:root:not([data-appearance="light"])) body[data-q-ui="aima"] {
    --ink: #f3f4f6;
    --ink-2: #d1d5db;
    --ink-3: #b4b8bf;
    --ground: #17181a;
    --surface: #222326;
    --surface-muted: #2e3034;
    --line: #4b4f57;
    --line-strong: #8b9099;
    --brand: #c4b5fd;
    --brand-hover: #ddd6fe;
    --brand-active: #a78bfa;
    --brand-strong: #ddd6fe;
    --brand-soft: #30234b;
    --on-brand: #17181a;
    --focus: #c4b5fd;
    --success: #86efac;
    --success-bg: #173426;
    --success-line: #4ade80;
    --warn: #fdba74;
    --warn-bg: #3b2c1c;
    --warn-line: #f59e0b;
    --danger: #fca5a5;
    --danger-bg: #3f2026;
    --danger-line: #f87171;
    color-scheme: dark;
  }
}
/* Explicit browser preference also works when the device uses the opposite theme. */
:where(:root[data-appearance="dark"]) body[data-q-ui="aima"] {
    --ink: #f3f4f6;
    --ink-2: #d1d5db;
    --ink-3: #b4b8bf;
    --ground: #17181a;
    --surface: #222326;
    --surface-muted: #2e3034;
    --line: #4b4f57;
    --line-strong: #8b9099;
    --brand: #c4b5fd;
    --brand-hover: #ddd6fe;
    --brand-active: #a78bfa;
    --brand-strong: #ddd6fe;
    --brand-soft: #30234b;
    --on-brand: #17181a;
    --focus: #c4b5fd;
    --success: #86efac;
    --success-bg: #173426;
    --success-line: #4ade80;
    --warn: #fdba74;
    --warn-bg: #3b2c1c;
    --warn-line: #f59e0b;
    --danger: #fca5a5;
    --danger-bg: #3f2026;
    --danger-line: #f87171;
    color-scheme: dark;
  }

body[data-q-ui="aima"] > header {
  block-size: auto;
  min-block-size: 76px;
  padding-block: var(--space-3);
  padding-inline: max(var(--space-6), 5vw);
  gap: var(--space-4);
  flex-wrap: wrap;
  border-block-end: 1px solid var(--line);
  background: var(--surface);
}
body[data-q-ui="aima"] > header .brand { color: var(--ink); }
body[data-q-ui="aima"] .mark {
  background: var(--brand);
  color: var(--on-brand);
  border-radius: var(--radius-control);
  flex-shrink: 0;
}
body[data-q-ui="aima"] > .auth-main {
  padding-block: var(--space-8) 0;
  padding-inline: var(--space-8);
}
body[data-q-ui="aima"] .intro { padding-block: var(--space-2) var(--space-6); padding-inline: 0; }
body[data-q-ui="aima"] .intro h1 {
  font-size: clamp(32px, 4vw, 40px);
  line-height: 1.2;
  letter-spacing: -.8px;
  margin-block: var(--space-3) var(--space-4);
  margin-inline: 0;
}
body[data-q-ui="aima"] .intro h1 span { color: var(--brand); }
body[data-q-ui="aima"] :is(.eyebrow, .small, .muted, .facts dt, .oauth-divider) { color: var(--ink-3); }
body[data-q-ui="aima"] :is(.intro > p:last-child, .signin p, .account-info p, .chat-message strong) { color: var(--ink-2); }
body[data-q-ui="aima"] .card {
  color: var(--ink);
  background: var(--surface);
  border-color: var(--line);
  border-radius: var(--radius-panel);
  padding-block: var(--space-6);
  padding-inline: var(--space-6);
  margin-block-end: var(--space-6);
  box-shadow: none;
}
body[data-q-ui="aima"] :is(button, .button-link) {
  color: var(--on-brand);
  background: var(--brand);
  border: 1px solid var(--brand);
  border-radius: var(--radius-control);
  padding-block: 11px;
  padding-inline: var(--space-4);
  min-block-size: 44px;
  max-inline-size: 100%;
  white-space: normal;
}
body[data-q-ui="aima"] :is(button:not(:disabled), .button-link):hover { background: var(--brand-hover); border-color: var(--brand-hover); filter: none; }
body[data-q-ui="aima"] :is(button:not(:disabled), .button-link):active { background: var(--brand-active); border-color: var(--brand-active); }
body[data-q-ui="aima"] :is(button.quiet, .google-auth) { color: var(--ink); background: var(--surface); border-color: var(--line-strong); }
body[data-q-ui="aima"] :is(button.quiet, .google-auth):is(:hover, :active) { background: var(--surface-muted); border-color: var(--line-strong); }
body[data-q-ui="aima"] button:disabled { color: var(--ink-3); background: var(--surface-muted); border-color: var(--line); opacity: 1; }
body[data-q-ui="aima"] :is(.nav-link, .auth-main a:not(.button-link)) { color: var(--brand); text-underline-offset: 4px; }
body[data-q-ui="aima"] :is(input, textarea, select) {
  color: var(--ink);
  background: var(--surface);
  border-color: var(--line-strong);
  border-radius: var(--radius-control);
  padding-block: 11px;
  padding-inline: var(--space-3);
}
body[data-q-ui="aima"] input[readonly] { color: var(--ink-2); background: var(--surface-muted); }
body[data-q-ui="aima"] input::placeholder,
body[data-q-ui="aima"] textarea::placeholder { color: var(--ink-3); opacity: 1; }
body[data-q-ui="aima"] :is(input[type=email], code) { direction: ltr; unicode-bidi: isolate; }
body[data-q-ui="aima"] #chat-count { direction: ltr; unicode-bidi: isolate; }
body[data-q-ui="aima"] :is(button, input, textarea, select, a, summary, .chat-log):focus-visible,
body[data-q-ui="aima"] #account-heading:focus {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
body[data-q-ui="aima"] .skip-link {
  inset-block-start: -100px;
  padding-block: var(--space-3);
  padding-inline: var(--space-4);
  color: var(--on-brand);
  background: var(--brand);
}
body[data-q-ui="aima"] .skip-link:focus { inset-block-start: var(--space-3); }
body[data-q-ui="aima"] :is(.toolbar, .account-row, .chat-limit, footer) { border-color: var(--line); }
body[data-q-ui="aima"] :is(summary, .battery-facts summary) { color: var(--ink-2); }
body[data-q-ui="aima"] .oauth-divider::before,
body[data-q-ui="aima"] .oauth-divider::after { background: var(--line); }
body[data-q-ui="aima"] :is(.battery, .chat-message) { color: var(--ink); background: var(--surface-muted); border-color: var(--line); }
body[data-q-ui="aima"] .chat-message.user { background: var(--surface); }
body[data-q-ui="aima"] .chat-message blockquote { border-inline-start-color: var(--line-strong); color: var(--ink); }
body[data-q-ui="aima"] .battery .chat-allowance { color: var(--ink); }
body[data-q-ui="aima"] .gauge i { background: var(--line); }
body[data-q-ui="aima"] .gauge i.on { background: var(--success); }
body[data-q-ui="aima"] .state-tag { color: var(--ink-2); background: var(--surface-muted); border-color: var(--line); }
body[data-q-ui="aima"] :is(.state-tag[data-tone=ok], .source-reported) { color: var(--success); background: var(--success-bg); border-color: var(--success-line); }
body[data-q-ui="aima"] :is(.state-tag[data-tone=warn], .review-tag) { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-line); }
body[data-q-ui="aima"] .state-tag[data-tone=bad] { color: var(--danger); background: var(--danger-bg); border-color: var(--danger-line); }
body[data-q-ui="aima"] .chat-status:not(:empty) { color: var(--brand-strong); background: var(--brand-soft); }
body[data-q-ui="aima"] .chat-status[data-tone=warn]:not(:empty),
body[data-q-ui="aima"] #auth-notice:not(:empty) { color: var(--warn); background: var(--warn-bg); }
body[data-q-ui="aima"] #auth-notice[data-kind=info]:not(:empty) { color: var(--brand-strong); background: var(--brand-soft); }
body[data-q-ui="aima"] .chat-status[data-tone=bad]:not(:empty),
body[data-q-ui="aima"] #auth-notice[data-kind=problem]:not(:empty),
body[data-q-ui="aima"] .chat-confirm { color: var(--danger); background: var(--danger-bg); border-color: var(--danger-line); }
body[data-q-ui="aima"] :is(.chat-confirm p, .account-row .account-actions .small) { color: var(--danger); }
body[data-q-ui="aima"] .steps li::before { color: var(--ink-2); border-color: var(--line-strong); }
body[data-q-ui="aima"] .steps li.done::before { color: var(--success-bg); background: var(--success); border-color: var(--success); }
body[data-q-ui="aima"] .steps li.now::before { color: var(--brand); border-color: var(--brand); }
body[data-q-ui="aima"] footer { color: var(--ink-3); padding-block: var(--space-6) var(--space-8); padding-inline: 0; }
/* Arrows mirror in right-to-left; the product mark never does. */
body[data-q-ui="aima"]:dir(rtl) :is(button, .button-link) > span[aria-hidden=true]:not(.pc-avatar, .mark) { display: inline-block; transform: scaleX(-1); }
@media (max-width: 700px) {
  body[data-q-ui="aima"] > header { padding-inline: var(--space-4); }
  body[data-q-ui="aima"] > .auth-main { padding-block-start: var(--space-6); padding-inline: var(--space-4); }
  body[data-q-ui="aima"] .card { padding-block: var(--space-4); padding-inline: var(--space-4); }
}
@media (prefers-reduced-motion: reduce) {
  body[data-q-ui="aima"] { scroll-behavior: auto; }
}
@media (forced-colors: active) {
  body[data-q-ui="aima"] .gauge i.on { background: Highlight; }
  body[data-q-ui="aima"] :is(button, .button-link, input, textarea, select) { border-color: ButtonText; }
  body[data-q-ui="aima"] :is(button, input, textarea, select, a, summary, .chat-log):focus-visible { outline-color: Highlight; }
}

/* Stage 2 — account next actions and existing owner-task presentation.
   These selectors describe the current view; authorization stays in the existing API. */
body[data-q-ui="aima"] #account-panel[data-account-status=pending] #check-access {
  color: var(--on-brand);
  background: var(--brand);
  border-color: var(--brand);
}
body[data-q-ui="aima"] #account-panel[data-account-status=pending] #check-access:hover {
  background: var(--brand-hover);
  border-color: var(--brand-hover);
}
body[data-q-ui="aima"] #account-panel[data-account-status=pending] #check-access:active {
  background: var(--brand-active);
  border-color: var(--brand-active);
}
body[data-q-ui="aima"] #account-panel:is([data-account-role=owner], [data-account-role=operator]) #open-workspace {
  color: var(--ink);
  background: var(--surface);
  border-color: var(--line-strong);
}
body[data-q-ui="aima"] #account-panel:is([data-account-role=owner], [data-account-role=operator]) #open-workspace:is(:hover, :active) {
  background: var(--surface-muted);
  border-color: var(--line-strong);
}
body[data-q-ui="aima"] .owner-task-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-block: var(--space-4) var(--space-6);
}
body[data-q-ui="aima"] .owner-task-nav a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  padding-block: var(--space-1);
  padding-inline: var(--space-3);
  text-decoration: underline;
}
body[data-q-ui="aima"] .owner-task:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
body[data-q-ui="aima"] #engine-details > summary {
  min-block-size: 44px;
  padding-block: var(--space-3);
}
body[data-q-ui="aima"] #engine-explanations dd { overflow-wrap: anywhere; }
body[data-q-ui="aima"] #owner-monitoring .section-title { flex-wrap: wrap; }
body[data-q-ui="aima"] #owner-monitoring .section-title > div { min-inline-size: 9rem; max-inline-size: 100%; }
body[data-q-ui="aima"] #owner-monitoring .section-title label { margin-block-start: 0; }
@media (forced-colors: active) {
  body[data-q-ui="aima"] #account-panel :is(#check-access, #open-workspace) { border-color: ButtonText; }
  body[data-q-ui="aima"] .owner-task:focus-visible { outline-color: Highlight; }
}

.cloud-consent{display:flex;align-items:flex-start;gap:.65rem;line-height:1.5;margin-top:1rem}.cloud-consent input{width:auto;flex:0 0 auto;margin-top:.25rem}.connection .model-name{overflow-wrap:anywhere}

/* Opt-in local profile controls: scoped layout and metadata, no shared theme change. */
.local-profile-controls main { max-width: 760px; padding: 28px 20px 40px; }
.local-profile-controls .profile-toolbar { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.local-profile-controls h1 { margin: 0 0 16px; font-size: 28px; line-height: 1.3; min-width: 0; }
.local-profile-controls #profile-language { flex-shrink: 0; }
.local-profile-controls form { margin-block: 24px; }
.local-profile-controls .profile-check { display: flex; align-items: center; gap: 8px; }
.local-profile-controls .profile-check input { width: auto; margin: 0; }
.local-profile-controls #profile-items { list-style: none; padding: 0; }
.local-profile-controls .profile-item { padding: 18px; margin-block: 16px; border: 1px solid #cdd9d2; border-radius: 10px; background: #fff; }
.local-profile-controls .profile-item > strong { display: block; font-size: 16px; }
.local-profile-controls .profile-item-details { display: grid; grid-template-columns: minmax(0, 7.5rem) minmax(0, 1fr); gap: 8px 16px; font-size: 13px; }
.local-profile-controls .profile-item-details dt { font-weight: 650; }
.local-profile-controls .profile-item-details dd { margin: 0; overflow-wrap: anywhere; }
.local-profile-controls .profile-item-details [data-detail=status] { font-weight: 650; }
.local-profile-controls #profile-feedback { margin-block: 28px; }
.local-profile-controls #profile-native { margin-block: 28px; }
.local-profile-controls #profile-native-output { overflow-wrap: anywhere; }
.local-profile-controls #profile-native-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.local-profile-controls .profile-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 28px; }
@media (max-width: 480px) {
  .local-profile-controls h1 { font-size: 23px; }
  .local-profile-controls .profile-toolbar { gap: 12px; }
  .local-profile-controls .profile-item { padding: 14px; }
  .local-profile-controls .profile-item-details { grid-template-columns: minmax(0, 6.5rem) minmax(0, 1fr); gap: 8px 10px; }
}
/* Opt-in read-only learning journey. Values remain bounded and wrap on phones. */
.learning-journey-controls main { max-width: 1180px; }
.learning-journey-controls .journey-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; margin-block: 24px; }
.learning-journey-controls .journey-card { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.learning-journey-controls .journey-card h2 { font-size: 17px; margin-block: 0 12px; }
.learning-journey-controls .journey-card p { margin-block: 8px; }
.learning-journey-controls .journey-card details { margin-block: 14px; }
.learning-journey-controls .journey-card summary { cursor: pointer; font-weight: 650; min-block-size: 44px; padding-block: 10px; }
.learning-journey-controls .journey-card ol,
.learning-journey-controls .journey-card ul { padding-inline-start: 24px; }
.learning-journey-controls .journey-card li { margin-block: 7px; overflow-wrap: anywhere; }
.learning-journey-controls .journey-readiness { border-block-start: 1px solid #dce5df; margin-block-start: 16px; padding-block-start: 14px; }
.learning-journey-controls .journey-projection { width: 100%; border-collapse: collapse; margin-block-start: 16px; font-size: 13px; }
.learning-journey-controls .journey-projection caption { text-align: start; font-weight: 650; margin-block-end: 8px; }
.learning-journey-controls .journey-projection :is(th,td) { border: 1px solid #cdd9d2; padding: 8px; text-align: start; overflow-wrap: anywhere; }
.learning-journey-controls #journey-slots span[dir=ltr] { unicode-bidi: isolate; overflow-wrap: anywhere; }
@media (min-width: 960px) {
  .learning-journey-controls .journey-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .learning-journey-controls .journey-projection { font-size: 12px; }
  .learning-journey-controls .journey-projection :is(th,td) { padding: 6px; }
}
@media (prefers-color-scheme: dark) {
  .learning-journey-controls.local-profile-controls { color: #e7eeeb; background: #17201c; }
  .learning-journey-controls.local-profile-controls .profile-item { color: #e7eeeb; background: #202b26; border-color: #52645b; }
  .learning-journey-controls.local-profile-controls input { color: #e7eeeb; background: #202b26; border-color: #87998f; }
  .learning-journey-controls .journey-readiness { border-color: #52645b; }
  .learning-journey-controls .journey-projection :is(th,td) { border-color: #667970; }
}

/* Shared account-management cards inside the canonical workspace shell. */
body[data-auth-page="owner"] .account-row { flex-wrap:wrap; align-items:flex-start; }
body[data-auth-page="owner"] .account-access-editor { flex:1 0 100%; min-inline-size:0; }
body[data-auth-page="owner"] .account-access-editor form { display:grid; gap:8px; max-inline-size:620px; padding-block:16px; }
body[data-auth-page="owner"] .account-access-editor form :is(input,select) { inline-size:100%; min-inline-size:0; }
body[data-auth-page="owner"] .account-access-editor form label { margin-block-start:8px; }
body[data-auth-page="owner"] .account-access-editor summary { cursor:pointer; font-weight:600; }
body[data-auth-page="owner"] fieldset { margin:0; padding:0; border:0; min-inline-size:0; }
body[data-auth-page="owner"] #admin-identity { overflow-wrap:anywhere; }
body[data-auth-page="owner"] :is(#owner-auth,#wrong-account) { max-inline-size:620px; margin-inline:auto; }
body[data-auth-page="owner"] #monitoring-status { overflow-wrap:anywhere; }
