/* Shared page frame: one outer width and title scale across the site. */
.site-layout {
    --site-container-width: 1160px;
    --site-gutter: 48px;
    --site-title-size: 28px;
}
.site-layout .container,
.site-layout .account-shell {
    width: min(var(--site-container-width), calc(100% - var(--site-gutter)));
    max-width: var(--site-container-width);
    margin-inline: auto;
    padding-inline: 0;
}
.site-layout #main-content h1 {
    margin: 0 0 12px;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: var(--site-title-size);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.02em;
    font-style: normal;
    text-align: left;
    overflow-wrap: anywhere;
}
.site-layout .account-page-description { margin-top: 0; }
.site-layout #main-content .home-hero h1,
.site-layout #main-content .not-found-section h1 { text-align: center; }
.site-layout .brand-tagline time { color: var(--ink, #0b0b0b); }
.site-layout .search-control { border-color: var(--link); }

/* Shared controls, including the legacy admin and service templates. */
.site-layout .btn,
.site-layout .ui-button {
    min-height: 44px;
    padding: 10px 17px;
    border-radius: 6px;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
.site-layout .btn-sm,
.site-layout .ui-button-sm { min-height: 34px; padding: 7px 11px; font-size: 12px; }
.site-layout .btn-secondary,
.site-layout .btn-outline-primary,
.site-layout .ui-button-secondary,
.site-layout .ui-button-outline {
    color: var(--link, #003399);
    background: var(--surface, #fcfcfb);
    border: 1px solid var(--link, #003399);
}
.site-layout .btn-secondary:hover,
.site-layout .btn-outline-primary:hover,
.site-layout .ui-button-secondary:hover,
.site-layout .ui-button-outline:hover {
    color: var(--link, #003399);
    background: var(--info-soft, #e8edf7);
    border-color: var(--link, #003399);
}
.site-layout .company-toolbar-action { min-height: 44px; border-radius: 6px; }
.site-layout .mcp-copy-button { padding-inline: 12px; }
.site-layout .newsletter-controls .btn { padding-inline: 12px; white-space: nowrap; }
.site-layout .ui-table-wrap,
.site-layout .ui-card:has(table),
.site-layout .admin-card:has(table),
.site-layout .table-responsive { border-radius: 0; }
.site-layout .account-page-body > .account-card,
.site-layout .account-page-body > section > .account-card { padding: 28px; }
.site-layout .account-alert-section-heading h2,
.site-layout .account-alert-settings > h2 { font-size: 20px; line-height: 1.25; }
.site-layout .mcp-about-content > .account-panel-card:first-child { margin-top: 0; }
.site-layout .home-hero .company-search,
.site-layout .page-hero-search .company-search {
    width: 100%;
    max-width: 800px;
    margin-inline: auto;
}
.site-breadcrumb-bar {
    padding-block: 14px;
    background: var(--surface, #fff);
}
.site-breadcrumb-bar .inner-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 9px;
    margin: 0;
    min-height: 20px;
    color: var(--muted, #52514e);
    font-size: 12px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.site-breadcrumb-bar .inner-breadcrumbs a { color: inherit; text-decoration: none; }
.site-breadcrumb-bar .inner-breadcrumbs a:hover { color: var(--link, #003399); text-decoration: underline; }
.site-breadcrumb-bar [aria-current="page"] { color: var(--ink, #193244); }
.site-breadcrumb-bar [aria-hidden="true"] { color: var(--subtle, #898781); }
.site-layout .admin-header { display: block; padding: 0; }
.site-layout .admin-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 16px; }
.site-layout .admin-header-inner > a { flex-shrink: 0; color: #fff; font-size: 18px; font-weight: 600; text-decoration: none; }
.site-layout .admin-title { flex-wrap: wrap; }
.site-layout.admin-body {
    --ink: #0b0b0b;
    --muted: #52514e;
    --surface: #fcfcfb;
    --paper: #f9f9f7;
    --line: rgba(11, 11, 11, .10);
    --link: #003399;
    --info-soft: #e8edf7;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink);
    background: var(--paper);
}
.site-layout .admin-card,
.site-layout .admin-stats > div { padding: 28px; border-color: var(--line); background: var(--surface); }
.site-layout .admin-main { padding-block: 30px 32px; }
.site-layout.admin-body #main-content h1,
.site-layout.admin-body #main-content h2,
.site-layout.admin-body #main-content h3 { color: var(--ink); }
.site-layout.admin-body #main-content a:not(.btn) { color: var(--link); }
.site-layout .admin-card:not(:has(table)),
.site-layout .admin-stats > div { border-radius: 10px; }
.site-layout .admin-card h2,
.site-layout .admin-section-title { font-size: 20px; font-weight: 650; line-height: 1.25; }
.site-layout.admin-body .table { font-size: 13px; }
.site-layout.admin-body .table th,
.site-layout.admin-body .table td { padding: 14px 20px; border-color: var(--line); }
.site-layout.admin-body .table thead th { font-size: 11px; font-weight: 650; color: #fff; background: #003399; }
@media (max-width: 767px) {
    .site-layout { --site-gutter: 32px; --site-title-size: 24px; }
    .site-breadcrumb-bar { padding-block: 12px; }
    .site-layout .admin-header-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
    .site-layout .account-page-body > .account-card,
    .site-layout .account-page-body > section > .account-card,
    .site-layout .subscription-plan,
    .site-layout .admin-card,
    .site-layout .admin-stats > div { padding: 20px; }
    .site-layout .btn-sm,
    .site-layout .ui-button-sm { min-height: 44px; }
    .site-layout input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .site-layout select,
    .site-layout textarea,
    .site-layout textarea.form-control,
    .site-layout .ts-control,
    .site-layout .ts-control input { font-size: 16px; }
}
@media print {
    .site-breadcrumb-bar { display: none; }
}
