/* Public visual language; shared by all authenticated pages. */
:root{--workspace-bg:#f5f5f2;--workspace-surface:#fff;--workspace-ink:#14212a;--workspace-muted:#53616c;--workspace-line:#d9deda;--workspace-accent:#1556df;--workspace-on-accent:#fff;--workspace-soft:#e9eefb}
:root[data-theme=dark]{--workspace-bg:#0c171e;--workspace-surface:#13242e;--workspace-ink:#f1f4f4;--workspace-muted:#a5b6c0;--workspace-line:#2c3e48;--workspace-accent:#87baff;--workspace-on-accent:#0c171e;--workspace-soft:#1a344b}
html:root[data-theme][data-workspace-design] body:has(.workspace-header){--font-ui:Arial,"Segoe UI",sans-serif;--font-display:Arial,"Segoe UI",sans-serif;--ink:var(--workspace-ink);--muted:var(--workspace-muted);--line:var(--workspace-line);--blue:var(--workspace-accent);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header{background:var(--workspace-bg)!important;color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important;box-shadow:none!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .workspace-brand{font-family:var(--brand-font)!important;color:var(--workspace-ink)!important;font-size:18px!important;font-weight:var(--brand-weight)!important;letter-spacing:var(--brand-spacing)!important;font-synthesis:none}
.workspace-brand::after{content:".";color:var(--brand-dot)}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .header-title p{color:var(--workspace-muted)!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu a{color:var(--workspace-muted)!important;border-radius:6px!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu a.active{background:var(--workspace-accent)!important;color:var(--workspace-on-accent)!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu{border-color:var(--workspace-line)!important}
@media(max-width:760px){html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu{background:var(--workspace-surface)!important}}
/* Shared workspace primitives. Explicit classes keep graph nodes, canvas controls and
   vendor iframes outside this theme. Important declarations bridge legacy page CSS. */
html:root[data-theme][data-workspace-design] body:has(.workspace-header){background:var(--workspace-bg)!important;color:var(--workspace-ink)!important;--surface:var(--workspace-surface);--soft:var(--workspace-soft);--shadow:0 8px 24px #00000008}
html:root[data-theme][data-workspace-design] body :is(.portal,.portal-main,.portal-content,.library-main,.catalog-main,.settings-main,.settings-content,.governance-main,.arch-iq-main,.icon-catalog-main,.observed-main){background:transparent!important;color:var(--workspace-ink)!important;min-width:0;box-sizing:border-box}
html:root[data-theme][data-workspace-design] body :is(.portal-welcome,.library-section-head,.catalog-heading,.arch-iq-heading,.icon-catalog-intro){background:transparent!important;color:var(--workspace-ink)!important;box-shadow:none!important;padding-block:24px!important;border-color:var(--workspace-line)!important}
html:root[data-theme][data-workspace-design] body :is(.portal-welcome,.library-section-head,.catalog-heading,.arch-iq-heading,.icon-catalog-intro) :is(h1,h2){color:var(--workspace-ink)!important;font-family:Arial,"Segoe UI",sans-serif!important;font-size:clamp(25px,2.5vw,36px)!important;line-height:1.18!important;letter-spacing:-.04em!important;font-weight:650!important}
html:root[data-theme][data-workspace-design] body :is(.portal-card,.portal-kpi,.catalog-card,.catalog-panel,.settings-card,.profile-card,.approval-card,.diagram-list-panel,.access-management-card,.license-card,.arch-iq-onboarding-card,.billing-estimate,.icon-library-note,.library-toolbar,.catalog-toolbar,.arch-iq-filters,.arch-iq-search-results,.observed-source-card,.observed-panel){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border:1px solid var(--workspace-line)!important;border-radius:8px!important;box-shadow:none!important;min-width:0}
html:root[data-theme][data-workspace-design] body :is(.portal-kpi strong,.portal-card h3,.catalog-panel h2,.catalog-panel h3,.catalog-card h2,.settings-card h2,.settings-card h3,.profile-card h2,.approval-card h2,.approval-card h3,.library-section-head h1){color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-heading p,.arch-iq-heading p,.portal-kpi-label,.catalog-panel>p,.settings-card>p,.profile-card>p,.approval-card>p,.catalog-form label,.settings-form label,.profile-form label){color:var(--workspace-muted)!important}
html:root[data-theme][data-workspace-design] body :is(.recent-diagram,.portal-application,.diagram-row,.catalog-table tr,.diagram-table tr){border-color:var(--workspace-line)!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-table,.diagram-table,.invoice-table,.members-table){color:var(--workspace-ink)!important;background:var(--workspace-surface)!important;border-collapse:collapse}
html:root[data-theme][data-workspace-design] body :is(.catalog-table,.diagram-table,.invoice-table,.members-table) th{background:var(--workspace-bg)!important;color:var(--workspace-muted)!important;border-color:var(--workspace-line)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.03em}
html:root[data-theme][data-workspace-design] body :is(.catalog-table,.diagram-table,.invoice-table,.members-table) td{color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-table,.diagram-table,.invoice-table,.members-table) tbody tr:hover{background:var(--workspace-soft)!important}
/* Actions: compact dimensions and semantic primary / secondary / destructive states. */
html:root[data-theme][data-workspace-design] body :is(.button,.catalog-button,.settings-button,.governance-button,.portal-primary,.selection-actions-button,.permission-apply,.diagram-preview-edit,.diagram-preview-copy,.diagram-preview-access,.diagram-preview-status-save,.diagram-preview-interactive,.icon-catalog-toolbar button,.support-dialog-actions button,.profile-form button,.organization-form button,.invite-form-panel button,.arch-iq-search button){display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:36px!important;padding:7px 13px!important;border:1px solid var(--workspace-accent)!important;border-radius:6px!important;background:var(--workspace-accent)!important;color:var(--workspace-on-accent)!important;box-shadow:none!important;font:500 12px/20px Arial,"Segoe UI",sans-serif!important;text-decoration:none;cursor:pointer;max-width:100%}
html:root[data-theme][data-workspace-design] body :is(.button.secondary,.catalog-button.secondary,.settings-button.secondary,.governance-button.secondary,.diagram-preview-copy,.diagram-preview-access,.diagram-preview-status-save,.selection-actions-button,.icon-catalog-toolbar button){background:var(--workspace-surface)!important;border-color:var(--workspace-line)!important;color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-button.danger,.settings-button.danger,.governance-button.danger,.danger-card button){background:transparent!important;color:#c13942!important;border-color:#c13942!important}
html:root[data-theme][data-workspace-design] body :is(.button,.catalog-button,.settings-button,.governance-button,.portal-primary,.diagram-preview-edit):hover:not(:disabled){filter:brightness(.94)}
html:root[data-theme][data-workspace-design] body :is(.catalog-button,.settings-button,.governance-button,.portal-primary):disabled{opacity:.45!important;cursor:not-allowed;filter:none}
html:root[data-theme][data-workspace-design] body :is(.catalog-tabs,.settings-tabs,.observed-tabs){gap:6px!important;border-color:var(--workspace-line)!important;flex-wrap:wrap}
html:root[data-theme][data-workspace-design] body :is(.catalog-tabs,.settings-tabs,.observed-tabs)>:is(button,a){border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:var(--workspace-muted)!important;padding:8px 12px!important;font-size:12px!important;line-height:20px!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-tabs,.settings-tabs,.observed-tabs)>:is(.active,[aria-selected=true]){background:var(--workspace-soft)!important;color:var(--workspace-accent)!important;border-color:var(--workspace-line)!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-form,.settings-form,.profile-form,.organization-form,.arch-iq-filters,.observed-filters,.library-toolbar,.invite-form-panel,.catalog-toolbar,.support-ticket-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea){box-sizing:border-box;max-width:100%;min-width:0;min-height:36px;padding:8px 10px 8px var(--field-padding-left,10px)!important;background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border:1px solid var(--workspace-line)!important;border-radius:6px!important;font:400 13px/1.45 Arial,"Segoe UI",sans-serif!important;box-shadow:none!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-dialog,.asset-dialog,.permission-dialog,.trash-dialog,.members-dialog,.workspace-support-dialog,.asset-selection-dialog,.profile-popover,.workspace-notification-popover){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border:1px solid var(--workspace-line)!important;border-radius:10px!important;box-shadow:0 16px 48px #0003!important;max-width:calc(100vw - 32px);box-sizing:border-box}
html:root[data-theme][data-workspace-design] body dialog::backdrop{background:#07121c88;backdrop-filter:blur(3px)}
html:root[data-theme][data-workspace-design] body :is(.profile-popover,.workspace-notification-popover) :is(a,button){color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-button,.settings-button,.governance-button,input,select,textarea,a,button):focus-visible{outline:2px solid var(--workspace-accent)!important;outline-offset:3px!important}
/* A preserves the editor subnavigation exactly. B changes only its button skin,
   keeping dimensions, ordering, popovers and semantic save/delete states. */
html:root[data-theme][data-workspace-design=b] body .editor-subnav :is(button,.editor-description-menu>summary){border-radius:6px!important;box-shadow:none!important;background:var(--workspace-surface)!important;border-color:var(--workspace-line)!important;color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design=b] body .editor-subnav :is( #topSave,[data-action=save]){background:var(--workspace-accent)!important;border-color:var(--workspace-accent)!important;color:var(--workspace-on-accent)!important}
html:root[data-theme][data-workspace-design=b] body .editor-subnav :is(.danger,.danger-button,#topDelete){color:#c13942!important;border-color:#c13942!important}
@media(max-width:760px){
 html:root[data-theme][data-workspace-design] body :is(.portal-content,.catalog-main,.settings-main,.settings-content,.governance-main,.arch-iq-main,.icon-catalog-main){width:100%!important;max-width:100%!important;padding-inline:16px!important;box-sizing:border-box}
 html:root[data-theme][data-workspace-design] body :is(.portal-grid,.settings-grid,.profile-grid,.catalog-grid,.arch-iq-profile-grid){grid-template-columns:minmax(0,1fr)!important}
 html:root[data-theme][data-workspace-design] body :is(.library-toolbar,.diagram-list-toolbar,.catalog-toolbar,.catalog-heading,.catalog-heading-actions,.portal-welcome,.portal-actions,.arch-iq-heading,.arch-iq-inline-actions,.arch-iq-graph-toolbar,.governance-actions){flex-wrap:wrap!important;min-width:0;gap:8px!important}
 html:root[data-theme][data-workspace-design] body :is(.library-search,.arch-iq-search,.arch-iq-filters,.catalog-filters){width:100%!important;min-width:0!important;box-sizing:border-box}
 html:root[data-theme][data-workspace-design] body :is(.diagram-list-panel,.catalog-table-wrap,.table-wrap){max-width:100%;overflow-x:auto}
 html:root[data-theme][data-workspace-design] body :is(.portal-kpis,.arch-iq-metrics){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu{align-items:center!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu a{height:36px!important;min-height:36px!important;align-self:center!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu a.active::after{display:none!important}
@media(max-width:760px){html:root[data-theme][data-workspace-design] body .arch-iq-main{grid-template-columns:minmax(0,1fr)!important}html:root[data-theme][data-workspace-design] body .arch-iq-main>*{min-width:0;max-width:100%;box-sizing:border-box}}

html:root[data-theme][data-workspace-design] body :is(.recent-diagram,.portal-application){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important}
html:root[data-theme][data-workspace-design] body :is(.recent-diagram,.portal-application) strong{color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.recent-diagram,.portal-application) small{color:var(--workspace-muted)!important}
html:root[data-theme][data-workspace-design] body :is(.eyebrow,.portal-card-head a){color:var(--workspace-accent)!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header :is(.theme-toggle,.header-menu-button){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important}
html:root[data-theme][data-workspace-design] body:is(.login-shell,.onboarding-shell){background:var(--workspace-bg)!important;color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.login-panel,.onboarding-card){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border:1px solid var(--workspace-line)!important;border-radius:10px!important;box-shadow:0 12px 40px #00000009!important}
html:root[data-theme][data-workspace-design] body :is(.login-intro,.onboarding-copy) :is(h1,h2){font-family:Arial,"Segoe UI",sans-serif!important;color:var(--workspace-ink)!important;letter-spacing:-.04em!important}
html:root[data-theme][data-workspace-design] body :is(.login-intro,.onboarding-copy,.login-panel,.onboarding-card) p{color:var(--workspace-muted)!important}
html:root[data-theme][data-workspace-design] body :is(.login-submit,.onboarding-submit){background:var(--workspace-accent)!important;color:var(--workspace-on-accent)!important;border-color:var(--workspace-accent)!important;border-radius:6px!important;box-shadow:none!important}
html:root[data-theme][data-workspace-design] body :is(.login-secondary,.identity-path){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important;border-radius:6px!important}
html:root[data-theme][data-workspace-design] body :is(.login-field,.onboarding-card .field) :is(input,select){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important;border-radius:6px!important}
html:root[data-theme][data-workspace-design] .workspace-wordmark::after{content:".";color:var(--brand-dot)}

html:root[data-theme][data-workspace-design] body .catalog-table tbody tr{background:var(--workspace-surface)!important}
html:root[data-theme][data-workspace-design] body .catalog-table tbody tr:hover{background:var(--workspace-soft)!important}
html:root[data-theme][data-workspace-design] body .catalog-table a{color:var(--workspace-accent)!important}

/* Content typography is independent of the vector wordmark. */
html:root[data-theme][data-workspace-design] body :is(.catalog-main,.portal-content,.settings-content,.settings-main,.governance-main,.arch-iq-main,.library-main){font-weight:400!important}
html:root[data-theme][data-workspace-design] body :is(.diagram-table,.catalog-table,.invoice-table,.members-table){font-size:13px!important;line-height:1.55!important}
html:root[data-theme][data-workspace-design] body :is(.diagram-table,.catalog-table,.invoice-table,.members-table) :is(a,strong,b){font-weight:500!important;color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.diagram-table,.catalog-table) a:hover{color:var(--workspace-accent)!important;text-decoration:underline;text-underline-offset:3px}
html:root[data-theme][data-workspace-design] body :is(.diagram-name,.recent-diagram strong,.portal-application strong,.catalog-card h3){font-weight:500!important;color:var(--workspace-ink)!important}
html:root[data-theme][data-workspace-design] body :is(.diagram-table,.catalog-table) :is(td,td strong){font-weight:400!important}
html:root[data-theme][data-workspace-design] body :is(.diagram-subtitle,.catalog-table small,.recent-diagram small,.portal-application small){font-size:12px!important;line-height:1.5!important;font-weight:400!important;color:var(--workspace-muted)!important}
html:root[data-theme][data-workspace-design] body :is(.diagram-status,.portal-status,.catalog-status){font-size:11px!important;font-weight:500!important;line-height:1.4!important}
html:root[data-theme][data-workspace-design] body :is(.catalog-form,.settings-form,.profile-form,.organization-form) label{font-weight:500!important}
html:root[data-theme][data-workspace-design] body :is(.portal-card-head h3,.catalog-panel h2,.settings-card h2,.profile-card h2){font-weight:500!important}
html:root[data-theme][data-workspace-design] body .app-header.workspace-header .tool-menu a{font-weight:500!important}
html:root[data-theme][data-workspace-design=b] body .editor-subnav :is(button,summary,input){font-weight:500!important}
html:root[data-theme][data-workspace-design=b] body .editor-subnav :is(.ai-tools-menu>summary,.asset-selection-menu>summary){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border-color:var(--workspace-line)!important;box-shadow:none!important;border-radius:6px!important}

.workspace-icon{display:block;flex:none;width:18px;height:18px;pointer-events:none}
html:root[data-theme][data-workspace-design] body :is(.row-actions-toggle,.selection-actions-button){color:var(--brand-ink)!important;background:var(--workspace-surface)!important;border:1px solid var(--workspace-line)!important;border-radius:6px!important;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}
html:root[data-theme][data-workspace-design] body :is(.row-actions-toggle,.selection-actions-button):hover{background:var(--workspace-soft)!important;border-color:var(--workspace-accent)!important}

html:root[data-theme][data-workspace-design] body .library-toolbar label{font-weight:500!important}
html:root[data-theme][data-workspace-design] body .library-search{--field-padding-left:34px}
