/* Shared visual layer. No layout, routing or document-content changes. */
:root {
  --office-font: "Segoe UI", Arial, sans-serif;
  --office-text: #172033;
  --office-muted: #59677b;
  --office-border: #dbe3ee;
  --office-surface: #f4f7fb;
  --office-motion: 160ms ease;
}
body { font-family: var(--office-font); -webkit-font-smoothing: antialiased; }
:is(.smartmail-app,.auth-screen,.onecall,.integrated-workspace,.workspace-settings-modal,#portal) {
  font-family: var(--office-font);
  --font-body: var(--office-font);
  --font-display: var(--office-font);
  --purple: var(--office-accent,#4f8ff7);
  --blue: var(--office-accent,#4f8ff7);
  --muted: var(--office-muted);
  --line: var(--office-border);
}
:is(button,input,select,textarea) { font-family: var(--office-font); }
:is(.global-header,.main-sidebar,.workspace-settings-modal,.auth-screen,.onecall,.integrated-workspace) :is(h1,h2,h3,h4,button,input,select,textarea,label,small) {
  font-family: var(--office-font);
}
.integrated-workspace .unified-shell * { font-family: var(--office-font); }
:is(.workspace-settings-modal,.auth-screen) :is(h2,h3),
.integrated-workspace :is(.unified-page-head h1,.finance-page-head h1,.module-card h3),
.onecall :is(.h1,.h3) { font-weight: 650; letter-spacing: -.025em; }
.workspace-settings-modal :is(.settings-field,.settings-heading p,.member-list b,.plan-grid b,.passkey-card b,.desktop-folder-card b) { font-size: 14px; line-height: 1.5; }
.workspace-settings-modal :is(small,.member-list em) { font-size: 13px; line-height: 1.5; }
.workspace-settings-modal :is(input,select,textarea) { font-size: 15px; font-weight: 400; }
.workspace-settings-modal > nav button { font-size: 14px; }
:is(.workspace-menu,.profile-menu,.new-menu,.search-results) { color: var(--office-text); }
.workspace-hub-menu button b { color: var(--office-text) !important; }
.workspace-hub-menu :is(button small,header small) { color: var(--office-muted) !important; font-size: 12px; }
:is(.workspace-menu,.profile-menu,.new-menu) button { font-size: 14px; }
.integrated-workspace .unified-content :is(.finance-stat p,.finance-card-head p,.finance-summary-strip small,.finance-module-foot,.finance-legend,.finance-y,.finance-months,.account-row small,.audit-row small,.report-row small,.close-row small) { font-size: 12px; line-height: 1.45; }
.integrated-workspace .unified-content :is(.finance-row-head,.account-head,.record-form span,.admin-card label>span) { font-size: 13px; }
.integrated-workspace .unified-content :is(.finance-toolbar button,.finance-period button,.record-form input) { font-size: 14px; }
.smartmail-app :is(.editor-toolbar,.editor-menu,.message-toolbar,.reading-toolbar) :is(button,select) { font-family: var(--office-font); font-size: 13px; }
.smartmail-app :is(.black-button,.compose-button,.iris-launcher,.ai-write-button),
.integrated-workspace :is(.unified-create,.primary-btn),
.onecall .btn:not(.ghost):not(.outline):not(.quiet):not(.danger) {
  background: color-mix(in srgb,var(--office-accent,#4f8ff7) 78%,#172033) !important;
  border-color: color-mix(in srgb,var(--office-accent,#4f8ff7) 78%,#172033) !important;
  color: #fff;
}
.smartmail-app :is(.iris-panel>header,.compose-modal>header) { background: #172a49; color: #fff; }
.smartmail-app :is(.ai-write-bar,.voice-strip,.passkey-card,.desktop-folder-card) {
  background: color-mix(in srgb,var(--office-accent,#4f8ff7) 6%,white);
  border-color: var(--office-border);
}
.onecall .onecall-body { background: var(--office-surface); }
.onecall :is(.card,.tile),.smartmail-app .panel { border-color: var(--office-border); }
.onecall :is(.small,.input,.select,.textarea) { font-size: 14px; }
.onecall :is(.chart-label,.tile .s) { color: var(--office-muted); font-size: 12px; }
:is(button,a,input,select,textarea) {
  transition: background-color var(--office-motion),border-color var(--office-motion),box-shadow var(--office-motion),color var(--office-motion);
}
:is(button,a,input,select,textarea):focus-visible {
  outline: 2px solid color-mix(in srgb,var(--office-accent,#4f8ff7) 70%,#172033);
  outline-offset: 3px;
}
@keyframes office-appear { from { opacity: 0; } to { opacity: 1; } }
:is(.workspace-menu,.profile-menu,.new-menu,.workspace-settings-modal,.unified-modal>section,.iris-panel) { animation: office-appear 140ms ease-out; }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
