/* New area dashboards and calendar. Existing Daily/CRM/editor rules remain scoped separately. */
/* Shared light secondary buttons must override the global white button text. */
button.secondary-button { color:var(--ink,#172033); }
.workspace-v2 { --v2-ink:#172b4d; --v2-muted:#52647b; --v2-line:#dce3ed; --v2-blue:#2457c5; color:var(--v2-ink); display:grid; gap:1.5rem; min-width:0; }
.workspace-v2 > * { min-width:0; margin-block:0; }
.workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.workspace-heading h1 { margin:.25rem 0 .5rem; }
.workspace-intro { color:var(--v2-muted); line-height:1.65; margin:0; font-size:1rem; }
.workspace-v2 .panel { border:1px solid var(--v2-line); border-radius:14px; box-shadow:none; background:#fff; padding:1.4rem; }
.workspace-v2 h2 { font-size:1.15rem; line-height:1.4; margin:0 0 .75rem; }
.workspace-v2 h3 { font-size:1rem; }
.workspace-v2 .eyebrow { font-size:.78rem; color:#52647b; font-weight:600; }
.workspace-v2 a:focus-visible,.workspace-v2 button:focus-visible,.workspace-v2 input:focus-visible { outline:3px solid #2457c5; outline-offset:3px; }
.workspace-v2 button,.workspace-v2 .button,.workspace-v2 .secondary-button { min-height:44px; font-size:.92rem; }
.workspace-v2 .field-help { font-size:.85rem; line-height:1.65; color:#52647b; }
.sidebar-help { font-size:.75rem; line-height:1.6; color:#5d6b7d; margin:.25rem .85rem .5rem; }
.area-overviews.dashboard-life-layout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.area-overview { border:1px solid var(--v2-line); border-radius:14px; padding:1.35rem; background:#fff; display:flex; flex-direction:column; gap:1rem; min-width:0; }
.area-overview > header { display:flex; align-items:center; gap:.75rem; }
.area-overview h2 { margin:0; font-size:1.05rem; }
.area-overview .section-link { margin-top:auto; display:inline-flex; align-items:center; min-height:44px; }
.area-icon { width:38px; height:38px; flex:none; border-radius:11px; display:grid; place-items:center; background:#eaf0ff; color:#2457c5; font-size:.9rem; font-weight:750; }
.area-icon--personal { background:#e7f3ee; color:#226649; }
.area-icon--home { background:#f7efdf; color:#7b551a; }
.overview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:0; }
.overview-stats dt { font-size:.78rem; color:#52647b; margin-bottom:.4rem; }
.overview-stats dd { margin:0; font-size:1.8rem; font-weight:700; font-variant-numeric:tabular-nums; }
.overview-number { margin:.2rem 0; font-size:.92rem; color:#52647b; }
.overview-number strong { font-size:1.8rem; color:#172b4d; }
.overview-todo-list p { font-size:.9rem; margin:.4rem 0; display:flex; gap:.75rem; justify-content:space-between; overflow-wrap:anywhere; }
.overview-todo-list small { white-space:nowrap; color:#52647b; }
.overview-financial { padding-top:1rem; border-top:1px solid var(--v2-line); font-size:.85rem; margin:0; }
.overview-financial strong { display:block; font-size:1.35rem; margin:.25rem 0; }
.overview-financial small { color:#52647b; }
.area-overview .system-status-grid { display:grid; grid-template-columns:1fr; gap:.5rem; }
.area-overview .status-card { padding:.6rem .75rem; background:#f6f8fb; border:0; }
.area-overview .status-card h3,.area-overview .status-card p { margin:.15rem 0; }
.work-dashboard-focus { display:grid; grid-template-columns:minmax(0,2fr) minmax(250px,1fr); gap:1.25rem; }
.work-report-summary p { line-height:1.65; color:#52647b; }
.work-report-summary .report-status { font-size:1.5rem; font-weight:700; color:#172b4d; margin:.5rem 0; }
.work-report-summary hr { border:0; border-top:1px solid var(--v2-line); margin:1.25rem 0; }
.evidence-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.evidence-path a { text-decoration:none; padding:1rem; border-radius:10px; background:#f5f7fb; border:1px solid #e5eaf2; }
.evidence-path strong,.evidence-path span { display:block; }
.evidence-path strong { margin-bottom:.6rem; font-size:.95rem; }
.evidence-path span { color:#52647b; font-size:.85rem; line-height:1.6; }
.personal-todo-create { display:grid; grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(100px,.65fr) auto; align-items:end; gap:.75rem; padding-block:1rem; }
.personal-todo-create label { margin:0; }
.personal-todo-create input,.personal-todo-create select { width:100%; margin-bottom:0; }
.calendar-panel { padding:0 !important; overflow:hidden; }
.calendar-panel-heading { padding:1.25rem 1.4rem 0; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.calendar-panel-heading h2 { margin:0; }
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.4rem .5rem; }
.calendar-date-controls { display:flex; gap:.4rem; align-items:center; }
.calendar-date-controls h3 { margin:0 .25rem; font-size:1.2rem; font-weight:700; min-width:8rem; text-align:center; }
.calendar-date-controls .secondary-button { margin:0 .5rem 0 0; }
.calendar-arrow { width:40px; min-height:44px; border:0; background:transparent; color:#344a67; border-radius:8px; font-size:1.5rem !important; padding:0; }
.calendar-arrow:hover { background:#edf2fa; }
.calendar-view-controls { display:flex; background:#f1f4f9; border:1px solid #dce3ed; border-radius:9px; padding:3px; }
.calendar-view-controls button { min-width:44px; min-height:36px; margin:0; padding:.3rem .8rem; border:0; border-radius:6px; background:transparent; color:#52647b; }
.calendar-view-controls button[aria-pressed=true] { background:#fff; color:#2457c5; box-shadow:0 1px 3px #172b4d20; font-weight:700; }
.calendar-filter-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.2rem 1.4rem; }
.calendar-area-filters { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.calendar-area-filters label,.calendar-area-filters > span { display:inline-flex; align-items:center; gap:.35rem; margin:0; font-size:.85rem; min-height:44px; }
.calendar-area-filters input { width:16px; height:16px; margin:0 .1rem 0 0; accent-color:#2457c5; }
.calendar-dot { display:inline-block; width:8px; height:8px; border-radius:50%; flex:none; }
.calendar-dot--work { background:#3568d4; }.calendar-dot--personal { background:#25825c; }.calendar-dot--family { background:#a66c19; }
.calendar-panel .calendar-status { margin:0; padding:.25rem 1.4rem .8rem; min-height:2.3rem; }
.calendar-month { border-collapse:collapse; table-layout:fixed; width:100%; font-size:.9rem; }
.calendar-month th { padding:.6rem .3rem; text-align:center; font-size:.78rem; font-weight:500; background:#fafbfd; border-block:1px solid #e0e6ef; color:#52647b; }
.calendar-month td { width:14.285%; height:110px; padding:.3rem; border:1px solid #e5eaf2; vertical-align:top; }
.calendar-month tr td:first-child { border-left:0; }.calendar-month tr td:last-child { border-right:0; }
.calendar-month tr:last-child td { border-bottom:0; }
.calendar-day-number { border:0; background:transparent; color:#344a67; min-height:28px !important; width:28px; padding:0; border-radius:50%; display:block; margin:0 0 .25rem; font-size:.85rem !important; }
.calendar-other-month { background:#fafbfd; }.calendar-other-month .calendar-day-number { color:#7d899b; }
.calendar-is-today .calendar-day-number { color:#fff; background:#2457c5; font-weight:700; }
.calendar-event { display:block; text-align:left; width:100%; min-height:24px !important; margin:.18rem 0; padding:.15rem .35rem; border:0; border-left:3px solid #3568d4; border-radius:4px; color:#244b95; background:#edf3ff; font-size:.78rem !important; line-height:1.45; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.calendar-event--personal { border-color:#25825c; background:#eaf6ef; color:#205e45; }
.calendar-event--family { border-color:#a66c19; background:#fff5df; color:#78501b; }
.calendar-more { border:0; background:transparent; color:#52647b; font-size:.75rem !important; min-height:24px !important; padding:.1rem .25rem; margin:0; text-align:left; }
.calendar-scroll { width:100%; overflow:auto; overscroll-behavior:contain; }
.calendar-timed { min-width:750px; }.calendar-timed--day { min-width:260px; }
.calendar-week-header { display:grid; grid-template-columns:52px repeat(var(--calendar-days),minmax(0,1fr)); border-block:1px solid #dce3ed; background:#fafbfd; position:sticky; top:0; z-index:2; }
.calendar-week-header > div { padding:.5rem .3rem; text-align:center; font-size:.85rem; }
.calendar-week-header strong { display:block; font-size:1.15rem; margin:.2rem auto; }
.calendar-week-header .calendar-is-today { color:#2457c5; }
.calendar-allday { display:grid; grid-template-columns:52px repeat(var(--calendar-days),minmax(0,1fr)); border-bottom:1px solid #dce3ed; }
.calendar-allday > div { min-height:44px; padding:.2rem; border-left:1px solid #e5eaf2; }.calendar-allday > div:first-child { font-size:.7rem; color:#52647b; padding-top:.75rem; border:0; }
.calendar-time-scroll { max-height:540px; overflow-y:auto; overscroll-behavior:contain; }
.calendar-time-grid { display:grid; grid-template-columns:52px repeat(var(--calendar-days),minmax(0,1fr)); }
.calendar-hour-axis,.calendar-time-day { height:1440px; position:relative; }
.calendar-time-day { border-left:1px solid #dce3ed; background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#f0f3f7 29px,#f0f3f7 30px,transparent 30px,transparent 59px,#e2e7ef 59px,#e2e7ef 60px); }
.calendar-hour-label { position:absolute; right:.5rem; font-size:.7rem; color:#697a90; line-height:1; }
.calendar-time-event { position:absolute; margin:0; white-space:normal; padding:.25rem .3rem; min-height:22px !important; overflow:hidden; line-height:1.35; border:1px solid #d2def5; border-left:3px solid #3568d4; }
.calendar-time-event.calendar-event--personal { border-color:#cfe4d8; border-left-color:#25825c; }.calendar-time-event.calendar-event--family { border-color:#f0dfb8; border-left-color:#a66c19; }
.calendar-time-event small { display:block; font-size:.68rem; }
.calendar-hint,.calendar-range-note { margin:0; padding:.8rem 1.4rem; background:#fafbfd; border-top:1px solid #e5eaf2; }
.calendar-dialog { width:min(440px,calc(100vw - 2rem)); padding:1.6rem; border:1px solid #dce3ed; border-radius:14px; color:#172b4d; box-shadow:0 16px 80px #172b4d30; }
.calendar-dialog::backdrop { background:#172b4d60; }.calendar-dialog h2 { white-space:pre-wrap; overflow-wrap:anywhere; padding-right:1rem; }.calendar-dialog p { line-height:1.65; }
.calendar-dialog .button,.calendar-dialog .secondary-button { display:inline-flex; align-items:center; margin:.4rem .4rem 0 0; }
.calendar-dialog-close { position:absolute; top:.45rem; right:.6rem; color:#52647b; background:transparent; border:0; font-size:1.5rem !important; padding:0 .75rem; }
@media(min-width:1800px) { .workspace-v2 { gap:1.75rem; }.calendar-month td { height:130px; } }
@media(max-width:1190px) { .area-overviews.dashboard-life-layout { grid-template-columns:1fr; }.area-overview { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,1fr); align-items:center; }.area-overview > .section-link { grid-column:2; justify-self:end; margin:0; }.area-overview .overview-financial { border:0; padding:0; margin:0; }.work-dashboard-focus { grid-template-columns:1fr; }.personal-todo-create { grid-template-columns:1fr 1fr; }.evidence-path { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px) { .workspace-v2 { gap:1rem; }.workspace-heading { align-items:flex-start; flex-direction:column; }.workspace-heading .button { margin-top:0; }.workspace-v2 .panel { padding:1rem; border-radius:11px; }.area-overview { display:flex; padding:1rem; }.area-overview > .section-link { align-self:flex-start; }.calendar-panel-heading { padding:1rem 1rem 0; }.calendar-panel-heading .section-link { font-size:.78rem; }.calendar-toolbar { flex-wrap:wrap; padding:.75rem 1rem .25rem; gap:.5rem; }.calendar-date-controls { flex:1 1 auto; }.calendar-date-controls h3 { font-size:1rem; min-width:6rem; }.calendar-arrow { width:30px; }.calendar-date-controls .secondary-button { padding-inline:.55rem; margin-right:.2rem; }.calendar-view-controls button { padding:.25rem .5rem; }.calendar-filter-row { padding:.1rem 1rem; flex-wrap:wrap; gap:0; }.calendar-area-filters { gap:.6rem; }.calendar-panel .calendar-status { padding:.15rem 1rem .65rem; font-size:.78rem; }.calendar-month td { height:86px; padding:.18rem; }.calendar-event { font-size:.65rem !important; padding:.1rem .15rem; border-left-width:2px; }.calendar-day-number { width:25px; min-height:25px !important; font-size:.75rem !important; }.calendar-more { font-size:.65rem !important; }.calendar-hint,.calendar-range-note { padding:.65rem 1rem; font-size:.78rem !important; }.personal-todo-create { grid-template-columns:1fr; }.evidence-path { gap:.6rem; }.evidence-path a { padding:.75rem; }.workspace-v2 .dashboard-stat-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.topbar .navigation { flex-wrap:wrap; }.topbar .navigation a { font-size:.82rem; padding-inline:.5rem; } }
.calendar-dialog [hidden] { display:none !important; }
/* Buttons retain readable text on a light calendar surface. */
.calendar-panel .secondary-button { color:#2457c5; }
.calendar-panel .link-button { color:#2457c5; font-weight:600; }
.integrated-home .calendar-month td { height:86px; }
@media(max-width:720px) { .area-overview { align-items:stretch; }.overview-stats { width:100%; }.calendar-panel .calendar-view-controls { margin-left:auto; } }
/* Optional workflow controls share the Daily editor's established field typography. */
.daily-workspace .workflow-fields { border-top:1px solid #dce3ed; padding-top:1.4rem; }
.workflow-fields .daily-reference-grid { gap:1rem 1.25rem; margin-bottom:1rem; }
.workflow-fields input[type=checkbox] { width:1rem; min-height:1rem; height:1rem; flex:none; margin:0 .4rem 0 0; vertical-align:middle; accent-color:#2457c5; }
.workflow-fields label:has(input[type=checkbox]) { display:flex; align-items:center; gap:.25rem; font-weight:500; font-size:.9rem; line-height:1.6; }
.workflow-fields small { color:#52647b; font-size:.8rem; line-height:1.6; }
.workflow-source-context { margin:.25rem 0 1.25rem; padding:1rem 1.1rem; border-left:3px solid #3764c7; border-radius:0 8px 8px 0; background:#f2f6fd; color:#233e67; }
.workflow-source-context > p,.workflow-source-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.workflow-source-context > p { margin:.65rem 0; font-size:.92rem; }
.workflow-crm-options,.workflow-options { padding:.8rem 1rem; margin:1rem 0 0; background:#f8fafc; border:1px solid #e0e6ee; border-radius:8px; }
.workflow-crm-options > summary,.workflow-options > summary { min-height:28px; cursor:pointer; color:#345477; font-size:.9rem; font-weight:600; }
.workflow-crm-options[open] > summary,.workflow-options[open] > summary { margin-bottom:.8rem; }
.workflow-crm-options [data-workflow-registration-preview]:not(:empty) { border-left:3px solid #315cce; padding:.65rem .8rem; background:#edf3ff; color:#233e67; font-size:.9rem; white-space:pre-wrap; }
@media(max-width:720px) { .workflow-fields .daily-reference-grid { grid-template-columns:1fr; }.workflow-source-context { padding:.85rem; }.workflow-crm-options,.workflow-options { padding:.75rem; } }
.workflow-row { margin:1rem 0; padding:1.25rem; border-radius:12px; box-shadow:none; }
.workflow-row h2 { font-size:1.15rem; margin:.8rem 0; }
.workflow-row h2 a { text-decoration:none; }
.workflow-row h2 a:hover { text-decoration:underline; }
.workflow-row .workflow-source-text { margin:.5rem 0 1rem; color:#344a65; font-size:.94rem; }
.workflow-row .status-badge { font-size:.8rem; padding:.3rem .65rem; border-radius:20px; background:#eef3fc; color:#325582; }

/* Work context corrective: compact summaries, native disclosure and source beside input. */
.work-context { min-width:0; margin:1rem 0; padding:1rem; border:1px solid #d8e2ed; border-radius:10px; background:#f7f9fc; color:#243953; }
.work-context-summary + .work-context-summary { margin-top:.8rem; padding-top:.8rem; border-top:1px solid #d8e2ed; }
.work-context-label { display:flex; flex-wrap:wrap; gap:.35rem .8rem; align-items:baseline; margin:0 0 .35rem; color:#2b4260; font-size:.85rem; font-weight:700; }
.work-context-label time { color:#52647a; font-size:.8rem; font-weight:500; }
.work-context-people { display:flex; flex-wrap:wrap; gap:.2rem 1rem; margin:.3rem 0 .5rem; color:#4a5c73; font-size:.85rem; }
.work-context-excerpt,.work-context-raw { margin:.4rem 0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.work-context-excerpt { font-size:.94rem; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.work-context-expand { margin-top:.7rem; border-top:1px solid #d8e2ed; padding-top:.4rem; }
.work-context-expand > summary { min-height:44px; display:list-item; align-content:center; cursor:pointer; color:#2458a6; font-size:.85rem; font-weight:600; }
.work-context-expand > summary:focus-visible { outline:3px solid #8baeff; outline-offset:3px; }
.work-context-entry { padding:.7rem 0; border-bottom:1px solid #d8e2ed; }
.work-context-entry:last-child { border-bottom:0; }
.work-context-entry h4 { margin:.25rem 0; font-size:.85rem; color:#52647a; }
.work-context-next { margin:.8rem 0; padding-top:.7rem; border-top:1px solid #e0e6ee; overflow-wrap:anywhere; }
.work-current-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin:.5rem 0; font-size:.85rem; }
.work-management-workspace .work-card-inner { gap:.5rem; }
.work-management-workspace .work-card .work-context { margin:.5rem 0; }
.work-management-workspace .work-card .work-card-action-grid { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; }
.work-management-workspace .work-card .work-next-action-box,.work-management-workspace .work-card .work-timeline-box { padding:.3rem 0; border:0; background:transparent; box-shadow:none; }
.work-management-workspace .work-card .work-next-action-box { flex:1 1 220px; }
.work-management-workspace .work-card .work-timeline-box { display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:.5rem; }
.work-management-workspace .work-card .next-action-header { margin:0; }
.work-management-workspace .work-card .next-action-content { margin:.25rem 0; }
.work-management-workspace .work-card .action-icon { display:none; }
.work-dashboard-priority .compact-record > div { min-width:0; flex:1; }
.workflow-input-context { min-width:0; margin:1rem; padding:1rem; background:#eef3fc; border-radius:10px; }
.workflow-input-context h2 { font-size:1rem; margin:.35rem 0; }
.workflow-input-context .work-context { padding:.75rem; margin:.6rem 0; background:#fff; }
.workflow-entry-layout { min-width:0; }
.daily-entry-record-layout.has-workflow-context { grid-template-columns:1fr; }
.workflow-previous-completion { clear:both; padding:.75rem 0; }
@media(min-width:1600px) {
  .workflow-entry-layout.has-workflow-context { display:grid; grid-template-columns:minmax(260px,320px) minmax(0,1fr); align-items:start; }
  .daily-workspace .daily-entry-panel:has(.workflow-entry-layout.has-workflow-context) { overflow:visible; }
  .workflow-entry-layout.has-workflow-context > .workflow-input-context { position:sticky; top:1rem; max-height:calc(100vh - 2rem); overflow-y:auto; }
}
@media(max-width:720px) {
  .workflow-input-context { padding:.8rem; margin:.75rem; }
  .work-context { padding:.8rem; }
  .work-current-actions .button { width:100%; text-align:center; }
}
/* Integrated Home keeps area status visible alongside a compact calendar. */
.home-overview-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,1fr); gap:1.25rem; align-items:start; }
.home-overview-layout .area-overviews.dashboard-life-layout { grid-template-columns:1fr; gap:.8rem; margin:0; }
.home-overview-layout .area-overview { display:flex; align-items:stretch; padding:1.1rem 1.2rem; gap:.6rem; }
.home-overview-layout .area-overview > .section-link { align-self:flex-start; min-height:36px; margin:0; }
.home-overview-layout .area-overview h2 { font-size:.96rem; }
.home-overview-layout .overview-stats dd { font-size:1.5rem; }
.home-overview-layout .overview-todo-list { display:none; }
.home-overview-layout .overview-financial { font-size:.8rem; padding-top:.5rem; }
.home-overview-layout .overview-financial strong { font-size:1.1rem; display:inline; margin-left:.4rem; }
.home-overview-layout .overview-financial small { display:block; margin-top:.2rem; }
.home-overview-layout .calendar-panel-heading { padding:1rem 1rem 0; }
.home-overview-layout .calendar-toolbar { padding:.6rem 1rem .2rem; }
.home-overview-layout .calendar-filter-row { padding:0 1rem; }
.home-overview-layout .calendar-panel .calendar-status { padding:.15rem 1rem .55rem; font-size:.875rem; min-height:0; }
.home-overview-layout .calendar-month td { height:64px; }
.home-overview-layout .calendar-month .calendar-event { min-height:22px !important; font-size:.72rem !important; }
.home-overview-layout .calendar-hint { display:none; }
.home-overview-layout .area-overview .system-status-grid .status-card:nth-child(n+3) { display:none; }
.work-dashboard-focus { align-items:start; }
.calendar-agenda { border-top:1px solid #e0e6ef; padding:.85rem 1.2rem; background:#fff; }
.calendar-agenda > header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.calendar-agenda h3 { margin:0; font-size:.9rem; }
.calendar-agenda .link-button { min-height:36px; margin:0; }
.calendar-agenda-event { display:flex; align-items:flex-start; gap:.65rem; background:transparent; color:#233e67; border:0; border-radius:6px; width:100%; padding:.55rem .3rem; margin:0; min-height:44px; text-align:left; }
.calendar-agenda-event:hover { background:#f5f7fb; }
.calendar-agenda-event .calendar-dot { margin-top:.45rem; }
.calendar-agenda-event strong { display:block; font-size:.86rem; font-weight:600; white-space:pre-wrap; overflow-wrap:anywhere; }
.calendar-agenda-event small { display:block; margin-top:.2rem; color:#52647b; font-size:.76rem; }
.calendar-agenda-empty { font-size:.85rem; color:#52647b; margin:.6rem 0 .25rem; line-height:1.6; }
.calendar-day-count { display:none; }
.calendar-day-number[aria-pressed=true]:not([aria-current=date]) { outline:2px solid #8eabd9; outline-offset:-2px; }
.calendar-settings { max-width:1100px; }
.calendar-settings .panel,.calendar-event-workspace .panel { margin:0; }
.calendar-settings .panel > p,.calendar-event-workspace .panel > p { color:#52647b; line-height:1.7; }
.calendar-settings label:has(input[type=checkbox]),.calendar-event-workspace label:has(input[type=checkbox]) { display:flex; align-items:flex-start; gap:.6rem; font-weight:500; font-size:.94rem; line-height:1.65; }
.calendar-settings input[type=checkbox],.calendar-event-workspace input[type=checkbox] { width:18px; height:18px; min-height:18px; flex:none; margin:.2rem 0 0; accent-color:#2457c5; }
.calendar-settings select { max-width:620px; }
.calendar-settings form { margin:1rem 0 .25rem; }
.calendar-settings .panel h2 { color:#233e67; }
.calendar-settings details { border-top:1px solid #dce3ed; margin-top:1rem; padding-top:1rem; }
.calendar-settings summary { cursor:pointer; min-height:36px; }
.calendar-event-workspace { max-width:1100px; }
.calendar-event-workspace form p { max-width:680px; }
.calendar-event-workspace button.secondary-button { border-color:#d8c2c2; color:#8c3939; margin-left:.5rem; }
.calendar-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:.75rem; flex-wrap:wrap; }
.calendar-header-actions .secondary-button { margin:0; font-size:.82rem; }
@media(max-width:720px) { .calendar-panel-heading { align-items:flex-start; }.calendar-header-actions { gap:.25rem .6rem; }.calendar-header-actions .secondary-button { min-height:36px; font-size:.78rem; padding:.3rem .6rem; } }
.calendar-create-form { max-width:760px; }
.calendar-create-form .calendar-create-field { margin-bottom:1.1rem; }
.calendar-create-form .calendar-create-field > label { margin:0 0 .25rem; }
.calendar-create-form select { max-width:350px; }
.calendar-create-dates,.calendar-create-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; margin:.5rem 0 1rem; }
.calendar-create-dates label,.calendar-create-times label { margin:0 0 .3rem; }
.calendar-create-form input:not([type=checkbox]) { min-height:44px; font:inherit; }
.calendar-create-form .calendar-checkbox { display:flex; gap:.55rem; align-items:flex-start; font-size:.94rem; font-weight:500; line-height:1.6; }
.calendar-create-form .calendar-checkbox input { width:18px; height:18px; min-height:18px; flex:none; margin:.2rem 0 0; accent-color:#2457c5; }
.calendar-create-confirm { margin-top:1.2rem; border-top:1px solid #dce3ed; padding-top:.7rem; }
.calendar-create-times[hidden] { display:none; }
@media(max-width:520px) { .calendar-create-dates,.calendar-create-times { gap:.6rem; }.calendar-create-form input[type=date],.calendar-create-form input[type=time] { min-width:0; font-size:1rem; padding:.6rem .4rem; } }
/* Native date controls need room for all date segments and the calendar icon. */
.daily-workspace .daily-mail-input-follow-date { min-width:12rem; }
.calendar-event-workspace .calendar-pending { background:#f2f6fd; border-color:#c6d5ee; }
.calendar-event-workspace .calendar-pending h2 { color:#2457c5; }
.calendar-panel .calendar-status--attention { color:#8c3939; }
.calendar-event--attention { border-left-color:#a35332; background:#fff0e8; color:#8b4226; }

/* Dashboard summaries retain legible labels at every viewport. */
.home-overview-layout .area-overview :is(.eyebrow,.field-help,.section-link,.overview-stats dt,.overview-number,.overview-financial,.overview-financial small) { font-size:.875rem; }
.dashboard-section-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.dashboard-section-links a { display:inline-flex; align-items:center; min-height:44px; padding:.45rem .8rem; border:1px solid #dce3ed; border-radius:8px; background:#fff; color:#254b99; font-size:.875rem; }
.dashboard-todo-search { display:flex; align-items:end; gap:.75rem; margin:1rem 0; }
.dashboard-todo-search label { flex:1; min-width:0; font-size:.875rem; }
.dashboard-todo-search input { min-height:44px; width:100%; }
.dashboard-todo-search button { min-height:44px; }
.dashboard-financial-details > summary { cursor:pointer; min-height:44px; padding:.8rem 1rem; border:1px solid #dce3ed; border-radius:10px; background:#fff; color:#254b99; font-weight:600; }
.dashboard-financial-details[open] > summary { margin-bottom:1rem; }
.work-financial-overview dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0; }
.work-financial-overview dt { color:#52647b; font-size:.875rem; }
.work-financial-overview dd { margin:.3rem 0 0; font-weight:700; font-size:1.25rem; overflow-wrap:anywhere; }
.dashboard-calendar-overview .calendar-month td { height:64px; }
.work-todos .section-heading { flex-wrap:wrap; }
.personal-dashboard [data-personal-todos] .todo-actions a { display:inline-flex; align-items:center; min-height:44px; padding:.4rem .5rem; }
@media(max-width:1190px) {
 .home-overview-layout { grid-template-columns:1fr; }
 .home-overview-layout .area-overviews.dashboard-life-layout { grid-template-columns:repeat(3,minmax(0,1fr)); grid-row:1; }
 .home-overview-layout .calendar-panel { grid-row:2; }
 .home-overview-layout .area-overview { padding:1rem; }
 .home-overview-layout .area-overview h2 { font-size:1rem; }
 .home-overview-layout .overview-stats { grid-template-columns:1fr; gap:.35rem; }
 .home-overview-layout .overview-stats > div { display:flex; justify-content:space-between; gap:.5rem; }
 .home-overview-layout .overview-stats dd { font-size:1.2rem; }
 .home-overview-layout .area-overview .section-link,.home-overview-layout .area-overview .field-help,.home-overview-layout .overview-financial { font-size:.875rem; }
}
@media(max-width:720px) {
 .home-overview-layout .area-overviews.dashboard-life-layout { grid-template-columns:1fr; gap:.75rem; }
 .home-overview-layout .area-overview { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.7rem 1rem; padding:1rem; }
 .home-overview-layout .area-overview > header { grid-column:1; }
 .home-overview-layout .area-overview > .section-link { grid-column:2; grid-row:1; font-size:.875rem; min-height:44px; }
 .home-overview-layout .area-overview > :not(header):not(.section-link) { grid-column:1 / -1; }
 .home-overview-layout .area-overview h2 { display:none; }
 .home-overview-layout .area-overview .eyebrow,.home-overview-layout .overview-stats dt,.home-overview-layout .area-overview .field-help,.home-overview-layout .area-overview > div[hx-get] { font-size:.875rem; }
 .home-overview-layout .overview-stats { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.75rem; }
 .home-overview-layout .overview-stats > div { flex-direction:column; gap:.25rem; }
 .home-overview-layout .overview-stats dd { font-size:1.3rem; }
 .home-overview-layout .overview-number { font-size:.875rem; margin:0; }
 .home-overview-layout .overview-number strong { display:inline; font-size:1.3rem; }
 .home-overview-layout .overview-financial { display:block; margin:0; padding-top:.5rem; }
 .home-overview-layout .calendar-month td { height:53px; }
 .dashboard-calendar-overview .calendar-month td { height:53px; }
 .calendar-month .calendar-event,.calendar-month .calendar-more { display:none; }
 .calendar-day-count { display:block; font-size:.875rem; color:#33588d; margin:.1rem 0; }
 .calendar-agenda { padding:.75rem 1rem; }
 .calendar-agenda-event strong,.calendar-agenda-event small { font-size:.875rem; }
 .work-financial-overview dl { grid-template-columns:1fr; gap:.65rem; }
 .work-financial-overview dl > div { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.5rem; }
 .work-financial-overview dd { font-size:1.1rem; margin:0; }
}
