/* Public component contract, shared by every role and login. Legacy layout overrides live here only. */
body:is(.agent-platform-ui,.agent-connect-ui) {
  min-width:320px;
  background:var(--ap-canvas);
  color:var(--ap-text);
  font-family:var(--ap-font);
  font-size:var(--ap-text-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body:is(.agent-platform-ui,.agent-connect-ui) *,
body:is(.agent-platform-ui,.agent-connect-ui) *::before,
body:is(.agent-platform-ui,.agent-connect-ui) *::after { box-sizing:border-box; }
body:is(.agent-platform-ui,.agent-connect-ui) [hidden] { display:none !important; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(button,input,select,textarea) { font-family:inherit; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(h1,h2,h3,h4,p,small,strong) { font-family:inherit; }
body.agent-platform-ui h1 { font-size:var(--ap-text-page) !important; line-height:1.3 !important; letter-spacing:-.02em; }
body.agent-platform-ui h2 { font-size:var(--ap-text-section) !important; line-height:1.4 !important; }
body.agent-platform-ui :is(h3,h4) { font-size:var(--ap-text-group) !important; line-height:1.5 !important; }
body.agent-platform-ui :is(.eyebrow,.section-kicker,.warehouse-kicker,.ic-kicker) { font-size:var(--ap-text-meta); letter-spacing:.025em; }
body.agent-platform-ui :is(small,.field-hint,.ic-dirty-note) { font-size:var(--ap-text-help) !important; line-height:1.6; }
body.agent-platform-ui :is(time,.connection-guide-meta) { font-size:var(--ap-text-meta); font-variant-numeric:tabular-nums; }
body.agent-platform-ui :is(label > span,.ic-fields label,.warehouse-field > span) { font-size:var(--ap-text-body) !important; }

/* Controls: same geometry and feedback, retain each existing action's business colour. */
body:is(.agent-platform-ui,.agent-connect-ui) button {
  min-height:var(--ap-control-height) !important;
  border-radius:var(--ap-radius-sm) !important;
  font-size:var(--ap-text-body) !important;
  font-weight:600 !important;
  line-height:1.45;
  cursor:pointer;
  transition:background-color var(--ap-motion-feedback) var(--ap-ease),border-color var(--ap-motion-feedback) var(--ap-ease),color var(--ap-motion-feedback) var(--ap-ease),box-shadow var(--ap-motion-feedback) var(--ap-ease),transform var(--ap-motion-fast) var(--ap-ease),opacity var(--ap-motion-feedback) var(--ap-ease);
}
body:is(.agent-platform-ui,.agent-connect-ui) button svg { flex-shrink:0; }
@media (hover:hover) {
  body:is(.agent-platform-ui,.agent-connect-ui) button:not(:disabled):not([aria-disabled="true"]):hover {
    box-shadow:var(--ap-shadow-hover);
  }
}
body:is(.agent-platform-ui,.agent-connect-ui) button:not(:disabled):not([aria-disabled="true"]):active {
  transform:translateY(1px);
  box-shadow:var(--ap-shadow-pressed);
  transition-duration:var(--ap-motion-fast);
}
body:is(.agent-platform-ui,.agent-connect-ui) button:disabled,
body:is(.agent-platform-ui,.agent-connect-ui) button[aria-disabled="true"] {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
body:is(.agent-platform-ui,.agent-connect-ui) button[aria-busy="true"] { cursor:progress; opacity:.8; }
body:is(.agent-platform-ui,.agent-connect-ui) button[data-ui-busy="true"]::before {
  content:"";
  display:inline-block;
  width:14px;height:14px;margin-inline-end:8px;vertical-align:-2px;
  border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;
  animation:ap-spin 800ms linear infinite;
}
body:is(.agent-platform-ui,.agent-connect-ui) :is(button,a,summary,[tabindex]):focus-visible {
  outline:2px solid var(--ap-accent) !important;
  outline-offset:3px;
}
body:is(.agent-platform-ui,.agent-connect-ui) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  min-height:var(--ap-control-height) !important;
  padding:8px 12px;
  border:1px solid var(--ap-border-strong);
  border-radius:var(--ap-radius-sm) !important;
  color:var(--ap-text-strong);
  background:var(--ap-surface);
  font-size:var(--ap-text-body);
  line-height:1.5;
  transition:border-color var(--ap-motion-feedback) var(--ap-ease),box-shadow var(--ap-motion-feedback) var(--ap-ease);
}
body:is(.agent-platform-ui,.agent-connect-ui) textarea { resize:vertical; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(input:not([type="checkbox"]):not([type="radio"]),select) { height:var(--ap-control-height); }
body:is(.agent-platform-ui,.agent-connect-ui) select { padding-inline-end:32px; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(input,textarea)::placeholder { color:var(--ap-text-soft); opacity:1; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(input,select,textarea):focus {
  border-color:var(--ap-accent) !important;
  outline:2px solid color-mix(in srgb,var(--ap-accent) 55%,transparent);
  outline-offset:2px;
  box-shadow:none;
}
body:is(.agent-platform-ui,.agent-connect-ui) :is(input,select,textarea):disabled { background:var(--ap-surface-strong); cursor:not-allowed; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(input,select,textarea)[aria-invalid="true"] { border-color:var(--ap-danger) !important; }
body:is(.agent-platform-ui,.agent-connect-ui) :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--ap-accent); flex:none; }
body.agent-platform-ui :is(.primary,.bg-indigo-600,.connection-guide-button,.ic-add-button,.purchase-exclusion-primary) {
  --ap-control-height:var(--ap-control-primary);
  min-height:var(--ap-control-primary);
  color:var(--ap-on-accent) !important;
  background:var(--ap-accent) !important;
  border-color:var(--ap-accent) !important;
}
body.agent-platform-ui :is(.primary,.bg-indigo-600,.connection-guide-button,.ic-add-button,.purchase-exclusion-primary):hover:not(:disabled) { background:var(--ap-accent-hover) !important; }
body.agent-platform-ui :is(td button,.ic-round-row button,.clearance-task-card footer button,.member-card button) { --ap-control-height:var(--ap-control-compact);min-height:var(--ap-control-compact);padding:6px 12px; }

/* Dense operational hierarchy: one page frame, one module frame, aligned actions. */
body.agent-platform-ui .agent-platform-shell { display:flex;flex-direction:column;gap:24px;width:min(100%,1600px);padding:24px clamp(16px,2.5vw,32px) 40px; }
body.agent-platform-ui .agent-platform-shell > * { order:4;flex-shrink:0;margin-block:0 !important; }
body.agent-platform-ui .agent-platform-shell > .platform-heading { order:0; }
body.agent-platform-ui .agent-platform-shell > .role-navigation { order:1; }
body.agent-platform-ui .agent-platform-shell > :is(.identity-band,.platform-admin-band) { order:2; }
body.agent-platform-ui .agent-platform-shell > :is(.operator-navigation,.invite-workspace) { order:3; }
body.agent-platform-ui .agent-platform-shell.space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top:0; }
body.agent-platform-ui .platform-heading { align-items:center; gap:16px 24px; padding:0; }
body.agent-platform-ui .platform-heading-actions { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
body.agent-platform-ui .platform-heading-actions > button { width:auto;flex:0 1 auto; }
body.agent-platform-ui .platform-heading > div:first-child > p:last-child { margin-top:4px; }
body.agent-platform-ui :is(.identity-band,.platform-admin-band) > div { min-height:72px; padding:12px 20px; }
body.agent-platform-ui :is(.identity-band,.platform-admin-band) :is(strong,small) { line-height:1.5; }
body.agent-platform-ui :is(.role-navigation,.operator-navigation) {
  overflow:visible;
  border-radius:var(--ap-radius-md);
  border:1px solid var(--ap-border);
  background:var(--ap-surface);
}
body.agent-platform-ui .role-navigation button { min-height:64px; padding:12px 16px; border-radius:0 !important; }
body.agent-platform-ui :is(.role-navigation,.operator-navigation) button:first-child { border-radius:var(--ap-radius-md) 0 0 var(--ap-radius-md) !important; }
body.agent-platform-ui :is(.role-navigation,.operator-navigation) button:last-child { border-radius:0 var(--ap-radius-md) var(--ap-radius-md) 0 !important; }
body.agent-platform-ui :is(.role-navigation,.operator-navigation,.ic-workspace-nav) button:hover { box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--ap-accent) 35%,transparent); }
body.agent-platform-ui :is(.role-navigation,.operator-navigation,.ic-workspace-nav) button.active,
body.agent-platform-ui .operator-navigation button[aria-current="page"] { box-shadow:inset 0 -3px 0 var(--ap-accent); background:var(--ap-accent-soft); color:var(--ap-accent); }
body.agent-platform-ui .operator-navigation { display:flex; flex-wrap:wrap; }
body.agent-platform-ui .operator-navigation button { padding:12px 24px; border:0; border-radius:0 !important; background:transparent; color:var(--ap-text-muted); }
body.agent-platform-ui :is(.section-title-row,.platform-section-heading,.clearance-section-heading,.admin-config-title,.inventory-clearance-module > header,.platform-task-dashboard-header) {
  align-items:center;gap:16px;flex-wrap:wrap;
}
body.agent-platform-ui :is(.section-title-row,.platform-section-heading,.clearance-section-heading,.admin-config-title) > div:first-child { flex:1; min-width:240px; }
body.agent-platform-ui :is(.platform-task-dashboard,.clearance-management,.purchase-exclusion-management) { margin-block:24px;padding:24px; }
body.agent-platform-ui .inventory-clearance-module > header { padding:20px 24px; }
body.agent-platform-ui .inventory-clearance-module > header h2 { margin:0; }
body.agent-platform-ui .inventory-clearance-module > header p { margin-top:4px; }
body.agent-platform-ui .ic-header-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px; }
body.agent-platform-ui .ic-live-status { font-size:var(--ap-text-meta);white-space:nowrap; }
body.agent-platform-ui [data-ic-preview-inventory] { min-width:172px; }
body.agent-platform-ui .ic-automation-control { gap:24px;padding:16px 24px; }
body.agent-platform-ui .ic-automation-actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:380px;padding:0; }
body.agent-platform-ui .ic-automation-actions button { flex:0 1 auto;min-width:144px; }
body.agent-platform-ui .ic-automation-actions > small { flex-basis:100%;text-align:right; }
body.agent-platform-ui .ic-workspace-nav { align-items:center;gap:8px;padding:12px 24px; }
body.agent-platform-ui .ic-workspace-nav button { min-height:40px;padding:8px 16px; }
body.agent-platform-ui .ic-tab-body { padding:24px; }
body.agent-platform-ui .ic-task-list :is(th,td) { padding:12px 16px; }
body.agent-platform-ui :is(.ic-edit-options-grid,.ic-clearance-options-grid,.ic-field-grid) > label { display:flex;flex-direction:column;align-items:stretch;gap:8px;align-self:start; }
body.agent-platform-ui .ic-input-unit { display:flex;align-items:stretch;height:var(--ap-control-height);min-width:0; }
body.agent-platform-ui .ic-input-unit input { flex:1;min-width:0;border-start-end-radius:0 !important;border-end-end-radius:0 !important; }
body.agent-platform-ui .ic-input-unit b { min-width:40px;height:var(--ap-control-height);padding:0 12px; }
body.agent-platform-ui :is(table,.ic-round-list,.clearance-task-list) { font-variant-numeric:tabular-nums; }
body.agent-platform-ui table th { font-size:var(--ap-text-help);line-height:1.5;color:var(--ap-text-muted);font-weight:600;vertical-align:middle; }
body.agent-platform-ui table td { font-size:var(--ap-text-body);line-height:1.6;vertical-align:top; }
body.agent-platform-ui tbody tr:hover { background:color-mix(in srgb,var(--ap-accent) 3%,var(--ap-surface)); }
body.agent-platform-ui :is(.ic-filter-row,.clearance-filters,.audit-filters) { gap:12px;align-items:end; }
body.agent-platform-ui :is(.ic-filter-row,.clearance-filters,.audit-filters) label { min-width:0; }
body.agent-platform-ui :is(.ic-page-bar,.clearance-pager,.audit-pagination) { align-items:center;gap:12px;padding:12px 16px; }
body.agent-platform-ui :is(.ic-page-bar,.clearance-pager) small { font-size:var(--ap-text-help); }

/* Native disclosures share one chevron and header, preserving native keyboard interaction. */
body.agent-platform-ui summary { list-style:none !important;cursor:pointer; }
body.agent-platform-ui summary::-webkit-details-marker { display:none; }
body.agent-platform-ui summary::marker { content:""; }
body.agent-platform-ui details > summary {
  display:flex;align-items:center;gap:12px;
  min-height:52px;padding:12px 16px;
  font-size:var(--ap-text-group);font-weight:600;
  color:var(--ap-text-strong);background:var(--ap-surface-subtle);
  transition:background-color var(--ap-motion-feedback) var(--ap-ease);
}
body.agent-platform-ui details > summary:hover { background:var(--ap-accent-soft); }
body.agent-platform-ui details > summary::before {
  content:"" !important;display:block !important;position:static !important;
  width:8px;height:8px;flex:0 0 8px;margin:0 4px 0 0;
  border:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  border-radius:0;background:none;
  transform:rotate(-45deg);transition:transform var(--ap-motion-feedback) var(--ap-ease);
}
body.agent-platform-ui details[open] > summary::before { transform:rotate(45deg); }
body.agent-platform-ui details > summary::after,
body.agent-platform-ui [data-ui-decoration] { display:none !important; }
body.agent-platform-ui details > summary :is(h2,h3,strong) { margin:0;font-size:var(--ap-text-group) !important; }
body.agent-platform-ui details > summary :is(small,.ic-collapse-meta) { margin-inline-start:auto;font-size:var(--ap-text-help);font-weight:400;color:var(--ap-text-muted); }

/* Dialogs are native, centred and scroll within the viewport. Drawers use the same surface contract. */
body.agent-platform-ui dialog:not(.audit-drawer):not(.storage-drawer) {
  margin:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);
  border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);
  background:var(--ap-surface);color:var(--ap-text);
  box-shadow:var(--ap-shadow-panel);
}
body.agent-platform-ui dialog::backdrop { background:var(--ap-backdrop); }
body.agent-platform-ui dialog[open] { animation:ap-panel-enter var(--ap-motion-panel) var(--ap-ease); }
body.agent-platform-ui .ic-work-dialog { padding:0; }
body.agent-platform-ui .ic-work-dialog .ic-exit-editor > header > button { display:none; }
body.agent-platform-ui :is(.ic-work-dialog-bar,.ic-round-dialog > header) { padding:16px 24px;align-items:center; }
body.agent-platform-ui :is(.ic-dialog-actions,.tenant-lifecycle-form footer) { display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px; }
body.agent-platform-ui dialog:is(.audit-drawer,.storage-drawer) {
  position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;
  margin:0;padding:0;border:0;background:transparent;color:var(--ap-text);overflow:hidden;
}
body.agent-platform-ui dialog:is(.audit-drawer,.storage-drawer) :is(.audit-backdrop,.storage-backdrop) { position:absolute;inset:0;background:transparent; }
body.agent-platform-ui :is(.audit-panel,.storage-panel) { width:min(1120px,94vw);height:100dvh;padding:24px;box-shadow:var(--ap-shadow-panel);border-inline-start:1px solid var(--ap-border);background:var(--ap-surface); }
body.agent-platform-ui :is(.audit-panel,.storage-panel) > header { align-items:center;gap:16px;padding-bottom:16px; }
body.agent-platform-ui :is(.audit-panel,.storage-panel) > header { margin:-24px -24px 24px;padding:20px 24px; }
body.agent-platform-ui :is(.audit-close,.storage-close,.ic-dialog-close) { min-width:40px;display:inline-flex;align-items:center;justify-content:center; }
body.agent-platform-ui .ic-round-product-sku:empty { display:none; }

