/* Canonical A11yRoo typography and controls. Imported after product styles. */
:root{
 --roo-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --roo-font-body:16px;--roo-weight-heading:400;--roo-weight-section:600;--roo-weight-label:650;--roo-weight-button:700;
 --roo-accent:#087e83;--roo-ink:#17243a;--roo-muted:#52657a;--roo-canvas:#f4f7fb;--roo-panel:#fff;--roo-field:#fffdf7;
 --roo-border:#74869a;--roo-divider:#d2dbe5;--roo-primary:#245fc4;--roo-primary-hover:#194aa4;--roo-primary-active:#123a85;
 --roo-focus:#a84c00;--roo-radius:8px;--roo-card-radius:10px;--roo-control-height:44px;--roo-card-space:24px;
 --roo-shadow:0 6px 22px rgb(8 24 46 / 5%);
}
html[data-theme="dark"]{
 --roo-accent:#8adbd4;--roo-ink:#edf4fc;--roo-muted:#b9c9da;--roo-canvas:#0e1826;--roo-panel:#162334;--roo-field:#0d1723;
 --roo-border:#60768d;--roo-divider:#3f536a;--roo-primary:#245fc4;--roo-primary-hover:#194aa4;--roo-primary-active:#123a85;--roo-focus:#ffb866;
 --roo-shadow:0 6px 22px rgb(0 0 0 / 15%);
}
html body{font-family:var(--roo-font);font-size:var(--roo-font-body);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}
html body :is(h1,h2,h3,h4,h5,h6){font-family:var(--roo-font);text-wrap:balance}
html body h1{font-weight:var(--roo-weight-heading)}
html body h2{font-weight:var(--roo-weight-section);line-height:1.25;letter-spacing:-.025em}
html body :is(h3,h4,h5,h6){font-weight:var(--roo-weight-label);line-height:1.3;letter-spacing:-.015em}
html[data-theme] :is(.platform-intro,.workspace-hero-copy,.upload-heading,.editor-workspace-heading,.account-state-card,.editor-admin) h1{
 font-family:var(--roo-font);font-size:clamp(2rem,3vw,3rem);font-weight:var(--roo-weight-heading);line-height:1.08;letter-spacing:-.04em;margin:7px 0 10px;color:var(--roo-ink);
}
html[data-theme] :is(.auth-card,.edit-auth-card,.account-card) h1{font-size:2rem;font-weight:var(--roo-weight-heading);line-height:1.12;letter-spacing:-.035em}
html[data-theme] :is(.entry-hero-copy,.beagle-hero,.editor-home .hero) h1{font-family:var(--roo-font);font-size:clamp(2.5rem,4.5vw,3.5rem);font-weight:650;line-height:1.12;letter-spacing:-.05em}
html[data-theme] :is(.platform-panel,.editor-task-card,.edit-results,.edit-complete,.editor-account-grid,.upload-profile) h2{font-size:1.375rem;font-weight:var(--roo-weight-section);line-height:1.3;letter-spacing:-.025em}
html[data-theme] :is(.platform-page,.auditor-shell,.editor-workspace-shell,.workspace-main){color:var(--roo-ink);background-color:var(--roo-canvas)}
html[data-theme] :is(.platform-intro,.workspace-hero-copy,.editor-workspace-heading)>p:not(.eyebrow):not(.platform-eyebrow){font-size:1rem;line-height:1.6;color:var(--roo-muted)}
html[data-theme] :is(.eyebrow,.platform-eyebrow,.editor-workspace-heading .eyebrow,.platform-intro .eyebrow){font-family:var(--roo-font);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.16em;color:var(--roo-accent)}
html[data-theme] :is(.platform-panel,.editor-task-card,.edit-results,.edit-complete){border:1px solid var(--roo-border);border-radius:var(--roo-card-radius);padding:var(--roo-card-space);background:var(--roo-panel)!important;box-shadow:var(--roo-shadow)}
html[data-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),select,textarea){
 font-family:var(--roo-font);font-size:1rem;font-weight:400;line-height:1.4;min-height:var(--roo-control-height);padding:10px 12px;border:1px solid var(--roo-border);border-radius:var(--roo-radius);background:var(--roo-field);color:var(--roo-ink);box-sizing:border-box;
}
html[data-theme] :is(.content-property textarea,.content-property select,.content-studio-toolbar input,.content-studio-toolbar select){font-family:var(--roo-font);font-size:1rem;font-weight:400;line-height:1.4;border-radius:var(--roo-radius);padding:10px 12px}
html[data-theme] :is(.primary-button,.entry-primary,.button.primary,.button-primary,.edit-submit,.editor-account-form>button,.editor-admin button,.saved-library-actions button,.content-stage-button,#preview-button,#create-copy,#load-tags,#save-project,#ai-start-analysis,#understanding-continue){
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--roo-control-height);padding:10px 18px;border:1px solid var(--roo-primary);border-radius:var(--roo-radius);background:var(--roo-primary);color:#fff;font-family:var(--roo-font);font-size:1rem;font-weight:var(--roo-weight-button);line-height:1.4;box-shadow:none;transform:none;white-space:normal;text-align:center;
}
html[data-theme] :is(.primary-button,.entry-primary,.button.primary,.button-primary,.edit-submit,.editor-account-form>button,.editor-admin button,.saved-library-actions button,.content-stage-button,#preview-button,#create-copy,#load-tags,#save-project,#ai-start-analysis,#understanding-continue):hover:not(:disabled){background:var(--roo-primary-hover);border-color:var(--roo-primary-hover);box-shadow:none;transform:none}
html[data-theme] :is(.primary-button,.entry-primary,.button.primary,.button-primary,.edit-submit,.editor-account-form>button,.editor-admin button,.saved-library-actions button,.content-stage-button,#preview-button,#create-copy,#load-tags,#save-project,#ai-start-analysis,#understanding-continue):active:not(:disabled){background:var(--roo-primary-active);border-color:var(--roo-primary-active)}
html[data-theme] :is(.secondary-button,.button-secondary,.button-outline,#clear-direct,#understanding-revise){min-height:var(--roo-control-height);padding:10px 18px;border:1px solid var(--roo-border);border-radius:var(--roo-radius);font-family:var(--roo-font);font-size:1rem;font-weight:var(--roo-weight-button);line-height:1.4;box-shadow:none;transform:none}
html[data-theme] :is(.secondary-button,.button-secondary,#clear-direct,#understanding-revise){background:var(--roo-panel);color:var(--roo-ink)}
html[data-theme] :is(.secondary-button,.button-secondary,#clear-direct,#understanding-revise):hover:not(:disabled){background:var(--roo-field);border-color:var(--roo-primary)}
html[data-theme] :is(.primary-button,.secondary-button,.button-primary,.button-secondary,.edit-submit,.content-stage-button,#preview-button,#create-copy,#load-tags,#save-project):disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
html[data-theme] :is(.platform-sidebar a,.workflow-rail a,.rail-link,.edit-rail a,.editor-support-link){font-family:var(--roo-font);font-size:13px;font-weight:var(--roo-weight-label);line-height:20px;min-height:44px;border-radius:var(--roo-radius)}
html[data-theme] :is(.workspace-user-identity strong,.platform-user strong,.auditor-global-user strong){font-family:var(--roo-font);font-size:13px;font-weight:var(--roo-weight-label);line-height:17px}
html[data-theme] :is(.workspace-header .brand-product,.app-topbar .brand-product){font-family:var(--roo-font);font-size:13px;font-weight:var(--roo-weight-label);line-height:1.1;letter-spacing:-.025em}
html[data-theme] :is(.account-menu-trigger,.workspace-account-menu .account-menu-trigger) svg{width:18px;height:18px}
html[data-theme] :is(.account-menu-panel,.workspace-account-panel) a{font-family:var(--roo-font);font-size:14px;font-weight:var(--roo-weight-label);line-height:20px;min-height:44px;padding:10px 12px}
html[data-theme] :is(.platform-panel,.editor-task-card,.edit-results,.editor-admin) :is(th,td){padding:12px;font-family:var(--roo-font);font-size:14px;line-height:1.5;border-color:var(--roo-divider)}
html[data-theme] :is(.platform-panel,.editor-task-card,.editor-admin) th{font-weight:var(--roo-weight-label)}
html[data-theme] :is(.entry-site,.editor-home,.beagle-hero) :is(.button-primary,.primary-button,.entry-primary,.button.primary){min-height:48px}
html[data-theme] :focus-visible{outline:3px solid var(--roo-focus);outline-offset:3px}
html[data-theme] .content-studio :focus-visible{outline-color:var(--roo-focus)!important}
@media(max-width:700px){
 html[data-theme] :is(.entry-hero-copy,.beagle-hero,.editor-home .hero) h1{font-size:clamp(2.125rem,8.75vw,2.5rem)}
 html[data-theme] :is(.platform-intro,.workspace-hero-copy,.upload-heading,.editor-workspace-heading,.account-state-card,.editor-admin) h1{font-size:2rem}
 html[data-theme] :is(.platform-panel,.editor-task-card,.edit-results,.edit-complete){padding:18px}
}
@media(forced-colors:active){html[data-theme] :focus-visible{outline-color:Highlight}}

html[data-theme] :is(.roo-security-root,.roo-product-footer,.tool-walkthrough-dialog,.auditor-walkthrough-dialog,.editor-walkthrough-dialog){font-family:var(--roo-font)}
html[data-theme] .roo-security-root :is(input,textarea,button){font-family:var(--roo-font)}
html[data-theme] .public-header>nav{gap:24px}
html[data-theme] .public-header>nav a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--roo-font);font-size:14px;font-weight:var(--roo-weight-label);line-height:22px;letter-spacing:normal}
html[data-theme] :is(.edit-file-drop .drop-action,.auditor-shell .drop-zone .secondary-button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--roo-border);border-radius:var(--roo-radius);background:var(--roo-panel);color:var(--roo-ink);font-family:var(--roo-font);font-size:1rem;font-weight:var(--roo-weight-button);line-height:1.4}

html[data-theme] :is(.platform-page,.auditor-shell,.repair-view,.workspace-main,.editor-workspace-shell) h1{font-weight:var(--roo-weight-heading)}

/* Product form overrides must use the same field and account-menu roles. */
html[data-theme] [data-pdf-edit-workspace] :is(#edit-instruction,.content-property textarea,.content-property select,.content-studio-toolbar input,.content-studio-toolbar select){background:var(--roo-field)!important;color:var(--roo-ink)!important;border:1px solid var(--roo-border)!important}
html[data-theme] [data-pdf-edit-workspace] .edit-file-drop .drop-action{background:var(--roo-panel);color:var(--roo-ink);border:1px solid var(--roo-border);font-weight:var(--roo-weight-button)}
html[data-theme] :is(.account-menu-panel,.workspace-account-panel) form>button{min-height:44px;padding:10px 12px;font-family:var(--roo-font);font-size:14px;font-weight:var(--roo-weight-label);line-height:20px}

html[data-theme] [data-pdf-edit-workspace] #edit-mode{font-family:var(--roo-font);font-size:1rem;font-weight:400;line-height:1.4;min-height:44px;padding:10px 12px;border:1px solid var(--roo-border);background:var(--roo-field);color:var(--roo-ink)}
html[data-theme] .entry-site .entry-primary,html[data-theme] .editor-home .button-primary,html[data-theme] .home-page .button.primary{min-height:48px}
/* Promotional heroes stay dark in either theme. */
html[data-theme] .editor-home .hero .eyebrow{color:#a6e7e2}
html[data-theme] :is(.entry-site,.editor-home,.beagle-hero) :is(.button-primary,.primary-button,.entry-primary){min-height:48px!important}
html[data-theme] [data-pdf-edit-workspace] .edit-file-drop .drop-action{background:var(--roo-panel)!important;color:var(--roo-ink)!important;border:1px solid var(--roo-border)!important}
html[data-theme] [data-pdf-edit-workspace] .edit-file-drop:hover .drop-action{background:var(--roo-field)!important;border-color:var(--roo-primary)!important}
html[data-theme] :is(.account-menu-trigger,.workspace-account-menu>summary,.workspace-mobile-menu>summary,.auditor-mobile-menu>summary,.public-menu-trigger){min-width:44px;min-height:44px;border-radius:var(--roo-radius)}
html[data-theme] :is(.editor-account-form,.edit-form,.profile-form,.account-form,.billing-form,.invoice-manager) label{font-family:var(--roo-font);font-weight:var(--roo-weight-label)}
html[data-theme] .invoice-manager :is(button,.im-button):not(.im-danger){min-height:44px;padding:10px 18px;border-radius:var(--roo-radius);font-family:var(--roo-font);font-size:1rem;font-weight:var(--roo-weight-button);line-height:1.4;background:var(--roo-primary);border-color:var(--roo-primary);color:#fff}
html[data-theme] .invoice-manager :is(button,.im-button):not(.im-danger):hover{background:var(--roo-primary-hover);border-color:var(--roo-primary-hover)}
:is(.auditor-user-identity,.workspace-user-identity)>small{font-size:12px;}
html:not([data-theme="dark"]) :is(.auditor-user-identity,.workspace-user-identity)>small{color:#566b87;}
.auth-page .auth-field>small,.auth-page .auth-optional{font-size:12px;}
