/* Shared experience tokens. Loaded after the existing component styles. */
:root {
    --ink: #182f3e;
    --muted: #536775;
    --teal: #006d65;
    --bg: #f3f6f8;
    --line: #dce4ea;
    --ui-border: #dce4ea;
    --ui-surface-muted: #f5f8fa;
    --ui-radius: 14px;
    --ui-control-height: 44px;
    --ui-shadow: 0 2px 4px rgb(18 39 55 / 2%), 0 12px 32px rgb(18 39 55 / 4%);
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;
    --space-8: 32px;
}
body { -webkit-font-smoothing: antialiased; }
h1 { font-weight: 750; letter-spacing: -.8px; line-height: 1.2; }
h2 { line-height: 1.35; }
.workspace { padding: var(--space-8); }
.module-header { padding: 24px 24px 16px; border-radius: var(--ui-radius); }
.module-header .page-heading h1 { font-size: clamp(25px, 2.2vw, 32px); }
.page-heading { align-items: flex-start; }
.page-heading > .icon { margin-top: 4px; color: var(--teal); }
.page-subheading { max-width: 78ch; line-height: 1.65; margin-top: 8px; }
.module-header .workspace-tabs { margin-top: 16px; padding-top: 12px; }
.panel { border-color: var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
.panel.flush { padding: 0; }
.topbar { border-bottom-color: var(--ui-border); }
.sidebar { background: #152b3b; }
.sidebar nav > a, .sidebar .nav-module > summary { min-height: 44px; }
.sidebar .nav-children a { padding-top: 10px; padding-bottom: 10px; }
.button { min-height: var(--ui-control-height); border-radius: 9px; font-size: 14px; gap: 8px; }
.button.primary { background: var(--teal); box-shadow: 0 2px 3px rgb(0 67 61 / 12%); }
.button.primary:hover { background: #005b54; }
.button.secondary { border-color: #bacbd5; }
.button.secondary:hover { background: #f2f7f8; }
.button:disabled, button[disabled] { opacity: .65; cursor: not-allowed; box-shadow: none; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
    min-height: var(--ui-control-height); border-color: #a9bcc9; border-radius: 8px;
}
input::placeholder, textarea::placeholder { color: #607483; opacity: 1; }
input[readonly], textarea[readonly] { background: #f4f7f9; }
[aria-invalid="true"] { border-color: #b33730; }
.field-error { color: #a52d27; font-size: 13px; }
.notice { line-height: 1.65; border-radius: 10px; }
.error-summary a { color: inherit; text-decoration: underline; }
.sticky-actions { border-radius: 0 0 10px 10px; }
dialog { border: 1px solid var(--ui-border); border-radius: 16px; box-shadow: 0 24px 80px rgb(18 39 55 / 22%); max-width: min(620px, calc(100vw - 32px)); }
dialog::backdrop { background: rgb(10 27 39 / 45%); }
thead { background: #f3f7f9; }
th { color: #475f70; }
tbody tr:hover { background: #f8fbfc; }
.table-link { font-size: 12px; }
.badge { border-radius: 6px; }
.section-heading { align-items: center; }
.section-heading > a { white-space: normal; }
.getting-started { padding: 0; }
.getting-started > summary { padding: 18px 24px; color: var(--ink); font-size: 15px; font-weight: 650; }
.getting-started[open] > summary { border-bottom: 1px solid var(--line); }
.start-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 20px 24px; }
.start-guide-item { display: flex; align-items: flex-start; gap: 12px; color: var(--ink); min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
a.start-guide-item:hover { background: #f3f9f8; border-color: #92bcb8; text-decoration: none; }
.start-guide-item > span:nth-child(2) { flex: 1; min-width: 0; }
.start-guide-item strong { font-size: 14px; }
.start-guide-item small { margin-top: 6px; line-height: 1.6; font-size: 13px; }
.start-guide-item > .icon { width: 18px; height: 18px; color: var(--teal); }
.step-number { display: grid; place-items: center; flex: 0 0 28px; height: 28px; background: #e7f3f0; border-radius: 50%; color: var(--teal); font-size: 13px; font-weight: 750; }
.getting-started > p { padding: 0 24px 18px; margin: 0; }
.workflow-guide { border: 1px solid #b7d7d0; border-left: 4px solid var(--teal); background: #edf7f3; padding: 16px 20px; border-radius: 10px; margin-bottom: 20px; }
.workflow-guide strong { font-size: 14px; }
.workflow-guide p { margin: 6px 0 0; font-size: 13px; color: #365d54; }
.master-data-workspace .master-search-filter { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.master-search-filter > label { flex: 1 1 180px; }
.filter-bar label, .qms-document-page > .filter-bar label { font-size: 13px; }
.filter-bar label input, .filter-bar label select,
.qms-document-page > .filter-bar label input, .qms-document-page > .filter-bar label select { font-size: 14px; min-height: 44px; }
.filter-bar .button, .qms-document-page > .filter-bar .button { min-height: 44px; }
.master-data-workspace .inline-master-create .leading-add,
.master-data-workspace .material-toolbar .leading-add { min-height: 44px; }
.master-data-workspace .material-create-buttons { flex-wrap: wrap; }
.empty { padding: 40px 24px; }
.sign-in-panel { box-shadow: 0 20px 64px rgb(18 39 55 / 9%); border-radius: 18px; }
.sign-in-content > p.muted { margin-top: 10px; line-height: 1.6; }
@media (max-width: 1100px) {
    .start-guide { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .workspace { padding: 20px 16px; }
    .module-header { padding: 20px 16px 12px; }
    .panel { border-radius: 12px; }
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size: 16px; }
    .filter-bar label input, .filter-bar label select,
    .qms-document-page > .filter-bar label input, .qms-document-page > .filter-bar label select { font-size: 16px; }
    .module-header .workspace-tabs .button { min-height: 44px; }
    .getting-started > summary, .start-guide { padding: 16px; }
    .getting-started > p { padding: 0 16px 16px; }
    .form-actions { flex-wrap: wrap; }
    .form-actions .button.primary { flex: 1 1 180px; }
    .workflow-guide { padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
    .getting-started, .workflow-guide { display: none; }
    .panel, .module-header { box-shadow: none; }
    tbody tr:hover { background: transparent; }
}

/* Populated records retain readable summaries; editors get the full page width. */
.enquiry-register .form-grid { margin-bottom: 24px; }
.enquiry-register .actions, .actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.new-enquiry-action { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 9px; background: var(--teal); color: white; font-size: 14px; font-weight: 650; }
.new-enquiry-action::before { content: ''; }
.record-detail-row[hidden] { display: none !important; }
.record-detail-row > td { padding: 0; background: #f5f9fb; }
.enquiry-detail > summary { padding: 16px 20px; color: var(--ink); font-size: 14px; font-weight: 650; }
.enquiry-detail-content { padding: 20px 24px; }
.enquiry-detail-content > p { max-width: 90ch; }
.enquiry-detail-content > details { padding: 16px; background: white; border: 1px solid var(--line); border-radius: 10px; margin-bottom: 16px; }
.enquiry-detail-content > details > summary { font-size: 14px; font-weight: 650; }
.enquiry-activity-form { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 24px; }
.enquiry-activity-form fieldset { grid-column: 1 / -1; }
.enquiry-register td { overflow-wrap: anywhere; }
.enquiry-register th:last-child { min-width: 150px; }
.table-scroll-hint { font-size: 12px; color: var(--muted); padding: 10px 12px; background: #f1f6f8; border-radius: 7px; margin-bottom: 8px; }
.table-wrap:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
.table-wrap { max-width: 100%; }
.table-wrap td, .table-wrap th { overflow-wrap: anywhere; }
.table-wrap td .button { white-space: normal; }
fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 16px; }
legend { font-size: 14px; font-weight: 650; padding: 0 6px; }
@media (max-width: 760px) {
    .enquiry-detail-content { padding: 16px; }
    .enquiry-register .form-grid { grid-template-columns: minmax(0, 1fr); }
    .enquiry-register td { min-width: 0; }
    .enquiry-register .record-detail-row { padding: 0; }
    .enquiry-register .record-detail-row > td { padding: 0; }
    .enquiry-register td[data-label]::before { font-size: 12px; }
}
@media print {
    .table-scroll-hint { display: none; }
}

@media (min-width: 601px) {
    .enquiry-register table { min-width: 960px; }
    .enquiry-register th:nth-child(1) { min-width: 180px; }
    .enquiry-register th:nth-child(2) { min-width: 250px; }
    .enquiry-register th:nth-child(5) { min-width: 100px; }
    .enquiry-register th { overflow-wrap: normal; }
    .enquiry-register th:nth-child(3) { min-width: 125px; }
    .enquiry-register th:nth-child(4) { min-width: 100px; }
}

.workspace-tabs .workspace-tab-disabled { color: #435965; opacity: 1; cursor: pointer; }
.workspace-tabs .workspace-tab-disabled:hover { border-color: #a9bcc9; background: #eaf0f3; }
nav[aria-label="Record pages"] a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--ui-border); border-radius: 8px; }

/* Review warnings and actions remain distinct from ordinary record content. */
.callout { margin: 16px 0; padding: 16px 18px; border: 1px solid #e2c18a; border-left: 4px solid #a66a18; border-radius: 10px; background: #fff8e9; color: #674715; overflow-wrap: anywhere; }
.callout p:last-child { margin-bottom: 0; }
.inline-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.inline-form > label { flex: 1 1 220px; min-width: 0; }
.inline-form > span { flex: 1 1 240px; overflow-wrap: anywhere; }
.section-heading > div { min-width: 0; }
.section-heading p { overflow-wrap: anywhere; }
.checkbox { min-height: 44px; }
.table-wrap td[data-label="Actions"] > a, .table-wrap td[data-label="View"] > a, .table-wrap td[data-label="Revise"] > a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 4px; }
section[id] { scroll-margin-top: 84px; }

@media (max-width: 900px) {
    .sidebar-brand { gap: 8px; }
    .sidebar-brand .brand { flex: 1 1 0; width: auto; margin: 0 0 24px; }
    .sidebar .sidebar-close { flex: 0 0 44px; width: 44px; height: 44px; margin: 0 0 24px; }
    .sidebar-brand .brand-copy > small { flex-wrap: wrap; }
}

.enquiry-activity-form label > small { margin: 4px 0 8px; line-height: 1.5; }

.recovery-shell { min-height: 100dvh; display: grid; align-items: center; padding: 32px 16px; }
.recovery-panel { width: 100%; max-width: 620px; margin: 0 auto; padding: 32px; }
.recovery-panel h1 { font-size: clamp(24px, 4vw, 32px); }
.recovery-panel > p { line-height: 1.7; }
.recovery-panel .actions { margin-top: 24px; }
@media (max-width: 520px) { .recovery-panel { padding: 24px; } }

.sales-marketing-tabs { display: flex; flex-wrap: wrap; margin: 0 0 16px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.sales-marketing-tabs a { min-height: 44px; display: inline-flex; align-items: center; white-space: normal; }
.sales-marketing-tabs a:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
