/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Review Desk: reuse the existing cascade and fields in a compact composer. */
@media (min-width: 640px) {
  .reviewdesk-workspace > [data-recent-activities-composer] .entry-line { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .reviewdesk-workspace > [data-recent-activities-composer] .entry-line > [data-controller~="time-entry-cascade"] { display: contents; }
  .reviewdesk-workspace > [data-recent-activities-composer] .entry-line > *,
  .reviewdesk-workspace > [data-recent-activities-composer] [data-controller~="time-entry-cascade"] > * { margin-block: 0; min-width: 0; }
  .reviewdesk-workspace > [data-recent-activities-composer] .entry-line > :last-child { grid-column: 1 / -1; }
}
/* Number fields use direct entry throughout the app, including future fields.
   Keep native numeric keyboards and min/max/step validation intact. */
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Approved option A: a compact editor with persistent actions. */
.resource-dialog { margin:auto; width:calc(100% - 2rem); max-width:650px; max-height:calc(100dvh - 3rem); padding:0; border:0; border-radius:14px; background:white; color:#252c29; box-shadow:0 18px 60px #172c2533; overflow:hidden; }
.resource-dialog[open] { display:flex; flex-direction:column; }
.resource-dialog::backdrop { background:#25352c55; }
.resource-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:22px 28px; border-bottom:1px solid #dce1dd; flex-shrink:0; }
.resource-dialog-title { font-size:23px; font-weight:650; letter-spacing:-.025em; }
.resource-dialog-content { display:flex; min-height:0; }
.resource-dialog-content > form { display:flex; flex-direction:column; width:100%; min-height:0; gap:0; }
.resource-dialog-content > form > :not([hidden]) { margin-top:0!important; }
.resource-dialog .resource-form-fields { min-height:0; overflow-y:auto; padding:24px 28px; scrollbar-width:thin; scrollbar-color:#acbbb2 #f3f5f2; }
.resource-dialog .resource-form-fields > * + * { margin-top:20px; }
.resource-dialog .resource-section-title { margin:0 0 14px; font-size:15px; font-weight:650; color:#34493b; }
.resource-dialog .resource-section-divider { border-top:1px solid #dce1dd; padding-top:22px; margin-top:24px; }
.resource-dialog .resource-form-actions { padding:16px 28px; background:white; border-top:1px solid #dce1dd; flex-shrink:0; }
.resource-dialog .resource-form-actions { justify-content:flex-end; }
.resource-dialog .field-label { font-size:13px; text-transform:none; letter-spacing:0; font-weight:550; color:#34423a; }
.resource-dialog .field-input { min-height:40px; border-radius:6px; }
.resource-dialog .field-hint { color:#626c65; }
.resource-dialog-error { margin:14px 28px; padding:10px 12px; border-radius:6px; background:#fef2f2; color:#a33625; font-size:13px; }
.resource-dialog ::selection { background:#cce7da; }
@media(max-width:640px) {
 .resource-dialog { max-height:calc(100dvh - 1.5rem); }
 .resource-dialog-header { padding:18px 20px; }
 .resource-dialog .resource-form-fields { padding:20px; }
 .resource-dialog .resource-form-actions { padding:14px 20px; }
 .resource-dialog-title { font-size:21px; }
}
/* Keep both branding choices on the same row, including narrow editors. */
@media(max-width:640px) {
 .resource-dialog [data-controller$="-brand"] { padding:14px; }
 .resource-dialog [data-controller$="-brand"] > .grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
 .resource-dialog [data-controller$="-brand"] [data-action*="dragover"] { flex-direction:column; align-items:flex-start; gap:8px; padding:12px; }
 .resource-dialog [data-controller$="-brand"] [data-client-brand-target="colorSection"],
 .resource-dialog [data-controller$="-brand"] [data-project-brand-target="colorSection"] { flex-direction:column; align-items:flex-start; gap:8px; }
}

/* Carry the approved A form treatment through the editor's lower sections. */
.resource-dialog-description { margin-top:4px; color:#656d68; font-size:14px; }
.resource-dialog [data-controller="member-visibility"] { border:0; border-top:1px solid #dce1dd; border-radius:0; padding:22px 0 0; margin-top:24px; }
.resource-dialog [data-controller="member-visibility"] > legend { float:left; width:100%; padding:0; margin-bottom:15px; font-size:15px; font-weight:650; }
.resource-dialog [data-controller="member-visibility"] > div { clear:both; padding-top:0; }
.resource-dialog [data-controller="member-visibility"] [role="tablist"] { gap:3px; padding:3px; border-radius:6px; background:#eef2ec; }
.resource-dialog [data-member-visibility-target="modeTab"] { border-radius:4px; padding:6px 9px; font-size:12px; font-weight:500; background:transparent; color:#536358; }
.resource-dialog [data-member-visibility-target="modeTab"] svg { display:none; }
.resource-dialog [data-member-visibility-target="modeTab"][aria-selected="true"] { background:white; color:#20594d; box-shadow:0 1px 3px #263b2417; }
.resource-dialog [data-controller="member-visibility"] .uppercase { text-transform:none; letter-spacing:0; }
.resource-dialog [data-member-visibility-target$="List"]:not([hidden]) { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; border:0; border-radius:0; }
.resource-dialog [data-member-visibility-target$="List"] > div { display:contents; }
.resource-dialog .who-member-row { border:0; padding:7px 0; min-width:0; }
.resource-dialog .who-member-row > .text-sm { overflow-wrap:anywhere; }
.resource-member-initials { display:grid; place-items:center; flex-shrink:0; width:25px; height:25px; border-radius:50%; background:#eaf0e9; color:#536357; font-size:10px; }
.resource-dialog [data-recurring-schedule-target="combinedControls"] > .flex { gap:10px; }
.resource-dialog [data-recurring-schedule-target="combinedControls"] select { min-width:110px; }
@media(max-width:640px) {
 .resource-dialog [data-member-visibility-target$="List"]:not([hidden]) { grid-template-columns:1fr; }
}

/* Match the approved A mockup's actual field geometry and density. */
.resource-dialog { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; line-height:1.5; }
.resource-dialog .field-label { font-size:14px; font-weight:560; margin-bottom:6px; }
.resource-dialog .field-input { height:40px; padding:8px 11px; border:1px solid #bbc6be; background:white; color:#252c29; font-size:14px; }
.resource-dialog .field-hint { font-size:12px; line-height:1.5; margin-top:5px; }
.resource-dialog .resource-budget-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; align-items:start; }
.resource-dialog .resource-budget-pair > * { margin:0; min-width:0; }
.resource-dialog .resource-budget-pair [data-recurring-schedule-target="combinedControls"] > .flex { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.resource-dialog .resource-budget-pair [data-recurring-schedule-target="frequency"],
.resource-dialog .resource-budget-pair [data-recurring-schedule-target="weeklyFields"] select { width:100%!important; }
.resource-dialog .resource-budget-pair [data-recurring-schedule-target="prefix"],
.resource-dialog .resource-budget-pair [data-recurring-schedule-target="onLabel"] { display:none; }
.resource-dialog .resource-time-options > * + * { margin-top:13px; }
.resource-dialog .resource-time-options label > .text-sm { font-size:14px; color:#252c29; }
.resource-dialog [data-controller="threshold-list"] > [data-threshold-list-target="section"] { margin-left:0; margin-top:12px; }
.resource-dialog [data-controller="threshold-list"] a { font-size:12px; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
.resource-dialog .resource-form-fields > .resource-budget-pair { margin-top:0; }
@media(max-width:640px) {
 .resource-dialog .resource-budget-pair { grid-template-columns:1fr; }
}

/* Approved working ledger, shared by Clients and Projects. */
.directory-page { color:#26322b; font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.directory-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.directory-header h1 { font-size:28px; line-height:1.25; letter-spacing:-.025em; font-weight:650; margin:0 0 8px; }
.directory-header p { color:#637067; margin:0; }
.directory-summary { display:flex; flex-wrap:wrap; gap:12px 24px; margin:25px 0 12px; padding-bottom:20px; border-bottom:1px solid #dce3dc; color:#637067; font-size:13px; }
.directory-summary strong { color:#26322b; font-weight:650; }
.directory-status { display:flex; gap:24px; border-bottom:1px solid #dce3dc; margin:0 0 22px; }
.directory-status a { padding:10px 0 12px; border-bottom:2px solid transparent; color:#637067; font-weight:550; text-decoration:none; }
.directory-status a[aria-current="page"] { color:#20594d; border-color:#20594d; }
.directory-status span { margin-left:5px; font-size:12px; font-weight:400; }
.directory-filters { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }
.directory-filters input[type="search"] { width:340px; max-width:100%; }
.directory-filters select,.directory-filters input[type="search"] { min-height:40px; padding:8px 11px; background:white; border:1px solid #bdc9bf; border-radius:6px; font:inherit; color:#26322b; }
.directory-filter-controls { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.directory-table-wrap { overflow:auto; border:1px solid #dce3dc; border-radius:10px; background:white; }
.directory-table { width:100%; border-collapse:collapse; text-align:left; }
.directory-table th { padding:14px 16px; background:#f4f7f1; border-bottom:1px solid #dce3dc; color:#627063; font-size:11px; text-transform:uppercase; letter-spacing:.055em; font-weight:600; white-space:nowrap; }
.directory-table td { padding:17px 16px; border-bottom:1px solid #e9eee6; font-size:13px; vertical-align:middle; }
.directory-table tr:last-child td { border-bottom:0; }
.directory-resource-row { position:relative; isolation:isolate; }
.directory-resource-row:hover { background:#f5f8f1; }
.directory-name { display:flex; align-items:center; gap:10px; min-width:160px; }
.directory-primary-link { font-weight:600; font-size:14px; color:#26322b; }
.directory-primary-link::after { content:""; position:absolute; inset:0; z-index:0; }
.directory-primary-link:focus-visible::after { outline:2px solid #20594d; outline-offset:-2px; }
.directory-client-link,.directory-actions { position:relative; z-index:1; }
.directory-sub { margin-left:41px; margin-top:3px; }
.directory-client-link { font-size:12px; color:#20594d; text-decoration:underline; text-underline-offset:3px; }
.directory-mark { height:31px; width:31px; display:grid; place-items:center; flex-shrink:0; border-radius:7px; object-fit:cover; background:#e6eee1; color:#34583f; font-size:11px; font-weight:600; }
.directory-budget { min-width:150px; }
.directory-budget-line { display:flex; justify-content:space-between; gap:14px; font-size:12px; white-space:nowrap; }
.directory-budget-track { height:4px; background:#e6ece1; border-radius:3px; margin-top:7px; overflow:hidden; }
.directory-budget-fill { height:100%; background:#4d7856; border-radius:3px; }
.directory-budget-fill.over { background:#bd6351; }.directory-budget-fill.at,.directory-budget-fill.near { background:#ae8c3a; }
.directory-over { color:#a83c30; }.directory-total { font-weight:600; }
.directory-table .num { font-variant-numeric:tabular-nums; white-space:nowrap; }
.directory-actions { display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.directory-actions form { display:inline-flex; }
.directory-icon-button { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:5px; color:#20594d; }
.directory-icon-button:hover { background:#e4ecde; }.directory-icon-button:disabled { opacity:.5; cursor:not-allowed; }
.directory-action-cell { width:86px; min-width:86px; }
.directory-table-footer { display:flex; justify-content:space-between; gap:16px; padding:14px 2px; font-size:12px; color:#637067; }
.directory-page ::selection { background:#cbe3d1; }
.directory-page :is(button,a,input,select):focus-visible { outline:2px solid #20594d; outline-offset:3px; }

/* Centered detail window A: fixed header, summary, tabs and footer. */
.detail-window { width:860px; max-width:calc(100% - 32px); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:0; border-radius:12px; color:#26322b; background:white; box-shadow:0 18px 60px #172c2533; overflow:hidden; font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.detail-window[open],.detail-window-content,.detail-window-content>section { display:flex; flex-direction:column; min-height:0; }
.detail-window::backdrop { background:#273b3055; }
.detail-window-header { padding:25px 28px 20px; border-bottom:1px solid #dce3dc; display:flex; justify-content:space-between; align-items:flex-start; gap:18px; flex-shrink:0; }
.detail-window-name { display:flex; align-items:center; gap:12px; }
.detail-window-name h2 { font-size:23px; letter-spacing:-.025em; font-weight:650; margin:0; line-height:1.3; overflow-wrap:anywhere; }
.detail-window-mark { width:31px; height:31px; border-radius:7px; object-fit:cover; flex-shrink:0; }
.detail-window-meta { font-size:12px; color:#637067; margin:6px 0 0; }.detail-window-meta a { color:#20594d; text-decoration:underline; text-underline-offset:3px; }
.detail-window-actions { display:flex; align-items:center; gap:3px; }.detail-window-actions form { display:inline-flex; }
.detail-window-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:23px 28px; background:#f4f7f1; flex-shrink:0; }
.detail-window-summary span { display:block; color:#637067; font-size:11px; margin-bottom:6px; }
.detail-window-summary strong { font-weight:600; font-size:17px; line-height:1.4; font-variant-numeric:tabular-nums; }
.detail-window-tabs { display:flex; gap:26px; padding:0 28px; border-bottom:1px solid #dce3dc; flex-shrink:0; }
.detail-window-tabs button { padding:15px 0 12px; border-bottom:2px solid transparent; color:#637067; font-size:13px; font-weight:550; }
.detail-window-tabs button[aria-pressed="true"] { border-color:#20594d; color:#20594d; }
.detail-window-scroll { padding:24px 28px; overflow:auto; min-height:0; scrollbar-width:thin; scrollbar-color:#acbbb2 #f2f5ee; }
.detail-window-scroll h3 { font-size:15px; font-weight:650; margin:0 0 16px; }
.detail-window-footer { border-top:1px solid #dce3dc; padding:14px 28px; display:flex; align-items:center; justify-content:flex-end; gap:15px; flex-shrink:0; }
.detail-work-tabs { display:flex; gap:18px; margin-bottom:14px; }.detail-work-tabs button { font-size:12px; padding:4px 0; color:#637067; }.detail-work-tabs button[aria-pressed="true"] { color:#20594d; text-decoration:underline; text-underline-offset:5px; }
.detail-section-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:16px; }.detail-section-heading h3 { margin:0; }
.detail-period-filter { display:flex; align-items:center; gap:6px; }.detail-period-filter .field-input { height:32px; font-size:12px; padding:5px 9px; }.detail-period-filter .btn-secondary { padding:5px 9px; font-size:12px; }
.detail-text-action { display:flex; align-items:center; gap:4px; font-size:12px; color:#20594d; }
.detail-table-wrap { overflow:auto; }.detail-table { width:100%; border-collapse:collapse; text-align:left; }.detail-table th { padding:10px; font-size:10px; color:#627063; background:#f4f7f1; border-bottom:1px solid #dce3dc; text-transform:uppercase; letter-spacing:.04em; }.detail-table td { padding:15px 10px; font-size:12px; border-bottom:1px solid #e9eee6; }.detail-table td:first-child a { font-size:13px; font-weight:550; color:#20594d; }.detail-table td.num { white-space:nowrap; }
.detail-row-actions { white-space:nowrap; }.detail-row-actions>* { display:inline-flex; }.detail-information { display:grid; grid-template-columns:1fr 1fr; gap:20px 30px; margin:0; }.detail-information dt { font-size:12px; color:#637067; margin-bottom:4px; }.detail-information dd { font-size:13px; font-weight:550; margin:0; }.detail-information a { color:#20594d; text-decoration:underline; }
.detail-empty { padding:35px!important; text-align:center; color:#637067; }.detail-back { padding-bottom:10px; font-size:12px; color:#20594d; text-decoration:underline; text-underline-offset:3px; }
.detail-window-error { margin:16px 28px; background:#fef2f2; color:#a33625; padding:12px; border-radius:6px; font-size:13px; flex-shrink:0; }
.detail-window input[type="number"] { -moz-appearance:textfield; appearance:textfield; }.detail-window input[type="number"]::-webkit-inner-spin-button,.detail-window input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.detail-window [hidden] { display:none!important; }
@media(max-width:720px) {
 .directory-header h1 { font-size:25px; }.directory-header { gap:15px; }.directory-header p { font-size:13px; }.directory-filters { flex-wrap:wrap; gap:12px; }.directory-filters input[type="search"] { width:100%; }.directory-filter-controls { width:100%; }.directory-filter-controls select { flex:1; min-width:0; font-size:12px; }.directory-table-footer { font-size:11px; }.directory-table td { padding:14px 12px; }
 .detail-window { max-width:calc(100% - 20px); max-height:calc(100dvh - 24px); }.detail-window-header { padding:20px; gap:8px; }.detail-window-name h2 { font-size:19px; }.detail-window-mark { display:none; }.detail-window-actions { gap:0; }.detail-window-actions .btn-quiet { padding:5px; }.detail-window-summary { grid-template-columns:1fr 1fr; padding:18px 20px; gap:15px; }.detail-window-summary strong { font-size:15px; }.detail-window-tabs { padding:0 20px; gap:22px; }.detail-window-scroll { padding:20px; }.detail-window-footer { padding:12px 20px; }.detail-information { gap:16px; }.detail-section-heading { flex-wrap:wrap; }.detail-task-editor { min-width:650px; }
}
/* The window's task ledger keeps the approved four-column density. */
.detail-task-editor #task-columns > span:nth-child(4),.detail-task-editor #task-columns > span:nth-child(5),
.detail-task-editor #open-tasks turbo-frame > div > .hidden,.detail-task-editor #open-tasks turbo-frame > div > span.w-14 { display:none; }
.detail-task-editor #task-columns { padding:10px; background:#f4f7f1; color:#627063; font-size:10px; }
.detail-task-editor #open-tasks turbo-frame > div { padding:15px 10px; }
.detail-task-editor #open-tasks input[aria-label="Task name"] { font-size:13px; color:#20594d; font-weight:550; }
.detail-task-editor #open-tasks input[aria-label="Budget (hours)"] { color:#26322b; font-size:12px; }
.detail-archived-task { display:flex; align-items:center; gap:20px; padding:15px 10px; border-bottom:1px solid #e9eee6; font-size:13px; }
.detail-archived-task>span:first-child { flex:1; }
@media(max-width:720px) {
 .detail-task-editor { min-width:0; }
 .detail-task-editor #task-columns,.detail-task-editor #open-tasks,.detail-task-editor [data-inline-row-target="row"] { min-width:440px; }
 .detail-task-editor [aria-controls="copy-tasks-panel"] { max-width:180px; }
}

.detail-loading-header { display:flex; align-items:center; justify-content:space-between; padding:20px 28px; border-bottom:1px solid #dce3dc; font-weight:600; }
.detail-window-content:empty { min-height:80px; }

.client-member-columns { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.client-member-heading,.client-member-history-row { display:grid; grid-template-columns:minmax(0,1fr) 112px 72px; gap:12px; align-items:center; border-bottom:1px solid #e9eee6; }
.client-member-heading { color:#637067; font-size:10px; line-height:1.4; padding-bottom:10px; }
.client-member-heading>span:last-child,.client-member-hours { text-align:right; }
.client-member-history-row { padding:10px 0; font-size:12px; }
.client-member-name { overflow-wrap:anywhere; }
.client-member-last-login { color:#637067; font-size:11px; line-height:1.45; }
.client-member-last-login time>span { display:block; }
.client-member-hours { font-weight:550; white-space:nowrap; }
@media(max-width:720px) { .client-member-columns { grid-template-columns:1fr; gap:24px; }.client-member-heading,.client-member-history-row { grid-template-columns:minmax(0,1fr) 110px 65px; gap:8px; } }

/* Migration examples remain next to their field and reflow in reading order. */
.migration-column-head, .migration-column-row {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 0.75rem;
  border-bottom: 1px solid #e7e5e4;
  overflow-wrap: anywhere;
}
.migration-column-head { color: #57534e; font-size: 0.875rem; }
.migration-column-row { font-size: 0.875rem; }
.migration-flow, .migration-flow * { overflow-anchor: none; }
@media (max-width: 640px) {
  .migration-column-head { display: none; }
  .migration-column-row { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
}

/* Compact account-data rows: headings and refresh controls share a rail. */
.account-data-panel { container-type:inline-size; padding:28px; border:1px solid #efcfcd; border-radius:14px; background:#fff7f6; color:#292724; font-size:14px; line-height:1.55; }
.account-data-panel > h2 { margin:0 0 30px; font-size:23px; line-height:1.25; font-weight:650; letter-spacing:-.025em; }
.account-data-row { display:grid; grid-template-columns:175px minmax(0,1fr); gap:24px; padding:24px 0; border-top:1px solid #eaded9; }
.account-export-row { padding-top:0; border-top:0; }
.account-data-row-heading { min-width:0; }
.account-data-row-heading h3 { font-size:16px; line-height:1.35; font-weight:600; }
.account-data-row-heading button { margin-top:6px; font-size:12px; }
.account-data-row-content, .account-data-row > #account-deletion-flow { min-width:0; }
.account-data-row-content > p:first-child, .account-data-row > #account-deletion-flow > p:first-child { margin-top:0; }
.account-export-row .account-data-row-content > form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:0 12px; max-width:none; margin-top:22px; }
.account-export-row .account-data-row-content > form > p { grid-column:1/-1; margin-top:12px; }
.account-export-row .account-data-row-content > form > input[type=submit] { min-height:42px; margin-top:0; }
.account-data-panel .field-input { background:white; }
.account-data-panel #account-export-results { margin-top:24px; padding-top:20px; }
.account-data-panel .account-data-support { border-top:1px solid #eaded9; padding-top:18px; margin-top:2px; font-size:12px; }
@container (max-width:600px) {
  .account-data-row { grid-template-columns:minmax(0,1fr); gap:16px; }
  .account-data-row-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; }
  .account-data-row-heading button { margin-top:0; }
  .account-export-row .account-data-row-content > form { grid-template-columns:minmax(0,1fr); gap:12px; }
  .account-export-row .account-data-row-content > form > input[type=submit] { justify-self:start; }
  .account-export-row .account-data-row-content > form > p { margin-top:0; }
}
@media(max-width:700px) { .account-data-panel { padding:20px; } }
.account-data-panel #account-export-results > p { border:1px dashed #d8ccc6; border-radius:8px; padding:16px; font-size:12px; color:#81726a; }
.account-data-panel #account-export-results > h4 { font-size:13px; }

/* Private integration workflows retain their own document and form behavior. */
.integration-window { width: 860px; height: min(820px, calc(100dvh - 48px)); max-width: calc(100% - 32px); max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 0; border-radius: 12px; background: var(--color-paper, #faf9f6); color: var(--color-ink, #252521); box-shadow: 0 18px 60px #172c2533; overflow: hidden; }
.integration-window[open] { display: flex; flex-direction: column; }
.integration-window::backdrop { background: #273b3066; }
.integration-window-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; border-bottom: 1px solid #e7e5e4; flex-shrink: 0; }
.integration-window-body { flex: 1; min-height: 0; }
.integration-window-frame { display: block; width: 100%; height: 100%; border: 0; }
.integration-window [hidden] { display: none !important; }
@media (max-width: 640px) { .integration-window { max-width: calc(100% - 16px); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); }.integration-window-header { padding: 12px 16px; } }

/* Settings extension workflow shares the app's typography and pine palette. */
.extension-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:24px 0 0; }
.extension-step { position:relative; min-width:0; color:#78716c; }
.extension-step:not(:last-child)::after { content:"→"; position:absolute; right:-23px; top:0; color:#78716c; font-size:20px; }
.extension-step-heading { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.extension-step-heading h4 { font-size:14px; font-weight:600; margin:0; }
.extension-step-number { display:grid; place-items:center; flex-shrink:0; width:24px; height:24px; border:1px solid #d6d3d1; border-radius:50%; font-size:12px; }
.extension-step p { font-size:13px; line-height:1.5; color:#57534e; margin:0; }
.extension-step[aria-current="step"] { color:#292524; }
.extension-step[aria-current="step"] .extension-step-number { background:#1b5145; border-color:#1b5145; color:white; }
.extension-step[data-complete="true"] .extension-step-number { background:#e6efeb; border-color:#e6efeb; color:#1b5145; }
.extension-step-result { display:inline-block; margin-top:10px; font-size:13px; color:#1b5145; }
.extension-install { margin-top:12px; font-size:13px; }
.extension-workflow-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #e7e5e4; margin-top:24px; padding-top:14px; }
.extension-workflow-footer p { font-size:12px; color:#57534e; }
.extension-workflow-footer[hidden],.extension-step-result[hidden] { display:none; }
@media(max-width:640px) { .extension-steps { grid-template-columns:1fr; gap:32px; }.extension-step:not(:last-child)::after { content:"↓"; left:4px; right:auto; top:auto; bottom:-28px; } }

/* Contain both overflowing and short integration documents, including backdrop gestures. */
.integration-window, .integration-window-body { overscroll-behavior: contain; }
.integration-window::backdrop { overflow: hidden; overscroll-behavior: contain; }
html.integration-document, html.integration-document body { overscroll-behavior: contain; }
[data-calendar-fetch-target="spinner"][hidden] { display: none; }

/* Event capture reuses the existing Timecard composer, with one focused editor. */
.timecard-event-dialog-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #acbbb2 #f3f5f2; }
.timecard-event-dialog [data-recent-activities-composer] { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.timecard-event-dialog [data-recent-activities-composer] form > input[type="submit"] { display: none; }
.timecard-event-dialog [data-recent-activities-composer] > h2 { display: none; }
.timecard-event-dialog #time_entry_notes:focus { border-color: #287264; outline: 2px solid #287264; outline-offset: 2px; background: #f1f8f5; }
.timecard-event-dialog ::selection { background: #cce7da; }
.timecard-event-row-selected { background: #e5f1ec; border-radius: 8px; padding-inline: 12px; }

/* Keep Settings in place while the existing migration wizard navigates. */
.migration-overlay { width:calc(100% - 2rem); max-width:1200px; height:calc(100dvh - 3rem); }
.migration-overlay iframe { display:block; width:100%; flex:1; min-height:0; border:0; background:white; }
.migration-overlay-page { padding:24px; overflow-wrap:anywhere; }
@media (max-width:640px) {
  .migration-overlay { width:calc(100% - 1rem); height:calc(100dvh - 1rem); max-height:calc(100dvh - 1rem); }
  .migration-overlay .resource-dialog-header { padding:14px 16px; }
  .migration-overlay-page { padding:16px; }
}
