/* Scoped desktop workspace. Mobile dashboard and record pages retain their layouts. */
@media (min-width: 721px) {
  .workspace-dashboard-page { background: #f3f6fb; }
  .workspace-dashboard-page .app-header { background: #fff; color: #23334c; border-bottom: 1px solid #e6edf6; box-shadow: none; }
  .workspace-dashboard-page .app-header a { color: #536680; }
  .workspace-dashboard-page .app-header .app-logo { color: #426be8; }
  .workspace-dashboard-page .app-header .nav-active { background: #edf2ff; color: #426be8; }
  .workspace-dashboard-page .app-header .tools-menu-trigger { color: #536680; }
  .workspace-dashboard-page .app-header .button_to { padding: 0; margin: 0; background: none; border: 0; box-shadow: none; }
  .workspace-dashboard-page .app-header .logout-button { padding: 9px 13px; color: #536680; }
}
.work-home { --work-accent: #426be8; color: #23334c; }
.work-home * { box-sizing: border-box; }
.work-home h1, .work-home h2, .work-home h3, .work-home p { margin: 0; }
.work-home h1 { font-size: 30px; letter-spacing: -.7px; margin: 6px 0 9px; }
.work-home h2 { font-size: 19px; font-weight: 650; letter-spacing: -.3px; }
.work-home h3 { font-size: 16px; }
.work-home small { display: block; font-size: 12px; line-height: 1.5; color: #64748b; }
.work-home p { line-height: 1.5; }
.work-home a { text-decoration: none; }
.work-home form { margin: 0; background: none; border: 0; box-shadow: none; max-width: none; }
.work-home .work-eyebrow { text-transform: uppercase; font-size: 11px; font-weight: 650; letter-spacing: 1.1px; color: #64748b; }
.work-welcome { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; margin: 8px 0 24px; }
.work-welcome p:not(.work-eyebrow) { color: #64748b; }
.work-header-controls { display: grid; justify-items: end; gap: 8px; }
.work-header-controls .dashboard-view-switch { margin: 0; background: #e8edf6; }
.work-header-controls .dashboard-view-switch-link { min-width: 92px; padding: 7px 13px; text-align: center; font-size: 12px; }
.work-header-controls .dashboard-view-switch-active { color: #426be8; }
.work-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.work-home .work-button { display: inline-flex; justify-content: center; align-items: center; gap: 7px; border: 1px solid #e2e8f0; background: #fff; color: #33445e; padding: 9px 13px; border-radius: 10px; font: inherit; font-size: 13px; cursor: pointer; line-height: 1.4; }
.work-home .work-button:hover { background: #f0f4ff; border-color: #cad6f4; }
.work-home .work-primary { background: #426be8; border-color: #426be8; color: #fff; box-shadow: 0 4px 10px #426be81a; }
.work-home .work-primary:hover { background: #3458c5; color: #fff; }
.work-home .work-link { color: #3d61c8; font-size: 13px; font-weight: 550; }
.work-home a:focus-visible, .work-home button:focus-visible, .workspace-notes-dialog button:focus-visible { outline: 3px solid #8ab1ff; outline-offset: 3px; }
.work-context, .work-columns { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr); gap: 20px; align-items: start; }
.work-context { margin-bottom: 20px; align-items: stretch; }
.work-weather { border-radius: 24px; padding: 22px 24px 16px; color: #fff; background: radial-gradient(ellipse at 95% 0%, #86b5de80, transparent 52%), linear-gradient(145deg,#2862a0,#367caf 60%,#4b8ab6); min-width: 0; }
.work-weather h2 { color: white; }
.work-weather-top { display: flex; justify-content: space-between; gap: 16px; }
.work-temperature { font-size: 58px; line-height: 1.1; font-weight: 350; letter-spacing: -3px; margin: 5px 0 10px; }
.work-weather-condition { display: grid; gap: 4px; text-align: right; align-content: start; }
.work-weather-condition [data-weather-icon] { font-size: 30px; color: #ffe6a1; }
.work-weather > p { padding-bottom: 13px; border-bottom: 1px solid #ffffff35; font-size: 13px; }
.work-weather small, .work-weather a { color: #edf6ff; }
.work-weather a { text-decoration: underline; }
.work-weather-hours { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 8px; padding: 12px 0; }
.work-weather-hours > div { display: grid; gap: 6px; justify-items: center; }
.work-weather-hours .weather-symbol { font-size: 20px; }
.work-weather .work-weather-credit { margin-top: 6px; font-size: 11px; }
.work-coming { min-width: 0; padding: 22px; background: linear-gradient(135deg,#f3f0fc,#ebe6f9); border: 1px solid #e5dff3; border-radius: 24px; }
.work-coming > h2 { margin: 12px 0; }
.work-coming > p:not(.work-eyebrow) { font-size: 13px; color: #615675; }
.work-event { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid #dcd3ed; }
.work-event h2 { font-size: 16px; margin: 3px 0 5px; }
.work-event > strong { color: #61468d; font-size: 25px; text-align: right; }
.work-event p { font-size: 13px; }
.work-event-context { grid-column: 1 / -1; }
.work-event-context a { color: #61468d; text-decoration: underline; }
.work-eom { display: flex; gap: 12px; align-items: baseline; margin: 15px 0; color: #61468d; }
.work-eom strong { font-size: 42px; }
.work-calendar-sources { margin-top: 12px; font-size: 12px; color: #615675; }
.work-calendar-sources summary { cursor: pointer; }
.work-calendar-warning { margin-top: 12px !important; }
.work-module { background: #fff; border: 1px solid #e6edf6; border-radius: 20px; box-shadow: 0 5px 22px #243c6a06; min-width: 0; overflow: hidden; }
.work-module-head { padding: 20px; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.work-module-head p { font-size: 12px; color: #64748b; margin-top: 4px; }
.work-module-title { display: flex; gap: 12px; align-items: center; }
.work-symbol { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; background: #edf2ff; color: #426be8; font-size: 22px; }
.work-symbol svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.work-tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 20px 16px; }
.work-tabs a { color: #64748b; font-size: 13px; padding: 8px 10px; border-radius: 9px; }
.work-tabs .is-selected { color: #426be8; background: #edf2ff; }
.work-tabs span { margin-left: 5px; }
.work-search { display: flex; gap: 8px; padding: 0 20px 16px; }
.work-search input[type=search] { min-width: 0; flex: 1; width: 100%; border: 1px solid #e5ebf4; border-radius: 10px; background: #fbfcff; padding: 10px 12px; font-size: 13px; }
.work-deal-heading, .work-deal { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) 84px; gap: 12px; padding: 16px 20px; }
.work-deal-heading { padding-top: 10px; padding-bottom: 10px; background: #f8faff; color: #64748b; font-size: 10px; letter-spacing: .6px; text-transform: uppercase; }
.work-deal { border-bottom: 1px solid #edf1f7; color: #23334c; font-size: 13px; }
.work-deal > span { min-width: 0; overflow-wrap: anywhere; }
.work-deal:hover { background: #f6f9ff; }
.work-deal small { margin-top: 6px; }
.work-status { display: inline-block; border-radius: 6px; padding: 4px 7px; background: #edf2ff; color: #4664ad; font-size: 11px; }
.work-module-foot { padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 12px; color: #64748b; }
.work-empty { padding: 24px 20px; color: #64748b; font-size: 14px; }
.work-right { display: grid; gap: 20px; }
.work-appointments .work-module-head { background: linear-gradient(110deg,#f2fbf8,#fff); }
.work-appointments .work-symbol { background: #e8f7f3; color: #24816b; }
.work-appointment { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 15px 20px; border-top: 1px solid #edf1f7; color: #23334c; font-size: 13px; }
.work-appointment time { text-align: center; background: #f0faf6; border-radius: 9px; padding: 7px 3px; color: #267c68; }
.work-appointment small { margin-top: 3px; }
.work-outcome { display: block; padding: 9px 20px; background: #fff7eb; color: #975d24; font-size: 12px; }
.work-followups .work-module-head { background: linear-gradient(110deg,#fff8ef,#fff); }
.work-followups .work-symbol { background: #fff1e3; color: #ab6a27; }
.work-followup { padding: 15px 20px; border-top: 1px solid #edf1f7; font-size: 13px; }
.work-followup > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.work-followup p { margin: 6px 0 12px; color: #64748b; font-size: 12px; }
.work-overdue { color: #a45c36; }
.work-resume { margin-bottom: 20px; padding: 13px 20px; background: #edf2ff; border-radius: 14px; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.work-resume small { margin-top: 4px; }
.work-briefing { margin-top: 20px; }
.work-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0 20px 20px; gap: 24px; }
.work-news-grid article { border-top: 1px solid #e6edf6; padding-top: 16px; }
.work-brand { color: #426be8; font-size: 13px; font-weight: 650; }
.work-news-grid h3 { margin: 10px 0; }
.work-news-grid p { font-size: 13px; color: #64748b; margin: 10px 0; }
.work-news-grid summary { font-size: 13px; color: #3d61c8; cursor: pointer; }
.work-news-grid .work-link { display: inline-block; margin-top: 14px; }
.work-sales-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; padding: 18px 20px; margin-top: 20px; border-radius: 18px; background: #eaf0fc; color: #455a7b; font-size: 13px; }
.work-periods { display: flex; gap: 5px; flex-wrap: wrap; margin-left: auto; }
turbo-frame#workspace_surface { display: block; }
.work-calendar-home .calendar-appointment-summary { border: 1px solid #e6edf6; border-radius: 18px; background: #fff; box-shadow: 0 5px 22px #243c6a06; }
.work-calendar-home .calendar-card, .work-calendar-home .calendar-agenda { border-color: #e6edf6; box-shadow: 0 5px 22px #243c6a08; }
.work-calendar-home .calendar-toolbar { background: #fbfcff; }
.work-calendar-home .calendar-filters { background: #edf2f8; }
.work-calendar-home .calendar-filter-active { color: #426be8; }
.work-calendar-home .calendar-day-selected { background: #edf3ff; box-shadow: inset 0 0 0 2px #426be8; }
.work-calendar-home .calendar-overdue-card { border-radius: 18px; }
/* The shared popup uses native dialog focus trapping and Escape behaviour. */
.workspace-notes-trigger { color: inherit; background: transparent; border: 1px solid #94a3b84d; border-radius: 8px; padding: 8px 11px; cursor: pointer; font: inherit; font-size: 13px; white-space: nowrap; }
.workspace-notes-dialog { width: min(580px,calc(100vw - 28px)); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 24px; border: 1px solid #dfe6f0; border-radius: 22px; color: #23334c; background: #fff; box-shadow: 0 24px 80px #15233b40; margin: auto; }
.workspace-notes-dialog::backdrop { background: #15233b66; backdrop-filter: blur(4px); }
.workspace-notes-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.workspace-notes-heading h2 { font-size: 22px; margin: 0; }
.workspace-notes-heading p { color: #64748b; font-size: 13px; margin: 6px 0; }
.workspace-notes-dialog button { font: inherit; font-size: 13px; border: 1px solid #dfe6f0; border-radius: 9px; background: #fff; color: #33445e; padding: 8px 12px; cursor: pointer; }
.workspace-notes-dialog [data-notes-close] { font-size: 22px; }
.workspace-notes-dialog form { display: grid; gap: 9px; padding: 0; margin: 0; border: 0; box-shadow: none; background: none; }
.workspace-notes-dialog label { font-size: 13px; }
.workspace-notes-dialog textarea { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #dfe6f0; border-radius: 10px; font: inherit; font-size: 16px; resize: vertical; }
.workspace-note-form-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.workspace-note-form-actions label { display: grid; gap: 5px; }
.workspace-note-form-actions label span { color: #64748b; }
.workspace-note-form-actions input { padding: 8px; border: 1px solid #dfe6f0; border-radius: 9px; font: inherit; }
.workspace-notes-dialog .workspace-note-save { background: #426be8; color: white; }
.workspace-note-list-heading { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; }
.workspace-note-list-heading h3 { font-size: 15px; }
.workspace-notes-dialog [data-notes-message] { color: #92400e; font-size: 13px; }
.workspace-notes-dialog > small { color: #64748b; display: block; margin-top: 12px; }
.workspace-note-row { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 10px; padding: 14px 0; border-top: 1px solid #e9eef7; }
.workspace-note-row input { width: 18px; height: 18px; accent-color: #426be8; }
.workspace-note-body { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; }
.workspace-note-row.is-complete .workspace-note-body { text-decoration: line-through; color: #64748b; }
.workspace-note-row small { display: block; margin: 6px 0; color: #64748b; }
.workspace-note-actions { display: flex; gap: 7px; margin-top: 8px; }
.workspace-window { width: min(1500px, calc(100vw - 44px)); height: min(900px, calc(100dvh - 44px)); max-width: none; max-height: none; padding: 0; overflow: hidden; border: 1px solid #dce5f1; border-radius: 24px; background: #f3f6fb; color: #23334c; box-shadow: 0 28px 90px #15233b52; }
.workspace-window::backdrop { background: #17253d73; backdrop-filter: blur(5px); }
.workspace-window-heading { height: 72px; padding: 15px 20px 14px 24px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e1e8f2; background: #fff; }
.workspace-window-heading p { margin: 0 0 3px; color: #718096; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.workspace-window-heading h2 { margin: 0; font-size: 20px; letter-spacing: -.3px; }
.workspace-window-heading button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #e1e8f2; border-radius: 11px; background: #f8faff; color: #4b5f7b; cursor: pointer; font: inherit; font-size: 24px; line-height: 1; }
.workspace-window-heading button:hover { background: #edf2ff; color: #426be8; }
.workspace-window-body { height: calc(100% - 72px); overflow: auto; padding: 24px; }
.workspace-window turbo-frame { display: block; min-height: 100%; }
.workspace-window.is-loading .workspace-window-body { opacity: .62; }
.workspace-window-loading { padding: 50px 20px; color: #64748b; text-align: center; }
.workspace-window-page { min-height: 100%; color: #23334c; }
.workspace-window-page > .dashboard-hero:first-child,
.workspace-window-page > .appointments-page-header:first-child,
.workspace-window-page > .prospects-header:first-child { margin-top: 0; }
.workspace-window-page .dashboard-hero, .workspace-window-page .report-hero { border-radius: 18px; }
.workspace-window-page table { background: #fff; }
.workspace-window-page form { max-width: none; }
.workspace-window-page h1 { letter-spacing: -.5px; }
.workspace-window-page .desktop-table-wrapper,
.workspace-window-page .report-card,
.workspace-window-page .prospect-table-card { border-color: #e6edf6; box-shadow: 0 5px 22px #243c6a08; }
@media (min-width: 721px) and (max-width: 1000px) {
  .work-context, .work-columns { grid-template-columns: minmax(0,1.4fr) minmax(280px,1fr); gap: 16px; }
  .work-deal-heading, .work-deal { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .work-deal-heading span:last-child { display: none; }
  .work-deal > span:last-child { grid-column: 2; }
  .work-news-grid { gap: 16px; }
}
@media (max-width: 720px) { .desktop-dashboard-view.work-home { display: none; } .workspace-notes-dialog { padding: 18px; } .workspace-window { display: none; } }
@media (pointer: coarse) { .workspace-notes-dialog button, .workspace-notes-trigger { min-height: 44px; } }

/* Shared visual language for the four sales modules and their dashboard windows. */
.sales-module-page { background: #f3f6fb; color: #23334c; }
.sales-module-page .page,
.workspace-window-page { --module-accent: #426be8; --module-border: #e3eaf4; --module-muted: #64748b; }
.sales-module-page .page-dashboard,
.sales-module-page .page-content { padding-top: 30px; }
.sales-module-page .app-header { background: #fff; color: #23334c; border-bottom: 1px solid #e6edf6; box-shadow: none; }
.sales-module-page .app-header a,
.sales-module-page .app-header .tools-menu-trigger { color: #536680; }
.sales-module-page .app-header .app-logo { color: #426be8; }
.sales-module-page .app-header .nav-active { color: #426be8; background: #edf2ff; }
.sales-module-page .app-header .button_to { padding: 0; margin: 0; border: 0; background: none; box-shadow: none; }
.sales-module-page .app-header .logout-button { color: #536680; }
.sales-module-page h1,
.workspace-window-page h1 { color: #23334c; font-size: clamp(26px, 2.5vw, 34px); line-height: 1.12; letter-spacing: -.7px; }
.sales-module-page h2,
.workspace-window-page h2 { color: #23334c; letter-spacing: -.3px; }
.sales-module-page .eyebrow,
.workspace-window-page .eyebrow { color: #667892; font-size: 11px; font-weight: 750; letter-spacing: 1.05px; }
.sales-module-page .show-subtitle,
.sales-module-page .muted,
.workspace-window-page .show-subtitle,
.workspace-window-page .muted { color: var(--module-muted); }
.sales-module-page .show-header,
.sales-module-page .appointment-page-heading,
.sales-module-page .reports-header,
.workspace-window-page > .show-header,
.workspace-window-page > .appointment-page-heading,
.workspace-window-page > .reports-header { margin-bottom: 20px; padding: 20px 22px; border: 1px solid var(--module-border); border-radius: 20px; background: linear-gradient(120deg, #fff, #f8faff); box-shadow: 0 5px 22px #243c6a08; }
.sales-module-page .primary-button,
.workspace-window-page .primary-button,
.sales-module-page input[type="submit"],
.workspace-window-page input[type="submit"] { border-color: #426be8; border-radius: 10px; background: #426be8; color: #fff; box-shadow: 0 4px 12px #426be81f; }
.sales-module-page .primary-button:hover,
.workspace-window-page .primary-button:hover,
.sales-module-page input[type="submit"]:hover,
.workspace-window-page input[type="submit"]:hover { border-color: #3458c5; background: #3458c5; color: #fff; }
.sales-module-page .secondary-button,
.workspace-window-page .secondary-button { border-color: #dce5f1; border-radius: 10px; background: #fff; color: #40536e; }
.sales-module-page .secondary-button:hover,
.workspace-window-page .secondary-button:hover { border-color: #c9d7ee; background: #f3f6ff; color: #3158c6; }
.sales-module-page input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.sales-module-page select,
.sales-module-page textarea,
.workspace-window-page input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.workspace-window-page select,
.workspace-window-page textarea { border-color: #dbe4f0; border-radius: 10px; background: #fbfcff; color: #23334c; }
.sales-module-page input:focus,
.sales-module-page select:focus,
.sales-module-page textarea:focus,
.workspace-window-page input:focus,
.workspace-window-page select:focus,
.workspace-window-page textarea:focus { border-color: #8ca8ef; outline: 3px solid #dce6ff; outline-offset: 0; }
.sales-module-page .detail-card,
.sales-module-page .appointment-card,
.sales-module-page .appointment-import-card,
.sales-module-page .appointment-timeline-section,
.sales-module-page .report-card,
.sales-module-page .deal-search-panel,
.sales-module-page .table-card,
.workspace-window-page .detail-card,
.workspace-window-page .appointment-card,
.workspace-window-page .appointment-import-card,
.workspace-window-page .appointment-timeline-section,
.workspace-window-page .report-card,
.workspace-window-page .deal-search-panel,
.workspace-window-page .table-card { border-color: var(--module-border); border-radius: 18px; background: #fff; box-shadow: 0 5px 22px #243c6a08; }
.sales-module-page .deal-view-tabs,
.sales-module-page .appointment-outcome-filters,
.sales-module-page .period-switch,
.workspace-window-page .deal-view-tabs,
.workspace-window-page .appointment-outcome-filters,
.workspace-window-page .period-switch { padding: 5px; border: 1px solid #e1e8f2; border-radius: 13px; background: #eaf0f8; }
.sales-module-page .deal-view-tab,
.sales-module-page .appointment-outcome-filter,
.sales-module-page .period-switch-link,
.workspace-window-page .deal-view-tab,
.workspace-window-page .appointment-outcome-filter,
.workspace-window-page .period-switch-link { border: 0; border-radius: 9px; background: transparent; color: #5f718a; }
.sales-module-page .deal-view-tab-active,
.sales-module-page .appointment-outcome-filter.is-active,
.sales-module-page .period-switch-active,
.workspace-window-page .deal-view-tab-active,
.workspace-window-page .appointment-outcome-filter.is-active,
.workspace-window-page .period-switch-active { background: #fff; color: #426be8; box-shadow: 0 2px 8px #243c6a12; }
.sales-module-page table,
.workspace-window-page table { border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.sales-module-page thead th,
.workspace-window-page thead th { background: #f7f9fd; color: #667892; border-bottom-color: #e4ebf5; font-size: 11px; letter-spacing: .55px; text-transform: uppercase; }
.sales-module-page tbody tr:hover td,
.workspace-window-page tbody tr:hover td { background: #f7f9ff; }
.sales-module-page .notice-message,
.workspace-window-page .notice-message { border-color: #bbebd5; border-radius: 12px; background: #effbf5; color: #19704d; }
.sales-module-page .error-message,
.workspace-window-page .error-message { border-radius: 12px; }
.sales-module-appointments .page,
.workspace-window-page .appointment-page-heading { --module-accent: #24816b; }
.workspace-window-page .appointment-timeline-section { margin-bottom: 18px; }
.workspace-window-page .prospect-workload-grid { gap: 12px; }
.workspace-window-page .prospect-workload-card { min-height: 115px; border-radius: 16px; box-shadow: 0 4px 16px #243c6a08; }
.workspace-window-page .reports-main-grid,
.workspace-window-page .reports-secondary-grid { gap: 16px; }
.workspace-window-page .report-kpi { border-radius: 16px; box-shadow: 0 4px 16px #243c6a08; }
.workspace-window-page .danger-zone,
.workspace-window-page .appointment-danger-zone { margin-top: 24px; padding: 16px 18px; border: 1px solid #f0d5d5; border-radius: 16px; background: #fffafa; }
@media (max-width: 720px) {
  .sales-module-page .show-header,
  .sales-module-page .appointment-page-heading,
  .sales-module-page .reports-header { padding: 16px; border-radius: 16px; }
}