/* Information labels are not action buttons. */
body.agent-platform-ui :is(.skill-tags span,.permission-tags span,.my-skill-list span,.skill-list span.skill-tag) { cursor:default;box-shadow:none;border:0;background:var(--ap-surface-strong);color:var(--ap-text);border-radius:4px;font-size:var(--ap-text-help); }
body.agent-platform-ui .skills-section .skill-tags { gap:8px; }
body.agent-platform-ui .connection-onboarding { display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px; }
body.agent-platform-ui .connection-onboarding > div:first-child { flex:1 1 260px; }
body.agent-platform-ui .connection-onboarding > button { flex:0 0 auto;align-self:flex-start;min-height:44px;height:auto;padding:10px 16px;white-space:nowrap; }
body.agent-platform-ui .connection-onboarding > :is(.connection-guide-status,.connection-guide-meta,.connection-guide-hint,.connection-guide-details) { flex-basis:100%;width:100%; }
body.agent-platform-ui .connection-guide-meta { font-weight:400;overflow-wrap:anywhere; }
body.agent-platform-ui .clearance-suggestion-form { width:100%;min-width:0; }
body.agent-platform-ui[data-agent-role="operator"] .clearance-layout { grid-template-columns:minmax(0,1fr); }
body.agent-platform-ui[data-agent-role="operator"] .clearance-action-panel { width:100%;min-width:0; }
body.agent-platform-ui .clearance-action-panel > form:only-child { grid-column:1 / -1; }
body.agent-platform-ui .clearance-action-panel:not(:has(form)) { display:none; }
body.agent-platform-ui .clearance-layout:has(> .clearance-action-panel:not(:has(form))) { grid-template-columns:minmax(0,1fr); }
body.agent-platform-ui[data-agent-role="operator"] .clearance-suggestion-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.agent-platform-ui .clearance-action-panel label { align-content:start; }
body.agent-platform-ui .clearance-suggestion-form > :is(div:first-child,p,label:has(textarea),.clearance-direct,button) { grid-column:1 / -1; }
body.agent-platform-ui .clearance-suggestion-form > button { justify-self:end;min-width:168px;width:auto; }
body.agent-platform-ui .admin-query-pattern-list article { display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center; }
body.agent-platform-ui .admin-query-pattern-list article strong { flex:1 1 280px;min-width:0; }
body.agent-platform-ui .admin-query-pattern-list article small { font-size:var(--ap-text-help); }
body.agent-platform-ui .team-register { scroll-margin-top:24px; }
body.agent-platform-ui .invite-workspace { display:block;border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);overflow:hidden;scroll-margin-top:24px; }
body.agent-platform-ui .invite-copy { padding:24px;border:0;border-bottom:1px solid var(--ap-border);background:var(--ap-surface-subtle); }
body.agent-platform-ui .invite-copy ol { display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0 0;padding:0; }
body.agent-platform-ui .invite-copy li { display:flex;align-items:center;gap:8px;margin:0; }
body.agent-platform-ui .invite-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px; }
body.agent-platform-ui .invite-form > :is(fieldset,.new-team-fields,.account-role-confirmation,.account-result,button) { grid-column:1 / -1; }
body.agent-platform-ui .invite-form > button { min-height:44px;justify-self:end;min-width:220px; }
body.agent-platform-ui .account-role-confirmation { padding:12px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--ap-surface-subtle);border-color:var(--ap-border);font-size:var(--ap-text-help);color:var(--ap-text-muted); }
body.agent-platform-ui .account-role-confirmation strong { color:var(--ap-text-strong); }
body.agent-platform-ui .account-result :is(small,code) { color:inherit; }
body.agent-platform-ui .metrics-line { display:flex;flex-wrap:wrap;align-items:center;padding:0; }
body.agent-platform-ui .metrics-line > div { display:flex;align-items:baseline;gap:8px;min-height:56px;padding:16px 20px; }
body.agent-platform-ui .metrics-line span { color:var(--ap-text-muted);font-size:var(--ap-text-help); }
body.agent-platform-ui .member-card { display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px 12px;align-content:start;padding:16px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);background:var(--ap-surface); }
body.agent-platform-ui .member-card .person-row { display:contents; }
body.agent-platform-ui .member-card .person-avatar { grid-area:1 / 1;align-self:center;width:36px;height:36px;border-radius:var(--ap-radius-sm); }
body.agent-platform-ui .member-card .person-row > div { grid-area:1 / 2;min-width:0;overflow-wrap:anywhere; }
body.agent-platform-ui .member-card .person-row strong { font-size:var(--ap-text-body);color:var(--ap-text-strong); }
body.agent-platform-ui .member-card .person-row small { color:var(--ap-text-muted); }
body.agent-platform-ui .member-card .role-label { grid-area:1 / 3;align-self:start;font-size:var(--ap-text-help); }
body.agent-platform-ui .member-card .last-seen { grid-area:2 / 2 / auto / -1;color:var(--ap-text-muted);font-size:var(--ap-text-help); }
body.agent-platform-ui .member-card .permission-summary { grid-area:3 / 1 / auto / -1;margin:4px 0 8px;padding:8px 0;max-height:104px;overflow:auto;color:var(--ap-text-muted);font-size:var(--ap-text-help);line-height:1.7;border-block:1px solid var(--ap-border); }
body.agent-platform-ui .member-card .permission-button { grid-area:4 / 1 / auto / 3;justify-self:start;min-height:36px;padding:6px 12px;border:1px solid var(--ap-border-strong);background:var(--ap-surface);color:var(--ap-accent); }
body.agent-platform-ui .member-card .member-account-actions { grid-area:4 / 3;padding:0; }
body.agent-platform-ui .member-card .member-account-actions button { min-height:36px; }
body.agent-platform-ui .member-card .member-permission-editor { grid-column:1 / -1;grid-row:5;padding:12px 0 0; }
body.agent-platform-ui .grant-summary { font-size:var(--ap-text-help);line-height:1.8;overflow-wrap:anywhere; }
main.agent-platform-awaiting-account .platform-heading { display:none !important; }
.platform-boot-notice { padding:24px 0; }
.platform-boot-notice h1 { margin:8px 0;font-size:var(--ap-text-page);color:var(--ap-text-strong); }
.platform-boot-notice p { color:var(--ap-text-muted); }
body.agent-platform-ui :is(.sync-ribbon.success,.account-result) { background:var(--ap-success-soft);color:var(--ap-success);border-color:color-mix(in srgb,var(--ap-success) 32%,var(--ap-border)); }
body.agent-platform-ui :is(.sync-ribbon.warning,.sync-ribbon.partial) { background:var(--ap-warning-soft);color:var(--ap-warning); }
body.agent-platform-ui :is(.error-ribbon,.sync-ribbon.error,.sync-ribbon.failed,.form-error) { background:var(--ap-danger-soft);color:var(--ap-danger); }
body.agent-platform-ui :is(.slide-leave-active,.account-menu-leave-active) { pointer-events:none; }
body.agent-platform-ui .account-trigger { color:var(--ap-text); }
body.agent-platform-ui .account-trigger:hover { background:var(--ap-surface-strong); }
body.agent-platform-ui .account-avatar { background:var(--ap-surface-strong);color:var(--ap-text-strong); }
body.agent-platform-ui .account-menu { background:var(--ap-surface);color:var(--ap-text);border-color:var(--ap-border);box-shadow:var(--ap-shadow-panel); }
body.agent-platform-ui .account-menu :is(strong,button) { color:var(--ap-text-strong); }
body.agent-platform-ui .account-menu small { color:var(--ap-text-muted); }
body.agent-platform-ui .account-menu button:hover { background:var(--ap-surface-subtle); }
body.agent-platform-ui .account-menu .logout-action { color:var(--ap-danger); }

