:root {
  --bg: #f6f7fb;
  --surface: #ffffff;
  --surface-soft: #fafaff;
  --surface-purple: #f4efff;
  --ink: #0f1a46;
  --heading: #07133f;
  --body: #405173;
  --muted: #74809b;
  --line: #e2e7f0;
  --line-strong: #cfd7e4;
  --purple: #7132e7;
  --purple-2: #8e3dff;
  --purple-dark: #5320ba;
  --purple-soft: #f2ebff;
  --magenta: #c943b4;
  --green: #0a9d69;
  --green-soft: #eafaf4;
  --orange: #e8941a;
  --orange-soft: #fff6e7;
  --red: #ef545e;
  --red-soft: #fff0f1;
  --blue: #2694db;
  --blue-soft: #eaf7ff;
  --shadow-sm: 0 1px 2px rgba(25, 31, 58, .04), 0 8px 24px rgba(31, 42, 84, .04);
  --shadow-md: 0 20px 60px rgba(26, 34, 68, .14);
  --sidebar-width: 290px;
  --topbar-height: 64px;
  --radius: 11px;
  --radius-lg: 17px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; font-family: var(--font); color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }
::selection { background: #dccaff; color: var(--heading); }

.icon { flex: 0 0 auto; }
.app-layout { min-height: 100vh; display: flex; background: #f7f8fc; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column; z-index: 40; padding: 15px 16px 14px; }
.app-main { width: calc(100% - var(--sidebar-width)); margin-left: var(--sidebar-width); min-height: 100vh; }
.page-area { padding-top: var(--topbar-height); min-height: 100vh; }

.sidebar-brand-row { height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 1px 3px 3px; }
.brand-link { display: inline-flex; align-items: center; min-width: 145px; height: 40px; text-decoration: none; }
.mediqo-logo { width: 138px; height: auto; max-height: 39px; object-fit: contain; object-position: left center; }
.brand-wordmark { display: none; color: #6d31e5; font-weight: 700; font-size: 25px; letter-spacing: -.07em; }
.mediqo-logo.failed { display: none; }
.mediqo-logo.failed + .brand-wordmark { display: inline-block; }
.icon-button { border: 0; background: transparent; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 9px; cursor: pointer; color: #526281; }
.icon-button:hover { background: #f6f3ff; color: var(--purple); }
.sidebar-collapse { color: #6e7d99; }
.practice-selector { width: 100%; min-height: 47px; border: 1px solid #dde4ee; background: #fff; border-radius: 12px; display: flex; align-items: center; gap: 10px; padding: 7px 11px; cursor: pointer; box-shadow: 0 1px 3px rgba(32,45,75,.02); margin: 7px 0 12px; }
.practice-selector:hover { border-color: #cfc0f5; }
.practice-name { min-width: 0; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; text-align: left; font-weight: 500; }
.avatar { width: 38px; height: 38px; border-radius: 50%; display: inline-grid; place-items: center; background: #dcebff; color: #234b9b; font-size: 13px; font-weight: 600; }
.avatar-sm { width: 31px; height: 31px; font-size: 11px; }
.sidebar-nav { overflow-y: auto; scrollbar-width: thin; padding: 0 0 8px; }
.nav-group { display: flex; flex-direction: column; gap: 3px; }
.sidebar-link { display: flex; align-items: center; gap: 13px; min-height: 50px; padding: 0 16px; border-radius: 8px; text-decoration: none; color: #455674; font-size: 15px; transition: background .15s ease, color .15s ease; }
.sidebar-link:hover { background: #faf8ff; color: var(--purple); }
.sidebar-link.active { background: linear-gradient(90deg, #f3edff, #f6f0ff); color: #6d2be4; font-weight: 600; }
.sidebar-icon { display: inline-grid; width: 28px; place-items: center; }
.nav-divider { height: 1px; background: var(--line); margin: 10px 6px 11px; }
.sidebar-user-wrap { position: relative; margin-top: auto; padding-top: 10px; }
.sidebar-user { width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 12px; display: flex; align-items: center; gap: 10px; padding: 8px 9px; cursor: pointer; }
.sidebar-user:hover { border-color: #d6c7f8; }
.user-copy { min-width: 0; flex: 1; text-align: left; display: flex; flex-direction: column; gap: 2px; }
.user-copy strong { font-size: 12.5px; font-weight: 500; }
.user-copy small { color: #8691a8; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-menu { position: absolute; bottom: 59px; left: 0; right: 0; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 5px; box-shadow: var(--shadow-md); z-index: 60; }
.user-menu button { width: 100%; border: 0; background: transparent; border-radius: 7px; padding: 9px 10px; text-align: left; cursor: pointer; font-size: 12.5px; color: var(--body); }
.user-menu button:hover { background: var(--purple-soft); color: var(--purple); }

.topbar { position: fixed; top: 0; right: 0; left: var(--sidebar-width); height: var(--topbar-height); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); display: flex; align-items: center; gap: 12px; padding: 0 24px; z-index: 35; backdrop-filter: blur(8px); }
.topbar-spacer { flex: 1; }
.mobile-menu { display: none; }
.pms-button, .help-button, .top-avatar { height: 39px; border: 1px solid var(--line); background: #fff; border-radius: 9px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; cursor: pointer; color: #304464; font-size: 13px; }
.pms-button { background: #effcf7; border-color: #d8f2e8; color: #2a5962; }
.pms-button .icon { color: var(--green); }
.pms-button:hover { background: #e4f9f0; }
.help-button:hover { background: #faf8ff; border-color: #dfd2fa; }
.top-avatar { border: 0; padding: 0 3px 0 6px; }
.alert-wrap { position: relative; }
.unread-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--purple); position: absolute; top: 4px; right: 4px; border: 1px solid #fff; }
.alerts-popover { position: absolute; top: 48px; right: -70px; width: 272px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 36px rgba(28,37,71,.12); padding: 12px; z-index: 80; }
.popover-title { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 8px; }
.popover-title strong { font-size: 14px; }
.count-pill { min-width: 29px; height: 29px; padding: 0 8px; border-radius: 999px; display: grid; place-items: center; background: var(--purple-soft); color: var(--purple); font-weight: 600; }
.alert-mini { width: 100%; border: 0; background: transparent; display: flex; align-items: center; gap: 11px; padding: 8px 4px; font-size: 13px; cursor: pointer; text-align: left; }
.alert-mini:hover { color: var(--purple); }
.dot { width: 9px; height: 9px; border-radius: 50%; }
.dot.purple { background: #7132e7; }.dot.red { background: #ef545e; }.dot.orange { background: #f4a01b; }
.view-all { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 0; border-top: 1px solid var(--line); background: transparent; padding: 12px 3px 1px; margin-top: 7px; color: var(--purple); cursor: pointer; font-weight: 500; font-size: 12.5px; }

/* Ask home */
.assistant-home { min-height: calc(100vh - var(--topbar-height)); display: flex; flex-direction: column; align-items: center; padding: 128px 56px 40px; position: relative; background: radial-gradient(circle at 45% 20%, rgba(122,60,255,.025), transparent 36%), #f8f9fc; }
.assistant-hero { text-align: center; max-width: 950px; }
.sparkle-mark { color: var(--purple); display: inline-grid; place-items: center; margin-bottom: 22px; transform: scale(1.3); }
.assistant-hero h1 { margin: 0; font-size: clamp(32px, 3vw, 42px); line-height: 1.15; letter-spacing: -.035em; color: #081441; font-weight: 700; }
.assistant-hero p { color: #647392; font-size: 17px; line-height: 1.55; margin: 14px 0 0; }
.suggestion-grid { width: min(100%, 1110px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 38px; }
.suggestion-card { min-height: 145px; border: 1px solid #dfe5ef; background: rgba(255,255,255,.96); border-radius: 11px; padding: 19px 18px; display: grid; grid-template-columns: 50px 1fr 22px; align-items: start; gap: 14px; text-align: left; cursor: pointer; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.suggestion-card:hover { transform: translateY(-2px); border-color: #cfbdf8; box-shadow: 0 10px 24px rgba(67,46,112,.06); }
.suggestion-icon { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; }
.suggestion-icon.purple { color: #7a34ec; background: #f0e8ff; }.suggestion-icon.blue { color: #188ce6; background: #e6f5ff; }.suggestion-icon.coral { color: #ea6c42; background: #fff0ea; }.suggestion-icon.green { color: #10a66f; background: #e8f9f2; }.suggestion-icon.pink { color: #ef4361; background: #fdebef; }.suggestion-icon.gold { color: #e9990d; background: #fff4df; }
.suggestion-copy { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding-top: 4px; }
.suggestion-copy strong { color: #0b1845; font-size: 16px; }
.suggestion-copy span { color: #6d7a96; font-size: 14px; line-height: 1.45; }
.suggestion-arrow { color: var(--purple); padding-top: 7px; }
.home-composer-wrap { width: min(100%, 910px); margin-top: auto; padding-top: 70px; }
.chat-composer { background: #fff; border: 1px solid #d6deea; border-radius: 10px; overflow: hidden; box-shadow: 0 3px 9px rgba(20,36,70,.025); }
.composer-main { min-height: 56px; display: flex; align-items: center; padding: 7px 8px 7px 17px; }
.composer-main textarea { flex: 1; min-height: 36px; max-height: 120px; border: 0; resize: none; outline: none; color: var(--ink); background: transparent; padding: 9px 5px; line-height: 1.4; font-size: 14px; }
.composer-main textarea::placeholder { color: #9aa7bd; }
.send-button { width: 47px; height: 43px; border-radius: 999px; border: 0; background: linear-gradient(135deg, #752bf0, #9e2fdd); color: #fff; display: grid; place-items: center; cursor: pointer; }
.send-button:disabled { opacity: .5; cursor: not-allowed; }
.composer-foot { border-top: 1px solid var(--line); min-height: 36px; display: flex; align-items: center; padding: 0 10px; }
.attach-button { width: 32px; height: 32px; border: 0; background: transparent; color: #4d6388; display: grid; place-items: center; cursor: pointer; }
.char-count { margin-left: auto; font-size: 11px; color: #8996ad; }

/* Conversation */
.conversation-page { min-height: calc(100vh - var(--topbar-height)); background: #fff; padding: 16px 26px 90px; }
.conversation-grid { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 326px; gap: 28px; align-items: start; }
.conversation-main { min-width: 0; }
.user-message-row { display: flex; justify-content: flex-end; align-items: flex-start; gap: 12px; margin: 0 0 14px 80px; }
.user-bubble { max-width: 720px; background: linear-gradient(100deg, #f5f0ff, #f3effe); border-radius: 8px; padding: 14px 16px 11px; color: #263968; font-size: 13.5px; line-height: 1.48; display: flex; flex-direction: column; gap: 8px; }
.user-bubble small { color: #9aa5ba; align-self: flex-end; font-size: 10px; }
.message-avatar { width: 40px; height: 40px; border-radius: 6px; display: grid; place-items: center; background: #f1eaff; color: var(--purple); }
.assistant-message-row { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 12px; align-items: start; }
.assistant-orb { width: 47px; height: 47px; border-radius: 50%; display: grid; place-items: center; color: var(--purple); background: #f4efff; }
.assistant-answer { border: 1px solid #dde5f1; border-radius: 8px; padding: 15px 16px 9px; color: #405173; font-size: 13.3px; line-height: 1.48; }
.answer-topline { display: flex; justify-content: flex-end; min-height: 23px; }
.demo-badge { display: inline-flex; width: fit-content; background: #f1eaff; color: #6b2be6; border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.answer-intro { margin: 2px 0 12px; color: #405173; }
.answer-sections { display: flex; flex-direction: column; gap: 9px; }
.answer-section { display: grid; grid-template-columns: 26px 1fr; gap: 10px; }
.section-number { width: 26px; height: 26px; border-radius: 50%; background: #f1ebff; color: #7432e7; display: grid; place-items: center; font-size: 12px; font-weight: 600; }
.answer-section h3 { margin: 2px 0 2px; font-size: 13.5px; color: #0d1b4d; }
.answer-section p { margin: 0; }
.answer-section ul { margin: 2px 0 0 18px; padding: 0; }
.risk-callout { margin: 12px 0; display: flex; gap: 9px; border: 1px solid #f2d5a6; background: #fff9ee; color: #7b5520; border-radius: 8px; padding: 10px 12px; }
.risk-callout div { display: flex; flex-direction: column; gap: 2px; }
.risk-callout strong { color: #604111; font-size: 12.5px; }
.risk-callout span { font-size: 11.8px; line-height: 1.45; }
.source-block { margin-top: 13px; background: linear-gradient(90deg, #f5f1ff, #f8f7ff); border-radius: 7px; padding: 8px 11px; }
.source-title { display: flex; align-items: center; gap: 8px; color: #5222b0; font-size: 11.5px; }
.source-block ol { list-style: none; padding: 0; margin: 5px 0 0; display: flex; flex-direction: column; gap: 2px; }
.source-block li { display: grid; grid-template-columns: 19px 1fr; font-size: 11.3px; color: #3157b1; }
.source-index::before { counter-increment: source; content: counter(source); width: 16px; height: 16px; border-radius: 50%; display: inline-grid; place-items: center; background: #efe7ff; color: #6b2be4; font-size: 9px; }
.source-block ol { counter-reset: source; }
.source-block small { color: #617294; }

.attachment-name { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #65708a; font-size: 10.5px; }
.prototype-note { color: #7f89a0; font-size: 9.8px; margin-top: 6px; }
.answer-actions { display: flex; align-items: center; gap: 8px; border-top: 1px solid #edf0f5; margin-top: 10px; padding-top: 8px; color: #8a95aa; font-size: 10.5px; }
.answer-actions button { border: 0; background: transparent; color: #4f6588; display: inline-flex; align-items: center; gap: 5px; padding: 3px; cursor: pointer; }
.answer-actions .saved { color: var(--purple); }
.internal-cta { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #d8c6ff; background: #f8f5ff; color: var(--purple); border-radius: 7px; padding: 8px 11px; margin-top: 12px; cursor: pointer; font-weight: 600; font-size: 12px; }
.related-rail { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 82px; }
.rail-card { border: 1px solid #dfe6f0; background: #fff; border-radius: 8px; overflow: hidden; }
.rail-heading { display: flex; align-items: center; gap: 12px; min-height: 53px; padding: 0 16px; border-bottom: 1px solid #e7ebf1; color: #7a31ea; }
.rail-heading strong { color: #0a1848; font-size: 13px; }
.related-question, .related-resource { width: 100%; border: 0; border-bottom: 1px solid #e9edf3; background: transparent; min-height: 58px; padding: 10px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; color: #405173; cursor: pointer; font-size: 12.4px; }
.related-question:last-child, .related-resource:last-child { border-bottom: 0; }
.related-question:hover, .related-resource:hover { background: #faf8ff; color: var(--purple); }
.related-resource span { display: flex; flex-direction: column; gap: 1px; }
.related-resource strong { font-weight: 400; color: #405173; }
.related-resource small { color: #7e8ca4; }
.rail-copy { padding: 14px 16px; color: var(--muted); font-size: 12.5px; line-height: 1.55; margin: 0; }
.conversation-composer-wrap { position: fixed; left: calc(var(--sidebar-width) + 27px); right: 26px; bottom: 10px; z-index: 20; }
.conversation-composer-wrap .chat-composer { max-width: 1198px; margin: 0 auto; }
.fallback-answer h2 { color: var(--heading); font-size: 18px; margin: 11px 0 5px; }
.fallback-suggestions { display: grid; gap: 7px; margin-top: 14px; }
.fallback-suggestions button { display: flex; align-items: center; justify-content: space-between; border: 1px solid #e2e4ec; background: #fff; color: #405173; padding: 10px 12px; border-radius: 7px; text-align: left; cursor: pointer; }
.assistant-loading { display: grid; grid-template-columns: 50px 1fr; gap: 12px; align-items: center; margin-top: 12px; }
.typing { width: fit-content; height: 42px; border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: center; gap: 5px; padding: 0 16px; }
.typing i { width: 6px; height: 6px; border-radius: 50%; background: #9d86cd; animation: bounce 1s infinite ease-in-out; }.typing i:nth-child(2){animation-delay:.12s}.typing i:nth-child(3){animation-delay:.24s}
@keyframes bounce { 0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1} }
.spinner { width: 17px; height: 17px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Common feature pages */
.feature-page { padding: 39px clamp(24px, 4vw, 58px) 70px; max-width: 1380px; margin: 0 auto; }
.page-heading-row { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin-bottom: 28px; }
.page-heading-row h1 { font-size: 32px; line-height: 1.2; margin: 6px 0 6px; color: var(--heading); letter-spacing: -.03em; }
.page-heading-row p { margin: 0; color: #6c7991; font-size: 14px; line-height: 1.5; }
.eyebrow { color: var(--purple); font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.primary-button, .secondary-button, .primary-small, .text-button, .outline-cta, .gradient-cta { border-radius: 8px; cursor: pointer; font-weight: 600; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.primary-button { min-height: 40px; padding: 0 15px; background: var(--purple); color: white; }
.primary-button:hover { background: #6329ce; }
.secondary-button { min-height: 38px; padding: 0 14px; background: white; color: #2f4162; border-color: #dce2ec; }
.secondary-button:hover { border-color: #cbb8f6; color: var(--purple); }
.secondary-button.small { min-height: 32px; font-size: 11.5px; }
.primary-small { min-height: 32px; padding: 0 11px; background: var(--purple); color: white; font-size: 11px; }
.text-button { border: 0; background: transparent; color: #54698e; min-height: 32px; padding: 0 5px; font-size: 11.5px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-sm); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px; border-bottom: 1px solid #e8edf3; }
.panel-heading h2 { margin: 0; font-size: 15px; color: var(--heading); }
.panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }

/* Accreditation */
.readiness-grid { display: grid; grid-template-columns: 1.8fr .8fr .8fr; gap: 14px; margin-bottom: 17px; }
.readiness-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; min-height: 138px; padding: 18px; box-shadow: var(--shadow-sm); }
.readiness-score { display: flex; align-items: center; gap: 20px; }
.ring { width: 92px; height: 92px; border-radius: 50%; background: conic-gradient(var(--purple) 0 var(--score), #eeeaf8 var(--score) 360deg); display: grid; place-items: center; position: relative; flex: 0 0 auto; }
.ring::after { content: ''; position: absolute; inset: 8px; background: #fff; border-radius: 50%; }
.ring div { z-index: 1; display: flex; flex-direction: column; align-items: center; }
.ring strong { font-size: 20px; color: var(--heading); }.ring span { font-size: 10px; color: var(--muted); }
.label { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.readiness-card h2 { font-size: 17px; margin: 6px 0 5px; }.readiness-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.big-number { display: block; color: var(--heading); font-size: 36px; line-height: 1.1; margin: 12px 0 3px; }
.feature-split { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .75fr); gap: 17px; }
.legend { display: flex; gap: 12px; font-size: 10px; color: var(--muted); }.legend span { display: flex; align-items: center; gap: 5px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; }.status-dot.ready{background:var(--green)}.status-dot.action-required{background:var(--red)}
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.data-table th { padding: 9px 14px; text-align: left; color: #8190a8; font-size: 9.5px; text-transform: uppercase; letter-spacing: .04em; background: #fbfcfe; border-bottom: 1px solid #e8edf3; }
.data-table td { padding: 12px 14px; border-bottom: 1px solid #edf0f5; vertical-align: top; color: #435576; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td:first-child { min-width: 240px; }.data-table strong { display: block; color: #1e3156; font-weight: 600; }.data-table small { display: block; margin-top: 3px; color: #8a96aa; }
.status-select { border: 0; border-radius: 999px; padding: 5px 22px 5px 8px; font-size: 10px; font-weight: 600; appearance: auto; }
.status-select.ready, .status-pill.ready { background: #e9f8f1; color: #128259; }.status-select.needs-evidence, .status-pill.needs-evidence { background: #f2edff; color: #6b31df; }.status-select.expiring-soon, .status-pill.expiring-soon { background: #fff4de; color: #a66d00; }.status-select.action-required, .status-pill.action-required { background: #ffebee; color: #c93846; }
.accreditation-side { display: flex; flex-direction: column; gap: 17px; }
.gap-row { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; padding: 11px 14px; border-bottom: 1px solid #edf0f5; }.gap-row:last-child{border-bottom:0}.gap-row strong{display:block;font-size:11.5px;color:#263a5e}.gap-row small{color:#8c97aa;font-size:10px}.status-pill{display:inline-flex;width:fit-content;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:600;white-space:nowrap}
.future-flow { padding: 17px; }.future-flow h3{margin:9px 0 5px;color:var(--heading);font-size:14px}.future-flow p{font-size:11px;color:var(--muted);line-height:1.5}.future-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f2ebff;color:var(--purple)}

/* Policy library */
.filter-tabs { display: flex; gap: 5px; border-bottom: 1px solid var(--line); margin-bottom: 18px; overflow-x: auto; }
.filter-tab { border: 0; background: transparent; padding: 10px 13px; color: #647491; cursor: pointer; white-space: nowrap; border-bottom: 2px solid transparent; font-size: 12px; }
.filter-tab.active { color: var(--purple); border-bottom-color: var(--purple); font-weight: 600; }
.template-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.template-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px; min-height: 220px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); }
.template-icon { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--purple); background: var(--purple-soft); }
.template-meta { margin-top: 12px; }.template-meta span { color: var(--purple); background: #f5f1ff; padding: 3px 7px; border-radius: 999px; font-size: 9px; font-weight: 600; }
.template-card h2 { font-size: 14px; line-height: 1.35; color: var(--heading); margin: 10px 0 5px; }.template-card p{font-size:11.3px;line-height:1.48;color:var(--muted);margin:0 0 14px}.card-actions{display:flex;align-items:center;gap:7px;margin-top:auto;justify-content:space-between}

/* Reports */
.report-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.report-card { background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;min-height:210px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.report-top{display:flex;align-items:center;justify-content:space-between}.report-icon{width:42px;height:42px;border-radius:11px;background:#f2ebff;color:var(--purple);display:grid;place-items:center}.metric-pill{font-size:9px;font-weight:600;color:#16805c;background:#eaf9f2;padding:5px 8px;border-radius:999px}.report-card h2{font-size:14px;color:var(--heading);margin:14px 0 6px}.report-card p{font-size:11.3px;color:var(--muted);line-height:1.5;margin:0 0 15px}.recent-advice{margin-top:17px}.empty-inline{display:flex;align-items:center;gap:11px;padding:17px;color:#738099}.empty-inline div{display:flex;flex-direction:column;gap:2px}.empty-inline strong{font-size:12px;color:#334a70}.empty-inline span{font-size:10.5px}

/* Alerts */
.alert-list { display: flex; flex-direction: column; gap: 12px; max-width: 980px; }
.alert-card { background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.alert-card-head { width:100%;border:0;background:transparent;display:grid;grid-template-columns:6px 1fr 22px;gap:15px;padding:17px;text-align:left;cursor:pointer;align-items:start}
.alert-card-head:hover{background:#fbfaff}.alert-color{width:6px;border-radius:999px;align-self:stretch;min-height:70px}.alert-color.purple{background:var(--purple)}.alert-color.red{background:var(--red)}.alert-color.orange{background:var(--orange)}
.alert-card-copy{display:flex;flex-direction:column;align-items:flex-start}.alert-card-copy strong{color:var(--heading);font-size:14px;margin:7px 0 2px}.alert-card-copy small{font-size:10px;color:#8d98aa}.alert-card-copy p{font-size:11.5px;color:#5e6f8d;line-height:1.5;margin:6px 0 0}.alert-details{border-top:1px solid var(--line);padding:16px 37px 18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fcfcff}.alert-details div{background:#fff;border:1px solid #e6eaf1;border-radius:9px;padding:12px}.alert-details strong{font-size:11px;color:#152951}.alert-details p{font-size:11px;color:#667590;line-height:1.48;margin:5px 0 0}.mini-sources{grid-column:1/-1}.mini-sources span{display:flex;align-items:center;gap:6px;font-size:10px;color:#667590;margin-top:5px}

/* Product pages */
.product-page { min-height: calc(100vh - var(--topbar-height)); background: #f8f9fc; padding: 70px 28px 80px; }
.product-hero { text-align:center;max-width:920px;margin:0 auto}.product-badge{display:inline-flex;padding:5px 10px;background:#e8dcff;color:#7132e7;border-radius:7px;font-size:10px;font-weight:700}.product-hero h1{font-size:clamp(34px,4vw,48px);line-height:1.08;letter-spacing:-.035em;color:#050505;margin:22px auto 16px;max-width:850px}.product-hero p{font-size:16px;line-height:1.5;color:#4d4d56;max-width:780px;margin:0 auto}.hero-actions{display:flex;justify-content:center;gap:15px;margin-top:25px}.outline-cta,.gradient-cta{min-width:195px;min-height:48px;padding:0 22px;font-size:14px}.outline-cta{border-color:#9e62f5;background:#fff;color:#171234}.gradient-cta{background:linear-gradient(90deg,#7430e9,#bf3dad);color:#fff;border:0}.demo-calendar{width:min(100%,900px);margin:45px auto 0;display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #d8dfe9;border-radius:11px;overflow:hidden;background:#fff;box-shadow:0 9px 30px rgba(32,45,79,.06)}
.calendar-left{background:linear-gradient(135deg,#34506c,#3b5a76);color:#fff;padding:27px 25px 32px;min-height:460px}.calendar-logo-mark{text-align:center;height:55px}.calendar-logo-mark img{height:28px;filter:brightness(0) invert(1);opacity:.85}.calendar-left h2{text-align:center;font-size:19px;font-weight:400;margin:4px 0 4px}.calendar-month{text-align:center;color:#dce6ef;font-size:14px;margin:5px 0 24px;display:flex;justify-content:center;gap:12px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:8px;font-size:10px}.weekdays{font-weight:600;margin-bottom:13px}.calendar-days{color:#d5e0e9}.calendar-days .empty{visibility:hidden}.day{border:0;background:transparent;color:inherit;width:32px;height:32px;border-radius:50%;cursor:pointer;margin:auto}.day:hover{background:rgba(255,255,255,.12)}.day.selected{background:#fff;color:#32536d;font-weight:600}.calendar-right{padding:18px 22px 22px;min-height:460px;color:#304967}.meeting-meta{display:flex;flex-direction:column;gap:4px;font-size:11px;margin-bottom:17px}.meeting-meta strong,.time-heading strong{color:#233b59;font-size:11px}.duration-bar{height:28px;background:#dbe2e9;display:grid;place-items:center;border-radius:2px;font-size:9px}.time-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.time-heading span{font-size:10.5px}.time-heading small{color:#028cb4;font-size:9.5px;font-weight:600}.time-list{display:flex;flex-direction:column;gap:5px;max-height:205px;overflow-y:auto;padding-right:4px}.time{height:34px;border:1px solid #dbe2ea;background:#fff;border-radius:3px;color:#47617d;cursor:pointer}.time:hover,.time.selected{border-color:#8b52e9;background:#f6f1ff;color:#6630c8}.slot-confirm{margin-top:10px;border-top:1px solid #e6eaf0;padding-top:9px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:10px}.slot-confirm strong{color:#137855}.slot-confirm span{color:#63738b}.slot-confirm .primary-button{grid-column:1/-1;margin-top:4px}.integration-note{text-align:center;color:#9aa4b3;font-size:9px;margin:10px auto 0}

/* Dialogs */
.dialog-backdrop { position:fixed;inset:0;background:rgba(41,55,78,.55);z-index:200;display:grid;place-items:center;padding:24px; }
.dialog { background:#fff;border-radius:14px;box-shadow:var(--shadow-md);position:relative;max-height:calc(100vh - 48px);overflow:auto; }
.dialog-close { position:absolute;right:15px;top:14px;width:37px;height:37px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:#556783;cursor:pointer;z-index:2}.dialog-close:hover{background:#f4f1fb;color:var(--purple)}
.signup-dialog{width:min(1095px,100%);display:grid;grid-template-columns:.9fr 1.12fr;overflow:hidden}.signup-benefits{padding:62px 54px 50px;background:linear-gradient(145deg,#fff 0%,#faf8ff 70%,#f0e7ff 100%);position:relative}.signup-benefits::after{content:'';position:absolute;left:-50px;bottom:-140px;width:430px;height:230px;border-radius:50%;border:45px solid rgba(133,81,232,.08);transform:rotate(-10deg)}.modal-kicker{display:flex;align-items:center;gap:10px;color:#6c2bec;font-size:11px;font-weight:700}.signup-benefits h2{font-size:34px;line-height:1.2;letter-spacing:-.035em;color:#081441;margin:24px 0 16px;position:relative;z-index:1}.signup-benefits h2 span{color:#742fed}.signup-benefits>p{color:#647391;font-size:15px;line-height:1.55;margin:0;position:relative;z-index:1}.benefit-list{display:flex;flex-direction:column;gap:24px;margin-top:35px;position:relative;z-index:1}.benefit-list>div{display:flex;gap:16px}.benefit-icon{width:50px;height:50px;border-radius:50%;background:#eee6ff;color:#7a31ea;display:grid;place-items:center;flex:0 0 auto}.benefit-list p{margin:3px 0 0;display:flex;flex-direction:column;gap:4px}.benefit-list strong{font-size:13px;color:#0c1b4a}.benefit-list small{font-size:12px;color:#667590;line-height:1.45}.signup-form-side{padding:45px 52px 30px}.dialog-heading h2{margin:0;color:#071441;font-size:25px;letter-spacing:-.025em}.dialog-heading p{margin:6px 0 21px;color:#6b7892;font-size:14px;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field>span,.field legend{font-size:12px;font-weight:600;color:#435676}.field input,.field textarea{width:100%;border:1px solid #d6deea;border-radius:7px;min-height:42px;padding:9px 12px;outline:none;color:#20375a;background:#fff}.field textarea{min-height:85px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#8b51eb;box-shadow:0 0 0 3px rgba(119,49,216,.12)}.field small{font-size:10px;color:#8390a7}.field-error{color:#c93644!important}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.password-wrap{position:relative}.password-wrap input{padding-right:43px}.password-toggle{position:absolute;right:4px;top:3px;width:36px;height:36px;border:0;background:transparent;color:#667995;display:grid;place-items:center;cursor:pointer}.location-field{border:0;padding:0;margin:0 0 14px}.location-field legend{padding:0;margin-bottom:7px}.location-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.location-options label{position:relative}.location-options input{position:absolute;opacity:0;pointer-events:none}.location-options span{height:36px;border:1px solid #dbe1eb;border-radius:7px;display:grid;place-items:center;font-size:11px;color:#5e6f8c;cursor:pointer}.location-options input:checked+span{background:#f2ebff;color:#6d2fe0;border-color:#b696ef;font-weight:600}.gradient-submit{width:100%;height:49px;border:0;border-radius:8px;background:linear-gradient(90deg,#7028ed,#bd3da9);color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;margin-top:4px}.terms{text-align:center;font-size:9px;color:#8792a6}.terms a{color:#6e31dd}.form-alert{display:flex;align-items:center;gap:7px;background:#fff1f2;color:#b52f3c;border:1px solid #f4ccd0;border-radius:7px;padding:9px 10px;font-size:11px;margin:-8px 0 12px}.compact-dialog{width:min(470px,100%);padding:35px 34px;text-align:center}.dialog-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px}.dialog-icon.purple{background:#f1eaff;color:var(--purple)}.compact-dialog h2{font-size:21px;color:var(--heading);margin:0 0 8px}.compact-dialog p{font-size:12.5px;color:#6b7891;line-height:1.55;margin:0 0 18px}.pms-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 18px}.pms-list span{border:1px solid #e0e5ed;background:#fbfbfd;border-radius:8px;padding:9px;font-size:11px;color:#50627f}.shortcut-list{display:flex;flex-direction:column;gap:8px;text-align:left;background:#f8f8fb;border-radius:8px;padding:12px;margin-bottom:17px}.shortcut-list span{font-size:11px;color:#5f6e88}.shortcut-list kbd{background:#fff;border:1px solid #dce1e9;border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-size:9px}.numbered-flow{text-align:left;color:#5d6c86;font-size:12px;line-height:1.55;padding-left:20px}.document-dialog{width:min(730px,100%);padding:30px}.wizard-form{margin-top:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.draft-editor{width:100%;min-height:430px;border:1px solid #dce2eb;border-radius:8px;padding:15px;color:#354a6c;line-height:1.55;resize:vertical}.draft-editor:focus{outline:2px solid var(--purple);outline-offset:2px}

/* Toast */
#toast-root{position:fixed;right:22px;bottom:20px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;background:#17223c;color:#fff;border-radius:9px;padding:10px 13px;box-shadow:0 14px 34px rgba(13,22,44,.2);font-size:11.5px;pointer-events:auto;animation:toast-in .2s ease-out}.toast.success .icon{color:#6ee0ae}.toast.error .icon{color:#ff8d98}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.mobile-scrim{display:none}

@media (max-width: 1120px) {
  :root { --sidebar-width: 250px; }
  .sidebar { padding-left: 12px; padding-right: 12px; }
  .suggestion-grid { grid-template-columns: repeat(2,1fr); max-width: 820px; }
  .assistant-home { padding-top: 95px; }
  .conversation-grid { grid-template-columns: minmax(0,1fr) 285px; gap: 18px; }
  .template-grid,.report-grid { grid-template-columns: repeat(2,1fr); }
  .feature-split { grid-template-columns: 1fr; }
  .accreditation-side { display:grid;grid-template-columns:1fr 1fr; }
}

@media (max-width: 820px) {
  :root { --sidebar-width: 270px; }
  .sidebar { transform: translateX(-100%); transition: transform .22s ease; box-shadow: 18px 0 45px rgba(22,32,63,.15); }
  .app-layout.mobile-nav-open .sidebar { transform: none; }
  .mobile-scrim { display:block;position:fixed;inset:0;background:rgba(18,27,48,.38);z-index:39;opacity:0;pointer-events:none;transition:opacity .2s ease; }
  .mobile-nav-open .mobile-scrim { opacity:1;pointer-events:auto; }
  .app-main { width:100%;margin-left:0; }
  .topbar { left:0;padding:0 13px;gap:7px; }
  .mobile-menu { display:inline-grid; }
  .pms-button span,.help-button span { display:none; }
  .pms-button,.help-button { width:40px;padding:0;justify-content:center; }
  .page-area { padding-top: var(--topbar-height); }
  .assistant-home { padding: 74px 22px 24px; }
  .assistant-hero p br { display:none; }
  .conversation-page { padding: 14px 14px 98px; }
  .conversation-grid { grid-template-columns:1fr; }
  .related-rail { position:static;display:grid;grid-template-columns:1fr 1fr; }
  .conversation-composer-wrap { left:14px;right:14px;bottom:8px; }
  .readiness-grid { grid-template-columns:1fr 1fr; }.readiness-score{grid-column:1/-1}
  .demo-calendar { grid-template-columns:1fr;max-width:650px}.calendar-left{min-height:420px}.calendar-right{min-height:420px}
  .signup-dialog { grid-template-columns:1fr; }.signup-benefits{display:none}.signup-form-side{padding:38px 28px 25px}
}

@media (max-width: 560px) {
  .topbar { height:58px; }.page-area{padding-top:58px}.top-avatar .icon{display:none}.top-avatar{padding:0}.avatar{width:34px;height:34px}
  .assistant-home { padding: 55px 14px 16px; min-height: calc(100vh - 58px); }
  .sparkle-mark { margin-bottom:16px; }.assistant-hero h1{font-size:28px}.assistant-hero p{font-size:14px}.suggestion-grid{grid-template-columns:1fr;gap:9px;margin-top:25px}.suggestion-card{min-height:104px;grid-template-columns:44px 1fr 18px;padding:14px}.suggestion-icon{width:44px;height:44px}.suggestion-copy strong{font-size:14px}.suggestion-copy span{font-size:12px}.home-composer-wrap{padding-top:28px}
  .conversation-page { padding-left:9px;padding-right:9px; }.user-message-row{margin-left:35px}.assistant-message-row{grid-template-columns:38px 1fr;gap:7px}.assistant-orb{width:37px;height:37px}.assistant-answer{padding:11px;font-size:12.5px}.related-rail{grid-template-columns:1fr}.rail-card:nth-child(2){margin-top:0}.answer-section{grid-template-columns:23px 1fr}.section-number{width:23px;height:23px}.conversation-composer-wrap{left:8px;right:8px}.alerts-popover{right:-85px;width:260px}
  .feature-page{padding:25px 13px 55px}.page-heading-row{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-heading-row h1{font-size:27px}.readiness-grid{grid-template-columns:1fr}.readiness-score{grid-column:auto}.accreditation-side{grid-template-columns:1fr}.template-grid,.report-grid{grid-template-columns:1fr}.alert-details{grid-template-columns:1fr;padding:13px}.mini-sources{grid-column:auto}.alert-card-head{grid-template-columns:5px 1fr 18px;padding:13px}.data-table{min-width:760px}
  .product-page{padding:45px 12px 60px}.product-hero h1{font-size:31px}.product-hero p{font-size:14px}.hero-actions{flex-direction:column}.outline-cta,.gradient-cta{width:100%}.demo-calendar{margin-top:30px}.calendar-left{padding:22px 12px;min-height:390px}.calendar-right{padding:16px 13px;min-height:410px}.weekdays,.calendar-days{gap:4px}.day{width:30px;height:30px}
  .dialog-backdrop{padding:8px}.signup-form-side{padding:33px 16px 18px}.dialog-heading h2{font-size:22px}.field-row{grid-template-columns:1fr;gap:0}.location-options{grid-template-columns:1fr 1fr}.compact-dialog{padding:30px 19px}.document-dialog{padding:24px 14px}.draft-editor{min-height:330px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}


/* Presentation polish */
:root { --sidebar-collapsed-width: 82px; }

.mediqo-logo-mark { display: none; width: 38px; height: 38px; object-fit: contain; }
.practice-selector { gap: 7px; padding-left: 8px; padding-right: 8px; }
.practice-name { font-size: 13px; letter-spacing: -.01em; }
.practice-chevron, .sidebar-user-chevron { display: inline-grid; place-items: center; flex: 0 0 auto; }
.sidebar-nav { scrollbar-width: thin; scrollbar-color: transparent transparent; }
.sidebar-nav:hover { scrollbar-color: #cfd7e4 transparent; }
.sidebar-nav::-webkit-scrollbar { width: 6px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav::-webkit-scrollbar-thumb { background: transparent; border-radius: 999px; }
.sidebar-nav:hover::-webkit-scrollbar-thumb { background: #cfd7e4; }

@media (min-width: 821px) {
  .app-layout.sidebar-collapsed .sidebar { width: var(--sidebar-collapsed-width); padding-left: 10px; padding-right: 10px; }
  .app-layout.sidebar-collapsed .app-main { width: calc(100% - var(--sidebar-collapsed-width)); margin-left: var(--sidebar-collapsed-width); }
  .app-layout.sidebar-collapsed .topbar { left: var(--sidebar-collapsed-width); }
  .app-layout.sidebar-collapsed .conversation-composer-wrap { left: calc(var(--sidebar-collapsed-width) + 27px); }
  .app-layout.sidebar-collapsed .sidebar-brand-row { justify-content: center; height: auto; min-height: 96px; flex-direction: column; gap: 5px; padding-top: 5px; }
  .app-layout.sidebar-collapsed .brand-link { min-width: 0; width: 44px; justify-content: center; }
  .app-layout.sidebar-collapsed .mediqo-logo,
  .app-layout.sidebar-collapsed .brand-wordmark { display: none !important; }
  .app-layout.sidebar-collapsed .mediqo-logo-mark { display: block; }
  .app-layout.sidebar-collapsed .sidebar-collapse { width: 38px; height: 34px; }
  .app-layout.sidebar-collapsed .practice-selector { width: 48px; min-height: 48px; margin-left: auto; margin-right: auto; justify-content: center; padding: 7px; }
  .app-layout.sidebar-collapsed .practice-name,
  .app-layout.sidebar-collapsed .practice-chevron,
  .app-layout.sidebar-collapsed .sidebar-link > span:last-child,
  .app-layout.sidebar-collapsed .user-copy,
  .app-layout.sidebar-collapsed .sidebar-user-chevron { display: none; }
  .app-layout.sidebar-collapsed .sidebar-link { width: 50px; min-height: 48px; margin: 0 auto; padding: 0; justify-content: center; }
  .app-layout.sidebar-collapsed .sidebar-icon { width: auto; }
  .app-layout.sidebar-collapsed .nav-divider { margin-left: 7px; margin-right: 7px; }
  .app-layout.sidebar-collapsed .sidebar-user { width: 50px; margin: 0 auto; justify-content: center; padding: 6px; }
  .app-layout.sidebar-collapsed .sidebar-user .avatar { width: 36px; height: 36px; }
  .app-layout.sidebar-collapsed .user-menu { left: 54px; right: auto; bottom: 0; width: 190px; }
}

.legend { flex-wrap: wrap; justify-content: flex-end; }
.status-dot.needs-evidence { background: var(--purple); }
.status-dot.expiring-soon { background: var(--orange); }

/* Keep the conversation composer as one compact, stable footer. */
.conversation-composer-wrap { padding: 7px 0 0; background: linear-gradient(180deg, rgba(255,255,255,0), #fff 28%); }
.conversation-composer-wrap .chat-composer { box-shadow: 0 7px 26px rgba(20,36,70,.09); }
.chat-composer.compact .composer-main { min-height: 54px; height: 54px; }
.chat-composer.compact .composer-main textarea { height: 36px; min-height: 36px; max-height: 36px; overflow-y: hidden; }
.chat-composer.compact .send-button { width: 45px; height: 40px; }
.attachment-name { min-width: 0; max-width: 60%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #71819b; font-size: 10.5px; }

/* Report previews and recent saved advice. */
.recent-advice-list { display: grid; }
.advice-row { display: flex; align-items: flex-start; gap: 11px; padding: 13px 17px; border-bottom: 1px solid #edf0f5; }
.advice-row:last-child { border-bottom: 0; }
.advice-icon { width: 31px; height: 31px; border-radius: 8px; background: var(--purple-soft); color: var(--purple); display: grid; place-items: center; flex: 0 0 auto; }
.advice-row > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.advice-row strong { color: #20365f; font-size: 12px; }
.advice-row span, .advice-row small { color: #72809a; font-size: 10.5px; line-height: 1.45; }
.recent-advice-hint { display: flex; align-items: center; gap: 7px; padding: 10px 17px; color: #7c899e; font-size: 10.5px; border-top: 1px solid #edf0f5; background: #fcfcfe; }
.report-dialog { width: min(720px, 100%); padding: 30px; }
.report-preview-heading { display: flex; gap: 13px; align-items: flex-start; padding-right: 38px; }
.report-preview-heading h2 { color: var(--heading); font-size: 22px; margin: 3px 0 5px; }
.report-preview-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.report-preview-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0 15px; }
.report-preview-kpis > div { background: #fafaff; border: 1px solid #e3e7ee; border-radius: 10px; padding: 13px; display: flex; flex-direction: column; gap: 4px; }
.report-preview-kpis span { color: #7a879c; font-size: 10px; }
.report-preview-kpis strong { color: var(--heading); font-size: 22px; }
.report-preview-list { margin: 0 0 7px; padding: 0; list-style: none; border: 1px solid #e3e7ee; border-radius: 10px; overflow: hidden; }
.report-preview-list li { padding: 11px 13px; border-bottom: 1px solid #edf0f5; color: #4b5e7e; font-size: 11.5px; }
.report-preview-list li:last-child { border-bottom: 0; }
.report-preview-advice { border: 1px solid #e3e7ee; border-radius: 10px; overflow: hidden; margin-top: 20px; }

/* Shared product booking identity. */
.calendar-logo-mark { display: flex; align-items: center; justify-content: center; height: 55px; }
.calendar-logo-mark .calendar-mediqo-logo { width: 128px; max-height: 32px; height: auto; object-fit: contain; filter: brightness(0) invert(1); opacity: .95; }
.calendar-logo-fallback { display: none; color: #fff; font-size: 20px; font-weight: 700; letter-spacing: -.04em; }
.calendar-logo-mark.logo-failed .calendar-logo-fallback { display: inline-flex; }
.calendar-logo-mark.logo-failed .calendar-mediqo-logo { display: none; }

@media (max-width: 1120px) and (min-width: 821px) {
  :root { --sidebar-width: 276px; }
  .practice-name { font-size: 12.5px; }
}

@media (max-width: 820px) {
  .app-layout.sidebar-collapsed .sidebar { width: var(--sidebar-width); }
  .app-layout.sidebar-collapsed .mediqo-logo-mark { display: none; }
  .report-preview-kpis { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .report-dialog { padding: 24px 14px; }
  .report-preview-heading h2 { font-size: 19px; }
}


/* Monday presentation flow */
.manual-to-guided {
  display: grid;
  grid-template-columns: 1fr 42px 1fr;
  gap: 16px;
  align-items: stretch;
  margin: 0 0 18px;
}
.manual-to-guided > div {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 16px 18px;
  box-shadow: var(--shadow-sm);
}
.manual-to-guided > div:last-child {
  background: linear-gradient(135deg, #fbf9ff, #f3edff);
  border-color: #d9c8fb;
}
.manual-to-guided strong { display: block; color: var(--heading); font-size: 14px; margin: 5px 0 5px; }
.manual-to-guided p { margin: 0; color: #6b7891; font-size: 12px; line-height: 1.5; }
.manual-flow-arrow { display: grid; place-items: center; color: var(--purple); transform: scale(1.15); }

.accreditation-plan-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  margin-bottom: 16px;
  overflow: hidden;
}
.accreditation-plan-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); min-width: 0; }
.accreditation-plan-summary > div:last-child { border-right: 0; }
.accreditation-plan-summary .label { display: block; color: #8490a5; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 5px; }
.accreditation-plan-summary strong { display: block; color: #172956; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }

.accreditation-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 18px;
}
.accreditation-steps article {
  display: flex;
  gap: 10px;
  min-height: 82px;
  padding: 13px;
  border: 1px solid #e0e5ee;
  border-radius: 10px;
  background: #fff;
}
.accreditation-steps article > span {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--purple-soft);
  color: var(--purple);
  font-size: 11px;
  font-weight: 700;
}
.accreditation-steps article > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.accreditation-steps strong { color: #20345d; font-size: 11.5px; }
.accreditation-steps small { color: #7b879c; font-size: 10.5px; line-height: 1.42; }

.accreditation-table { width: 100%; min-width: 0; table-layout: fixed; }
.accreditation-table th:nth-child(1) { width: 19%; }
.accreditation-table th:nth-child(2) { width: 28%; }
.accreditation-table th:nth-child(3) { width: 24%; }
.accreditation-table th:nth-child(4) { width: 16%; }
.accreditation-table .action-cell,
.accreditation-table .evidence-cell { white-space: normal; line-height: 1.45; color: #536581; font-size: 11px; }
.future-flow .eyebrow { display: inline-flex; margin-bottom: 8px; }

@media (max-width: 1120px) {
  .accreditation-plan-summary { grid-template-columns: repeat(2, 1fr); }
  .accreditation-plan-summary > div:nth-child(2) { border-right: 0; }
  .accreditation-plan-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .accreditation-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .manual-to-guided { grid-template-columns: 1fr; }
  .manual-flow-arrow { transform: rotate(90deg); min-height: 22px; }
  .accreditation-plan-summary,
  .accreditation-steps { grid-template-columns: 1fr; }
  .accreditation-plan-summary > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .accreditation-plan-summary > div:last-child { border-bottom: 0; }
}


/* Final presentation polish */
.calendar-month { align-items: center; }
.calendar-month-button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 19px;
  line-height: 1;
}
.calendar-month-button:hover { background: rgba(255,255,255,.13); }
.calendar-month-button:focus-visible { outline-color: #fff; }

.accreditation-page .feature-split { grid-template-columns: minmax(0, 1fr); }
.accreditation-page .requirements-panel { min-width: 0; }
.accreditation-page .table-wrap { overflow-x: visible; }
.accreditation-page .accreditation-side {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 17px;
  align-items: start;
}
.accreditation-table th:nth-child(1) { width: 19%; }
.accreditation-table th:nth-child(2) { width: 28%; }
.accreditation-table th:nth-child(3) { width: 24%; }
.accreditation-table th:nth-child(4) { width: 17%; }
.accreditation-table th:nth-child(5) { width: 12%; }
.accreditation-table td:first-child { min-width: 0; }
.accreditation-table th,
.accreditation-table td { padding-left: 12px; padding-right: 12px; }
.accreditation-table .status-select { max-width: 100%; }
.accreditation-page .gap-row { padding: 14px 16px; align-items: start; }
.accreditation-page .gap-row small { display: block; margin-top: 3px; line-height: 1.45; }

@media (max-width: 1120px) {
  .accreditation-page .accreditation-side { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .accreditation-page .table-wrap { overflow-x: auto; }
  .accreditation-table { min-width: 820px; }
}
