html,body { margin:0; font-family:"Segoe UI",Arial,sans-serif; background:var(--mud-palette-background,#F1F7FF); color:var(--mud-palette-text-primary,#334155); }
* { box-sizing:border-box; }
.app-header { min-height:100px; background:var(--mud-palette-surface); display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px max(24px,calc((100vw - 1160px)/2)); border-bottom:1px solid var(--mud-palette-background-gray); }
.brand-logo { display:block; width:270px; max-width:100%; height:auto; }
.app-toolbar { border-bottom:1px solid var(--mud-palette-background-gray); }
.app-sidebar { border-right:1px solid var(--mud-palette-background-gray); }
.sidebar-brand { padding:24px 16px; align-items:center; gap:4px; }
.sidebar-brand .brand-logo { width:224px; }
.app-sidebar nav { padding:0 8px 24px; }
.app-sidebar .mud-nav-link { min-height:48px; padding:12px; border-radius:8px; font-size:.875rem; }
.app-sidebar .mud-nav-link .mud-nav-link-text { margin-left:12px; white-space:normal; }
.app-sidebar .mud-nav-link.active { background:var(--mud-palette-background-gray); font-weight:600; }
.mobile-brand, .mobile-menu-button { display:none!important; }
.app-content { min-width:0; }
.app-main { max-width:1208px; padding:32px 24px; margin:auto; min-height:calc(100vh - 150px); }
@media(max-width:959.98px) {
    .mobile-menu-button { display:inline-flex!important; }
    .mobile-brand { display:block!important; margin-left:8px; }
    .mobile-brand img { display:block; width:170px; max-width:100%; height:auto; }
    .sidebar-brand .brand-logo { width:180px; }
}
h1,h2 { color:var(--mud-palette-primary); }
.welcome { padding:24px 0; }
.intro-copy { max-width:720px; line-height:1.8; }
.step-card { height:100%; border:1px solid var(--mud-palette-background-gray); }
.login-card { max-width:460px; margin:20px auto; }
.field { margin:20px 0; }
.field label { display:block; font-weight:600; margin-bottom:8px; }
.field input { width:100%; min-height:48px; border:1px solid var(--mud-palette-text-secondary); border-radius:8px; padding:12px; font:inherit; background:white; }
.validation-message { color:var(--mud-palette-error); margin-top:6px; }
/* Keep the shared keyboard ring above MudBlazor layout control resets. */
:focus-visible, .mud-layout :focus-visible { outline:3px solid var(--mud-palette-primary); outline-offset:3px; }
/* Keep navigation focus for screen readers without boxing non-interactive page headings. */
.app-main h1[tabindex="-1"]:focus { outline:none; }
.diagnostics { display:grid; grid-template-columns:200px 1fr; gap:16px; margin:0; }
.diagnostics dt { font-weight:600; } .diagnostics dd { margin:0; overflow-wrap:anywhere; }
footer { text-align:center; color:var(--mud-palette-text-secondary); padding:24px; font-size:14px; }
@media(max-width:600px) { .app-header { padding:16px; min-height:80px; } .brand-logo { width:190px; } .app-main { padding:28px 16px; } .mud-typography-h3 { font-size:2rem!important; } .login-card { padding:24px!important; } .diagnostics { grid-template-columns:1fr; gap:8px; } .diagnostics dd { margin-bottom:12px; } }

.page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.action-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.account-card { height:100%; overflow-wrap:anywhere; }
.test-email-panel { padding:16px; background:var(--mud-palette-background); border-radius:8px; }
.rich-editor { border:1px solid var(--mud-palette-text-secondary); border-radius:8px; overflow:hidden; }
.editor-toolbar { display:flex; flex-wrap:wrap; gap:4px; padding:8px; background:var(--mud-palette-background-gray); }
.editor-toolbar .mud-button-root { min-width:44px; min-height:44px; }
.editor-content { min-height:180px; padding:16px; background:var(--mud-palette-surface); outline-offset:-3px; overflow-wrap:anywhere; }
.editor-content p,.email-preview p { margin:0 0 1em; }
.editor-content ul,.editor-content ol,.email-preview ul,.email-preview ol { padding-left:24px; margin-bottom:1em; }
.editor-content ul,.email-preview ul { list-style:disc; }
.editor-content ol,.email-preview ol { list-style:decimal; }
.editor-content a,.email-preview a { color:var(--mud-palette-primary); text-decoration:underline; }
.editor-link-row { padding:12px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.email-preview { overflow-wrap:anywhere; }
.plain-preview { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; padding:16px; background:var(--mud-palette-background); }

.contact-search { display:flex; gap:16px; align-items:flex-start; max-width:660px; }
.contact-search .mud-button-root { margin-top:8px; min-height:48px; }
.contacts-table td { overflow-wrap:anywhere; }
.contact-details { display:grid; grid-template-columns:minmax(160px,240px) minmax(0,1fr); gap:16px; }
.contact-details dt { font-weight:600; } .contact-details dd { margin:0; overflow-wrap:anywhere; }
.contact-notes { white-space:pre-wrap; overflow-wrap:anywhere; }
.paste-label { display:block; font-weight:600; margin-bottom:8px; }
.contacts-paste { display:block; width:100%; padding:14px; min-height:200px; resize:vertical; border:1px solid var(--mud-palette-text-secondary); border-radius:8px; background:var(--mud-palette-surface); color:var(--mud-palette-text-primary); font:inherit; }
.contact-file-input { display:block; max-width:100%; min-height:48px; padding:10px 0; }
@media(max-width:600px) { .contact-details { grid-template-columns:1fr; gap:8px; } .contact-details dd { margin-bottom:12px; } }

.plain-email { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 1rem; font: inherit; }
.email-preview { overflow-wrap: anywhere; }
.contact-details dd { overflow-wrap: anywhere; }

.schedule-input { display: block; max-width: 100%; margin-top: .5rem; padding: .75rem; border: 1px solid #777; border-radius: 4px; font: inherit; background: white; color: #172b4d; }

.link-activity-summary { min-width: 0; overflow-wrap: anywhere; }
footer a { display: inline-block; padding: 4px 0; margin-left: .25rem; }