/* Login: same visual vocabulary, distinct route scope, no inherited role styling. */
body.agent-connect-ui .connect-page { min-height:100dvh;grid-template-columns:minmax(320px,.9fr) minmax(440px,1.1fr);background:var(--ap-canvas);color:var(--ap-text); }
body.agent-connect-ui .connect-story { padding:40px 48px;min-height:100dvh;background:#1d2540;color:#f0f2fa; }
body.agent-connect-ui .brand { font-size:var(--ap-text-help);letter-spacing:.04em;color:#b3bed5; }
body.agent-connect-ui .brand span { width:40px;height:40px;margin-inline-end:12px;border-radius:8px;background:#5145d9; }
body.agent-connect-ui .story-copy { margin:auto 0;max-width:440px;padding:32px 0; }
body.agent-connect-ui .eyebrow { color:#bcb6ff;font-size:var(--ap-text-help);letter-spacing:.02em; }
body.agent-connect-ui .story-copy h1 { margin:16px 0;font-size:2rem;line-height:1.5;letter-spacing:-.025em;color:#f5f6ff; }
body.agent-connect-ui .story-copy > p:not(.eyebrow) { font-size:var(--ap-text-body);line-height:1.85;color:#b8c3d9; }
body.agent-connect-ui .trust-list { gap:16px;margin-top:32px; }
body.agent-connect-ui .trust-list > div { border-color:#414c68;gap:12px;padding-top:16px; }
body.agent-connect-ui .trust-list strong { font-size:var(--ap-text-body);color:#e9eefb; }
body.agent-connect-ui .trust-list small { font-size:var(--ap-text-help);line-height:1.65;color:#b8c3d9; }
body.agent-connect-ui .trust-list svg { color:#bbb5ff; }
body.agent-connect-ui .story-foot { color:#a9b6d0;font-size:var(--ap-text-meta); }
body.agent-connect-ui .connect-form-side { padding:32px; }
body.agent-connect-ui .connect-card { --ap-control-height:44px;width:min(100%,480px);gap:16px;padding:32px;border:1px solid var(--ap-border);border-radius:12px;background:var(--ap-surface);box-shadow:var(--ap-shadow-sm); }
body.agent-connect-ui .mode-label { color:var(--ap-accent);font-size:var(--ap-text-help);letter-spacing:.025em; }
body.agent-connect-ui .connect-card h2 { font-size:var(--ap-text-section);line-height:1.5;margin:4px 0 8px;letter-spacing:-.012em; }
body.agent-connect-ui .connect-card > div:first-child > p:last-child { color:var(--ap-text-muted);font-size:var(--ap-text-body);line-height:1.65; }
body.agent-connect-ui .connect-card label { gap:8px; }
body.agent-connect-ui .connect-card label > span { color:var(--ap-text);font-size:var(--ap-text-body); }
body.agent-connect-ui .connect-card label small { color:var(--ap-text-muted);font-size:var(--ap-text-help);line-height:1.5; }
body.agent-connect-ui .connect-card input { width:100%;min-height:44px; }
body.agent-connect-ui .connect-card button[type="submit"] { min-height:44px;justify-content:center;gap:8px;background:var(--ap-accent);color:var(--ap-on-accent); }
body.agent-connect-ui .connect-card button[type="submit"]:hover:not(:disabled) { background:var(--ap-accent-hover); }
body.agent-connect-ui .form-error { padding:12px 16px;border:1px solid color-mix(in srgb,var(--ap-danger) 35%,var(--ap-border));border-inline-start:3px solid var(--ap-danger);border-radius:6px;background:var(--ap-danger-soft);color:var(--ap-danger);font-size:var(--ap-text-body); }
body.agent-connect-ui .connect-card .field-error { color:var(--ap-danger);font-size:var(--ap-text-help); }

@keyframes ap-spin { to { transform:rotate(360deg); } }
@keyframes ap-panel-enter { from { opacity:0;transform:translateY(6px); } to { opacity:1;transform:translateY(0); } }
@media (max-width:1100px) {
  body.agent-platform-ui .platform-heading { grid-template-columns:1fr;gap:12px; }
  body.agent-platform-ui .platform-heading-actions { justify-content:flex-start; }
  body.agent-platform-ui :is(.clearance-layout,.admin-config-grid) { grid-template-columns:minmax(0,1fr); }
  body.agent-platform-ui .clearance-action-panel { width:100%; }
}
@media (max-width:900px) {
  body.agent-connect-ui .connect-page { grid-template-columns:minmax(0,1fr); }
  body.agent-connect-ui .connect-story { min-height:auto;padding:24px; }
  body.agent-connect-ui .story-copy { margin:0;padding:16px 0 0;max-width:none; }
  body.agent-connect-ui .story-copy h1 { font-size:1.75rem;line-height:1.45;margin:12px 0; }
  body.agent-connect-ui .trust-list { display:none; }
  body.agent-connect-ui .story-foot { display:none; }
  body.agent-connect-ui .connect-form-side { padding:24px; }
  body.agent-platform-ui :is(.clearance-suggestion-form,.ic-filter-row,.audit-filters) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:560px) and (max-width:1100px) {
  body.agent-platform-ui :is(.identity-band,.platform-admin-band) { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:640px) {
  body.agent-platform-ui .agent-platform-shell { padding:16px 12px 32px; }
  body.agent-platform-ui :is(.ic-tab-body,.skills-section,.people-section,.operations-section,.credentials-section,.admin-control-section,.platform-task-dashboard) { padding:16px; }
  body.agent-platform-ui :is(.inventory-clearance-module > header,.ic-automation-control) { padding:16px; }
  body.agent-platform-ui .ic-automation-actions { justify-content:flex-start;max-width:none; }
  body.agent-platform-ui .ic-automation-actions > small { text-align:left; }
  body.agent-platform-ui :is(.clearance-suggestion-form,.ic-filter-row,.audit-filters) { grid-template-columns:minmax(0,1fr) !important; }
  body.agent-platform-ui :is(.audit-panel,.storage-panel) { width:100vw;padding:16px; }
  body.agent-platform-ui :is(.audit-panel,.storage-panel) > header { margin:-16px -16px 16px;padding:16px; }
  body.agent-platform-ui .operator-navigation button { flex:1;padding:12px; }
  body.agent-platform-ui .invite-form { grid-template-columns:minmax(0,1fr);padding:16px; }
  body.agent-platform-ui .invite-copy { padding:16px; }
  body.agent-platform-ui .invite-form > button { width:100%; }
  body.agent-connect-ui .connect-card { padding:24px; }
  body.agent-connect-ui .connect-form-side { padding:16px; }
  body.agent-connect-ui .connect-story { padding:20px; }
  body:is(.agent-platform-ui,.agent-connect-ui) :is(input,select,textarea) { font-size:1rem; }
}
@media (pointer:coarse) {
  body:is(.agent-platform-ui,.agent-connect-ui) button { min-height:44px !important; }
}
@media (prefers-reduced-motion:reduce) {
  body:is(.agent-platform-ui,.agent-connect-ui) *,
  body:is(.agent-platform-ui,.agent-connect-ui) *::before,
  body:is(.agent-platform-ui,.agent-connect-ui) *::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important; }
  body:is(.agent-platform-ui,.agent-connect-ui) button:active { transform:none !important; }
}
/* Explicit grant controls use the same light-theme rhythm as the rest of the app. */
.permission-group-note{margin:0;color:var(--ap-text-muted);font-size:var(--ap-text-small,13px);line-height:1.6;grid-column:1/-1;}
.permission-select-all{justify-self:start;grid-column:1/-1;}
.ic-shared-settings{width:100%;font-size:13px;}
.ic-shared-settings>summary{cursor:pointer;padding:10px 0;color:var(--ap-accent);font-weight:600;}
.ic-shared-settings p,.ic-shared-settings small{color:var(--ap-text-muted);line-height:1.6;}
.ic-shared-settings form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:12px;}
.ic-shared-settings form>label{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ic-shared-settings input[type=number]{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--ap-border);border-radius:6px;background:var(--ap-surface);color:var(--ap-text);}
.ic-shared-settings form>small{flex-basis:100%;}
.ic-retry-list article.ic-retry-readonly{grid-template-columns:1fr;}
.ic-access-note{color:var(--ap-text-muted);max-width:300px;line-height:1.6;}
