:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: #0d1117; --surface: #141a23; --surface-raised: #1a2230; --surface-soft: #10161f;
  --border: #263142; --border-strong: #344158; --text: #f5f7fb; --text-muted: #8f9bb0; --text-subtle: #667287;
  --accent: #d9ef6b; --accent-strong: #e8f79a; --accent-soft: #303b25; --accent-contrast: #172029;
  --success: #74d69b; --danger: #f49aa6; --danger-bg: #3b2029; --danger-border: #62303d;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --shadow: 0 10px 28px rgba(0, 0, 0, .16);
  background: var(--bg); color: var(--text);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--bg); }
body, button, input, select, textarea { font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { min-height: 36px; border: 1px solid transparent; border-radius: var(--radius-sm); padding: .55rem .85rem; cursor: pointer; background: var(--accent); color: var(--accent-contrast); font-weight: 700; letter-spacing: -.01em; transition: background .15s ease, border-color .15s ease; }
button:hover { background: var(--accent-strong); box-shadow: none; transform: none; }
button:active { transform: none; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent-strong); outline-offset: 3px; }
button.secondary { background: var(--surface-raised); color: var(--text); border-color: var(--border); }
button.secondary:hover { background: var(--surface); border-color: var(--border-strong); }
button.danger { background: var(--danger-bg); color: var(--danger); border-color: var(--danger-border); }
button.danger:hover { background: #4a2732; }
.shell { width: min(1480px, 100%); margin: 0 auto; padding: 34px 38px 48px; }
.loading-card, .auth-card, .panel, .sidebar { border: 1px solid var(--border); background: rgba(18, 23, 32, .88); box-shadow: var(--shadow); }
.loading-card { margin: 15vh auto; width: min(420px, 100%); padding: 26px; border-radius: var(--radius-lg); text-align: center; color: var(--text-muted); }
.auth-card { width: min(460px, 100%); margin: 8vh auto; padding: 42px; border-radius: 26px; }
.auth-brand { display: flex; align-items: center; gap: 13px; margin-bottom: 48px; }
.auth-brand h1 { margin: 3px 0 0; font-size: 1.35rem; }
.auth-intro { margin-bottom: 28px; }
.auth-intro h2 { margin: 7px 0 10px; font-size: 2rem; line-height: 1.12; letter-spacing: -.045em; }
.auth-intro p:last-child { max-width: 32rem; line-height: 1.6; }
.auth-actions { margin-top: 24px; }
.auth-refined { width: min(460px, 100%); margin: 4vh auto; padding: 32px; border-radius: 16px; }
.auth-refined .auth-brand { margin-bottom: 24px; }
.auth-refined .auth-intro { margin-bottom: 24px; }
.auth-refined .auth-intro h2 { font-size: 26px; letter-spacing: -.03em; }
.auth-full { width: 100%; min-height: 44px; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: var(--text-muted); font-size: 12px; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.auth-password { display: flex; align-items: center; position: relative; }
.auth-password input { width: 100%; padding-right: 65px; }
.auth-password button { position: absolute; right: 5px; background: transparent; border: 0; color: var(--text-muted); font-size: 12px; padding: 8px; }
.auth-hint { color: var(--text-muted); font-size: 12px; line-height: 1.5; margin: 8px 0; }
.auth-strength meter { width: 100%; height: 8px; }
.auth-switch { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; font-size: 13px; color: var(--text-muted); margin: 20px 0 0; }
.auth-switch button { color: var(--accent); font-size: 13px; }
@media(max-width: 520px) { .auth-refined { padding: 24px 20px; margin: 12px auto; } }
.auth-actions button { flex: 1; }
.brand { display: flex; align-items: center; gap: 13px; }
.brand h1 { margin: 0; font-size: 1.18rem; letter-spacing: -.035em; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--accent-strong); color: var(--accent-contrast); font-size: 1.1rem; font-weight: 900; box-shadow: none; }
.eyebrow { display: block; color: var(--text-subtle); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.muted { color: var(--text-muted); }
.error { min-height: 1.4em; margin: 12px 0 0; color: var(--danger); font-size: .86rem; line-height: 1.4; }
.field { display: grid; gap: 8px; margin: 17px 0; color: var(--text-muted); font-size: .82rem; font-weight: 650; }
.field-hint { color: var(--text-subtle); font-size: .74rem; font-weight: 400; }
input, select, textarea { width: 100%; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: .76rem .82rem; background: var(--surface-soft); color: var(--text); transition: border-color .15s ease, box-shadow .15s ease; }
input:hover, select:hover, textarea:hover { border-color: var(--border-strong); }
input::placeholder, textarea::placeholder { color: var(--text-subtle); }
textarea { min-height: 100px; resize: vertical; line-height: 1.5; }
select[multiple] { min-height: 5.6rem; padding: .35rem; }
select[multiple] option { padding: .4rem .5rem; border-radius: 6px; }
select[multiple] option:checked { background: var(--accent-soft) linear-gradient(0deg, var(--accent-soft), var(--accent-soft)); color: var(--text); }
.row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-width: 0; margin-bottom: 28px; }
.topbar > * { min-width: 0; }
.topbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; flex-wrap: wrap; }
.org-picker { display: grid; gap: 4px; min-width: 185px; }
.org-picker select { padding: .48rem .7rem; }
.timer { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 13px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text-muted); font-variant-numeric: tabular-nums; font-weight: 650; white-space: nowrap; }
.timer.is-running { color: var(--text); border-color: #717e42; background: #2b3019; }
.timer-dot, .status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--text-subtle); }
.timer.is-running .timer-dot { background: var(--success); box-shadow: 0 0 0 4px rgba(116, 214, 155, .12); }
.layout { display: grid; grid-template-columns: 246px minmax(0, 1fr); gap: 20px; align-items: start; }
.sidebar, .panel { border-radius: var(--radius-lg); }
.sidebar { display: flex; min-height: 650px; flex-direction: column; padding: 20px 14px; }
.sidebar-heading, .workspace-heading, .task-details-head, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.sidebar-heading { padding: 4px 8px 18px; }
.sidebar-heading h2, .workspace-heading h2, .task-details-head h2 { margin: 4px 0 0; letter-spacing: -.035em; }
.sidebar-heading h2 { font-size: 1.15rem; }
.icon-button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border-radius: 10px; font-size: 1.25rem; line-height: 1; }
.icon-button.secondary { background: transparent; }
.project-link { display: flex; align-items: center; width: 100%; gap: 10px; margin: 3px 0; padding: .72rem .75rem; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--text-muted); text-align: left; font-weight: 550; }
.project-link:hover { background: var(--surface-raised); color: var(--text); box-shadow: none; }
.project-link.active { background: var(--accent-soft); color: var(--text); border-color: #576135; box-shadow: none; }
.project-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 3px; background: var(--accent); }
.empty-sidebar { margin: 18px 8px; padding: 18px 14px; border: 1px dashed var(--border); border-radius: var(--radius-md); color: var(--text-muted); }
.empty-sidebar p { margin: 12px 0 4px; color: var(--text); font-weight: 650; }
.empty-sidebar small { color: var(--text-subtle); line-height: 1.45; }
.empty-icon { color: var(--accent); font-size: 1.4rem; }
.sidebar-footer { display: flex; align-items: center; gap: 8px; margin: auto 8px 4px; padding-top: 18px; border-top: 1px solid var(--border); color: var(--text-subtle); font-size: .72rem; }
.sidebar-footer .status-dot { background: var(--success); }
.my-work-main { min-width: 0; padding: 30px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .88); box-shadow: var(--shadow); }
.my-work-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.my-work-hero h2 { margin: 5px 0 8px; font-size: 2rem; letter-spacing: -.045em; }
.my-work-hero p { max-width: 620px; margin: 0; line-height: 1.5; }
.my-work-summary { min-width: 112px; padding: 14px 18px; border: 1px solid #606b38; border-radius: var(--radius-md); background: var(--accent-soft); text-align: right; }
.my-work-summary strong, .my-work-summary span { display: block; }
.my-work-summary strong { font-size: 1.65rem; line-height: 1; }
.my-work-summary span { margin-top: 5px; color: var(--text-muted); font-size: .72rem; }
.my-work-filters { display: flex; gap: 8px; margin-bottom: 22px; }
.my-work-filters button { padding: .5rem .8rem; }
.my-work-filter-divider { width: 1px; margin: 2px 3px; background: var(--border); }
.my-work-filters .active-filter { background: var(--accent-soft); border-color: #6b7740; color: var(--text); }
.my-work-group { margin-top: 20px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.my-work-group h3 { margin: 0; font-size: .95rem; }
.my-work-task-list { display: grid; gap: 9px; margin-top: 14px; }
.my-work-task { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-raised); }
.my-work-task-copy { min-width: 0; }
.my-work-task-copy .pill { margin-right: 8px; }
.my-work-task strong { font-size: .88rem; }
.my-work-task p { margin: 6px 0 0; color: var(--text-muted); font-size: .75rem; }
.my-work-task.is-complete strong { color: var(--text-muted); text-decoration: line-through; }
.my-work-task-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.my-work-complete { color: var(--success); font-size: .76rem; font-weight: 750; }
.my-work-empty { margin: 0; padding: 7px 0; color: var(--text-muted); font-size: .82rem; }
.my-work-task .is-overdue { color: var(--danger); font-weight: 700; }
.my-work-task .is-today { color: #e9ca7e; font-weight: 700; }
.my-work-calendar { padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.my-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); overflow-x: auto; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.my-calendar-day { min-height: 140px; padding: 9px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }
.my-calendar-day.outside { background: #0d121a; color: var(--text-subtle); }
.my-calendar-day.today { box-shadow: inset 0 0 0 1px var(--accent); }
.my-calendar-day.is-holiday { background: #172034; }
.my-calendar-day.is-overloaded { box-shadow: inset 0 0 0 1px #9f4b58; }
.my-calendar-day.is-drop-target { background: #20213b; box-shadow: inset 0 0 0 2px var(--accent); }
.my-calendar-day-header { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.my-calendar-load { color: var(--text-subtle); font-size: .62rem; font-weight: 750; white-space: nowrap; }
.my-calendar-load.is-overloaded { color: #f08f9b; }
.my-calendar-events { display: grid; gap: 5px; margin-top: 8px; }
.my-calendar-event { display: block; overflow: hidden; width: 100%; padding: 4px 6px; border: 0; border-radius: 6px; background: var(--accent-soft); color: var(--text); font-size: .66rem; line-height: 1.25; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.task[draggable="true"], .my-calendar-event[draggable="true"] { cursor: grab; }
.task.is-dragging, .my-calendar-event.is-dragging { opacity: .45; cursor: grabbing; }
.task.is-drop-before { border-top: 3px solid var(--accent); }
.my-calendar-event.due { background: #443326; color: #f0cc82; }
.my-calendar-event.active { background: #252c47; color: #b9c8ff; }
.my-calendar-event.leave { background: #19382e; color: var(--success); }
.my-calendar-event.holiday { background: #474e2c; color: #ebf6c5; }
@media (max-width: 700px) { .my-work-filter-divider { display: none; } .my-calendar-day { min-height: 105px; } }
@media (max-width: 700px) { .my-work-main { padding: 20px; } .my-work-hero, .my-work-task { align-items: flex-start; flex-direction: column; } .my-work-summary { text-align: left; } .my-work-task-actions { justify-content: flex-start; } }
.panel { min-height: 650px; padding: 28px; }
.workspace-heading { align-items: flex-end; margin-bottom: 30px; }
.workspace-heading h2 { font-size: 1.55rem; }
.workspace-heading p { margin: 8px 0 0; line-height: 1.45; }
.workspace-heading > .row { justify-content: flex-end; }
.board { display: grid; grid-template-columns: repeat(3, minmax(272px, 1fr)); gap: 14px; overflow-x: auto; align-items: start; padding: 2px 2px 10px; scroll-snap-type: x proximity; }
.column { min-height: 330px; max-height: calc(100vh - 255px); padding: 14px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); scroll-snap-align: start; }
.column.is-drop-target { border-color: var(--accent); background: #20213b; box-shadow: inset 0 0 0 1px var(--accent); }
.column h3 { position: sticky; z-index: 2; top: -14px; display: flex; align-items: center; gap: 8px; margin: 0 -1px 12px; padding: 14px 1px 10px; border-bottom: 1px solid var(--border); background: var(--surface-soft); color: var(--text); font-size: .86rem; letter-spacing: .02em; text-transform: none; }
.column h3 .count { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: var(--surface-raised); color: var(--text-subtle); font-size: .7rem; font-weight: 700; }
.task { display: block; width: 100%; margin: 8px 0; padding: 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-raised); text-align: left; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.task:hover, .task:focus-visible { border-color: #69799b; background: #1d2737; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); outline: none; }
.task strong { display: block; color: var(--text); font-weight: 650; line-height: 1.4; }
.task.is-complete strong { color: var(--text-muted); text-decoration: line-through; text-decoration-color: var(--text-subtle); }
.task.is-blocked { border-color: #75552a; background: #211d18; }
.blocked-pill, .dependency-count { display: inline-flex; align-items: center; padding: 3px 8px; border: 1px solid #75552a; border-radius: 99px; color: #f0c879; background: #342918; font-size: .67rem; font-weight: 750; }
.task-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.task-card-heading > strong { min-width: 0; }
.task-assignees { display: inline-flex; flex: 0 0 auto; align-items: center; padding-left: 4px; }
.task-assignee-avatar, .task-assignee-more { display: grid; width: 22px; height: 22px; margin-left: -4px; place-items: center; border: 2px solid var(--surface-raised); border-radius: 99px; background: #576132; color: #f1f8d7; font-size: .58rem; font-weight: 850; }
.task-assignee-more { background: var(--surface-soft); color: var(--text-muted); }
.task-labels { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.task-label { display: inline-flex; max-width: 120px; align-items: center; padding: 2px 6px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--task-label-color) 55%, var(--border)); border-radius: 99px; background: color-mix(in srgb, var(--task-label-color) 18%, var(--surface-soft)); color: color-mix(in srgb, var(--task-label-color) 75%, white); font-size: .62rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.task-label-more { padding: 2px 3px; color: var(--text-subtle); font-size: .65rem; font-weight: 750; }
.checklist-progress, .estimate-pill { color: var(--text-muted); font-size: .66rem; font-weight: 750; }
.task-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.task-meta .due { color: var(--text-muted); font-size: .74rem; }
.sprint-pill { display: inline-flex; align-items: center; max-width: 100%; padding: 3px 8px; overflow: hidden; border: 1px solid #3e4d72; border-radius: 99px; background: #202a43; color: #a9c1ff; font-size: .67rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.dependency-map { margin-top: 22px; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.dependency-map h3 { margin: 5px 0 0; font-size: 1rem; }
.dependency-map-list { display: grid; gap: 8px; margin-top: 15px; }
.dependency-map-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; width: 100%; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-raised); text-align: left; }
.dependency-map-row span { color: var(--text-muted); font-size: .8rem; }
.pill { display: inline-flex; align-items: center; padding: 3px 8px; border: 1px solid transparent; border-radius: 99px; font-size: .67rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.pill-low { background: #163126; color: #8fe4ab; border-color: #27543b; }
.pill-medium { background: #342e1e; color: #e9ca7e; border-color: #5a4c2a; }
.pill-high { background: #3b281e; color: #efa67e; border-color: #61402e; }
.pill-urgent { background: #3d222e; color: #f49aa6; border-color: #673442; }
.task-details { position: fixed; z-index: 20; top: 12px; right: 12px; bottom: 12px; width: min(640px, calc(100vw - 24px)); padding: 26px; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: #151c27; box-shadow: -24px 0 70px rgba(0, 0, 0, .55); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.task-details-head { align-items: flex-start; padding-bottom: 24px; border-bottom: 1px solid var(--border); }
.task-details-head h2 { max-width: 420px; font-size: 1.4rem; line-height: 1.25; }
.detail-status { display: inline-block; margin-top: 10px; color: var(--success); font-size: .75rem; font-weight: 700; }
.work-summary { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; padding: 18px 0 4px; }
.work-summary strong { display: block; margin-top: 5px; color: var(--text); font-size: 1.35rem; letter-spacing: -.03em; }
.work-summary-value { align-self: end; color: var(--text-muted); font-size: .78rem; }
.progress-track { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 99px; background: var(--surface-soft); }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #7dd3fc); transition: width .2s ease; }
.task-timer-action { padding: 16px 0 4px; }
.task-timer-action button { width: 100%; }
.form-section { padding: 22px 0; border-bottom: 1px solid var(--border); }
.form-section:first-of-type { padding-top: 6px; }
.task-capacity-preview-panel { margin-top: 0; }
.task-capacity-preview-panel .section-label { display: block; margin-bottom: 12px; }
.task-capacity-empty, .task-capacity-ok, .task-capacity-warning, .task-capacity-error { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-md); font-size: .72rem; }
.task-capacity-empty { grid-template-columns: auto 1fr; align-items: center; background: var(--surface-soft); color: var(--text-muted); }
.task-capacity-empty strong { grid-column: 1 / -1; color: var(--text); }
.task-capacity-ok { border-color: #27543b; background: rgba(22, 49, 38, .45); color: #a7f3c2; }
.task-capacity-warning { border-color: var(--danger-border); background: rgba(59, 32, 41, .5); color: #fecdd3; }
.task-capacity-warning ul { margin: 2px 0; padding-left: 18px; }
.task-capacity-warning li + li { margin-top: 4px; }
.task-capacity-error { border-color: var(--danger-border); color: var(--danger); }
.task-capacity-alternatives { display: grid; gap: 5px; margin-top: 9px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .55); color: var(--text-muted); font-size: .68rem; }
.task-capacity-alternatives small { color: var(--text-subtle); font-size: .6rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.section-label { color: var(--text); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.section-heading { margin-bottom: 12px; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.save-button { width: 100%; margin-top: 7px; }
.tag { display: inline-block; margin: 4px 4px 4px 0; padding: 4px 10px; border: 1px solid var(--tag-color); border-radius: 99px; color: var(--tag-color); font-size: .8rem; }
.checklist { display: grid; gap: 9px; margin: 12px 0 18px; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.checklist-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.checklist-head small { color: var(--text-subtle); font-size: .66rem; white-space: nowrap; }
.checklist-progress-bar { height: 4px; overflow: hidden; border-radius: 99px; background: var(--surface-raised); }
.checklist-progress-bar span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.check-item { display: flex; align-items: center; gap: 9px; color: var(--text-muted); font-size: .88rem; }
.check-item input { width: auto; accent-color: var(--accent); }
.check-item:has(input:checked) { color: var(--text-subtle); text-decoration: line-through; text-decoration-color: var(--text-subtle); }
.inline-form { display: flex; align-items: center; gap: 8px; }
.inline-form input { flex: 1; min-width: 0; }
.inline-form button { white-space: nowrap; }
.attachment { display: flex; align-items: center; gap: 10px; margin: 9px 0; padding: 11px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); color: var(--text); text-decoration: none; }
.attachment:hover { border-color: var(--border-strong); background: var(--surface-raised); }
.attachment-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--accent-soft); color: var(--accent); }
.attachment > span:last-child { min-width: 0; }
.attachment strong, .attachment small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attachment strong { font-size: .78rem; }
.attachment small { margin-top: 3px; color: var(--text-subtle); font-size: .72rem; }
.attachment::after { margin-left: auto; color: var(--text-subtle); content: "↗"; font-size: .85rem; }
.attachment-image { width: 100%; min-height: 76px; padding: 8px; border: 1px solid var(--border); text-align: left; box-shadow: none; cursor: zoom-in; }
.attachment-image:hover { border-color: #8e9b61; background: #1b2330; transform: none; }
.attachment-preview { width: 76px; height: 58px; flex: 0 0 76px; object-fit: cover; border: 1px solid #354156; border-radius: 6px; background: #111823; }
.attachment-image > span:last-child { align-self: center; }
.attachment-image::after { display: none; }
.image-viewer-backdrop { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(3, 7, 13, .9); backdrop-filter: blur(8px); }
.image-viewer { display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(1100px, 100%); max-height: min(900px, calc(100vh - 48px)); overflow: hidden; border: 1px solid #445069; border-radius: 14px; background: #111824; box-shadow: 0 28px 90px rgba(0, 0, 0, .62); }
.image-viewer header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding: 10px 12px 10px 18px; border-bottom: 1px solid #2f3a4b; color: var(--text); }
.image-viewer header strong { min-width: 0; overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.image-viewer-close { width: 34px; height: 34px; padding: 0; flex: 0 0 auto; border: 1px solid #3d4960; background: #1c2635; color: var(--text); font-size: 1.35rem; line-height: 1; }
.image-viewer > img { display: block; width: 100%; max-width: 100%; max-height: calc(100vh - 126px); min-height: 0; object-fit: contain; background: #080d15; }
.attachment-form { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 8px; margin-top: 14px; }
.comment { display: grid; gap: 6px; margin: 10px 0; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); line-height: 1.5; }
.task-details .comment { margin-inline: 0; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.task-details .comment:first-of-type { border-top: 1px solid var(--border); }
.comment-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.comment-author { display: flex; align-items: center; min-width: 0; }
.comment strong { color: var(--text); font-size: .8rem; }
.comment time { color: var(--text-subtle); font-size: .65rem; white-space: nowrap; }
.comment span { overflow-wrap: anywhere; color: var(--text-muted); white-space: pre-wrap; }
.comment-avatar { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 auto; margin-right: 7px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: .64rem; font-weight: 800; }
.comment-mention { padding: 1px 4px; border-radius: 4px; background: var(--accent-soft); color: var(--accent); font: inherit; font-weight: 750; }
.task-empty-action { margin-top: 10px; }
.task-details #comment-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 14px; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.task-details #comment-form textarea { width: 100%; min-height: 84px; padding: 11px 12px; background: var(--surface); }
.task-details #comment-form:focus-within { border-color: #85954a; }
.comment-mention-composer { position: relative; min-width: 0; }
.comment-mentions[hidden] { display: none; }
.comment-mentions { position: absolute; z-index: 4; right: 0; bottom: calc(100% + 8px); left: 0; display: grid; max-height: 252px; overflow-y: auto; padding: 5px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-raised); box-shadow: 0 14px 32px rgba(0, 0, 0, .34); }
.comment-mention-option { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 9px; width: 100%; padding: 8px; border: 0; border-radius: 8px; background: transparent; color: var(--text); text-align: left; box-shadow: none; }
.comment-mention-option:hover, .comment-mention-option.active { background: rgba(219, 238, 151, .16); color: var(--text); transform: none; }
.comment-mention-option strong, .comment-mention-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comment-mention-option strong { font-size: .76rem; }
.comment-mention-option small { margin-top: 2px; color: var(--text-subtle); font-size: .65rem; }
.comment-mention-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(219, 238, 151, .22); color: #eaf5c1; font-size: .72rem; font-weight: 800; }
.comment-compose-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.comment-compose-meta { display: flex; align-items: center; gap: 10px; min-width: 0; }
.comment-compose-actions small { color: var(--text-subtle); font-size: .65rem; }
.comment-character-count { margin: 0; color: var(--text-subtle); font-size: .63rem; white-space: nowrap; }
.activity-list { display: grid; gap: 0; margin-top: 10px; }
.activity-item { display: flex; align-items: flex-start; gap: 10px; padding:10px 0; border-bottom:1px solid var(--border); color: var(--text-muted); }
.activity-item:last-child { border-bottom:0; }
.activity-dot { width: 8px; height: 8px; flex: 0 0 auto; margin-top: 5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.activity-item strong, .activity-item span, .activity-item small { display: block; }
.activity-item strong { color: var(--text); font-size: .8rem; }
.activity-item span { margin-top: 2px; font-size: .8rem; text-transform: capitalize; }
.activity-item small { margin-top: 3px; color: var(--text-subtle); font-size: .7rem; }
hr { margin: 0; border: 0; border-top: 1px solid var(--border); }
@media (max-width: 1050px) { .shell { padding: 24px; } .layout { grid-template-columns: 210px minmax(0, 1fr); } .panel { padding: 22px; } .topbar-actions { gap: 8px; } .org-picker { min-width: 150px; } }
@media (max-width: 780px) { .shell { padding: 18px; } .topbar { align-items: flex-start; flex-direction: column; gap: 18px; } .topbar-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; } .layout { grid-template-columns: 1fr; } .sidebar { min-height: 0; } .sidebar-footer { margin-top: 24px; } .workspace-heading { align-items: flex-start; flex-direction: column; } .workspace-heading > .row { justify-content: flex-start; } .board { grid-template-columns: repeat(3, minmax(250px, 1fr)); } }
@media (max-width: 600px) { .auth-card { margin: 3vh auto; padding: 28px 22px; } .auth-brand { margin-bottom: 34px; } .auth-intro h2 { font-size: 1.7rem; } .panel { padding: 18px; } .task-details { top: 0; right: 0; bottom: 0; width: 100vw; padding: 22px 18px; border-radius: 0; } .detail-grid { grid-template-columns: 1fr; } .org-picker { flex: 1; min-width: 160px; } .attachment-form { grid-template-columns: 1fr; } .image-viewer-backdrop { padding: 12px; } .image-viewer { max-height: calc(100vh - 24px); border-radius: 10px; } .image-viewer > img { max-height: calc(100vh - 88px); } }

.brand-button { display: flex; align-items: center; gap: 13px; padding: 0; border: 0; background: transparent; color: var(--text); text-align: left; box-shadow: none; }
.brand-button:hover { background: transparent; box-shadow: none; transform: none; }
.brand-button small { display: block; margin-top: 3px; font-size: .82rem; }
.dashboard-layout { grid-template-columns: 246px minmax(0, 1fr); }
.dashboard-main { min-width: 0; }
.project-layout { grid-template-columns: 246px minmax(0, 1fr); }
.project-main { min-width: 0; min-height: 650px; padding: 2px 2px 30px; overflow: visible; }
.project-main .workspace-heading { align-items: flex-end; flex-wrap: wrap; gap: 18px; margin: 2px 0 24px; }
.project-main .workspace-heading > div:first-child { min-width: min(100%, 320px); flex: 1 1 320px; }
.project-main .workspace-heading h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.055em; }
.project-main .workspace-heading > .row { min-width: 0; max-width: 100%; flex: 0 1 auto; flex-wrap: wrap; }
.project-main .workspace-heading > .row { gap: 8px; }
.project-main .workspace-heading > .row > button { min-height: 34px; padding: .45rem .68rem; font-size: .75rem; }
.project-main .board { width: 100%; min-width: 0; }
.project-main .project-members-panel { margin-top: 20px; }
.project-view-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin: 0 0 16px; padding: 13px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); }
.project-view-switcher { display: inline-flex; flex: 0 0 auto; gap: 3px; padding: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.project-view-switcher button { padding: 7px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--text-muted); font-size: .72rem; font-weight: 750; box-shadow: none; }
.project-view-switcher button:hover { background: var(--surface-raised); color: var(--text); transform: none; }
.project-view-switcher button.active { background: var(--accent); color: #212514; }
.project-filter-form { display: flex; align-items: end; gap: 8px; width: min(100%, 980px); overflow-x: auto; padding-bottom: 2px; }
.project-filter-form .field { flex: 0 0 118px; }
.project-filter-form .field { min-width: 0; margin: 0; }
.project-filter-form .field span { display: block; margin-bottom: 5px; color: var(--text-subtle); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.project-filter-form select { width: 100%; min-width: 0; padding: 8px 9px; font-size: .72rem; }
.project-filter-form button { align-self: end; white-space: nowrap; }
.board-single-column { grid-template-columns: minmax(260px, 480px); }
.column-empty { margin: 18px 0; color: var(--text-subtle); font-size: .75rem; text-align: center; }
.board-start-empty { margin: 28px 0; }
.project-onboarding { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 0 0 16px; padding: 20px; border: 1px solid #656f40; border-radius: var(--radius-lg); background: linear-gradient(118deg, rgba(72, 82, 35, .78), rgba(18, 23, 32, .92) 62%); }
.project-onboarding-copy { min-width: 0; }
.project-onboarding h3 { margin: 6px 0; font-size: 1.12rem; letter-spacing: -.035em; }
.project-onboarding p { max-width: 38rem; margin: 0; font-size: .78rem; line-height: 1.5; }
.project-onboarding-workflow { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.project-onboarding-workflow span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid var(--border); border-radius: 99px; background: rgba(11, 16, 25, .38); color: var(--text-muted); font-size: .66rem; font-weight: 700; }
.project-onboarding-workflow span.is-done { border-color: #28523d; color: #9ee2b5; }
.project-onboarding-workflow b { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-strong); font-size: .56rem; }
.project-onboarding-actions { display: grid; flex: 0 0 auto; gap: 8px; min-width: 150px; }
.project-onboarding-actions .field-hint { max-width: 190px; margin: 2px 0 0; font-size: .66rem; line-height: 1.4; }
.board-column-manager { margin-top: 16px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .72); }
.board-column-manager summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.board-column-manager summary::-webkit-details-marker { display: none; }
.board-column-manager summary strong, .board-column-manager summary small { display: block; }
.board-column-manager summary strong { margin-top: 3px; font-size: .88rem; }
.board-column-manager summary small { margin-top: 3px; color: var(--text-muted); font-size: .7rem; }
.board-column-manager-content { padding: 0 18px 18px; border-top: 1px solid var(--border); }
.board-column-manager .section-heading { margin-bottom: 15px; }
.board-column-manager h3 { margin: 5px 0; }
.board-column-manager p { margin: 0; }
.board-column-settings-list { display: grid; gap: 8px; }
.board-column-settings-row { display: grid; grid-template-columns: auto minmax(170px, 1fr) auto auto auto auto; align-items: end; gap: 9px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.board-column-drag-handle { align-self: center; cursor: grab; color: var(--text-subtle); padding: 6px; user-select: none; }
.board-column-drag-handle:active { cursor: grabbing; }
.board-column-settings-row.column-drop-before { border-top: 3px solid var(--accent); }
.board-column-settings-row.column-drop-after { border-bottom: 3px solid var(--accent); }
.board-column-settings-row .field { margin: 0; }
.board-column-settings-row .field span, .new-board-column-form .field span { display: block; margin-bottom: 5px; color: var(--text-subtle); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.board-column-settings-row input[type="text"], .board-column-settings-row input:not([type]) { min-width: 0; }
.column-task-count { padding-bottom: 10px; color: var(--text-muted); font-size: .71rem; white-space: nowrap; }
.done-column-choice { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 9px; color: var(--text); font-size: .74rem; font-weight: 750; white-space: nowrap; }
.done-column-choice input { accent-color: var(--accent); }
.board-column-order { display: inline-flex; gap: 4px; }
.danger-action:disabled { cursor: not-allowed; opacity: .45; }
.board-column-manager-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.new-board-column-form { display: flex; align-items: end; gap: 10px; margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--border); }
.new-board-column-form .field { flex: 1; margin: 0; }
@media (max-width: 720px) { .column { max-height: none; min-height: 240px; } .project-view-toolbar { align-items: stretch; flex-direction: column; } .project-filter-form { width: 100%; } .board-column-settings-row { grid-template-columns: 1fr auto auto; } .board-column-settings-row .field { grid-column: 1 / -1; } .new-board-column-form { align-items: stretch; flex-direction: column; } .board-column-manager-footer { align-items: stretch; flex-direction: column; } }
.project-list-view { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .72); }
.project-list-summary { display: flex; justify-content: space-between; gap: 12px; padding: 12px 15px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: .72rem; }
.project-list-summary span:first-child { color: var(--text); font-weight: 750; }
.project-list-scroll { overflow-x: auto; }
.project-list-table { width: 100%; min-width: 780px; border-collapse: collapse; table-layout: fixed; }
.project-list-table th { padding: 0; border-bottom: 1px solid var(--border); color: var(--text-subtle); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.project-list-table th:first-child { width: 34%; }
.project-list-table th:nth-child(2) { width: 17%; }
.project-list-table th:nth-child(3) { width: 19%; }
.project-list-table th:nth-child(4) { width: 14%; }
.project-list-table th:nth-child(5) { width: 16%; }
.project-list-sort { display: flex; align-items: center; gap: 5px; width: 100%; min-height: 34px; padding: 7px 15px; border: 0; border-radius: 0; background: transparent; color: inherit; box-shadow: none; font: inherit; letter-spacing: inherit; text-align: left; text-transform: inherit; }
.project-list-sort:hover, .project-list-sort:focus-visible { background: var(--surface-soft); color: var(--text); box-shadow: none; transform: none; }
.project-list-sort span { color: var(--accent); font-size: .72rem; }
.project-list-row td { padding: 7px 15px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: .76rem; vertical-align: middle; }
.project-list-row:last-child { border-bottom: 0; }
.project-list-row:hover { background: var(--surface-soft); }
.project-list-row.is-complete .project-list-title strong { color: var(--text-muted); text-decoration: line-through; }
.project-list-title { min-width: 0; }
.project-list-open { display: block; width: 100%; min-height: 36px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: inherit; text-align: left; box-shadow: none; }
.project-list-open:hover, .project-list-open:focus-visible { background: transparent; color: inherit; box-shadow: none; transform: none; }
.project-list-title strong, .project-list-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-list-title strong { color: var(--text); font-size: .8rem; }
.project-list-title small { margin-top: 4px; color: var(--text-subtle); font-size: .68rem; }
.project-list-context { display: flex; align-items: center; gap: 7px; min-width: 0; }
.project-list-context small { min-width: 0; }
.project-list-status-cell { display: grid; gap: 4px; }
.project-list-complete, .project-list-reopen { justify-self: start; min-height: 23px; padding: .2rem .42rem; border-radius: 6px; font-size: .61rem; font-weight: 800; line-height: 1; box-shadow: none; }
.project-list-complete { border-color: rgba(104, 211, 145, .3); background: rgba(104, 211, 145, .08); color: #93e6b4; }
.project-list-reopen { border-color: rgba(219, 238, 151, .3); background: rgba(219, 238, 151, .09); color: #e7f4ba; }
.project-list-complete:hover, .project-list-complete:focus-visible, .project-list-reopen:hover, .project-list-reopen:focus-visible { border-color: var(--accent); background: var(--accent-soft); color: var(--text); box-shadow: none; transform: none; }
.project-list-signal { flex: 0 0 auto; min-height: 18px; padding: 0 6px; border-radius: 999px; font-size: .57rem; font-weight: 800; letter-spacing: .04em; line-height: 18px; text-transform: uppercase; }
.project-list-signal.is-complete { background: rgba(104, 211, 145, .12); color: var(--success); }
.project-list-signal.is-blocked { background: rgba(239, 125, 146, .12); color: #ff9eaf; }
.project-list-signal.is-overdue { background: rgba(230, 184, 101, .14); color: #f4c66c; }
.project-list-row.is-overdue .project-list-title strong { color: #fff0d0; }
.project-list-edit { width: 100%; min-height: 34px; padding: .38rem .5rem; border-color: transparent; background: transparent; color: var(--text-muted); font-size: .73rem; }
.project-list-edit:hover, .project-list-edit:focus { border-color: var(--border-strong); background: var(--surface-raised); color: var(--text); }
.project-list-priority { color: #e9ca7e; font-weight: 700; }
.project-list-date.is-overdue { color: var(--danger); font-weight: 750; }
.project-list-empty { padding: 38px 18px; color: var(--text-muted); font-size: .8rem; text-align: center; }
.project-timeline-view { display: grid; gap: 16px; }
.project-timeline-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .72); }
.project-timeline-heading h3 { margin: 5px 0; font-size: 1.15rem; }
.project-timeline-heading p { max-width: 38rem; margin: 0; font-size: .74rem; line-height: 1.45; }
.project-timeline-calendar { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-soft); }
.project-timeline-weekdays, .project-timeline-grid { min-width: 720px; display: grid; grid-template-columns: repeat(7, minmax(102px, 1fr)); }
.project-timeline-weekdays { border-bottom: 1px solid var(--border); background: rgba(8, 13, 21, .24); }
.project-timeline-weekdays span { padding: 10px; color: var(--text-subtle); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.project-timeline-day { min-height: 124px; padding: 8px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }
.project-timeline-day:nth-child(7n) { border-right: 0; }
.project-timeline-day:nth-last-child(-n + 7) { border-bottom: 0; }
.project-timeline-day.outside { background: rgba(8, 13, 21, .36); }
.project-timeline-day.today { box-shadow: inset 0 0 0 1px var(--accent); }
.project-timeline-day.today .project-timeline-day-head { color: var(--text); }
.project-timeline-day.today .project-timeline-day-head::after { content: "Today"; color: var(--accent); font-size: .57rem; letter-spacing:.06em; text-transform:uppercase; }
.project-timeline-day.is-drop-target { background: #20213b; box-shadow: inset 0 0 0 2px var(--accent); }
.project-timeline-day-head { display: flex; align-items: center; justify-content: space-between; min-height: 18px; color: var(--text-muted); font-size: .72rem; font-weight: 750; }
.project-timeline-day.outside .project-timeline-day-head { color: var(--text-subtle); }
.project-timeline-day-head small { color: var(--accent); font-size: .57rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.project-timeline-events { display: grid; gap: 4px; margin-top: 7px; }
.project-timeline-event { display: block; overflow: hidden; width: 100%; min-height: 23px; padding: 4px 6px; border: 0; border-radius: 5px; font-size: .64rem; font-weight: 750; line-height: 1.15; text-align: left; text-overflow: ellipsis; white-space: nowrap; box-shadow: none; }
.project-timeline-event:not(.starts) { border-radius: 3px; opacity: .72; text-align: center; }
.project-timeline-event:hover { filter: brightness(1.12); box-shadow: none; transform: none; }
.project-timeline-event[draggable="true"], .project-timeline-unscheduled-row[draggable="true"] { cursor: grab; }
.project-timeline-event.is-dragging, .project-timeline-unscheduled-row.is-dragging { opacity: .45; cursor: grabbing; }
.project-timeline-unscheduled { border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .72); }
.project-timeline-unscheduled summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; cursor: pointer; list-style: none; }
.project-timeline-unscheduled summary::-webkit-details-marker { display: none; }
.project-timeline-unscheduled summary::after { content: "+"; color: var(--text-subtle); font-size: 1rem; }
.project-timeline-unscheduled[open] summary { border-bottom: 1px solid var(--border); }
.project-timeline-unscheduled[open] summary::after { content: "−"; }
.project-timeline-unscheduled summary strong, .project-timeline-unscheduled summary small { display: block; }
.project-timeline-unscheduled summary strong { color: var(--text); font-size: .82rem; }
.project-timeline-unscheduled summary small { margin-top: 3px; color: var(--text-subtle); font-size: .68rem; }
.project-timeline-unscheduled > .muted { margin: 12px 16px; font-size: .73rem; }
.project-timeline-unscheduled-list { display: grid; gap: 7px; padding: 0 16px 16px; }
.project-timeline-unscheduled-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); text-align: left; box-shadow: none; }
.project-timeline-unscheduled-row:hover { border-color: var(--border-strong); background: var(--surface-raised); box-shadow: none; transform: none; }
.project-timeline-unscheduled-open { display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 3px 2px; border: 0; background: transparent; color: inherit; text-align: left; box-shadow: none; }
.project-timeline-unscheduled-open:hover, .project-timeline-unscheduled-open:focus-visible { background: transparent; box-shadow: none; transform: none; }
.project-timeline-unscheduled-row strong, .project-timeline-unscheduled-row small { display: block; }
.project-timeline-unscheduled-row strong { color: var(--text); font-size: .78rem; }
.project-timeline-unscheduled-row small { margin-top: 3px; color: var(--text-subtle); font-size: .67rem; }
.timeline-schedule-date { display: grid; gap: 3px; color: var(--text-subtle); font-size: .58rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.timeline-schedule-date input { min-height: 32px; padding: .3rem .45rem; font-size: .7rem; letter-spacing: normal; text-transform: none; }
.dashboard-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 2px 2px 24px; }
.dashboard-hero h2 { margin: 7px 0 7px; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.055em; }
.dashboard-hero p { margin: 0; line-height: 1.5; }
.workspace-search { display: flex; align-items: center; gap: 10px; max-width: 760px; margin: 0 0 18px; padding: 7px 8px 7px 16px; border: 1px solid var(--border-strong); border-radius: 15px; background: rgba(15, 20, 28, .92); box-shadow: 0 14px 36px rgba(0, 0, 0, .16); }
.workspace-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(219, 238, 151, .12), 0 14px 36px rgba(0, 0, 0, .16); }
.search-symbol { color: var(--accent); font-size: 1.25rem; line-height: 1; }
.workspace-search input { min-width: 0; flex: 1; padding: .72rem 0; border: 0; outline: 0; background: transparent; color: var(--text); }
.workspace-search input::placeholder { color: var(--text-subtle); }
.search-submit { padding: .62rem .9rem; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-raised); color: var(--text); font-size: .78rem; font-weight: 750; }
.search-submit:hover { border-color: var(--accent); background: var(--accent-soft); box-shadow: none; }
.dashboard-clock { min-width: 174px; padding: 15px 18px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); text-align: right; }
.dashboard-clock strong { display: block; font-size: 1.7rem; font-variant-numeric: tabular-nums; letter-spacing: -.055em; }
.dashboard-clock span { display: block; margin-top: 5px; color: var(--text-muted); font-size: .76rem; }
.sidebar-section-label { margin: 22px 10px 7px; color: var(--text-subtle); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-navigation-label { margin-top: 18px; }
.sidebar-navigation-label:first-of-type { margin-top: 4px; }
.dashboard-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.stat-card { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 15px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); }
.stat-card strong, .stat-card span { display: block; }
.stat-card strong { font-size: 1.22rem; letter-spacing: -.04em; }
.stat-card div span { margin-top: 3px; color: var(--text-muted); font-size: .7rem; }
.stat-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 10px; font-weight: 900; }
.stat-icon-purple { background: #414a21; color: #e7f4b8; }
.stat-icon-red { background: #42242f; color: #f49aa6; }
.stat-icon-blue { background: #1b3547; color: #79caff; }
.stat-icon-green { background: #19392d; color: #82e0a7; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dashboard-grid .priority-card { order: -1; grid-column: auto; min-height: 0; }
.dashboard-grid .priority-card .dashboard-task-list { max-height: 280px; overflow: auto; }
.dashboard-card { min-width: 0; min-height: 220px; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .16); }
.dashboard-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.card-kicker { display: block; color: var(--text-subtle); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dashboard-card h3 { margin: 6px 0 0; font-size: 1.05rem; letter-spacing: -.025em; }
.card-symbol { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font-size: 1.05rem; }
.timer-card { background: linear-gradient(145deg, rgba(62, 70, 31, .96), rgba(18, 23, 32, .95)); }
.timer-card .card-symbol { background: #72823a; color: #f3f9dd; }
.dashboard-timer-value { margin: 28px 0 4px; color: var(--text); font-size: clamp(2.25rem, 4vw, 3.4rem); font-variant-numeric: tabular-nums; font-weight: 750; letter-spacing: -.075em; }
.dashboard-card > p { margin: 0 0 20px; color: var(--text-muted); line-height: 1.5; }
.timer-card > p { font-size: .78rem; }
.primary-action { width: auto; background: var(--accent-strong); }
.weather-card { background: linear-gradient(145deg, rgba(22, 47, 64, .84), rgba(18, 23, 32, .95)); }
.weather-card .card-symbol { background: #204b64; color: #7bd3ff; }
.weather-main { display: flex; align-items: center; gap: 15px; margin: 31px 0 20px; }
.weather-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: #1e5069; color: #7bd3ff; font-size: 2rem; }
.weather-main strong, .weather-main span { display: block; }
.weather-main strong { font-size: 2.35rem; letter-spacing: -.07em; }
.weather-main span { margin-top: 2px; color: var(--text-muted); font-size: .78rem; }
.weather-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--text-muted); font-size: .74rem; }
.weather-loading { display: flex; align-items: center; gap: 13px; min-height: 136px; color: var(--text-muted); }
.weather-loading strong, .weather-loading span { display: block; }
.weather-loading span { margin-top: 5px; font-size: .78rem; }
.loading-orb { width: 12px; height: 12px; flex: 0 0 auto; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 7px var(--accent-soft); animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .45; transform: scale(.8); } }
.priority-card { grid-row: auto; }
.queue-count { color: var(--text-muted); font-size: .73rem; }
.queue-summary { display: flex; gap: 8px; margin: 21px 0 12px; color: var(--text-muted); font-size: .72rem; }
.queue-summary span { padding: 5px 8px; border-radius: 99px; background: var(--surface-raised); }
.dashboard-task-list { display: grid; gap: 7px; }
.dashboard-task { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 9px; width: 100%; padding: 10px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; color: var(--text); text-align: left; }
.dashboard-task:hover { background: transparent; box-shadow: none; transform: none; }
.dashboard-task-index { color: var(--text-subtle); font-size: .7rem; font-weight: 800; }
.dashboard-task-copy { min-width: 0; }
.dashboard-task-copy strong, .dashboard-task-copy small, .dashboard-task-side small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-task-copy strong { color: var(--text); font-size: .82rem; }
.dashboard-task-copy small { margin-top: 4px; color: var(--text-subtle); font-size: .69rem; }
.dashboard-task-side { display: grid; justify-items: end; gap: 5px; }
.dashboard-task-side .pill { font-size: .58rem; }
.dashboard-task-side small { color: var(--text-muted); font-size: .65rem; }
.dashboard-task-side .due-overdue { color: var(--danger); }
.dashboard-empty { display: grid; place-items: center; min-height: 180px; color: var(--text-muted); text-align: center; }
.dashboard-empty .empty-icon { font-size: 1.6rem; }
.dashboard-empty strong { margin-top: 10px; color: var(--text); font-size: .88rem; }
.dashboard-empty p { max-width: 210px; margin: 6px 0 0; font-size: .74rem; line-height: 1.45; }
.notification-card { min-height: 232px; }
.notification-list { display: grid; gap: 8px; margin-top: 20px; }
.notification { display: flex; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-soft); }
.notification-icon { display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 auto; border-radius: 8px; background: var(--surface-raised); color: var(--accent); font-weight: 800; }
.notification strong, .notification p { display: block; }
.notification strong { font-size: .77rem; }
.notification p { margin: 3px 0 0; color: var(--text-muted); font-size: .7rem; line-height: 1.35; }
.notification-copy { min-width: 0; flex: 1; }
.notification-open { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; box-shadow: none; }
.notification-open:hover { background: transparent; box-shadow: none; transform: none; }
.notification.is-read { opacity: .62; }
.notification-actions { display: flex; gap: 8px; margin-top: 8px; }
.notification-action { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: .68rem; font-weight: 700; }
.notification-action:hover { background: transparent; box-shadow: none; color: var(--accent-strong); transform: none; }
.notification-danger { border-color: var(--danger-border); background: rgba(59, 32, 41, .45); }
.notification-danger .notification-icon { color: var(--danger); background: #542735; }
.notification-warning .notification-icon { color: #e9ca7e; background: #493b21; }
.notification-success .notification-icon { color: var(--success); background: #1e4332; }
.project-workload-panel { display: grid; gap: 16px; margin-top: 22px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.project-workload-panel.has-risk { border-color: var(--danger-border); background: rgba(59, 32, 41, .3); }
.project-workload-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.project-workload-heading h3 { margin: 5px 0; font-size: 1rem; }
.project-workload-heading p { margin: 0; font-size: .76rem; }
.project-workload-metrics { display: flex; flex-wrap: wrap; gap: 8px; }
.project-workload-metrics span { padding: 8px 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text-muted); background: var(--surface-raised); font-size: .7rem; }
.project-workload-metrics strong { color: var(--text); }
.project-workload-members { display: flex; flex-wrap: wrap; gap: 8px; }
.workload-member-risk, .workload-clear { padding: 8px 10px; border-radius: 9px; font-size: .72rem; }
.workload-member-risk { border: 1px solid var(--danger-border); background: #3b2029; color: var(--danger); }
.workload-member-risk strong, .workload-member-risk small { display: block; }
.workload-member-risk small { margin-top: 2px; color: #e59aa9; }
.workload-clear { color: var(--success); background: #1e4332; }
.workload-risk { display: inline-flex; align-items: center; padding: 3px 5px; border-radius: 6px; color: var(--danger); background: #3b2029; font-size: .61rem; font-weight: 800; white-space: nowrap; }
.task.has-workload-risk { border-color: var(--danger-border); }
.project-timeline-event.has-workload-risk { box-shadow: inset 0 0 0 1px var(--danger); }
@media (max-width: 620px) { .project-workload-heading { align-items: stretch; flex-direction: column; } .project-workload-heading button { width: 100%; } }
.notification-topbar-button, .notification-center-trigger { position: relative; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--border); background: var(--surface-raised); color: var(--text); font-size: .72rem; font-weight: 750; }
.notification-topbar-button { padding: .62rem .75rem; border-radius: 10px; }
.notification-center-trigger { padding: .4rem .55rem; border-radius: 8px; }
.notification-topbar-button span { display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 99px; background: var(--accent); color: #222710; font-size: .62rem; }
.notification-center-backdrop { z-index: 60; }
.notification-center { width: min(760px, 100%); }
.notification-center-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.notification-filter-tabs { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.notification-filter-tabs button { padding: .45rem .7rem; border: 0; border-radius: 7px; background: transparent; color: var(--text-muted); font-size: .72rem; }
.notification-filter-tabs button.active { background: var(--accent); color: #222710; }
.notification-mark-all { padding: .48rem .7rem; font-size: .72rem; }
.notification-center-list { display: grid; gap: 18px; max-height: min(48vh, 440px); overflow: auto; padding: 18px 2px; }
.notification-project-group { display: grid; gap: 8px; }
.notification-project-group h3 { margin: 0; color: var(--text-subtle); font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.notification-center-empty { display: grid; place-items: center; min-height: 180px; color: var(--text-muted); text-align: center; }
.notification-center-empty strong { color: var(--text); }
.notification-center-empty p { margin: 6px 0 0; font-size: .8rem; }
.notification-preferences { padding-top: 16px; border-top: 1px solid var(--border); }
.notification-preferences summary { cursor: pointer; color: var(--text); font-size: .8rem; font-weight: 750; }
.notification-preferences > p { margin: 10px 0; font-size: .74rem; line-height: 1.4; }
.notification-preference-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.notification-preference { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); cursor: pointer; }
.notification-preference strong, .notification-preference small { display: block; }
.notification-preference strong { font-size: .74rem; }
.notification-preference small { margin-top: 3px; color: var(--text-muted); font-size: .66rem; }
@media (max-width: 520px) { .notification-topbar-button { padding: .55rem; } .notification-topbar-button { font-size: 0; } .notification-topbar-button span { font-size: .62rem; } .notification-center-toolbar { align-items: stretch; flex-direction: column; } .notification-mark-all { width: 100%; } .notification-preference-list { grid-template-columns: 1fr; } }
.focus-card { min-height: 232px; }
.focus-card p { margin-top: 26px; }
.text-action { margin-top: 12px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: .78rem; }
.text-action:hover { background: transparent; box-shadow: none; transform: none; color: var(--accent-strong); }
.focus-countdown { margin-top: 25px; color: var(--text); font-size: 2.35rem; font-variant-numeric: tabular-nums; font-weight: 750; letter-spacing: -.07em; }
.focus-phase { margin-top: 4px; color: var(--accent); font-size: .8rem; font-weight: 750; }
.focus-sessions-progress { display: block; margin-top: 5px; color: var(--text-subtle); font-size: .72rem; }
.task-live-timer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 2px; padding: 12px 14px; border: 1px solid #576132; border-radius: var(--radius-sm); background: #2b3019; }
.task-live-timer span { color: var(--text-muted); font-size: .75rem; font-weight: 700; }
.task-live-timer strong { color: var(--accent-strong); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.modal-backdrop { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(5, 8, 12, .72); backdrop-filter: blur(8px); }
.new-task-modal { width: min(680px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow: auto; padding: 28px; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: #151c27; box-shadow: var(--shadow); }
.project-template-modal { width: min(620px, 100%); }
.modal-heading, .modal-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.modal-heading { padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.modal-heading h2 { margin: 6px 0; font-size: 1.45rem; letter-spacing: -.04em; }
.modal-heading p { margin: 0; font-size: .8rem; line-height: 1.45; }
.modal-fields { padding-top: 4px; }
.full-field { grid-column: 1 / -1; }
.modal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.modal-footer { align-items: center; padding-top: 18px; }
.modal-footer .error { flex: 1; margin: 0; }
.modal-footer .row { justify-content: flex-end; }
button:disabled { cursor: wait; opacity: .62; transform: none; }
@media (max-width: 1100px) { .dashboard-stats { grid-template-columns: repeat(2, 1fr); } .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-grid .priority-card { grid-column: auto; grid-row: auto; } .notification-card, .focus-card { min-height: 220px; } }
@media (max-width: 780px) { .dashboard-hero { align-items: flex-start; flex-direction: column; } .dashboard-clock { width: 100%; text-align: left; } .dashboard-grid { grid-template-columns: 1fr; } .dashboard-grid .priority-card { grid-column: auto; } .dashboard-stats { grid-template-columns: repeat(2, 1fr); } .modal-backdrop { padding: 10px; } .new-task-modal { max-height: calc(100vh - 20px); padding: 21px 18px; } }
@media (max-width: 450px) { .dashboard-stats { gap: 8px; } .stat-card { padding: 11px; } .stat-icon { width: 28px; height: 28px; } .dashboard-card { padding: 17px; } }
@media (max-width: 520px) { .modal-grid { grid-template-columns: 1fr; } .modal-footer { align-items: stretch; flex-direction: column; } .modal-footer .row { width: 100%; } .modal-footer .row button { flex: 1; } }

/* Creation dialogs keep their first decision focused. */
.new-task-modal[role="dialog"] { overscroll-behavior: contain; }

.reports-main { min-width: 0; padding: 4px 2px 36px; }
.reports-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.reports-hero h2 { margin: 7px 0; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.055em; }
.reports-hero p { max-width: 38rem; margin: 0; line-height: 1.5; }
.reports-scope { display: inline-flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid var(--border); border-radius: 99px; background: var(--surface); color: var(--text-muted); font-size: .75rem; white-space: nowrap; }
.reports-scope .status-dot { background: var(--success); }
.report-filters { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 16px; padding: 15px 17px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); }
.report-filters .field { flex: 0 1 190px; min-width: 145px; margin: 0; }
.report-filters .primary-action { width: auto; min-width: 132px; }
.report-filters button { white-space: nowrap; }
.report-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.report-presets { display: flex; gap: 6px; align-items: end; }
.report-summary-card, .report-panel { border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.report-summary-card { min-height: 138px; padding: 18px; }
.report-summary-card strong { display: block; margin-top: 14px; font-size: 1.6rem; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.report-summary-card p { margin: 6px 0 0; color: var(--text-muted); font-size: .73rem; line-height: 1.4; }
.report-summary-primary { background: linear-gradient(145deg, rgba(62, 70, 31, .96), rgba(18, 23, 32, .95)); }
.reports-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.report-panel { min-width: 0; padding: 20px; }
.report-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.report-panel-heading h3 { margin: 6px 0 0; font-size: 1.05rem; letter-spacing: -.025em; }
.report-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 13px; padding: 13px 0; border-top: 1px solid var(--border); }
.report-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); font-size: .82rem; }
.report-row strong { color: var(--accent-strong); font-size: .82rem; font-variant-numeric: tabular-nums; }
.report-row small { min-width: 48px; color: var(--text-subtle); font-size: .68rem; text-align: right; }
.entries-panel { padding-bottom: 10px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 620px; }
th, td { padding: 12px 10px; border-top: 1px solid var(--border); color: var(--text-muted); font-size: .76rem; text-align: left; white-space: nowrap; }
th { color: var(--text-subtle); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
td:nth-child(2), td:nth-child(3) { color: var(--text); }
.source-badge { display: inline-flex; padding: 4px 8px; border-radius: 99px; background: var(--accent-soft); color: var(--accent-strong); font-size: .65rem; font-weight: 750; }
.table-empty { padding: 30px 10px; color: var(--text-subtle); text-align: center; }
.reports-loading { display: grid; place-items: center; min-height: 360px; padding: 30px; border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); color: var(--text-muted); text-align: center; }
.reports-loading .loading-orb { margin-bottom: 9px; }
.reports-loading p { margin: 7px 0 0; }
@media (max-width: 1000px) { .report-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .reports-hero { align-items: flex-start; flex-direction: column; } .reports-scope { white-space: normal; } .report-filters { align-items: stretch; flex-wrap: wrap; } .report-filters .field { min-width: 0; } .report-filters button { flex: 1; } .reports-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .report-summary-grid { grid-template-columns: 1fr 1fr; gap: 8px; } .report-summary-card { min-height: 124px; padding: 14px; } .report-summary-card strong { font-size: 1.3rem; } .report-filters { gap: 8px; } .report-filters .field { flex-basis: calc(50% - 4px); } }

.teams-main { min-width: 0; padding: 4px 2px 36px; }
.project-team-picker { display: grid; gap: 5px; min-width: 150px; }
.project-team-picker select { min-height: 38px; padding: 8px 30px 8px 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); color: var(--text); font: inherit; font-size: .75rem; }
.people-main { min-width: 0; padding: 4px 2px 36px; }
.people-hero { margin-bottom: 24px; }
.people-hero h2 { margin: 7px 0; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.055em; }
.people-hero p { max-width: 48rem; margin: 0; line-height: 1.5; }
.people-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 14px; margin-bottom: 14px; }
.access-panel { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.access-member-list, .access-invite-list { display: grid; }
.access-member-row, .access-invite-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--border); }
.access-invite-row { grid-template-columns: minmax(0, 1fr) auto; }
.access-member-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.access-member-identity strong, .access-member-identity small, .access-invite-row strong, .access-invite-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-member-identity strong, .access-invite-row strong { font-size: .78rem; }
.access-member-identity small, .access-invite-row small { margin-top: 4px; color: var(--text-muted); font-size: .69rem; }
.role-select { min-height: 34px; padding: 7px 26px 7px 9px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); color: var(--text); font: inherit; font-size: .7rem; }
.membership-status { padding: 5px 8px; border-radius: 99px; font-size: .62rem; font-weight: 700; letter-spacing: .04em; }
.status-active { background: rgba(74, 222, 128, .12); color: #79e2a0; }
.status-suspended { background: rgba(251, 113, 133, .12); color: #fb7185; }
.membership-action-summary { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.membership-action-summary strong { font-size: .9rem; }
.membership-action-summary small { color: var(--text-muted); }
.membership-action-summary p { margin: 5px 0 0; color: var(--text-muted); font-size: .78rem; line-height: 1.5; }
.role-change-summary { display: flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--text-muted); font-size: .75rem; }
.role-change-summary strong { color: var(--text); font-size: .75rem; }
.danger-action { border-color: rgba(251, 113, 133, .48); background: #b43f5d; color: #fff; }
.danger-action:hover { border-color: #fb7185; background: #cf4a6b; }
.invite-form { display: grid; gap: 13px; }
.invite-form .field { margin: 0; }
.invite-form .primary-action { width: 100%; }
.people-grid > .access-panel:nth-child(2) { display: flex; min-height: 180px; flex-direction: column; justify-content: space-between; }
.people-grid > .access-panel:nth-child(2) .primary-action { width: auto; align-self: flex-start; }
.pending-invites { margin-bottom: 14px; }
@media (max-width: 900px) { .people-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .access-member-row { grid-template-columns: minmax(0, 1fr) auto; } .access-member-row .role-select { grid-column: 1; } .access-member-row .membership-status { grid-column: 2; grid-row: 1; } .access-member-row .compact-action { grid-column: 2; grid-row: 2; } }
.teams-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.teams-hero h2 { margin: 7px 0; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.055em; }
.teams-hero p { max-width: 40rem; margin: 0; line-height: 1.5; }
.teams-hero .primary-action { width: auto; white-space: nowrap; }
.team-create-panel { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.6fr); align-items: end; gap: 20px; margin-bottom: 16px; padding: 20px; border: 1px solid #576132; border-radius: var(--radius-lg); background: #2b3018; }
.team-create-panel h3 { margin: 6px 0; font-size: 1.05rem; }
.team-create-panel p { margin: 0; font-size: .76rem; line-height: 1.45; }
.team-create-form { display: grid; grid-template-columns: 1fr 1.2fr auto; align-items: end; gap: 12px; }
.team-create-form .field { margin: 0; }
.team-create-form .primary-action { width: auto; white-space: nowrap; }
.team-create-panel > .error { grid-column: 2; margin: -8px 0 0; }
.teams-content { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); align-items: start; gap: 14px; }
.teams-list-panel, .team-detail-panel { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section-heading h3, .section-heading h4 { margin: 6px 0 0; font-size: 1.05rem; letter-spacing: -.025em; }
.section-heading h4 { font-size: .94rem; }
.team-card-list { display: grid; gap: 8px; }
.team-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); color: var(--text); text-align: left; }
.team-card:hover { border-color: var(--border-strong); background: var(--surface-raised); transform: translateY(-1px); }
.team-card.active { border-color: #bed860; background: #353c1d; }
.team-card-mark, .avatar-placeholder, .team-empty-mark { display: grid; place-items: center; border-radius: 11px; background: var(--accent-soft); color: var(--accent-strong); font-weight: 800; }
.team-card-mark { width: 38px; height: 38px; font-size: .95rem; }
.team-card-copy, .team-member-copy { min-width: 0; }
.team-card-copy strong, .team-card-copy small, .team-member-copy strong, .team-member-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-card-copy strong { font-size: .82rem; }
.team-card-copy small, .team-member-copy small { margin-top: 4px; color: var(--text-muted); font-size: .69rem; }
.team-card-arrow { color: var(--text-subtle); font-size: 1.05rem; }
.empty-team-state { display: grid; gap: 5px; padding: 32px 14px; color: var(--text-muted); text-align: center; }
.empty-team-state strong { color: var(--text); font-size: .84rem; }
.empty-team-state span { font-size: .73rem; line-height: 1.4; }
.team-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.team-detail-header h3 { margin: 7px 0; font-size: 1.35rem; letter-spacing: -.04em; }
.team-detail-header p { max-width: 34rem; margin: 0; font-size: .78rem; line-height: 1.45; }
.team-detail-count { padding: 6px 9px; border-radius: 99px; background: var(--surface-raised); color: var(--text-muted); font-size: .69rem; white-space: nowrap; }
.team-edit-form { display: grid; grid-template-columns: 1fr 1.4fr auto; align-items: end; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.team-edit-form .field { margin: 0; }
.team-edit-form .row { align-items: flex-end; flex-direction: column; gap: 7px; }
.team-edit-form .error { max-width: 150px; margin: 0; text-align: right; }
.team-members-section { padding-top: 18px; }
.team-projects-section { padding: 18px 0 2px; border-bottom: 1px solid var(--border); }
.team-project-list { display: grid; gap: 8px; }
.team-project-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); color: var(--text); text-align: left; }
.team-project-row:hover { border-color: var(--border-strong); background: var(--surface-raised); transform: translateY(-1px); }
.team-project-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(96, 165, 250, .14); color: #72b8ff; font-weight: 800; }
.team-project-copy { min-width: 0; }
.team-project-copy strong, .team-project-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-project-copy strong { font-size: .78rem; }
.team-project-copy small { margin-top: 4px; color: var(--text-muted); font-size: .68rem; }
.team-project-arrow { color: var(--text-subtle); font-size: 1.05rem; }
.empty-project-state { display: grid; gap: 5px; padding: 14px; border: 1px dashed var(--border); border-radius: var(--radius-md); color: var(--text-muted); }
.empty-project-state strong { color: var(--text); font-size: .78rem; }
.empty-project-state span { font-size: .7rem; line-height: 1.4; }
.team-project-form { display: grid; grid-template-columns: 1fr 1.2fr auto; align-items: end; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid #576132; border-radius: var(--radius-md); background: #2b3018; }
.team-project-form > div { align-self: center; }
.team-project-form .field { margin: 0; }
.team-project-form .primary-action { width: auto; white-space: nowrap; }
.team-project-form .error { grid-column: 1 / -1; margin: -4px 0 0; }
.team-member-row { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid var(--border); }
.avatar-placeholder { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 9px; font-size: .72rem; }
.team-member-copy { flex: 1; }
.team-member-copy strong { font-size: .78rem; }
.compact-action { padding: 7px 10px; font-size: .7rem; }
.team-member-form { display: flex; align-items: flex-end; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.team-member-form .field { flex: 1; margin: 0; }
.team-member-form button { white-space: nowrap; }
.team-detail-empty { display: grid; place-items: center; min-height: 320px; align-content: center; text-align: center; }
.team-empty-mark { width: 42px; height: 42px; margin-bottom: 9px; font-size: 1.35rem; }
.team-detail-empty h3 { margin: 0; font-size: 1.05rem; }
.team-detail-empty p { max-width: 260px; margin: 7px 0 0; font-size: .76rem; line-height: 1.45; }
.team-empty-action { margin-top: 10px; }
.project-members-panel { margin-top: 14px; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.project-activity-panel { margin-top: 20px; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); }
.project-activity-panel .section-heading { margin-bottom: 12px; }
.project-activity-panel h3 { margin: 5px 0 0; font-size: 1rem; }
.project-activity-panel .section-heading p { margin: 6px 0 0; font-size: .72rem; }
.project-activity-filters { display: flex; gap: 4px; margin: 0 0 10px; overflow-x: auto; }
.project-activity-filters button { min-height: 30px; padding: .32rem .55rem; border: 1px solid transparent; border-radius: 99px; background: transparent; color: var(--text-muted); box-shadow: none; font-size: .67rem; font-weight: 700; white-space: nowrap; }
.project-activity-filters button:hover, .project-activity-filters button.active { border-color: #72813d; background: var(--accent-soft); color: var(--text); box-shadow: none; transform: none; }
.project-activity-list { display: grid; gap: 7px; }
.project-activity-day { margin: 8px 0 0; padding: 8px 0 3px; border-bottom: 1px solid var(--border); color: var(--text-subtle); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.project-activity-day:first-child { margin-top: 0; }
.project-activity-row { display: flex; align-items: flex-start; gap: 10px; width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); color: var(--text-muted); font-size: .73rem; text-align: left; box-shadow: none; }
.project-activity-row:hover { border-color: #4d5b76; background: var(--surface-raised); box-shadow: none; transform: none; }
.project-activity-row strong { color: var(--text); }
.project-activity-row small { display: block; margin-top: 4px; color: var(--text-subtle); font-size: .65rem; }
.project-activity-row .activity-dot { width: 8px; height: 8px; margin-top: 4px; border-radius: 99px; background: var(--accent); }
.project-planning-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
.project-planning-summary > div { display: grid; gap: 3px; padding: 13px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.project-planning-summary strong { color: var(--text); font-size: 1.05rem; letter-spacing: -.03em; }
.project-planning-summary small { color: var(--text-muted); font-size: .68rem; }
.project-planning-summary .needs-attention { border-color: #75552a; background: #211d18; }
.project-planning-summary .needs-attention strong { color: #f0c879; }
@media (max-width: 640px) { .project-planning-summary { grid-template-columns: 1fr; } }
.project-planning-insight { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 14px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.project-planning-insight > div { min-width: 0; }
.project-planning-insight strong { display: block; margin-top: 4px; color: var(--text); font-size: .84rem; }
.project-planning-insight p { max-width: 48rem; margin: 5px 0 0; color: var(--text-muted); font-size: .72rem; line-height: 1.45; }
.project-planning-insight.needs-attention { border-color: #75552a; background: #211d18; }
.project-planning-insight.needs-attention strong { color: #f0c879; }
.project-planning-insight.needs-schedule { border-color: #3d5179; background: #182235; }
.project-milestone-create { margin-top: 13px; border-top: 1px solid var(--border); }
.project-milestone-create summary { padding-top: 13px; color: var(--accent-strong); cursor: pointer; font-size: .75rem; font-weight: 750; }
.project-milestone-create[open] summary { margin-bottom: 2px; }
.sprint-plan-row.has-unscheduled { border-color: #3d5179; }
.project-members-panel .section-heading { margin-bottom: 12px; }
.project-members-panel .section-heading p { max-width: 42rem; margin: 6px 0 0; font-size: .72rem; line-height: 1.4; }
.project-member-list { display: grid; gap: 8px; }
.project-member-row { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.project-member-row > div { min-width: 0; flex: 1; }
.project-member-row strong, .project-member-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-member-row strong { font-size: .78rem; }
.project-member-row small { margin-top: 4px; color: var(--text-muted); font-size: .68rem; }
.project-member-form { display: flex; align-items: flex-end; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.project-member-form .field { flex: 1; margin: 0; }
.project-member-form button { white-space: nowrap; }
.project-member-form .error { margin: 0; }
.project-planning-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 16px; margin-top: 20px; }
.project-planning-panel { padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.project-planning-panel .section-heading { margin-bottom: 13px; }
.project-planning-panel .section-heading h3 { margin: 5px 0 0; font-size: 1rem; }
.project-planning-panel .section-heading p { max-width: 38rem; margin: 6px 0 0; font-size: .72rem; line-height: 1.4; }
.milestone-list, .sprint-plan-list { display: grid; gap: 9px; }
.milestone-card { padding: 13px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.milestone-card.is-overdue { border-color: #714550; background: #241d25; }
.milestone-card-head, .milestone-progress-copy { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.milestone-card-head strong, .milestone-card-head small { display: block; }
.milestone-card-head strong { font-size: .8rem; }
.milestone-card-head small { margin-top: 4px; color: var(--text-muted); font-size: .68rem; }
.milestone-status { flex: 0 0 auto; padding: 4px 7px; border: 1px solid #75552a; border-radius: 99px; color: #f0c879; background: #342918; font-size: .62rem; font-weight: 750; }
.milestone-status.is-complete { border-color: #27543b; color: #8fe4ab; background: #163126; }
.milestone-progress { height: 6px; margin: 13px 0 7px; overflow: hidden; border-radius: 99px; background: #0e1520; }
.milestone-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d8ed8e, #e5f3b4); }
.milestone-progress-copy { align-items: center; color: var(--text-muted); font-size: .68rem; }
.milestone-progress-copy strong { color: var(--text); }
.milestone-card .compact-action { margin-top: 12px; }
.project-milestone-form { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(130px, .65fr) auto; align-items: end; gap: 10px; margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--border); }
.project-milestone-form .field, .project-milestone-form .error { margin: 0; }
.sprint-plan-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); color: var(--text-muted); text-align: left; box-shadow: none; }
.sprint-plan-row:hover { border-color: #4d5b76; background: var(--surface-raised); box-shadow: none; transform: none; }
.sprint-plan-row strong, .sprint-plan-row small { display: block; }
.sprint-plan-row strong { color: #b7c8ff; font-size: .78rem; }
.sprint-plan-row small { margin-top: 4px; color: var(--text-subtle); font-size: .67rem; }
.sprint-plan-row > span:last-child { color: var(--text); font-size: .7rem; font-weight: 750; }
@media (max-width: 1100px) { .project-main .workspace-heading > .row { flex: 1 1 100%; justify-content: flex-start; } }
@media (max-width: 1000px) { .project-view-toolbar, .project-timeline-heading { align-items: stretch; flex-direction: column; } .project-filter-form { width: 100%; } }
@media (max-width: 780px) { .project-main { min-height: 0; padding: 0 0 20px; } .project-main .workspace-heading { margin: 0 0 20px; } .project-main .workspace-heading > .row { width: 100%; justify-content: flex-start; } .project-main .workspace-heading > .row > button, .project-team-picker { flex: 1 1 160px; } .project-team-picker select { min-width: 0; } .project-onboarding { align-items: stretch; flex-direction: column; gap: 16px; } .project-onboarding-actions { grid-template-columns: 1fr 1fr; min-width: 0; } .project-onboarding-actions .field-hint { grid-column: 1 / -1; max-width: none; } .project-planning-insight { align-items: stretch; flex-direction: column; } .project-planning-insight button { width: 100%; } .project-filter-form { grid-template-columns: 1fr 1fr; } .project-filter-form button { grid-column: 1 / -1; } .project-list-view { overflow-x: auto; } .project-timeline-heading .week-controls { justify-content: space-between; } .project-planning-grid { grid-template-columns: 1fr; } .project-milestone-form { grid-template-columns: 1fr; } .project-milestone-form button { width: 100%; } }
@media (max-width: 520px) { .project-timeline-unscheduled-row { grid-template-columns: 1fr; } .timeline-schedule-date input { width: 100%; } }
@media (max-width: 520px) { .project-view-switcher { width: 100%; } .project-view-switcher button { flex: 1; } .project-filter-form { grid-template-columns: 1fr; } .project-filter-form button { grid-column: auto; } .project-list-summary { align-items: flex-start; flex-direction: column; } }
@media (max-width: 1000px) { .teams-content { grid-template-columns: 1fr; } .team-detail-panel { order: -1; } }
@media (max-width: 780px) { .teams-hero { align-items: flex-start; flex-direction: column; } .team-create-panel, .team-create-form, .team-edit-form, .team-project-form { grid-template-columns: 1fr; } .team-create-panel > .error { grid-column: auto; margin: -8px 0 0; } .team-create-form .primary-action, .teams-hero .primary-action, .team-project-form .primary-action { width: 100%; } .team-edit-form .row { align-items: stretch; flex-direction: row; } .team-edit-form .error { max-width: none; text-align: left; } .team-project-form .error { grid-column: auto; } .project-member-form { align-items: stretch; flex-direction: column; } .project-member-form button { width: 100%; } }
@media (max-width: 520px) { .team-member-form { align-items: stretch; flex-direction: column; } .team-member-form button { width: 100%; } .team-card, .team-detail-panel, .teams-list-panel { padding: 14px; } }

/* Team directory: creation and editing are deliberate actions, not permanent forms. */
.team-tabs { display: flex; gap: 4px; margin: 18px 0 20px; padding-bottom: 10px; border-bottom: 1px solid var(--border); overflow-x: auto; }
.team-tabs button { flex: 0 0 auto; min-height: 36px; padding: 7px 10px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); box-shadow: none; font-size: .74rem; }
.team-tabs button:hover, .team-tabs button.active { border-color: #72813d; background: var(--accent-soft); color: var(--text); box-shadow: none; transform: none; }
.team-tabs button span { margin-left: 4px; color: var(--text-subtle); font-size: .66rem; }
.team-tab-content { min-width: 0; }
.team-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.team-section-heading h4 { margin: 0; font-size: .95rem; }
.team-section-heading p { margin: 4px 0 0; font-size: .73rem; }
.team-section-empty { display: grid; gap: 5px; padding: 22px 0; border-top: 1px solid var(--border); color: var(--text-muted); font-size: .76rem; }
.team-section-empty strong { color: var(--text); font-size: .84rem; }
.team-section-empty .team-empty-action { width: fit-content; }
.team-member-list { display: grid; border-top: 1px solid var(--border); }
.ghost-action { min-height: 34px; padding: 6px 8px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); box-shadow: none; font-size: .68rem; }
.ghost-action:hover { border-color: var(--danger-border); background: var(--danger-bg); color: var(--danger); box-shadow: none; transform: none; }
.team-detail-panel .team-edit-form { margin-top: 0; }
@media (max-width: 780px) { .team-tabs { margin-top: 14px; } .team-section-heading { align-items: stretch; flex-direction: column; } .team-section-heading .compact-action { width: 100%; } }

.timesheet-main, .operations-main { min-width: 0; padding: 4px 2px 36px; }
.timesheet-hero { align-items: center; }
.timesheet-hero-actions { display: flex; align-items: center; gap: 10px; }
.timesheet-hero-actions .primary-action { width: auto; white-space: nowrap; }
.timesheet-status { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 6px 11px; border: 1px solid transparent; border-radius: 99px; font-size: .68rem; font-weight: 800; letter-spacing: .03em; white-space: nowrap; }
.status-open { border-color: #3b4860; background: #1a2230; color: #9eabc0; }
.status-submitted { border-color: #665629; background: #342e1e; color: #e9ca7e; }
.status-approved { border-color: #27543b; background: #163126; color: #8fe4ab; }
.status-denied { border-color: var(--danger-border); background: var(--danger-bg); color: var(--danger); }
.week-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); }
.week-controls { display: flex; align-items: center; gap: 13px; }
.week-controls > div { display: grid; min-width: 190px; gap: 5px; text-align: center; }
.week-controls strong { font-size: .84rem; }
.inline-notice { margin: 0 0 14px; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: .76rem; }
.inline-notice.success { border-color: #27543b; background: rgba(22, 49, 38, .72); color: #8fe4ab; }
.inline-notice.error { min-height: 0; border-color: var(--danger-border); background: rgba(59, 32, 41, .72); color: var(--danger); }
.timesheet-summary-grid .summary-status { font-size: 1.1rem; letter-spacing: -.025em; }
.submit-card { display: flex; flex-direction: column; }
.submit-card .primary-action { width: 100%; margin-top: 14px; }
.timesheet-submit-summary { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.timesheet-submit-summary > strong { font-size: 1.45rem; letter-spacing: -.04em; }
.timesheet-submit-summary > span:not(.card-kicker) { color: var(--text-muted); font-size: .76rem; }
.timesheet-submit-summary p { margin: 5px 0 0; color: var(--text-muted); font-size: .76rem; line-height: 1.5; }
.submit-card p { margin-top: auto; padding-top: 8px; }
.manual-entry-panel { margin-bottom: 14px; }
.manual-entry-form { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; gap: 10px; }
.manual-entry-form .field { min-width: 0; margin: 0; }
.manual-task-field, .manual-start-field, .manual-stop-field, .manual-note-field { grid-column: span 4; }
.manual-reason-field { grid-column: span 4; }
.manual-entry-form .check-field { grid-column: span 2; }
.manual-entry-form > button { grid-column: span 2; }
.manual-entry-form input, .manual-entry-form select { min-height: 42px; }
.manual-entry-form button { min-height: 42px; white-space: nowrap; }
.check-field { display: flex; align-items: center; gap: 8px; min-height: 42px; color: var(--text-muted); font-size: .76rem; font-weight: 650; }
.check-field input { width: 16px; height: 16px; padding: 0; accent-color: var(--accent); }
.timesheet-lock-banner { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; padding: 17px 19px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .76); }
.timesheet-lock-banner .lock-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 11px; background: var(--accent-soft); color: var(--accent-strong); font-weight: 800; }
.timesheet-lock-banner strong { font-size: .82rem; }
.timesheet-lock-banner p { margin: 4px 0 0; color: var(--text-muted); font-size: .73rem; }
.timesheet-entries table { min-width: 900px; }
.timesheet-entries td { vertical-align: middle; }
.entry-day, .entry-time, .entry-note { display: block; }
.entry-day { color: var(--text); font-size: .77rem; }
.entry-time, .entry-note { margin-top: 4px; color: var(--text-subtle); font-size: .67rem; font-weight: 500; }
.entry-note { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.source-manual { background: #193248; color: #88c8f8; }
.source-focus { background: #404726; color: #e9f4bf; }
.billable-mark { color: var(--success); font-size: .7rem; font-weight: 750; }
.entry-actions { display: flex; align-items: center; gap: 6px; }
.text-danger { border-color: transparent; background: transparent; color: var(--danger); }
.text-danger:hover { border-color: var(--danger-border); background: var(--danger-bg); box-shadow: none; }
.timesheet-dialog { width: min(720px, 100%); }
.timesheet-dialog.compact-dialog { width: min(560px, 100%); }
.operations-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); gap: 14px; }
.approval-list { display: grid; }
.approval-row { display: grid; grid-template-columns: 34px minmax(150px, 1fr) auto auto minmax(150px, auto); align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--border); }
.approval-person { min-width: 0; }
.approval-person strong, .approval-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.approval-person strong { font-size: .8rem; }
.approval-person small { margin-top: 4px; color: var(--text-subtle); font-size: .68rem; }
.approval-hours { color: var(--accent-strong); font-size: .78rem; font-variant-numeric: tabular-nums; }
.approval-actions { display: flex; justify-content: flex-end; gap: 6px; }
.audit-list { display: grid; max-height: 650px; overflow: auto; padding-right: 5px; }
.audit-row { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 0; border-top: 1px solid var(--border); }
.audit-mark { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(219, 238, 151, .1); }
.audit-row strong { font-size: .75rem; }
.audit-row p { margin: 4px 0 0; color: var(--text-subtle); font-size: .66rem; text-transform: capitalize; }
.audit-row time { color: var(--text-subtle); font-size: .64rem; text-align: right; }

@media (max-width: 1250px) { .operations-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .approval-row { grid-template-columns: 34px minmax(0, 1fr) auto; } .approval-row .timesheet-status { justify-self: start; grid-column: 2; } .approval-actions { grid-column: 2 / -1; justify-content: flex-start; } }
@media (max-width: 780px) { .timesheet-hero-actions { align-items: stretch; width: 100%; flex-direction: column; } .timesheet-hero-actions .primary-action { width: 100%; } .week-toolbar { align-items: stretch; flex-direction: column; } .week-controls { justify-content: space-between; } .week-controls > div { min-width: 0; } .manual-entry-form { grid-template-columns: 1fr 1fr; } .manual-entry-form > * { grid-column: auto; } .manual-task-field, .manual-reason-field { grid-column: 1 / -1; } .manual-entry-form .check-field, .manual-entry-form button { align-self: end; } }
@media (max-width: 520px) { .timesheet-status { align-self: flex-start; } .manual-entry-form { grid-template-columns: 1fr; } .manual-entry-form > *, .manual-task-field, .manual-reason-field { grid-column: 1; } .week-controls { gap: 7px; } .week-controls > div { font-size: .75rem; } .approval-row { grid-template-columns: 30px minmax(0, 1fr); } .approval-hours { grid-column: 2; } .approval-row .timesheet-status { grid-column: 2; } .approval-actions { grid-column: 1 / -1; } .approval-actions button { flex: 1; } .audit-row { grid-template-columns: 10px minmax(0, 1fr); } .audit-row time { grid-column: 2; text-align: left; } }

.leave-main { min-width: 0; padding: 4px 2px 36px; }
.leave-view-tabs { display: flex; gap: 6px; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); overflow-x: auto; }
.leave-view-tabs button { min-height: 38px; padding: 8px 12px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); box-shadow: none; white-space: nowrap; }
.leave-view-tabs button.active { border-color: #72813d; background: var(--accent-soft); color: var(--text); }
.leave-tab-hidden { display: none !important; }
.capacity-impact-warning { display:flex; gap:10px; align-items:center; margin:0 0 16px; padding:12px 15px; border:1px solid #704b54; border-radius:12px; background:rgba(92,42,52,.22); color:var(--text-muted); }
.capacity-impact-warning strong { color:#ffb2be; }
.capacity-impact-warning.is-watch { border-color:#4a6475; background:rgba(33,75,94,.18); }
.capacity-impact-warning.is-watch strong { color:#8ed7ff; }

.leave-team-insights { display:flex; align-items:center; gap:18px; padding:14px 18px; margin-bottom:18px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.leave-team-insights span { color:var(--muted); font-size:.92rem; }
.leave-team-insights strong { color:var(--text); margin-right:5px; }
.leave-team-insights small { margin-left:auto; color:var(--muted); }
.leave-accrual-history { margin-top:16px; }
.leave-accrual-history .report-panel-heading { margin-bottom:8px; }
.leave-accrual-history .leave-balance-card { min-height:0; padding:16px 18px; }
@media (max-width: 760px) { .leave-team-insights { align-items:flex-start; flex-wrap:wrap; gap:10px 16px; } .leave-team-insights small { width:100%; margin-left:0; } }
.leave-hero { align-items: center; }
.leave-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.leave-panel { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18, 23, 32, .84); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.leave-balance-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 14px; }
.leave-balance-card { display: flex; align-items: stretch; gap: 13px; min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(15, 20, 28, .86); }
.leave-balance-card > div { min-width: 0; }
.leave-balance-card strong { display: block; margin-top: 6px; font-size: 1.2rem; letter-spacing: -.035em; }
.leave-balance-card p { margin: 7px 0 0; color: var(--text-muted); font-size: .69rem; line-height: 1.45; }
.policy-color { width: 5px; flex: 0 0 auto; border-radius: 99px; background: var(--policy-color); box-shadow: 0 0 0 3px color-mix(in srgb, var(--policy-color) 16%, transparent); }
.policy-color.large { width: 8px; min-height: 38px; }
.leave-personal-grid { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 14px; margin-bottom: 14px; }
.leave-request-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.leave-request-form .field { margin: 9px 0; }
.leave-request-form .full-field { grid-column: 1 / -1; }
.leave-request-form button { width: 100%; margin-top: 9px; }
.leave-request-guidance { margin: 2px 0 9px; padding: 9px 10px; border-left: 2px solid var(--accent); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: rgba(219, 238, 151, .08); color: var(--text-muted); font-size: .72rem; line-height: 1.45; }
.leave-request-list { display: grid; }
.leave-request-row { display: grid; grid-template-columns: 5px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--border); }
.leave-request-copy { min-width: 0; }
.leave-request-copy strong, .leave-request-copy span, .leave-request-copy small { display: block; }
.leave-request-copy strong { font-size: .8rem; }
.leave-request-copy span { margin-top: 4px; color: var(--text-muted); font-size: .7rem; }
.leave-request-copy small { margin-top: 5px; color: var(--text-subtle); font-size: .67rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.leave-request-copy .leave-request-workflow { color: var(--text-muted); }
.leave-status { display: inline-flex; align-items: center; justify-content: center; padding: 5px 8px; border: 1px solid transparent; border-radius: 99px; font-size: .63rem; font-weight: 800; white-space: nowrap; }
.status-pending { border-color: #665629; background: #342e1e; color: #e9ca7e; }
.status-cancelled { border-color: var(--border); background: var(--surface-soft); color: var(--text-subtle); }
.leave-empty { display: grid; min-height: 300px; place-items: center; align-content: center; text-align: center; }
.leave-empty-mark { display: grid; width: 42px; height: 42px; margin-bottom: 10px; place-items: center; border-radius: 12px; background: var(--accent-soft); color: var(--accent); font-size: 1.25rem; font-weight: 900; }
.leave-empty h3 { margin: 0; }
.leave-empty p, .empty-copy { margin: 8px 0 0; font-size: .74rem; line-height: 1.5; }
.calendar-panel { margin-bottom: 20px; overflow: hidden; }
.calendar-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.calendar-heading h3 { margin: 6px 0; font-size: 1.3rem; letter-spacing: -.04em; }
.calendar-heading p { margin: 0; font-size: .72rem; }
.calendar-actions { display: flex; align-items: flex-end; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.calendar-team-filter { display: grid; gap: 5px; min-width: 170px; margin-left: 7px; }
.calendar-team-filter select { min-height: 35px; padding: 7px 30px 7px 9px; font-size: .7rem; }
.leave-calendar-weekdays, .leave-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(100px, 1fr)); min-width: 760px; }
.leave-calendar-weekdays { border: 1px solid var(--border); border-bottom: 0; border-radius: 12px 12px 0 0; background: var(--surface-soft); }
.leave-calendar-weekdays span { padding: 9px 10px; color: var(--text-subtle); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.leave-calendar-grid { border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.leave-calendar-day { min-height: 104px; padding: 9px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: rgba(15, 20, 28, .56); }
.leave-calendar-day.outside { background: rgba(11, 14, 19, .5); color: var(--text-subtle); }
.leave-calendar-day.today { box-shadow: inset 0 0 0 1px var(--accent); }
.calendar-day-number { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; color: var(--text-muted); font-size: .68rem; font-weight: 750; }
.leave-calendar-day.today .calendar-day-number { background: var(--accent); color: var(--accent-contrast); }
.calendar-leave-list { display: grid; gap: 4px; margin-top: 5px; }
.calendar-leave { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-width: 0; padding: 5px 6px; border-left: 3px solid var(--policy-color); border-radius: 5px; background: color-mix(in srgb, var(--policy-color) 12%, var(--surface-raised)); color: var(--text); font-size: .62rem; }
.calendar-leave span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-leave small { color: var(--policy-color); font-size: .55rem; font-weight: 850; }
.calendar-more { color: var(--text-subtle); font-size: .58rem; }
.leave-admin-section { padding-top: 8px; }
.leave-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 10px 2px 18px; }
.leave-section-heading h2 { margin: 7px 0; font-size: 1.65rem; letter-spacing: -.05em; }
.leave-section-heading p { margin: 0; }
.leave-admin-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); align-items: start; gap: 14px; margin-bottom: 14px; }
.approvals-panel { background: linear-gradient(145deg, rgba(56, 64, 28, .62), var(--surface)); }
.approvals-panel .report-panel-heading, .policy-panel .report-panel-heading { padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.balance-panel { margin-top: 4px; }
.balance-panel .report-panel-heading { align-items: center; }
.leave-approval-list, .policy-list { display: grid; }
.policy-panel { container-type: inline-size; }
.leave-approval-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--border); }
.leave-approval-row > div:nth-child(2) { min-width: 0; }
.leave-approval-row strong, .leave-approval-row span, .leave-approval-row small { display: block; }
.leave-approval-row strong { font-size: .8rem; }
.leave-approval-row span { margin-top: 4px; color: var(--text-muted); font-size: .69rem; }
.leave-approval-row small { max-width: 420px; margin-top: 5px; color: var(--text-subtle); font-size: .66rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.policy-create-form { display: grid; grid-template-columns: minmax(120px, 1.2fr) 70px 60px 80px 80px auto auto; align-items: end; gap: 8px; margin-bottom: 12px; padding: 13px; border: 1px solid #576132; border-radius: var(--radius-md); background: #2b3018; }
.policy-create-form .field { min-width: 0; margin: 0; }
.policy-create-form input { min-height: 40px; }
.compact-color-field input { padding: 4px; }
.policy-create-form button { min-height: 40px; white-space: nowrap; }
.policy-card { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--border); }
.policy-card.inactive { opacity: .58; }
.policy-card strong, .policy-card span { display: block; }
.policy-card strong { font-size: .8rem; }
.policy-card div > span { margin-top: 4px; color: var(--text-muted); font-size: .68rem; }
.policy-card div > p { margin: 7px 0 0; color: var(--text-muted); font-size: .72rem; line-height: 1.5; white-space: pre-wrap; }
.leave-policy-document { margin-top: 18px; }
.leave-policy-document-content { padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--text); line-height: 1.7; white-space: normal; }
.leave-policy-document-form { display: grid; gap: 14px; margin-top: 16px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-raised); }
.balance-panel table { min-width: 850px; }
.balance-panel td:first-child strong, .balance-panel td:first-child small { display: block; }
.balance-panel td:first-child small { margin-top: 4px; color: var(--text-subtle); font-size: .65rem; }
.policy-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--policy-color); }
.leave-dialog { width: min(720px, 100%); }
.leave-dialog.compact-dialog { width: min(560px, 100%); }

.capacity-main { min-width: 0; padding: 4px 2px 36px; }
.capacity-hero { align-items: center; }
.capacity-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding: 13px 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); }
.capacity-toolbar-actions { display: flex; align-items: flex-end; gap: 10px; }
.capacity-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); align-items: start; gap: 14px; }
.capacity-member-list, .holiday-list { display: grid; }
.capacity-overview-list { display: grid; margin-bottom: 22px; border-bottom: 1px solid var(--border); }
.capacity-overview-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
.capacity-overview-heading h3 { margin: 4px 0 0; font-size: .95rem; }
.capacity-overview-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 11px; width: 100%; padding: 12px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; color: var(--text-muted); text-align: left; box-shadow: none; }
.capacity-overview-row:hover, .capacity-overview-row.active { background: var(--surface-soft); color: var(--text); box-shadow: none; transform: none; }
.capacity-overview-row > span:nth-child(2) { min-width: 0; }
.capacity-overview-row strong, .capacity-overview-row small { display: block; }
.capacity-overview-row > span strong { color: var(--text); font-size: .78rem; }
.capacity-overview-row small { margin-top: 3px; overflow: hidden; color: var(--text-subtle); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.capacity-overview-row > strong { color: var(--accent-strong); font-size: .7rem; white-space: nowrap; }
.capacity-overview-row.is-overloaded > strong { color: var(--danger); }
.capacity-overview-row em { font-style: normal; font-size: .65rem; white-space: nowrap; }
.capacity-member { padding: 15px 0; border-top: 1px solid var(--border); }
.capacity-member:first-child { border-top: 0; padding-top: 2px; }
.capacity-member-heading { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.capacity-member-heading > div { min-width: 0; }
.capacity-member-heading strong, .capacity-member-heading span { display: block; }
.capacity-member-heading strong { font-size: .82rem; }
.capacity-member-heading div span { margin-top: 3px; color: var(--text-muted); font-size: .68rem; }
.capacity-status { padding: 5px 8px; border: 1px solid transparent; border-radius: 99px; font-size: .62rem; font-weight: 800; white-space: nowrap; }
.capacity-available { border-color: rgba(74, 222, 128, .26); background: rgba(74, 222, 128, .1); color: #86efac; }
.capacity-over { border-color: rgba(251, 113, 133, .28); background: rgba(251, 113, 133, .1); color: #fda4af; }
.capacity-away { border-color: var(--border); background: var(--surface-soft); color: var(--text-subtle); }
.capacity-bar { height: 7px; margin: 13px 0 10px; overflow: hidden; border-radius: 99px; background: var(--surface-soft); }
.capacity-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #7dd3fc); }
.capacity-member.is-overloaded .capacity-bar span { background: linear-gradient(90deg, #fb7185, #f59e0b); }
.capacity-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.capacity-metrics div { padding: 8px; border-radius: 9px; background: var(--surface-soft); }
.capacity-metrics dt { color: var(--text-subtle); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.capacity-metrics dd { margin: 4px 0 0; color: var(--text); font-size: .72rem; font-weight: 750; }
.capacity-task-note { margin: 9px 0; color: var(--text-subtle); font-size: .66rem; }
.capacity-schedule-form { display: flex; align-items: end; gap: 8px; padding-top: 10px; }
.weekday-picker { display: flex; gap: 4px; }
.weekday-check { position: relative; display: grid; width: 27px; height: 27px; place-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; color: var(--text-subtle); font-size: .63rem; font-weight: 800; cursor: pointer; }
.weekday-check:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-strong); }
.weekday-check input { position: absolute; opacity: 0; }
.capacity-hours-field { width: 84px; gap: 4px; margin: 0; font-size: .62rem; }
.capacity-hours-field input { min-height: 31px; padding: 5px 7px; font-size: .7rem; }
.holiday-form { display: grid; grid-template-columns: 1fr 1.25fr auto; align-items: end; gap: 8px; margin-bottom: 13px; }
.holiday-form .field { min-width: 0; margin: 0; }
.holiday-form input { min-height: 40px; }
.holiday-form button { min-height: 40px; white-space: nowrap; }
.holiday-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; border-top: 1px solid var(--border); }
.holiday-row strong, .holiday-row span { display: block; }
.holiday-row strong { font-size: .75rem; }
.holiday-row span { margin-top: 4px; color: var(--text-muted); font-size: .67rem; }
.capacity-explainer { margin-top: 14px; padding: 15px 17px; border: 1px solid rgba(125, 211, 252, .2); border-radius: var(--radius-md); background: rgba(30, 58, 80, .28); }
.capacity-explainer strong { font-size: .78rem; }
.capacity-explainer p { margin: 6px 0 0; color: var(--text-muted); font-size: .72rem; line-height: 1.5; }

/* Focus capacity planning on one selected person, while the summary above remains team-wide. */
.capacity-layout { grid-template-columns: minmax(0, 1.45fr) minmax(310px, .72fr); }
.capacity-member-panel-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.capacity-member-panel-header h3 { margin: 5px 0; }
.capacity-member-panel-header p { max-width: 440px; margin: 0; font-size: .72rem; }
.capacity-member-picker { display: grid; min-width: 220px; gap: 5px; color: var(--text-muted); font-size: .67rem; font-weight: 750; }
.capacity-member-picker select { min-height: 40px; font-size: .78rem; }
.capacity-member-picker span { color: var(--text-subtle); font-size: .62rem; font-weight: 600; }
.capacity-focus-card { padding: 18px; border: 1px solid rgba(219, 238, 151, .28); border-radius: var(--radius-md); background: linear-gradient(135deg, rgba(60, 69, 29, .42), rgba(17, 23, 34, .72) 48%); }
.capacity-workload { margin: 20px 0 16px; }
.capacity-workload-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--text-muted); font-size: .68rem; }
.capacity-workload-label strong { color: var(--text); font-size: .72rem; }
.capacity-workload .capacity-bar { height: 8px; margin: 8px 0 0; }
.capacity-focus-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.capacity-focus-metrics div { min-height: 78px; padding: 12px; }
.capacity-focus-metrics dd { font-size: 1rem; }
.capacity-focus-metrics small { display: block; margin-top: 5px; color: var(--text-subtle); font-size: .62rem; }
.capacity-details-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 10px; }
.capacity-detail-panel, .capacity-schedule-editor { padding: 13px; border: 1px solid var(--border); border-radius: 10px; background: rgba(8, 13, 21, .22); }
.capacity-detail-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 0; }
.capacity-detail-list dt { color: var(--text-subtle); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.capacity-detail-list dd { margin: 4px 0 0; font-size: .75rem; font-weight: 750; }
.capacity-schedule-editor { display: grid; grid-template-columns: minmax(0, 1fr) 84px auto; padding-top: 13px; }
.capacity-schedule-editor > div:first-child { min-width: 0; grid-column: 1 / -1; }
.capacity-schedule-editor .weekday-picker { margin-top: 10px; }
.weekday-check input { inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.holiday-form { grid-template-columns: 1fr; gap: 10px; padding: 13px; border: 1px solid var(--border); border-radius: 10px; background: rgba(8, 13, 21, .2); }

@media (max-width: 1100px) { .capacity-layout { grid-template-columns: 1fr; } }
@media (max-width: 780px) { .capacity-hero, .capacity-toolbar { align-items: flex-start; flex-direction: column; } .capacity-toolbar-actions { width: 100%; justify-content: space-between; } .capacity-toolbar-actions .calendar-team-filter { flex: 1; } .holiday-form { grid-template-columns: 1fr 1fr; } .holiday-form button { grid-column: 1 / -1; } }
@media (max-width: 520px) { .capacity-metrics { grid-template-columns: 1fr 1fr; } .capacity-member-heading { grid-template-columns: 34px minmax(0, 1fr); } .capacity-status { grid-column: 2; justify-self: start; } .capacity-schedule-form { align-items: flex-start; flex-wrap: wrap; } .capacity-schedule-form button { flex: 1; } .holiday-form { grid-template-columns: 1fr; } .holiday-form button { grid-column: auto; } }

@media (max-width: 1100px) { .holiday-form { grid-template-columns: 1fr 1fr auto; align-items: end; } }
@media (max-width: 780px) { .capacity-member-panel-header { align-items: flex-start; flex-direction: column; } .capacity-member-picker { width: 100%; min-width: 0; } .capacity-member-picker select { width: 100%; } .holiday-form { grid-template-columns: 1fr 1fr; } .holiday-form button { grid-column: 1 / -1; } }
@media (max-width: 520px) { .capacity-focus-metrics { grid-template-columns: 1fr; } .capacity-workload-label { align-items: flex-start; flex-direction: column; } .capacity-schedule-editor { grid-template-columns: 1fr; } .capacity-schedule-editor > div:first-child { grid-column: auto; } .capacity-hours-field, .capacity-schedule-editor button { width: 100%; } .holiday-form { grid-template-columns: 1fr; } .holiday-form button { grid-column: auto; } }

/* Pass 1: shared controls, responsive project shell, and task-detail dialog. */
:root { --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --surface: #121720; --surface-raised: #19212e; --surface-soft: #101620; }
body { background: var(--bg); }
button { min-height: 36px; padding: .58rem .82rem; background: var(--accent); transition: background .15s ease, border-color .15s ease, color .15s ease; }
button:hover { background: var(--accent-strong); box-shadow: none; transform: none; }
button.ghost-button, button.icon-button.ghost-button { background: transparent; color: var(--text-muted); border-color: transparent; box-shadow: none; }
button.ghost-button:hover, button.icon-button.ghost-button:hover { background: var(--surface-raised); color: var(--text); border-color: var(--border); }
button:disabled { cursor: not-allowed; opacity: .55; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* App-owned choice menus and confirmations replace browser chrome while retaining the underlying fields for forms. */
.app-select-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.app-select { display: inline-grid; grid-template-columns: minmax(0, 1fr); min-width: 0; width: 100%; }
.app-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; text-align: left; box-shadow: none; }
.app-select-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-select-trigger .app-select-value { margin: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.app-select-caret { width: 7px; height: 7px; flex: 0 0 7px; margin: -4px 2px 0 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--text-muted); transform: rotate(45deg); }
.app-select-trigger:hover, .app-select-trigger:focus-visible { border-color: #b4c575; background: var(--surface-raised); outline: 0; box-shadow: 0 0 0 3px rgba(219, 238, 151, .12); }
.app-select-menu { position: fixed; z-index: 1000; display: grid; max-width: calc(100vw - 16px); max-height: min(290px, calc(100dvh - 16px)); overflow: auto; overflow-wrap: anywhere; padding: 5px; border: 1px solid #41495b; border-radius: 10px; background: #171d27; box-shadow: 0 16px 40px rgba(0, 0, 0, .42); }
.app-select-option { min-height: 34px; padding: 7px 9px; border: 0; border-radius: 6px; background: transparent; color: var(--text); font: inherit; font-size: 12px; text-align: left; box-shadow: none; }
.app-select-option:hover, .app-select-option:focus-visible, .app-select-option[aria-selected="true"] { background: #3c4129; color: #f6fbe3; outline: 0; transform: none; }
.app-confirm-backdrop { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(3, 7, 13, .7); backdrop-filter: blur(5px); }
.app-confirm-dialog { display: grid; grid-template-columns: auto 1fr; gap: 14px; width: min(100%, 430px); padding: 22px; border: 1px solid #48546a; border-radius: 14px; background: #151c27; box-shadow: 0 24px 70px rgba(0, 0, 0, .5); }
.app-confirm-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: #eef7cc; background: #424a27; font-weight: 700; }
.app-confirm-icon.is-danger { color: #ffbac2; background: #482a32; }
.app-confirm-dialog h2 { margin: 0; font-size: 17px; }
.app-confirm-dialog p { margin: 6px 0 0; color: var(--text-muted); font-size: 12px; line-height: 1.55; }
.app-confirm-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px; }
@media (max-width: 600px) { .app-confirm-backdrop { padding: 16px; align-items: end; } .app-confirm-dialog { padding: 19px; } .app-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; } }
.project-list-row { transition: opacity .16s ease, transform .2s ease, background .2s ease; }
.project-list-row-pending { opacity: .62; }
.project-list-row-moving { background: rgba(219, 238, 151, .12); transform: translateY(-3px); }
.mobile-navigation-toggle { display: none; }
.task-details-backdrop { position: fixed; z-index: 30; inset: 0; display: flex; justify-content: flex-end; padding: 12px; background: rgba(3, 6, 11, .58); }
.task-details { position: relative; top: auto; right: auto; bottom: auto; width: min(680px, 100%); max-width: 100%; padding: 24px; border-radius: var(--radius-lg); background: var(--surface); box-shadow: -20px 0 55px rgba(0, 0, 0, .42); }
.task-details-head { padding-bottom: 14px; }
.task-breadcrumb { display: block; max-width: 530px; overflow: hidden; color: var(--text-muted); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.detail-status { margin-top: 6px; color: var(--text-muted); }
.task-primary-fields { padding: 14px 0 4px; }
.task-title-input { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--text); font-size: clamp(1.35rem, 3vw, 1.8rem); font-weight: 720; letter-spacing: -.035em; }
.task-title-input:hover, .task-title-input:focus { border-color: transparent; box-shadow: none; }
.task-quick-fields { grid-template-columns: minmax(190px, 1.5fr) minmax(140px, 1fr) minmax(100px, .6fr); gap: 0 12px; }
.task-quick-fields .field { margin: 14px 0 8px; }
.field-value { display: flex; align-items: center; min-height: 38px; color: var(--text); font-size: .86rem; font-weight: 650; }
.task-action-row { display: flex; align-items: center; gap: 8px; margin-top: 13px; }
.task-status-control select, .task-complete-button { min-height: 34px; padding: .42rem .66rem; font-size: .76rem; }
.task-complete-button { background: var(--accent-soft); border-color: #7b8a45; color: var(--text); }
.task-complete-button:hover { background: #54602a; }
.task-property-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(110px, .7fr) minmax(140px, .9fr); gap: 10px; margin: 13px 0 7px; }
.task-property { display: grid; gap: 5px; min-width: 0; color: var(--text-subtle); font-size: .67rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.task-property select, .task-property input { min-height: 36px; padding: .44rem .6rem; font-size: .78rem; letter-spacing: normal; text-transform: none; }
.task-assignees-property { position: relative; padding: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }
.task-assignees-property summary { display: grid; gap: 4px; padding: 7px 9px; cursor: pointer; list-style: none; }
.task-assignees-property summary::-webkit-details-marker { display: none; }
.task-assignees-property summary > span { color: var(--text-subtle); font-size: .67rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.task-assignees-property summary strong { overflow: hidden; color: var(--text); font-size: .78rem; font-weight: 650; letter-spacing: normal; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.task-assignee-list { display: grid; gap: 3px; margin: 0 8px 8px; padding-top: 7px; border-top: 1px solid var(--border); }
.task-assignee-choice { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 4px 2px; color: var(--text-muted); font-size: .75rem; letter-spacing: normal; text-transform: none; }
.task-assignee-choice input { width: auto; min-height: 0; accent-color: var(--accent); }
.task-assignee-choice .task-assignee-avatar { width: 20px; height: 20px; margin: 0; border-width: 0; }
.task-description-section { padding-top: 16px !important; }
.task-description-section > label { display: block; }
.task-description-section textarea { width: 100%; min-height: 132px; resize: vertical; }
.task-description-state { color: var(--text-subtle); font-size: .72rem; }
.task-description-help { margin: 8px 0 0; color: var(--text-subtle); font-size: .76rem; line-height: 1.45; }
.task-time-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--text-muted); font-variant-numeric: tabular-nums; font-size: .82rem; }
.task-property-grid { gap: 8px; }
.task-property { padding: 9px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }
.task-time-summary button { flex: 0 0 auto; min-height: 36px; }
.task-timer-action { display: contents; }
.task-timer-action button { width: auto; }
.task-advanced { margin: 14px 0 0; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.task-advanced summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:0 14px; color: var(--text); cursor: pointer; font-size: .78rem; font-weight: 800; letter-spacing:.02em; }
.task-advanced summary small { color: var(--text-subtle); font-size: .7rem; font-weight: 500; letter-spacing: 0; }
.task-advanced > .detail-grid { padding: 4px 14px 14px; }
.task-advanced { margin-top: 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }
.task-advanced summary { padding: 12px 14px; }
.task-advanced[open] summary { margin-bottom: 4px; }
.task-save-bar { position: sticky; z-index: 2; bottom: -24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 -24px; padding: 12px 24px; border-top: 1px solid var(--border); background: var(--surface); }
.task-save-bar .error { flex: 1; min-height: 0; margin: 0; }
.task-save-bar .task-dirty-notice { color: var(--text-muted); }
.task-save-bar button { flex: 0 0 auto; }
.task-details .form-section { padding: 18px 0; }
.task-details .inline-form { align-items: stretch; }
.task-details .inline-form textarea { flex: 1; min-width: 0; min-height: 76px; }
@media (max-width: 780px) {
  .project-layout { display: block; }
  .mobile-navigation-toggle { display: grid; position: absolute; z-index: 12; top: 18px; right: 18px; }
  .project-layout .sidebar { position: fixed; z-index: 11; top: 0; bottom: 0; left: 0; width: min(300px, calc(100vw - 42px)); min-height: 0; transform: translateX(-105%); transition: transform .18s ease; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; box-shadow: 18px 0 40px rgba(0, 0, 0, .4); overflow-y: auto; }
  .project-layout .sidebar.is-mobile-open { transform: translateX(0); }
  .project-main { padding-top: 6px; }
  .project-main .workspace-heading { padding-right: 48px; }
  .task-details-backdrop { padding: 0; }
  .task-details { width: 100%; height: 100%; padding: 20px 18px; border: 0; border-radius: 0; }
  .task-details-head { position: sticky; z-index: 3; top: -20px; margin: -20px -18px 0; padding: 18px 18px 14px; background: var(--surface); }
  .task-save-bar { bottom: -20px; margin: 0 -18px; padding: 12px 18px; }
  .task-quick-fields { grid-template-columns: 1fr 1fr; }
  .task-quick-fields .field:last-child { grid-column: 1 / -1; }
  .task-property-grid { grid-template-columns: 1fr 1fr; }
  .task-assignees-property { grid-column: 1 / -1; }
}

/* Task details prioritize active work; secondary creation and history stay available on demand. */
.task-details .task-time-summary { padding: 11px 0; }
.task-details .task-time-summary button { min-width: 126px; }
.task-add-control { margin-top: 14px; border-top: 1px solid var(--border); }
.task-add-control summary, .task-activity-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; color: var(--accent); cursor: pointer; font-size: .76rem; font-weight: 750; list-style: none; }
.task-add-control summary::-webkit-details-marker, .task-activity-disclosure > summary::-webkit-details-marker { display: none; }
.task-add-control[open] summary { margin-bottom: 10px; }
.task-add-control .attachment-form, .task-add-control .inline-form { margin-top: 0; }
.task-activity-disclosure { border-bottom: 1px solid var(--border); }
.task-activity-disclosure > summary { padding: 16px 0; color: var(--text); }
.task-activity-disclosure > summary span { color: var(--text-subtle); font-size: .68rem; }
.task-activity-disclosure[open] > summary { border-bottom: 1px solid var(--border); }
.task-activity-disclosure .form-section { padding-top: 14px; border-bottom: 0; }
@media (max-width: 520px) { .task-details .task-time-summary button { width: 100%; } .task-add-control summary, .task-activity-disclosure > summary { min-height: 44px; } }
@media (max-width: 520px) {
  .task-quick-fields { grid-template-columns: 1fr; }
  .task-quick-fields .field:last-child { grid-column: auto; }
  .task-time-summary { align-items: stretch; flex-direction: column; }
  .task-time-summary button { width: 100%; }
  .task-property-grid { grid-template-columns: 1fr; }
  .task-assignees-property { grid-column: auto; }
  .task-details .inline-form { flex-direction: column; }
  .task-description-section textarea { min-height: 116px; }
  .task-advanced summary { align-items: flex-start; flex-direction: column; gap: 3px; padding-block: 12px; }
  .comment-compose-actions { align-items: stretch; flex-direction: column; }
  .comment-compose-actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* The dashboard and shared workspace shell must not retain the desktop sidebar grid on phones. */
.mobile-navigation-backdrop { display: none; }
@media (max-width: 780px) {
  .mobile-drawer-layout { display: block; min-width: 0; }
  .mobile-drawer-layout > main { width: 100%; min-width: 0; }
  .mobile-drawer-layout > .sidebar { position: fixed; z-index: 40; top: 0; bottom: 0; left: 0; width: min(300px, calc(100vw - 42px)); min-height: 0; margin: 0; transform: translateX(-105%); transition: transform .18s ease; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; box-shadow: 18px 0 40px rgba(0, 0, 0, .4); overflow-y: auto; }
  .mobile-drawer-layout > .sidebar.is-mobile-open { transform: translateX(0); }
  .mobile-navigation-backdrop.is-visible { position: fixed; z-index: 35; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgba(3, 6, 11, .58); }
  .topbar .mobile-navigation-toggle { display: grid; position: absolute; z-index: 12; top: 18px; right: 18px; }
  .topbar { position: relative; padding-right: 48px; }
  .topbar-actions { max-width: 100%; }
}

/* Pass 2: compact project controls and faster task capture. */
.project-tab-nav { display: flex; gap: 4px; margin: 0 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--border); overflow-x: auto; }
.project-tab-nav button { min-height: 34px; padding: 6px 10px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); box-shadow: none; font-size: .74rem; white-space: nowrap; }
.project-tab-nav button:hover, .project-tab-nav button.active { border-color: #72813d; background: var(--accent-soft); color: var(--text); box-shadow: none; transform: none; }
.project-tab-hidden { display: none !important; }
.project-settings-panel { display: grid; gap: 14px; padding: 18px 0 2px; }
.project-settings-panel .section-heading { margin: 0; }
.project-settings-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.project-settings-actions .project-team-picker { min-width: min(260px, 100%); }
.project-settings-actions .secondary { align-self: end; }
.project-filter-form { width: auto; overflow: visible; }
.project-search { display: block; min-width: min(260px, 100%); }
.project-search input { min-height: 36px; padding: .5rem .7rem; }
.project-filter-presets { display: inline-flex; align-items: center; gap: 4px; overflow-x: auto; padding: 2px; }
.project-filter-presets button { min-height: 32px; padding: .38rem .56rem; border: 1px solid transparent; border-radius: 99px; background: transparent; color: var(--text-muted); box-shadow: none; font-size: .68rem; font-weight: 700; white-space: nowrap; }
.project-filter-presets button:hover, .project-filter-presets button.active { border-color: #72813d; background: var(--accent-soft); color: var(--text); box-shadow: none; transform: none; }
.project-filter-menu { position: relative; }
.project-filter-menu summary { display: inline-flex; align-items: center; min-height: 36px; padding: .5rem .72rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); color: var(--text); cursor: pointer; font-size: .78rem; font-weight: 700; list-style: none; }
.project-filter-menu summary::-webkit-details-marker { display: none; }
.project-filter-menu summary span { display: grid; place-items: center; min-width: 18px; height: 18px; margin-left: 7px; border-radius: 99px; background: var(--accent); color: var(--accent-contrast); font-size: .65rem; }
.project-filter-fields { position: absolute; z-index: 8; right: 0; display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 10px; width: min(430px, calc(100vw - 44px)); margin-top: 8px; padding: 14px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow); }
.project-filter-fields .field { margin: 0; }
.project-filter-fields .field span { display: block; margin-bottom: 5px; color: var(--text-subtle); font-size: .65rem; font-weight: 750; }
.project-filter-fields button { grid-column: 1 / -1; justify-self: start; }
.project-date-range { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; gap: 7px; align-items: center; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }
.project-date-range > span { grid-column: 1 / -1; color: var(--text-subtle); font-size: .65rem; font-weight: 750; }
.project-date-range input { width: 100%; min-width: 0; min-height: 34px; padding: .35rem .45rem; }
.project-date-range > span[aria-hidden] { grid-column: auto; color: var(--text-muted); font-size: .7rem; font-weight: 700; }
.project-date-range small { grid-column: 1 / -1; color: var(--text-muted); font-size: .62rem; line-height: 1.35; }
.project-label-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.project-label-suggestions > span { width: 100%; margin: 0; color: var(--text-subtle); font-size: .65rem; font-weight: 750; }
.project-label-chip { min-height: 26px; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--project-label-color) 38%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--project-label-color) 9%, var(--surface-raised)); color: var(--text-muted); box-shadow: none; font-size: .68rem; font-weight: 700; }
.project-label-chip:hover, .project-label-chip.is-selected { border-color: var(--project-label-color); background: color-mix(in srgb, var(--project-label-color) 20%, var(--surface-raised)); color: var(--text); transform: none; }
.project-label-hint { display: block; margin-top: 7px; }
.new-task-filter-context { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 10px 12px; border: 1px solid #667041; border-radius: var(--radius-sm); background: #2d321d; color: #b6bd9c; font-size: .72rem; line-height: 1.4; }
.new-task-filter-context > span { width: 100%; color: #e5edc7; font-size: .67rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.new-task-filter-context b { padding: 3px 7px; border-radius: 999px; background: #404628; color: #e5ebcf; font-size: .67rem; font-weight: 650; }
.task-card-simple { padding: 12px; }
.task-card-simple .task-meta { justify-content: flex-end; min-height: 16px; margin-top: 8px; }
.new-task-options { margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--border); }
.new-task-options summary { color: var(--text); cursor: pointer; font-size: .82rem; font-weight: 700; }
.new-task-options[open] summary { margin-bottom: 4px; }
.creation-options { margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--border); }
.creation-options summary { color: var(--text-muted); cursor: pointer; font-size: .8rem; font-weight: 700; }
.creation-options summary:hover { color: var(--text); }
.creation-options[open] summary { margin-bottom: 6px; color: var(--text); }
.creation-options .field:last-child { margin-bottom: 0; }
@media (max-width: 780px) { .project-filter-form { width: 100%; } .project-search { flex: 1; } .project-filter-presets { max-width: 100%; } .project-filter-menu summary { width: 100%; justify-content: center; } .project-filter-fields { position: static; width: 100%; } }
@media (max-width: 520px) { .project-tab-nav { margin-bottom: 14px; } .project-settings-actions { align-items: stretch; flex-direction: column; } .project-settings-actions .project-team-picker { width: 100%; } .project-settings-actions .secondary { width: 100%; } .project-view-toolbar { gap: 10px; padding: 10px; } .project-filter-form { align-items: stretch; flex-direction: column; } .project-search { min-width: 0; } .project-filter-presets { width: 100%; } .project-filter-fields { grid-template-columns: 1fr; } }

/* Pass 2: My Work is a scannable personal queue, not a set of empty cards. */
.my-work-group { margin-top: 22px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.my-work-group .section-heading { margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.my-work-group h3 { font-size: .82rem; }
.my-work-row { gap: 10px; padding: 8px 4px; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.my-work-row:hover { background: var(--surface-soft); }
.my-work-complete-button, .my-work-complete { display: grid; flex: 0 0 auto; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 99px; background: transparent; color: var(--text-subtle); font-size: 1.15rem; box-shadow: none; }
.my-work-complete-button:hover { background: var(--accent-soft); color: var(--accent); }
.my-work-complete { color: var(--success); font-size: .9rem; }
.my-work-row .my-work-task-copy { display: grid; flex: 1; gap: 4px; width: auto; padding: 2px 0; border: 0; border-radius: 0; background: transparent; color: var(--text); text-align: left; box-shadow: none; }
.my-work-row .my-work-task-copy:hover { background: transparent; color: var(--text); transform: none; }
.my-work-row .my-work-task-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.my-work-row .my-work-task-copy > span { color: var(--text-muted); font-size: .75rem; }
.my-work-timer-button { display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; min-height: 32px; padding: 0; border: 1px solid transparent; border-radius: 99px; background: transparent; color: var(--text-muted); box-shadow: none; }
.my-work-timer-button:hover { border-color: var(--border); background: var(--surface-raised); color: var(--accent); }
.my-work-empty-state { margin: 28px 0; color: var(--text-muted); text-align: center; }
@media (max-width: 700px) { .my-work-row { align-items: center; flex-direction: row; } .my-work-row .my-work-task-copy { min-width: 0; } }

/* The policy card can be narrow even on wide screens when it shares the admin grid. */
@container (max-width: 800px) { .policy-create-form { grid-template-columns: repeat(4, minmax(0, 1fr)); } .policy-create-form .check-field, .policy-create-form button { align-self: end; } }
@container (max-width: 550px) { .policy-create-form { grid-template-columns: 1fr 1fr; } }
@container (max-width: 360px) { .policy-create-form { grid-template-columns: 1fr; } }

@media (max-width: 1180px) { .leave-admin-grid { grid-template-columns: 1fr; } .policy-create-form { grid-template-columns: repeat(4, minmax(0, 1fr)); } .policy-create-form .check-field, .policy-create-form button { align-self: end; } }
@media (max-width: 980px) { .leave-summary-grid { grid-template-columns: 1fr 1fr; } .leave-personal-grid { grid-template-columns: 1fr; } }
@media (max-width: 780px) { .leave-hero, .calendar-heading, .leave-section-heading { align-items: flex-start; flex-direction: column; } .calendar-actions { width: 100%; justify-content: flex-start; } .calendar-team-filter { min-width: 200px; margin-left: 0; } .calendar-panel { overflow-x: auto; } .policy-create-form { grid-template-columns: 1fr 1fr; } .leave-approval-row { grid-template-columns: 34px minmax(0, 1fr); } .leave-approval-row .approval-actions { grid-column: 2; justify-content: flex-start; } }
@media (max-width: 520px) { .leave-summary-grid { grid-template-columns: 1fr 1fr; gap: 8px; } .leave-request-form, .policy-create-form { grid-template-columns: 1fr; } .leave-request-form .full-field { grid-column: 1; } .leave-request-row { grid-template-columns: 5px minmax(0, 1fr); } .leave-request-row .leave-status, .leave-request-row button { grid-column: 2; justify-self: start; } .policy-card { grid-template-columns: 8px minmax(0, 1fr); } .policy-card > .row { grid-column: 2; justify-content: flex-start; } }

/* Overview: keep the workday clear, with personal tools available but unobtrusive. */
.dashboard-today-panel { min-height: 0; margin-bottom: 14px; padding: 18px 20px; box-shadow: none; }
.dashboard-today-panel .queue-summary { margin: 14px 0 8px; }
.dashboard-today-panel .dashboard-task-list { max-height: none; overflow: visible; }
.dashboard-today-panel .dashboard-task { padding: 9px 0; }
.dashboard-grid { grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
/* Shared workspace chrome stays visible without leaving the layout grid. */
:root { --workspace-nav-offset: 94px; }
.shell > .topbar { position: sticky; z-index: 30; top: 0; margin-inline: -12px; padding: 14px 12px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(14px); }
.layout > .sidebar { position: sticky; top: var(--workspace-nav-offset); align-self: start; max-height: calc(100vh - var(--workspace-nav-offset) - 20px); min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.layout > .sidebar .sidebar-footer { position: sticky; bottom: -20px; margin: auto -14px -20px; padding: 16px 22px 2px; background: var(--surface); }
@media (max-width: 1050px) { :root { --workspace-nav-offset: 110px; } }
@media (max-width: 780px) {
  .shell > .topbar { position: relative; z-index: auto; margin-inline: 0; padding: 0 48px 0 0; border-bottom: 0; background: transparent; backdrop-filter: none; }
  .layout > .sidebar { max-height: none; }
  .layout.mobile-drawer-layout > .sidebar { position: fixed; z-index: 40; top: 0; right: auto; bottom: 0; left: 0; width: min(300px, calc(100vw - 42px)); min-height: 0; margin: 0; transform: translateX(-105%); transition: transform .18s ease; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; box-shadow: 18px 0 40px rgba(0, 0, 0, .4); overflow-y: auto; }
  .layout.mobile-drawer-layout > .sidebar.is-mobile-open { transform: translateX(0); }
}
.dashboard-work-control { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr); align-items: start; gap: 22px; min-height: 0; padding: 19px 20px; background: linear-gradient(135deg, rgba(62, 70, 31, .72), rgba(18, 23, 32, .92) 58%); }
.dashboard-work-control > .dashboard-card-heading { grid-column: 1; }
.dashboard-work-control > .dashboard-timer-value { grid-column: 1; margin: -10px 0 0; font-size: clamp(2rem, 3vw, 2.75rem); }
.dashboard-work-control > p { grid-column: 1; margin: -13px 0 0; }
.dashboard-work-control > .primary-action, .dashboard-work-control > .danger { grid-column: 1; width: fit-content; min-width: 132px; }
.timer-card .focus-in-work-control { grid-column: 2; grid-row: 1 / span 4; min-height: 0; padding: 2px 0 0 22px; border: 0; border-left: 1px solid rgba(219, 238, 151, .2); border-radius: 0; background: transparent; box-shadow: none; }
.timer-card .focus-in-work-control .dashboard-card-heading { display: none; }
.timer-card .focus-in-work-control p { margin: 0 0 10px; font-size: .75rem; }
.timer-card .focus-in-work-control .focus-countdown { margin-top: 0; font-size: 1.75rem; }
.timer-card .focus-in-work-control .focus-phase { margin-top: 2px; }
.timer-card .focus-in-work-control .text-action { display: block; margin-top: 9px; }
.dashboard-personal-tools { align-self: start; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18, 23, 32, .72); }
.dashboard-personal-tools summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; color: var(--text-muted); cursor: pointer; font-size: .76rem; font-weight: 750; }
.dashboard-personal-tools summary small { color: var(--text-subtle); font-size: .68rem; font-weight: 600; }
.dashboard-personal-tools-content { display: grid; gap: 10px; padding: 0 13px 13px; border-top: 1px solid var(--border); }
.dashboard-personal-tools .weather-card { min-height: 0; padding: 14px 0 2px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.dashboard-personal-tools .weather-main { margin: 14px 0 12px; }
.dashboard-personal-tools .weather-icon { width: 42px; height: 42px; border-radius: 13px; font-size: 1.45rem; }
.dashboard-personal-tools .weather-main strong { font-size: 1.65rem; }
.dashboard-personal-tools .workspace-search { max-width: none; margin: 0; padding-left: 12px; border-radius: 11px; box-shadow: none; }
.dashboard-personal-tools .search-submit { padding: .55rem .7rem; }
@media (max-width: 780px) { .dashboard-work-control { grid-template-columns: 1fr; gap: 16px; } .timer-card .focus-in-work-control { grid-column: 1; grid-row: auto; padding: 15px 0 0; border-top: 1px solid rgba(219, 238, 151, .2); border-left: 0; } .dashboard-work-control > .dashboard-card-heading, .dashboard-work-control > .dashboard-timer-value, .dashboard-work-control > p, .dashboard-work-control > .primary-action, .dashboard-work-control > .danger { grid-column: 1; } }

/* Project board: concise cards, clear empty states, and a keyboard-friendly move path. */
.column h3 { justify-content: flex-start; }
.column-add-task { display: grid; place-items: center; width: 26px; height: 26px; margin-left: auto; padding: 0; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-subtle); font-size: 1rem; box-shadow: none; }
.column-add-task:hover, .column-add-task:focus-visible { border-color: var(--border); background: var(--surface-raised); color: var(--accent); box-shadow: none; transform: none; }
.task-card-simple { overflow: hidden; padding: 0; }
.task-card-simple:hover, .task-card-simple:focus-within { border-color: #69799b; background: #1d2737; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.task-card-simple { box-shadow: none; }
.task-card-simple .task-open strong { font-size: .82rem; line-height: 1.35; }
.task-card-simple.is-blocked { border-left: 3px solid #ef7d92; }
.task-card-simple.is-overdue { border-left: 3px solid #e6b865; }
.task-card-simple.has-workload-risk { border-left: 3px solid #e6b865; }
.task-card-simple.is-complete { opacity: .64; }
.overdue-pill, .task-complete-state { display: inline-flex; align-items: center; min-height: 20px; padding: 0 7px; border-radius: 999px; font-size: .61rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.overdue-pill { background: rgba(230, 184, 101, .14); color: #f4c66c; }
.task-complete-state { background: rgba(104, 211, 145, .12); color: var(--success); }
.task-detail-signals { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 14px; align-items:center; }
.task-detail-signals .due { font-size:.7rem; }
.task-schedule-signal { padding: 3px 7px; border: 1px solid #3d5179; border-radius: 99px; color: #aac2ff; background: #1b2942; font-size: .66rem; font-weight: 750; }
.task-schedule-signal.is-unscheduled { border-color: var(--border); color: var(--text-muted); background: var(--surface-soft); }
.task-schedule-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 0 2px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }
.task-schedule-summary > div:first-child { display: grid; gap: 3px; min-width: 0; }
.task-schedule-summary span { color: var(--text-subtle); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.task-schedule-summary strong { overflow: hidden; color: var(--text); font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.task-schedule-actions { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.task-schedule-actions button { min-height: 29px; padding: .3rem .45rem; border-color: var(--border); background: var(--surface); color: var(--text-muted); font-size: .66rem; box-shadow: none; }
.task-schedule-actions button:hover { border-color: #84944a; background: var(--accent-soft); color: var(--text); transform: none; }
.task-blocker-summary { display: grid; gap: 10px; margin: 14px 0; padding: 12px; border: 1px solid rgba(239, 125, 146, .26); border-radius: var(--radius-sm); background: rgba(91, 35, 52, .18); }
.task-blocker-summary p { margin: 4px 0 0; color: var(--text-muted); font-size: .75rem; line-height: 1.45; }
.task-blocker-list { display: grid; gap: 6px; }
.task-blocker-list button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 34px; padding: .42rem .55rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text-muted); font-size: .72rem; font-weight: 700; text-align: left; box-shadow: none; }
.task-blocker-list button span { color: #ff9eaf; font-size: .66rem; }
.task-blocker-list button:hover, .task-blocker-list button:focus-visible { border-color: rgba(239, 125, 146, .5); color: var(--text); box-shadow: none; transform: none; }
.column-wip { margin-left:6px; color:var(--text-subtle); font-size:.62rem; font-weight:750; }
.column-wip.is-full { color:#f4c66c; }
.column.is-at-wip-limit { box-shadow: inset 0 2px 0 #b98734; }
.task-card-simple .task-open { display: block; width: 100%; padding: 12px 12px 9px; border: 0; border-radius: 0; background: transparent; color: var(--text); text-align: left; box-shadow: none; }
.task-card-simple .task-open:hover, .task-card-simple .task-open:focus-visible { background: transparent; box-shadow: none; transform: none; }
.task-card-simple .task-meta { justify-content: space-between; margin-top: 9px; }
.task-card-simple .task-meta .due { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-checklist-progress { margin-left: auto; color: var(--text-subtle); font-size: .62rem; font-weight: 750; white-space: nowrap; }
.task-card-actions { display: flex; align-items: center; border-top: 1px solid var(--border); }
.task-move-control { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 12px 9px; color: var(--text-subtle); font-size: .64rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.task-move-control select { min-width: 0; max-width: 142px; min-height: 27px; padding: .22rem 1.45rem .22rem .42rem; border: 0; border-radius: 7px; background-color: var(--surface-soft); color: var(--text-muted); font-size: .67rem; font-weight: 700; letter-spacing: normal; text-transform: none; }
.task-quick-complete { min-height: 27px; margin-left: 10px; padding: .25rem .52rem; border: 1px solid rgba(104, 211, 145, .3); border-radius: 7px; background: rgba(104, 211, 145, .08); color: #93e6b4; font-size: .66rem; font-weight: 800; box-shadow: none; }
.task-quick-complete:hover, .task-quick-complete:focus-visible { border-color: var(--success); background: rgba(104, 211, 145, .16); box-shadow: none; transform: none; }
.task-recovery-action { min-height: 27px; margin-left: 10px; padding: .25rem .52rem; border: 1px solid rgba(230, 184, 101, .28); border-radius: 7px; background: rgba(230, 184, 101, .08); color: #f4c66c; font-size: .66rem; font-weight: 800; box-shadow: none; }
.task-recovery-action:hover, .task-recovery-action:focus-visible { border-color: #e6b865; background: rgba(230, 184, 101, .16); box-shadow: none; transform: none; }
.task-reopen-action { min-height: 27px; margin-left: 10px; padding: .25rem .52rem; border: 1px solid rgba(219, 238, 151, .3); border-radius: 7px; background: rgba(219, 238, 151, .09); color: #e7f4ba; font-size: .66rem; font-weight: 800; box-shadow: none; }
.task-reopen-action:hover, .task-reopen-action:focus-visible { border-color: var(--accent); background: var(--accent-soft); box-shadow: none; transform: none; }
.project-workflow-summary { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 12px; color: var(--text-subtle); font-size: .7rem; }
.project-workflow-summary span { display: inline-flex; align-items: center; gap: 4px; }
.project-workflow-summary strong { color: var(--text); font-size: .76rem; }
.project-workflow-summary .text-action { padding: 0; color: var(--accent); font-size: .7rem; }
.column-empty { display: grid; place-items: center; gap: 5px; min-height: 156px; margin: 12px 0; padding: 18px 10px; border: 1px dashed var(--border); border-radius: 10px; color: var(--text-muted); text-align: center; }
.column-empty[hidden] { display: none; }
.column-empty strong { color: var(--text); font-size: .76rem; }
.column-empty p { max-width: 190px; margin: 0; color: var(--text-subtle); font-size: .7rem; line-height: 1.4; }
.column-empty .text-action { margin-top: 4px; font-size: .72rem; }
@media (max-width: 700px) { .task-move-control select { max-width: 156px; } }
@media (max-width: 700px) { .column-add-task { width: 40px; height: 40px; } .task-move-control { min-height: 48px; } .task-card-actions { align-items: stretch; } .task-quick-complete, .task-recovery-action, .task-reopen-action { min-height: 34px; margin: 7px 0 7px 10px; } }
@media (max-width: 460px) { .task-card-actions { flex-wrap: wrap; gap: 0; } .task-quick-complete, .task-recovery-action, .task-reopen-action { flex: 1 1 auto; min-width: 0; } .task-move-control { flex-basis: 100%; min-height: 42px; border-top: 1px solid var(--border); } .task-move-control select { max-width: none; flex: 1; } }

/* Personal profile: compact, private, and consistent with the workspace shell. */
.profile-page { width: min(100%, 860px); display: grid; gap: 16px; }
.profile-hero, .profile-card { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.profile-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; background: linear-gradient(135deg, rgba(102, 118, 44, .46), var(--surface) 58%); }
.profile-hero h2, .profile-card h2, .profile-card h3 { margin: 5px 0 7px; }
.profile-hero p { max-width: 560px; margin: 0; }
.profile-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: var(--accent); color: #303812; font-size: 1.55rem; font-weight: 850; }
.profile-photo-controls { display: grid; justify-items: center; gap: 8px; max-width: 190px; text-align: center; }
.profile-photo-controls small { color: var(--text-muted); font-size: 11px; }
.profile-photo-controls p { margin: 0; color: #ff9ca9; font-size: 12px; }
.profile-photo-upload { color: var(--accent-strong); font-size: 13px; font-weight: 700; cursor: pointer; }
.profile-photo-upload:focus-within { outline: 2px solid var(--accent); outline-offset: 4px; }
.profile-photo-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.profile-photo-controls button { padding: 0; font-size: 12px; }
:is(.profile-avatar, .avatar-placeholder, .task-assignee-avatar, .task-person-avatar) { overflow: hidden; }
:is(.profile-avatar, .avatar-placeholder, .task-assignee-avatar, .task-person-avatar) img { display: block; width: 100%; height: 100%; object-fit: cover; }
.profile-card { padding: 22px; }
.profile-loading { display: flex; align-items: center; gap: 12px; min-height: 140px; }
.profile-loading p { margin: 0; color: var(--text-muted); }
.profile-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 18px; }
.profile-form > .field:nth-of-type(1), .profile-form > .field:nth-of-type(2), .profile-form > .field-hint, .profile-save-row { grid-column: 1 / -1; }
.profile-form input:disabled { opacity: .72; cursor: not-allowed; }
.profile-save-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 3px; padding-top: 16px; border-top: 1px solid var(--border); }
.profile-save-row p { margin: 0; }
.profile-mention-card { border-color: rgba(219, 238, 151, .3); background: rgba(65, 74, 31, .42); }
.profile-mention-card p { margin: 0; }
@media (max-width: 600px) { .profile-hero { align-items: flex-start; padding: 18px; } .profile-avatar { width: 48px; height: 48px; border-radius: 15px; font-size: 1.15rem; } .profile-card { padding: 17px; } .profile-form { grid-template-columns: 1fr; } .profile-save-row { align-items: stretch; flex-direction: column; } .profile-save-row button { width: 100%; } }

/* Overview: a quiet daily workspace, with work taking the widest column. */
.overview-page { min-width: 0; padding: 6px 0 24px; }
.overview-page h2, .overview-page h3, .overview-page p { margin: 0; }
.overview-welcome { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 0 28px; }
.overview-kicker { color: var(--text-muted); font-size: 10px; letter-spacing: .14em; font-weight: 650; }
.overview-welcome .overview-kicker { display: flex; align-items: center; gap: 8px; }
.overview-kicker > span { width: 6px; height: 6px; border-radius: 50%; background: var(--success); }
.overview-welcome h2 { margin: 10px 0 9px; font-size: clamp(28px, 3vw, 40px); font-weight: 550; letter-spacing: -.035em; line-height: 1.15; }
.overview-welcome h2 > span { color: var(--accent); }
.overview-welcome > div > p:last-child { color: var(--text-muted); font-size: 13px; }
.overview-date { display: grid; gap: 5px; text-align: right; flex-shrink: 0; }
.overview-office-clocks { display: flex; gap: 20px; justify-content: flex-end; }
.overview-office-clock { display: grid; gap: 4px; }
.overview-office-clock > span { color: var(--text-muted); font-size: 11px; max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.office-time-zones-form { max-height: min(90vh, 850px); overflow-y: auto; }
.office-time-zone-row { border: 1px solid var(--border); border-radius: 9px; padding: 12px; margin: 12px 0; }
.office-time-zone-row legend { color: var(--text-muted); font-size: 12px; padding: 0 5px; }
.office-time-zone-actions { justify-content: flex-end; }
.overview-date strong { font-size: 23px; font-weight: 450; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.overview-date > span { font-size: 11px; color: var(--text-muted); }
.overview-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 16px 0; margin-bottom: 26px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.overview-summary > button, .overview-summary > div { display: flex; align-items: center; gap: 12px; padding: 5px 18px; border: 0; border-right: 1px solid var(--border); border-radius: 0; background: transparent; color: var(--text); text-align: left; }
.overview-summary > :first-child { padding-left: 0; }
.overview-summary > :last-child { border-right: 0; padding-right: 0; }
.overview-summary > button:hover { background: var(--surface); }
.overview-summary > :is(button, div) > span:nth-child(2) { display: grid; gap: 3px; }
.overview-summary strong { font-size: 23px; font-weight: 550; letter-spacing: -.045em; }
.overview-summary #overview-my-work strong { font-size: 15px; letter-spacing: -.02em; }
.overview-summary small { color: var(--text-muted); font-size: 11px; font-weight: 400; }
.overview-summary-icon { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 11px; color: #e1eeb2; background: #363b24; font-size: 20px; font-weight: 400; }
.overview-summary-icon.warm { color: #dfb286; background: #33291f; }
.overview-summary-icon.green { color: #88c4a2; background: #1d302b; }
.overview-arrow { display: grid; place-items: center; width: 25px; height: 25px; margin-left: auto; border: 1px solid transparent; border-radius: 50%; color: var(--text-subtle); font-size: 15px; line-height: 1; transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease; }
.overview-summary > button:hover .overview-arrow, .dashboard-task:hover .overview-arrow { color: #f0f8d2; border-color: #656d47; background: #353a23; transform: translateX(2px); }
.overview-columns { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
.overview-primary, .overview-secondary { display: grid; gap: 20px; min-width: 0; }
.overview-panel { padding: 0; background: #131922; border: 1px solid var(--border); border-radius: 14px; min-width: 0; overflow: hidden; }
.cached-workspace { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; background: #0d1219; color: #f0f2f9; }.cached-sidebar { display: flex; flex-direction: column; gap: 13px; padding: 28px 18px; background: #101b29; border-right: 1px solid #26344a; }.cached-sidebar > strong { margin: 0 8px 28px; font-size: 22px; }.cached-sidebar > span { margin: 8px 8px 0; color: #8797ad; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }.cached-current, .cached-project { padding: 11px 12px; border-radius: 9px; color: #bcc7d9; font-size: 13px; }.cached-current { background: #33381f; color: #e9f5c0; }.cached-project { padding-top: 4px; padding-bottom: 4px; }.cached-sidebar > small { margin-left: 12px; color: #78889d; }.cached-main { width: 100%; max-width: 1550px; padding: 30px clamp(24px, 4vw, 64px); }.cached-sync { padding: 10px 15px; border: 1px solid #465036; border-radius: 9px; background: #1b261e; color: #c6dca0; font-size: 12px; }.cached-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 40px 0 30px; }.cached-header h1 { margin: 10px 0; font-size: clamp(32px, 4vw, 50px); letter-spacing: -2px; }.cached-header h1 span { color: #def0a0; }.cached-header p, .cached-footnote { color: #93a2b7; }.cached-live { padding: 8px 12px; border: 1px solid #344257; border-radius: 99px; color: #a6b4c7; font-size: 11px; white-space: nowrap; }.cached-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 18px; }.cached-card { padding: 24px; border: 1px solid #29364a; border-radius: 15px; background: #141d29; }.cached-card-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding-bottom: 16px; }.cached-card-heading small { color: #d2e491; font-size: 10px; letter-spacing: 1px; }.cached-card h2 { margin: 8px 0; font-size: 19px; }.cached-card-heading > span { color: #8292a8; font-size: 10px; }.cached-task { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-top: 1px solid #29364a; }.cached-task > span { color: #e2f1aa; font-size: 20px; }.cached-task div { display: grid; gap: 5px; }.cached-task strong { font-size: 14px; }.cached-task small, .cached-empty, .cached-focus p { color: #98a8bc; font-size: 12px; }.cached-focus { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 250px; text-align: center; }.cached-focus > span { color: #e1f1a6; font-size: 42px; }.cached-timer { margin: 20px 0; color: #8998af; font-size: 27px; letter-spacing: 3px; }.cached-footnote { font-size: 12px; }.cached-sync button { margin-left: 10px; border: 0; background: none; color: inherit; text-decoration: underline; cursor: pointer; }@media (max-width: 760px) { .cached-workspace { grid-template-columns: 1fr; }.cached-sidebar { display: none; }.cached-main { padding: 22px; }.cached-header { align-items: flex-start; flex-direction: column; }.cached-grid { grid-template-columns: 1fr; } }
.startup-skeleton-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0; }.startup-skeleton-summary > div { padding: 20px; background: #141d29; border: 1px solid #283447; border-radius: 14px; }.startup-skeleton-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 18px; }.startup-skeleton-panel { padding: 24px; }.startup-skeleton-heading { padding-bottom: 18px; }.startup-skeleton-line { display: block; width: 82%; height: 10px; margin: 10px 0; border-radius: 8px; background: linear-gradient(100deg, #253144 30%, #344259 50%, #253144 70%); background-size: 200% 100%; animation: startup-shimmer 1.8s ease-in-out infinite; }.startup-skeleton-line.short { width: 35%; }.startup-skeleton-line.medium { width: 60%; height: 13px; }.startup-skeleton-row { display: flex; gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid #283447; }.startup-skeleton-row > div { flex: 1; }.startup-skeleton-dot { width: 16px; height: 16px; border: 1px solid #59677d; border-radius: 50%; }.startup-skeleton-focus { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; }.startup-skeleton-focus .startup-skeleton-line { max-width: 160px; }.startup-skeleton-orbit { color: #e1f1a6; font-size: 38px; }.startup-skeleton-clock { margin: 16px 0; color: #9aa9bc; font-size: 30px; font-weight: 700; letter-spacing: 2px; }.startup-skeleton-focus .startup-skeleton-line:last-child { height: 36px; border-radius: 24px; }@keyframes startup-shimmer { to { background-position: -200% 0; } }@media (prefers-reduced-motion: reduce) { .startup-skeleton-line { animation: none; } }@media (max-width: 760px) { .startup-skeleton-summary { grid-template-columns: repeat(2, 1fr); }.startup-skeleton-grid { grid-template-columns: 1fr; }.startup-skeleton-focus { min-height: 220px; } }
.overview-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 22px 18px; }
.overview-panel-heading h3 { display: flex; align-items: center; gap: 9px; font-size: 16px; letter-spacing: -.025em; font-weight: 600; }
.overview-panel-heading h3 > span { display: inline-grid; place-items: center; min-width: 23px; height: 22px; padding: 0 5px; border-radius: 6px; font-size: 11px; background: var(--surface-raised); color: var(--text-muted); }
.overview-panel-heading p:not(.overview-kicker) { font-size: 11px; color: var(--text-muted); margin-top: 6px; line-height: 1.6; }
.overview-panel-heading .overview-kicker { margin-bottom: 9px; font-size: 9px; }
.overview-add { min-height: 34px; white-space: nowrap; padding: 7px 11px; border: 1px solid #454057; border-radius: 7px; background: #333823; color: #edf6ca; font-size: 11px; }
.overview-add:hover { background: #454b30; }
.overview-queue-tools { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 22px 15px; border-bottom: 1px solid var(--border); }
.overview-queue-tools > span { font-size: 10px; color: var(--text-subtle); }
.overview-filters { display: flex; gap: 4px; }
.overview-filters button { min-height: 30px; padding: 5px 10px; color: var(--text-muted); background: transparent; font-size: 11px; font-weight: 500; }
.overview-filters button[aria-pressed="true"] { color: #ecf3d5; background: #373c26; }
.overview-filters button:hover { color: var(--text); background: var(--surface-raised); }
.overview-task-list .overview-task { display: flex; width: 100%; align-items: center; gap: 13px; min-height: 62px; padding: 12px 22px; margin: 0; border: 0; border-bottom: 1px solid #222b37; border-radius: 0; background: transparent; color: var(--text); text-align: left; box-shadow: none; }
.overview-task-list .overview-task:last-child { border-bottom: 0; }
.overview-task-list .overview-task:hover { background: #1a212d; transform: none; }
.overview-task-marker { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #b4bf8a; }
.overview-task-marker.late { background: #dfaa81; }
.overview-task-copy { display: grid; gap: 4px; min-width: 0; flex: 1; }
.overview-task-copy strong { font-size: 12px; font-weight: 500; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.overview-task-copy small, .overview-task-meta small { color: var(--text-muted); font-size: 10px; font-weight: 400; }
.overview-task-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-task-meta { display: grid; gap: 5px; text-align: right; flex-shrink: 0; }
.overview-priority { font-size: 9px; text-transform: capitalize; font-weight: 500; color: var(--text-muted); }
.overview-task-meta .overview-late { color: #e0ad89; }
.overview-queue-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 22px; background: #111720; border-top: 1px solid var(--border); }
.overview-queue-footer > span { font-size: 10px; line-height: 1.6; color: var(--text-subtle); }
.overview-page .text-action { min-height: 30px; width: auto; padding: 4px 0; background: transparent; color: #dbeaa4; font-size: 11px; white-space: nowrap; font-weight: 500; }
.overview-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; padding: 0 22px 22px; }
.overview-week button { display: grid; gap: 9px; justify-items: center; padding: 12px 3px; min-width: 0; background: #181f2a; border: 1px solid transparent; color: var(--text); border-radius: 9px; font-weight: 450; }
.overview-week button small { color: var(--text-muted); font-size: 10px; }
.overview-week button strong { font-size: 20px; font-weight: 500; }
.overview-week button > span { color: var(--text-subtle); font-size: 9px; }
.overview-week button.is-today { background: #383d24; border-color: #5d673b; }
.overview-week button.is-today small, .overview-week button.is-today > span { color: #dce7b6; }
.overview-week button[aria-pressed="true"], .overview-week button:hover { border-color: var(--accent); }
.overview-calendar-icon { font-size: 24px; color: var(--text-muted); }
.overview-count { color: var(--text-subtle); font-size: 10px; }
.overview-projects { padding: 0 22px 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.overview-project { display: flex; align-items: center; width: 100%; gap: 10px; padding: 12px 0; border: 0; background: transparent; color: var(--text); text-align: left; }
.overview-project:hover { background: var(--surface-raised); }
.overview-project-initial { display: grid; place-items: center; flex: 0 0 30px; height: 32px; background: #26283b; color: #d5deb5; border-radius: 8px; font-size: 12px; }
.overview-project-copy { display: grid; gap: 5px; min-width: 0; flex: 1; }
.overview-project-copy strong { font-size: 11px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-project-copy small { font-size: 9px; color: var(--text-muted); font-weight: 400; }
.overview-project > span:last-child { font-size: 10px; color: var(--text-muted); }
.overview-progress { display: block; background: #28303c; height: 3px; border-radius: 2px; margin-top: 3px; overflow: hidden; }
.overview-progress > span { display: block; height: 100%; background: #c5d297; }
.overview-focus-panel { position: relative; overflow: hidden; padding: 26px; background: radial-gradient(ellipse at 90% 0, #4f5731 0, transparent 60%), #2c301d; border: 1px solid #525939; border-radius: 14px; }
.overview-focus-orbit { position: absolute; right: 15px; top: 9px; color: #cad6a0; font-size: 65px; font-weight: 200; opacity: .28; line-height: 1; }
.overview-focus-panel .overview-kicker { color: #c6cfa5; font-size: 9px; }
.overview-focus-panel h3 { position: relative; max-width: 190px; font-size: 25px; line-height: 1.25; font-weight: 450; letter-spacing: -.04em; margin: 18px 0 10px; }
.overview-focus-description { color: #c5cbb0; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.overview-timer { font-size: clamp(30px, 3vw, 40px); letter-spacing: -.04em; font-weight: 400; font-variant-numeric: tabular-nums; margin-top: 26px; }
.overview-focus-panel .overview-timer-label { font-size: 10px; color: #c0c6a8; margin: 5px 0 17px; }
.overview-timer-button { width: 100%; background: #ebf5c6; color: #383f20; font-size: 12px; min-height: 40px; border-radius: 7px; }
.overview-timer-button:hover { background: #f3fadd; }
.overview-pomodoro { margin-top: 23px; padding-top: 20px; border-top: 1px solid #51573b; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.overview-pomodoro > div { display: grid; gap: 5px; }
.overview-pomodoro > div strong { font-size: 12px; font-weight: 500; }
.overview-pomodoro > div > span, .overview-pomodoro small { font-size: 10px; color: #c0c6a8; }
.overview-pomodoro .focus-countdown { font-size: 23px; font-weight: 450; color: #f0f8d4; margin: 0; }
.overview-focus-button { margin-top: 15px; width: 100%; background: transparent; border: 1px solid #606845; color: #e6edcb; font-size: 11px; font-weight: 500; }
.overview-focus-button:hover { background: #3a3f27; }
.overview-focus-note { display: block; margin-top: 12px; font-size: 9px; line-height: 1.6; color: #c0c6a8; }
.overview-update { display: flex; width: 100%; gap: 10px; padding: 14px 22px; background: transparent; color: var(--text); border: 0; border-radius: 0; text-align: left; }
.overview-update:hover { background: var(--surface-raised); }
.overview-update > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 6px; }
.overview-update strong { font-size: 11px; font-weight: 450; line-height: 1.5; overflow-wrap: anywhere; }
.overview-update small { color: var(--text-muted); font-size: 9px; font-weight: 400; }
.overview-update-dot { flex: 0 0 5px; height: 5px; border-radius: 50%; background: var(--accent); margin-top: 6px; }
.overview-update > span:last-child { color: var(--text-subtle); }
.overview-personal-panel { overflow: visible; }
.overview-personal-panel .overview-panel-heading { padding-bottom: 13px; }
.overview-personal-todo-form { display: flex; gap: 7px; padding: 0 22px 16px; border-bottom: 1px solid var(--border); }
.overview-personal-todo-form input { min-width: 0; flex: 1; min-height: 35px; padding: 7px 10px; border-radius: 7px; background: #111822; font-size: 11px; }
.overview-personal-todo-form button { display: grid; place-items: center; flex: 0 0 35px; min-height: 35px; padding: 0; border-radius: 7px; background: #393e27; color: #e6f3b7; font-size: 18px; font-weight: 400; }
.overview-personal-todo-form button:hover { background: #4b5230; color: #f8fcec; }
.overview-personal-todos { display: grid; }
.overview-personal-todo { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 10px 14px 10px 22px; border-bottom: 1px solid #222b37; }
.overview-personal-todo:last-child { border-bottom: 0; }
.overview-personal-todo label { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; color: #d3dceb; font-size: 11px; cursor: pointer; }
.overview-personal-todo input { width: 15px; height: 15px; margin: 0; accent-color: #d5e891; }
.overview-personal-todo label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-personal-todo.is-complete label span { color: var(--text-subtle); text-decoration: line-through; }
.overview-personal-todo-remove { width: 27px; min-height: 27px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--text-subtle); font-size: 17px; box-shadow: none; }
.overview-personal-todo-remove:hover { background: #2a202a; color: #e9a5af; transform: none; }
.overview-personal-empty { display: flex; align-items: center; gap: 9px; padding: 17px 22px 20px; color: var(--text-muted); font-size: 11px; }
.overview-personal-empty span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: #dff0a1; background: #363b23; }
.overview-personal-empty p { margin: 0; }
.overview-quick-add { display: flex; align-items: center; gap: 9px; margin: 0 22px 16px; padding: 6px 7px 6px 11px; border: 1px solid #3b4051; border-radius: 9px; background: #171d27; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.overview-quick-add:focus-within { border-color: #a9b874; background: #1a202b; box-shadow: 0 0 0 3px rgba(219, 238, 151, .11); }
.overview-quick-add-icon { color: #e0f0a4; font-size: 17px; line-height: 1; }
.overview-quick-add input { flex: 1; min-width: 0; width: auto; border: 0; background: transparent; padding: 7px 0; font-size: 12px; box-shadow: none; }
.overview-quick-add input:focus { outline: 0; }
.overview-quick-add-privacy { color: var(--text-subtle); font-size: 10px; white-space: nowrap; }
.overview-quick-add-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.overview-quick-add button { flex-shrink: 0; min-height: 32px; padding: 6px 11px; font-size: 11px; border-radius: 6px; }
.todo-due-date-field { display: flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 8px; border: 1px solid #354054; border-radius: 6px; color: var(--text-muted); background: #141b26; font-size: 10px; }
.todo-due-date-field > span { color: var(--text-subtle); }
.todo-due-date-field input, .overview-page .todo-due-date { width: 116px; min-height: 28px; padding: 2px 0; border: 0; border-radius: 0; color: var(--text-muted); background: transparent; font-size: 10px; box-shadow: none; color-scheme: dark; }
.todo-due-date-field input:focus, .overview-page .todo-due-date:focus { outline: 0; }
.personal-badge { display: inline-block; color: #dde8b5; background: #373c26; border-radius: 4px; padding: 2px 5px; font-size: 9px; line-height: 1.35; white-space: nowrap; }
.overview-task-list { max-height: 520px; overflow-y: auto; scrollbar-width: thin; }
.personal-queue-label { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; cursor: pointer; }
.personal-queue-label input { flex: 0 0 17px; width: 17px; height: 17px; padding: 0; margin: 0; accent-color: var(--accent); }
.personal-queue-row .overview-task-copy small { display: flex; align-items: center; gap: 6px; }
.personal-queue-row.is-complete strong { text-decoration: line-through; color: var(--text-muted); }
.personal-task-actions { display: flex; align-items: center; gap: 3px; flex-shrink: 0; }
.overview-page .todo-due-date { width: 102px; padding: 5px 6px; border: 1px solid transparent; border-radius: 6px; }
.personal-queue-row:hover .todo-due-date, .personal-queue-row:focus-within .todo-due-date { border-color: #384255; background: #151c27; }
.overview-page .todo-priority { width: 104px; flex: 0 0 104px; min-height: 32px; padding: 5px 7px; font-size: 10px; border-radius: 8px; background: var(--surface); color: var(--text-muted); }
.overview-page .todo-priority-compact { width: 92px; flex-basis: 92px; border-color: transparent; background: transparent; }
.overview-page .app-select.todo-priority { display: inline-grid; width: 104px; flex: 0 0 104px; }
.overview-page .app-select.todo-priority-compact { width: 92px; flex-basis: 92px; }
.overview-page .app-select.todo-priority .app-select-trigger { min-height: 32px; padding: 5px 8px 5px 10px; border-radius: 8px; background: transparent; color: var(--text-muted); font-size: 11px; font-weight: 500; }
.overview-page .app-select.todo-priority .app-select-caret { margin-right: 1px; color: currentColor; }
.personal-queue-row:hover .todo-priority-compact, .personal-queue-row:focus-within .todo-priority-compact, .personal-queue-row:hover .app-select.todo-priority-compact .app-select-trigger, .personal-queue-row:focus-within .app-select.todo-priority-compact .app-select-trigger { border-color: #384255; background: #151c27; }
.todo-priority[data-priority="HIGH"], .app-select.todo-priority[data-priority="HIGH"] .app-select-trigger { color: #e5bd7b; }
.todo-priority[data-priority="URGENT"], .app-select.todo-priority[data-priority="URGENT"] .app-select-trigger { color: #ff9daa; }
.overview-quick-add { flex-wrap: nowrap; }
.personal-queue-row .overview-personal-todo-remove { display: grid; place-items: center; min-width: 28px; min-height: 28px; padding: 0; color: var(--text-subtle); opacity: .48; }
.personal-queue-row:hover .overview-personal-todo-remove, .personal-queue-row:focus-within .overview-personal-todo-remove { opacity: 1; }
.overview-queue-tools { flex-wrap: wrap; }
.overview-filters { flex-wrap: wrap; }
@media (max-width: 600px) {
  .overview-quick-add { margin-inline: 16px; gap: 7px; flex-wrap: wrap; padding: 7px 8px 7px 10px; }
  .overview-quick-add input { flex-basis: calc(100% - 32px); }
  .overview-quick-add-privacy { margin-left: 25px; }
  .overview-quick-add-actions { margin-left: auto; }
  .todo-due-date-field { margin-left: 25px; }
  .todo-due-date-field input { width: 108px; }
  .overview-quick-add button { min-height: 34px; }
  .overview-task-list .overview-task { min-height: 58px; padding: 11px 16px; }
  .overview-page .todo-priority-compact, .overview-page .app-select.todo-priority-compact { width: 88px; flex-basis: 88px; }
  .overview-page .todo-due-date { width: 94px; }
}
.overview-empty, .overview-inbox-empty { text-align: center; padding: 35px 22px; display: grid; justify-items: center; gap: 10px; }
.overview-empty > span, .overview-inbox-empty > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #8aba9b; background: #22322c; }
.overview-empty strong, .overview-inbox-empty strong { font-size: 13px; font-weight: 500; }
.overview-empty p, .overview-inbox-empty p, .overview-empty-copy { color: var(--text-muted); font-size: 11px; line-height: 1.7; }
.overview-page .dashboard-personal-tools { padding: 0; grid-column: auto; }
.overview-page .dashboard-personal-tools summary { display: flex; justify-content: space-between; padding: 18px 22px; font-size: 11px; color: var(--text-muted); cursor: pointer; }
.overview-web-search { display: grid; gap: 8px; padding: 0 22px 15px; }
.overview-web-search label { font-size: 10px; color: var(--text-muted); }
.overview-web-search > div { display: flex; gap: 6px; }
.overview-web-search input { width: 100%; min-width: 0; font-size: 12px; }
.overview-web-search button { background: #393e27; color: var(--accent); }
.overview-page #weather-card { padding: 0 22px 18px; font-size: 11px; color: var(--text-muted); }
.overview-warning { padding: 12px 16px; margin-bottom: 20px !important; border: 1px solid #745938; border-radius: 8px; font-size: 12px; color: #dfb286; }
.overview-selected-date { padding: 8px 22px; font-size: 11px; color: var(--text-muted); }
@media (max-width: 1200px) {
  .overview-columns { grid-template-columns: minmax(0, 1fr) 265px; gap: 16px; }
  .overview-queue-tools > span { display: none; }
  .overview-summary > button, .overview-summary > div { padding-inline: 10px; gap: 8px; }
  .overview-summary .overview-arrow { display: none; }
  .overview-projects { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .overview-columns { grid-template-columns: 1fr; }
  .overview-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .overview-focus-panel { grid-row: span 2; }
  .overview-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
  .overview-summary > :nth-child(2) { border-right: 0; }
  .overview-summary > :nth-child(3) { padding-left: 0; }
}
@media (max-width: 600px) {
  .overview-welcome { align-items: flex-start; padding-top: 10px; gap: 10px; }
  .overview-office-clocks { gap: 10px; }
  .overview-office-clock > span { max-width: 80px; }
  .overview-welcome h2 { font-size: 30px; }
  .overview-welcome > div > p:last-child { max-width: 225px; font-size: 11px; line-height: 1.6; }
  .overview-date strong { font-size: 15px; }
  .overview-date > span { max-width: 90px; font-size: 9px; line-height: 1.6; }
  .overview-kicker { font-size: 8px; }
  .overview-secondary { grid-template-columns: 1fr; }
  .overview-focus-panel { grid-row: auto; }
  .overview-panel-heading, .overview-task-list .overview-task { padding: 16px; }
  .overview-personal-todo-form { padding-inline: 16px; }
  .overview-personal-todo { padding-left: 16px; }
  .overview-panel-heading h3 { font-size: 15px; }
  .overview-panel-heading .overview-kicker { font-size: 8px; }
  .overview-queue-tools { padding: 0 16px 12px; }
  .overview-queue-footer { padding: 10px 16px; align-items: flex-start; }
  .overview-queue-footer > span { max-width: 155px; }
  .overview-week { gap: 4px; padding: 0 12px 16px; }
  .overview-week button { min-height: 90px; }
  .overview-week button strong { font-size: 18px; }
  .overview-summary strong { font-size: 22px; }
  .overview-summary-icon { width: 30px; height: 32px; }
  .overview-summary small { font-size: 10px; }
  .overview-task .overview-arrow { display: none; }
  .overview-task-meta { max-width: 55px; }
  .overview-task-copy small { max-width: 180px; }
  .overview-filters button, .overview-add, .overview-page .text-action { min-height: 40px; }
}

/* Project workspace: calm hierarchy from project context to individual work. */
.project-main .project-breadcrumb { display: flex; gap: 10px; align-items: center; color: var(--text-subtle); font-size: 11px; margin: 0 0 20px; }
.project-main .project-breadcrumb span:last-child { color: var(--text-muted); }
.project-main .project-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0; margin: 0 0 20px; }
.project-identity { display: flex; align-items: center; gap: 15px; min-width: 0; }
.project-emblem { display: grid; flex: 0 0 48px; place-items: center; width: 48px; height: 48px; border: 1px solid #5b6340; border-radius: 14px; background: linear-gradient(135deg, #49502e, #303422); color: #ebf5c7; font-size: 22px; font-weight: 500; }
.project-main .project-hero h2 { margin: 0; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; font-weight: 550; letter-spacing: -.045em; overflow-wrap: anywhere; }
.project-main .project-hero p { max-width: 620px; margin: 7px 0 0; font-size: 12px; line-height: 1.65; color: #91a0b7; }
.project-hero > .row { flex-shrink: 0; gap: 8px; }
.project-main .workspace-heading.project-hero > .project-identity { flex: 1 1 auto; min-width: 0; }
.project-hero #new-task { min-height: 36px; padding: 8px 14px; font-size: 12px; background: #e1eeb0; border-radius: 8px; }
.project-hero #open-project-settings { border-color: var(--border); background: #171f2a; color: #a8b5c8; font-size: 12px; border-radius: 8px; }
.project-health { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; align-items: center; margin: 0 0 25px; font-size: 11px; color: #8f9db2; }
.project-health-progress, .project-collaborators { display: flex; align-items: center; gap: 10px; }
.project-health-progress strong { color: #dae4b5; font-weight: 500; }
.project-health-track { width: 90px; height: 4px; border-radius: 4px; background: #2a3140; overflow: hidden; }
.project-health-track > span { display: block; height: 100%; background: #c7d596; border-radius: inherit; }
.project-faces { display: flex; padding-left: 5px; }
.project-faces > span { display: grid; place-items: center; width: 26px; height: 26px; margin-left: -5px; border: 2px solid var(--bg); border-radius: 50%; background: #333348; color: #dfe6c4; font-size: 9px; }
.project-faces > .project-face-overflow { background: #252c39; color: #aebbd0; font-size: 8px; }
.project-main .project-tab-nav { gap: 22px; margin: 0 0 22px; padding: 0; border-bottom: 1px solid #283242; }
.project-main .project-tab-nav button { padding: 0 2px 13px; min-height: 36px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; font-size: 12px; font-weight: 500; color: #90a0b7; }
.project-main .project-tab-nav button.active { border-bottom-color: #d9e8a1; background: transparent; color: #eef5d4; }
.project-main .project-tab-nav button:hover { background: transparent; color: var(--text); }
.project-main .project-tab-nav button span { margin-left: 4px; color: var(--text-subtle); font-size: 10px; font-variant-numeric: tabular-nums; }
.project-main .project-tab-nav button.active span { color: #dae4b5; }
.project-main .project-view-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 0; margin-bottom: 18px; background: transparent; border: 0; border-radius: 0; }
.project-main .project-view-switcher { display: flex; padding: 3px; gap: 3px; border: 1px solid #2a3443; border-radius: 9px; background: #141b25; }
.project-main .project-view-switcher button { min-height: 29px; padding: 5px 12px; border: 0; border-radius: 6px; background: transparent; color: #91a0b5; font-size: 11px; font-weight: 500; }
.project-main .project-view-switcher button.active { color: #ebf0d8; background: #393e29; }
.project-main .project-filter-form { display: flex; justify-content: flex-end; flex: 1; flex-wrap: wrap; gap: 9px; }
.project-main .project-search { width: 180px; min-width: 130px; flex: 0 1 180px; }
.project-main .project-search input { min-height: 34px; padding: 7px 11px; background: #131b25; font-size: 11px; border-color: #293442; border-radius: 7px; }
.project-main .project-filter-presets { gap: 2px; }
.project-main .project-filter-presets button { min-height: 30px; padding: 5px 8px; border-color: transparent; background: transparent; font-size: 10px; color: #93a2b7; font-weight: 450; }
.project-main .project-filter-presets button.active { background: #242336; color: #e0e9bf; }
.project-main .project-filter-menu summary { min-height: 34px; border-radius: 7px; font-size: 11px; background: #18212d; border-color: #2d3849; }
.project-main .project-filter-fields { z-index: 20; padding: 18px; background: #19212d; box-shadow: 0 16px 40px #0006; }
.project-main .project-workflow-summary { display: flex; gap: 16px; margin: 0 0 17px; padding: 0; border: 0; background: transparent; color: #7f90a7; font-size: 10px; }
.project-main .project-workflow-summary strong { color: #bdc9da; font-weight: 500; }
.workspace-fixed .project-main .board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); grid-template-columns: none; gap: 18px; padding-bottom: 16px; align-items: start; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #394356 transparent; }
.workspace-fixed .project-main .board.board-single-column { grid-auto-columns: minmax(270px, 420px); }
.project-main .board .column { padding: 0 10px 10px; min-width: 0; min-height: 400px; max-height: none; overflow: visible; background: #111822; border: 1px solid #222e3e; border-radius: 12px; box-shadow: none; }
.project-main .column h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; padding: 14px 3px 12px; min-height: 50px; color: #c9d2e1; font-size: 12px; font-weight: 550; letter-spacing: -.01em; }
.project-main .column .count { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 5px; background: #202b3b; color: #9cabc0; font-size: 10px; }
.column-status-dot { flex: 0 0 7px; width: 7px; height: 7px; border: 2px solid #8293af; border-radius: 50%; }
.column:nth-child(2) .column-status-dot { background: #d6e5a0; border-color: #d6e5a0; }
.column:nth-child(3) .column-status-dot { background: #d5ac79; border-color: #d5ac79; }
.column.column-done .column-status-dot { background: #83bfa4; border-color: #83bfa4; }
.project-main .column.column-done { background: #111c21; border-color: #253b39; }
.project-main .column-add-task { width: 25px; height: 25px; min-height: 25px; border-radius: 6px; }
.project-main .column-inline-add { margin-top: 9px; }
.project-main .column-inline-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 5px; align-items: center; padding: 4px 5px; border: 1px solid transparent; border-radius: 8px; background: #1a2430; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.project-main .column-inline-add:focus-within .column-inline-composer, .project-main .column-inline-add.is-ready .column-inline-composer { border-color: #87925e; background: #18212d; box-shadow: 0 0 0 2px #d8ec8d24; }
.project-main .column-inline-composer input { min-width: 0; min-height: 32px; padding: 5px 8px; border: 0; border-radius: 5px; background: transparent; color: #e6ebf4; font-size: 11px; box-shadow: none; }
.project-main .column-inline-composer input:focus { outline: 0; box-shadow: none; }
.project-main .column-inline-composer button { display: grid; place-items: center; width: 30px; min-width: 30px; min-height: 30px; padding: 0; border: 0; border-radius: 5px; font-size: 14px; line-height: 1; }
.project-main .column-inline-composer button[hidden] { display: none !important; }
.project-main .column-inline-confirm { background: #d8ed8d; color: #293012; }
.project-main .column-inline-confirm:hover { background: #e4f2b0; }
.project-main .column-inline-cancel { background: transparent; color: #8f9db1; }
.project-main .column-inline-cancel:hover { background: #293546; color: #d9e0eb; }
.project-main .column-inline-error { margin: 5px 3px 0; color: #e49aaa; font-size: 9px; line-height: 1.35; }
.project-main .column-inline-filter-context { display: block; margin: 5px 3px 0; color: #b2bd88; font-size: 9px; }
.project-main .task-card-simple { margin: 0 0 11px; border: 1px solid #303b4c; border-radius: 10px; background: #1a2330; box-shadow: 0 2px 3px #0002; }
.project-main .task-card-simple:hover, .project-main .task-card-simple:focus-within { border-color: #848d62; background: #1e2836; box-shadow: 0 4px 14px #0003; }
.project-main .task-card-simple.is-overdue { border-left: 2px solid #bf956c; }
.project-main .task-card-simple.is-blocked { border-left: 2px solid #bd8091; }
.project-main .task-card-simple.is-dragging { opacity: .45; }
.project-main .task-card-simple.is-complete:not(.is-dragging) { opacity: 1; border-color: #2c403f; background: #18282b; }
.project-main .task-card-simple.is-complete .task-open strong { color: #9eb6b1; }
.project-main .task-card-simple .task-open { padding: 17px 14px 14px; }
.project-main .task-card-simple .task-open strong { font-size: 13px; font-weight: 500; line-height: 1.55; letter-spacing: -.015em; }
.project-main .task-card-heading { gap: 12px; align-items: flex-start; }
.project-main .task-card-simple .task-labels { gap: 5px; margin-top: 11px; }
.project-main .task-card-simple .task-label { max-width: 132px; padding: 3px 7px; border-color: color-mix(in srgb, var(--task-label-color) 45%, #354154); background: color-mix(in srgb, var(--task-label-color) 14%, #17202c); color: color-mix(in srgb, var(--task-label-color) 72%, white); font-size: 9px; font-weight: 600; }
.project-main .task-card-simple.has-labels .task-meta { margin-top: 11px; }
.project-main .task-card-simple .task-meta { gap: 7px; margin-top: 17px; align-items: center; }
.project-main .task-card-simple .task-meta .due { font-size: 10px; color: #96a6bb; }
.project-main .task-card-simple .task-meta .due-overdue { color: #d2aa82; }
.project-main .task-card-simple :is(.pill, .overdue-pill, .blocked-pill, .task-complete-state) { padding: 3px 6px; font-size: 9px; line-height: 1.4; border: 0; border-radius: 5px; text-transform: capitalize; letter-spacing: 0; font-weight: 450; }
.project-main .task-card-actions { padding: 5px 8px; gap: 6px; border-color: #2b3545; background: #161e28; flex-wrap: wrap; }
.project-main .task-card-actions button { min-height: 26px; padding: 3px 4px; font-size: 9px; color: #a8b9ce; background: transparent; font-weight: 450; }
.project-main .task-card-actions button:hover { color: #eef6d3; background: #3b402b; }
.project-main .task-move-control { flex: 1; min-width: 100px; display: flex; align-items: center; justify-content: flex-end; gap: 5px; font-size: 9px; }
.project-main .task-move-control select { width: auto; max-width: 115px; min-height: 27px; padding: 3px 6px; font-size: 9px; border: 0; background: #202a38; }
.project-main .task-assignee-avatar { width: 24px; height: 24px; border: 2px solid #1a2330; background: #4d5239; color: #e5edc6; font-size: 9px; }
.project-main .column-empty { min-height: 160px; margin: 0; border-color: #2b3543; background: transparent; }
.project-main .column-empty strong { color: #9dadc3; font-weight: 450; }
.project-main .project-list-view { border: 1px solid #293444; border-radius: 12px; overflow: hidden; background: #141c26; }
.project-main .project-list-summary { padding: 15px 18px; font-size: 11px; border-bottom: 1px solid #293444; }
.project-main .project-list-table th { padding: 12px 14px; background: #18212c; font-size: 11px; }
.project-main .project-list-table td { padding: 14px; border-color: #263240; }
.project-main .project-list-open strong { font-size: 13px; font-weight: 500; }
.project-main .project-list-context small { max-width: 340px; color: #8192aa; font-size: 11px; }
.project-main .project-list-context small:empty { display: none; }
.project-main .project-list-edit { border-color: transparent; background: transparent; font-size: 11px; }
.project-main .project-list-edit:hover, .project-main .project-list-edit:focus { border-color: #47566e; background: #1d2735; }
.project-main .project-timeline-view { border: 1px solid #293444; border-radius: 12px; overflow: hidden; background: #141c26; }
.project-main .project-timeline-heading { padding: 20px; margin: 0; }
.project-main .project-timeline-heading h3 { font-size: 20px; font-weight: 500; }
.project-main .project-timeline-heading .eyebrow { display: none; }
.project-main .project-timeline-day { min-height: 112px; background: #131b25; border-color: #273242; }
.project-main .project-timeline-day.today { background: #303520; box-shadow: inset 0 2px #cedc9b; }
.project-main .project-timeline-day.today .project-timeline-day-head::after { content: none; }
.project-main .project-planning-summary { margin-top: 18px; }
.project-main .project-timeline-event { padding: 5px 7px; border: 0; border-left: 2px solid #c5d392; border-radius: 4px; background: #393e26; color: #dde4c4; font-size: 10px; font-weight: 450; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-main .project-timeline-unscheduled { margin: 0; border: 0; border-top: 1px solid #293444; border-radius: 0; padding: 18px 20px; }
.project-main :is(.project-workload-panel, .project-planning-panel, .project-activity-panel, .project-settings-panel, .project-members-panel, .dependency-map, .board-column-manager) { border: 1px solid #293444; border-radius: 12px; background: #141c26; box-shadow: none; padding: 24px; margin-top: 18px; }
.project-main :is(.project-workload-panel, .project-planning-panel, .project-activity-panel, .project-settings-panel, .project-members-panel) h3 { font-size: 18px; font-weight: 500; letter-spacing: -.03em; }
.project-main .project-planning-grid { gap: 18px; }
.project-main .project-activity-list { margin-top: 22px; }
.project-main .project-activity-row { padding: 15px 8px; border: 0; border-bottom: 1px solid #293444; border-radius: 0; background: transparent; font-size: 12px; }
.project-main .project-activity-day { color: #ccd7a4; font-size: 11px; padding: 14px 0 5px; }
.project-main .project-settings-actions { padding: 16px 0 0; }
.project-main .board-column-settings-row { border-color: #293444; border-radius: 8px; background: #17212c; padding: 14px; }
.workspace-fixed .task-details-backdrop { z-index: 60; padding: 16px; background: #030711a6; backdrop-filter: blur(3px); justify-content: center; }
.workspace-fixed .task-details { position: relative; width: min(760px, 100%); height: 100%; max-height: 100%; top: auto; bottom: auto; padding: 0 32px 24px; overflow-y: auto; overscroll-behavior: contain; background: #151d28; border: 1px solid #3a4659; border-radius: 16px; box-shadow: -20px 0 70px #0006; }
.workspace-fixed .task-details-head { position: sticky; top: 0; z-index: 5; margin: 0 -32px 22px; padding: 17px 24px; border-bottom: 1px solid #2c3748; background: #18212e; }
.workspace-fixed .task-details-head .task-breadcrumb { color: #bdc79a; font-size: 11px; }
.workspace-fixed .task-details-head .detail-status { display: none; }
.workspace-fixed .task-details-head #close-details { border: 1px solid #354156; border-radius: 8px; background: #212c3c; color: #c0cada; }
.workspace-fixed .task-details .task-title-input { width: 100%; padding: 9px 0; font-size: 26px; font-weight: 500; letter-spacing: -.035em; line-height: 1.4; border: 1px solid transparent; background: transparent; border-radius: 6px; }
.workspace-fixed .task-details .task-title-input:focus { padding-left: 8px; border-color: #858e63; background: #1c2633; }
.workspace-fixed .task-details textarea.task-title-input { min-height: 0; resize: none; overflow: hidden; }
.workspace-fixed :is(#new-task-modal, #new-project-modal) { z-index: 65; background: #030711a6; backdrop-filter: blur(3px); }
.workspace-fixed :is(#new-task-modal, #new-project-modal) .new-task-modal { border: 1px solid #3a4659; border-radius: 16px; background: #151d28; box-shadow: 0 24px 80px #0006; }
.workspace-fixed :is(#new-task-modal, #new-project-modal) .modal-heading { padding: 24px; border-bottom: 1px solid #2c3748; background: #18212e; }
.workspace-fixed :is(#new-task-modal, #new-project-modal) .modal-heading h2 { font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
.workspace-fixed :is(#new-task-modal, #new-project-modal) .icon-button { background: #263143; color: #b7c4d7; border-radius: 8px; }
.workspace-fixed :is(#new-task-modal, #new-project-modal) .modal-footer { background: #18212e; border-top: 1px solid #2c3748; }
.workspace-fixed .task-detail-signals { gap: 7px; margin-top: 7px; font-size: 10px; }
.workspace-fixed .task-detail-signals .pill { display: none; }
.workspace-fixed .task-details .task-action-row { margin: 20px 0; }
.workspace-fixed .task-details .task-status-control select { min-height: 34px; padding: 6px 10px; border-color: #5c6343; background: #3a3f27; color: #ebf4cc; font-size: 12px; }
.workspace-fixed .task-details .task-complete-button { min-height: 34px; padding: 6px 12px; border: 1px solid #3d6055; background: #233a34; color: #add6bd; font-size: 12px; }
.workspace-fixed .task-details .task-property-grid { padding: 16px; border: 1px solid #2d394b; border-radius: 10px; background: #111a25; gap: 16px; }
.workspace-fixed .task-property > span, .workspace-fixed .task-property summary > span { color: #8294ae; font-size: 10px; }
.workspace-fixed .task-property select, .workspace-fixed .task-property input { font-size: 12px; background: #1b2533; border-color: #303e51; min-height: 34px; }
.workspace-fixed .task-assignees-property summary strong { font-size: 12px; font-weight: 450; }
.workspace-fixed .task-schedule-summary { border: 0; padding: 14px 0; background: transparent; }
.workspace-fixed .task-time-summary { border-block: 1px solid #2b3748; margin: 6px 0 0; padding: 13px 0; color: #9cafc6; font-size: 12px; }
.workspace-fixed .task-time-summary button { padding: 6px 10px; background: #3a3f28; border: 1px solid #585e40; color: #e1eabf; font-size: 11px; min-height: 32px; }
.workspace-fixed .task-details .form-section { padding: 22px 0; border-color: #2b3748; }
.workspace-fixed .task-details .section-label { font-size: 12px; color: #c1cbdc; letter-spacing: 0; text-transform: none; font-weight: 500; }
.workspace-fixed .task-details textarea { background: #111a25; border: 1px solid #2c3a4e; border-radius: 8px; padding: 14px; font-size: 13px; line-height: 1.7; }
.workspace-fixed .task-advanced { padding: 16px 0; background: transparent; border: 0; border-top: 1px solid #2b3748; }
.workspace-fixed .task-advanced summary { font-size: 12px; color: #a4b2c7; }
.workspace-fixed .task-label-editor { display: block; margin-top: 16px; }
.workspace-fixed .task-label-editor > input { min-height: 38px; }
.workspace-fixed .task-label-editor .project-label-suggestions { margin-top: 10px; }
.workspace-fixed .task-save-bar { padding: 12px 0; background: #151d28; border-color: #2b3748; }
.workspace-fixed .task-save-bar button { min-height: 34px; padding: 7px 14px; background: #dce9af; font-size: 12px; }
.workspace-fixed .task-details .comment { border: 0; border-left: 2px solid #575d40; border-radius: 0; background: transparent; padding: 7px 0 7px 14px; margin: 18px 0; }
.workspace-fixed .task-details .comment > span { font-size: 12px; line-height: 1.7; }
.workspace-fixed .task-details .checklist { padding: 14px; border-color: #303d50; background: #182330; border-radius: 8px; }
.workspace-fixed .task-details .attachment { background: #1b2635; border-color: #303d50; border-radius: 8px; font-size: 12px; }
@media (max-width: 1100px) {
  .project-main .project-filter-form { justify-content: flex-start; }
  .project-main .project-filter-presets { order: 3; width: 100%; }
  .project-main .project-hero { align-items: flex-start; }
  .project-hero > .row { flex-direction: column; align-items: stretch; }
}
@media (max-width: 780px) {
  .project-main .project-hero { flex-direction: column; padding-right: 0; gap: 18px; }
  .project-main .workspace-heading.project-hero > .project-identity, .project-main .workspace-heading.project-hero > .row { flex: 0 0 auto; }
  .project-hero > .row { flex-direction: row; }
  .project-main .project-hero h2 { font-size: 26px; }
  .project-emblem { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }
  .project-health { margin-bottom: 20px; }
  .project-health-track { width: 55px; }
  .project-main .project-view-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .project-main .project-view-switcher { width: fit-content; }
  .project-main .project-filter-form { flex-direction: row; }
  .project-main .project-search { flex: 1; width: auto; }
  .project-main .project-filter-presets { flex-wrap: wrap; }
  .project-main .project-filter-fields { width: min(330px, 80vw); }
  .workspace-fixed .project-main .board { grid-auto-columns: minmax(270px, 84vw); }
  .project-main .project-tab-nav { gap: 18px; }
  .project-main .project-tab-nav button { min-height: 44px; }
  .project-main .task-card-actions button, .project-main .task-move-control select { min-height: 36px; }
  .project-main .project-timeline-calendar { overflow-x: auto; }
  .project-main .project-timeline-grid, .project-main .project-timeline-weekdays { min-width: 650px; }
  .workspace-fixed .task-details-backdrop { padding: 0; }
  .workspace-fixed .task-details { width: 100%; padding: 0 18px 20px; border: 0; border-radius: 0; }
  .workspace-fixed .task-details-head { margin: 0 -18px 18px; padding: 12px 18px; }
  .workspace-fixed .task-details .task-title-input { font-size: 23px; }
  .workspace-fixed .task-details .task-property-grid { padding: 12px; }
  .workspace-fixed .task-save-bar { margin: 0; }
}

/* Fixed workspace frame: only the page content scrolls. */
.workspace-fixed { --navigation-width: 232px; --navigation-height: 72px; overflow: hidden; }
.workspace-fixed body { overflow: hidden; overscroll-behavior: none; }
.workspace-fixed .shell { position: fixed; inset: 0; width: 100%; height: 100dvh; max-width: none; margin: 0; padding: 0; }
.workspace-fixed .shell > .topbar { position: fixed; inset: 0 0 auto; height: var(--navigation-height); min-height: 0; margin: 0; padding: 0 28px; gap: 20px; z-index: 35; border-bottom: 1px solid #26303d; background: #111720; backdrop-filter: none; box-shadow: 0 1px 0 rgba(0, 0, 0, .2); flex-direction: row; }
.workspace-fixed .topbar .brand { gap: 10px; padding: 0; background: transparent; min-width: 145px; }
.workspace-fixed .topbar .brand h1 { font-size: 18px; font-weight: 650; letter-spacing: -.045em; }
.workspace-fixed .topbar .brand small { display: none; }
.workspace-fixed .topbar .brand-mark { width: 32px; height: 32px; border-radius: 10px; background: #e1efad; font-size: 16px; }
.workspace-fixed .topbar-actions { flex-wrap: nowrap; gap: 10px; }
.workspace-fixed .topbar .org-picker { display: block; min-width: 0; width: min(240px, 28vw); }
.workspace-fixed .topbar .org-picker > .eyebrow { display: none; }
.workspace-fixed .topbar .org-picker select { min-height: 36px; font-size: 12px; background: #19212c; border-color: #303b4b; border-radius: 8px; text-overflow: ellipsis; }
.workspace-fixed .topbar .timer { min-height: 34px; padding: 0 12px; border-radius: 20px; border-color: transparent; background: #1a232c; font-size: 11px; font-weight: 500; }
.workspace-fixed .topbar #logout { min-height: 34px; padding: 6px 11px; border-color: transparent; background: transparent; font-size: 11px; color: var(--text-muted); }
.workspace-fixed .topbar #logout:hover { background: #26313f; color: var(--text); }
.workspace-fixed .topbar .notification-topbar-button { min-height: 34px; padding: 6px 11px; font-size: 11px; border-radius: 8px; background: #202838; }
.workspace-fixed .fixed-workspace-layout { position: absolute; inset: var(--navigation-height) 0 0; display: grid; grid-template-columns: var(--navigation-width) minmax(0, 1fr); gap: 0; margin: 0; padding: 0; min-width: 0; overflow: hidden; }
.workspace-fixed .fixed-workspace-layout > .sidebar { position: absolute; inset: 0 auto 0 0; width: var(--navigation-width); height: 100%; max-height: none; min-height: 0; margin: 0; padding: 20px 14px 0; overflow: hidden; scrollbar-gutter: auto; border: 0; border-right: 1px solid #26303d; border-radius: 0; background: #111720; box-shadow: none; display: flex; flex-direction: column; }
.workspace-fixed .fixed-workspace-layout > :is(main, section) { grid-column: 2; min-width: 0; width: 100%; height: 100%; max-height: 100%; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 30px clamp(20px, 3vw, 44px) 44px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: var(--bg); }
.workspace-fixed .sidebar .sidebar-heading { flex: 0 0 60px; padding: 0 10px 18px; }
.workspace-fixed .sidebar-heading .eyebrow { color: #738299; font-size: 9px; letter-spacing: .12em; }
.workspace-fixed .sidebar-heading h2 { font-size: 14px; font-weight: 550; margin-top: 4px; }
.workspace-fixed .sidebar #new-project { width: 28px; height: 28px; min-height: 28px; border: 1px solid #354053; border-radius: 8px; background: #1e2734; color: #cdd8a4; font-size: 18px; }
.workspace-fixed .sidebar #new-project:hover { background: #3b4028; color: #f1f9d7; }
.workspace-fixed .navigation-items { flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #52603e transparent; }
.workspace-fixed .sidebar .project-link { width: 100%; height: 38px; min-height: 38px; margin: 0 0 2px; padding: 0 11px; gap: 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #9eacc0; font-size: 12px; font-weight: 450; }
.workspace-fixed .sidebar .project-link:hover { color: #e4e9f3; background: #1b2431; }
.workspace-fixed .sidebar .project-link.active { color: #eef5d5; border-color: #4e5436; background: linear-gradient(90deg, #393e26, #2c301d); box-shadow: inset 2px 0 #d5e4a0; }
.workspace-fixed .sidebar .project-link > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-fixed .navigation-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex: 0 0 18px; color: #8191aa; }
.workspace-fixed .project-link.active .navigation-icon { color: #e0efac; }
.workspace-fixed .sidebar .project-link[data-project] .navigation-icon { color: #a9b08f; }
.workspace-fixed .sidebar .project-link[hidden] { display: none; }
.workspace-fixed .sidebar .sidebar-footer { position: static; flex: 0 0 42px; display: flex; flex-direction: column; justify-content: center; gap: 5px; min-height: 42px; margin: 10px 0 0; padding: 5px 7px; border-top: 1px solid #26303d; background: transparent; }
.workspace-fixed .navigation-caption { font-size: 9px; color: #8090a6; letter-spacing: .03em; }
@media (max-width: 780px) {
  .workspace-fixed { --navigation-height: 112px; }
  .workspace-fixed .shell > .topbar { padding: 12px 16px; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
  .workspace-fixed .topbar .brand { min-height: 32px; }
  .workspace-fixed .topbar .mobile-navigation-toggle { position: static; display: grid; order: -1; width: 32px; height: 32px; min-height: 32px; padding: 0; color: #b8c4d7; background: #1c2632; border: 1px solid #303a49; border-radius: 8px; }
  .workspace-fixed .topbar .brand { margin-right: auto; }
  .workspace-fixed .topbar-actions { width: 100%; gap: 6px; justify-content: flex-start; }
  .workspace-fixed .topbar .org-picker { flex: 1; width: 0; }
  .workspace-fixed .topbar .org-picker select { font-size: 11px; }
  .workspace-fixed .topbar .timer { min-height: 32px; padding: 0 8px; font-size: 10px; }
  .workspace-fixed .topbar .timer:not(.is-running) { display: none; }
  .workspace-fixed .topbar #logout { padding: 4px 6px; font-size: 10px; }
  .workspace-fixed .topbar .notification-topbar-button { font-size: 10px; padding: 4px 7px; }
  .workspace-fixed .fixed-workspace-layout { display: block; }
  .workspace-fixed .fixed-workspace-layout > :is(main, section) { padding: 20px 16px 32px; }
  .workspace-fixed .layout.fixed-workspace-layout > .sidebar { position: fixed; top: var(--navigation-height); bottom: 0; left: 0; width: min(280px, calc(100vw - 44px)); height: calc(100dvh - var(--navigation-height)); z-index: 40; border-radius: 0; transform: translateX(-105%); transition: transform .18s ease; }
  .workspace-fixed .layout.fixed-workspace-layout > .sidebar.is-mobile-open { transform: translateX(0); }
  .workspace-fixed .mobile-navigation-backdrop { top: var(--navigation-height); z-index: 39; }
}
@media (max-height: 540px) {
  .workspace-fixed .sidebar .sidebar-heading { flex-basis: 42px; padding-bottom: 8px; }
  .workspace-fixed .sidebar .sidebar-footer { flex-basis: 48px; min-height: 48px; margin-top: 4px; }
  .workspace-fixed .navigation-caption { display: none; }
}
@media (prefers-reduced-motion: reduce) { .workspace-fixed .layout.fixed-workspace-layout > .sidebar { transition: none; } }

/* Mobile project boards keep their own horizontal rail and offer touch-sized controls. */
.mobile-board-hint { display: none; }
@media (max-width: 780px) {
  .project-main { min-width: 0; overflow-x: hidden; }
  .project-main .project-view-toolbar { margin-bottom: 12px; }
  .mobile-board-hint { display: block; margin: 0 0 10px; color: var(--text-subtle); font-size: .72rem; line-height: 1.45; }
  .project-main .board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(84vw, 1fr); grid-template-columns: none; width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-padding-inline: 2px; scroll-snap-type: x mandatory; scrollbar-gutter: stable; touch-action: pan-x; }
  .project-main .board.board-single-column { grid-auto-columns: minmax(0, 1fr); }
  .project-main .board .column { min-width: 0; max-height: none; min-height: 260px; scroll-snap-align: start; scroll-snap-stop: always; }
  .project-main .column h3 { min-height: 42px; }
  .project-main .column-add-task { width: 36px; height: 36px; border-color: var(--border); font-size: 1.18rem; }
  .project-main .task-open { min-height: 54px; }
  .project-main .task-move-control { min-height: 44px; padding-top: 8px; padding-bottom: 8px; }
  .project-main .task-move-control span { flex: 0 0 auto; }
  .project-main .task-move-control select { flex: 1; min-height: 34px; max-width: none; font-size: .72rem; }
  .project-main .project-list-view { margin-inline: -2px; }
}
/* Shared polish for people, availability, and task workflows. */
.workspace-fixed .teams-main, .workspace-fixed .leave-main { background: radial-gradient(ellipse at 85% 0%, #dbee9708, transparent 45%), var(--bg); }
.workspace-fixed .teams-hero, .workspace-fixed .leave-hero { padding-bottom: 24px; border-bottom: 1px solid var(--border); margin-bottom: 24px; }
.workspace-fixed .teams-hero h2, .workspace-fixed .leave-hero h2 { letter-spacing: -.035em; }
.workspace-fixed .teams-list-panel, .workspace-fixed .team-detail-panel, .workspace-fixed .leave-panel { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: 0 8px 28px #00000012; }
.workspace-fixed .team-search { margin: 0 0 18px; }
.workspace-fixed .team-search input { width: 100%; background: var(--bg); border-radius: 10px; }
.workspace-fixed .team-card { border: 1px solid transparent; border-radius: 12px; padding: 16px 12px; margin-bottom: 6px; }
.workspace-fixed .team-card[hidden] { display: none; }
.workspace-fixed .team-card.active { border-color: #dbee9755; background: #dbee9712; }
.workspace-fixed .team-card-mark, .workspace-fixed .team-project-mark { border-radius: 12px; background: #dbee9718; color: var(--accent); }
.workspace-fixed .team-detail-header { padding-bottom: 24px; }
.workspace-fixed .team-detail-header h3 { font-size: 26px; letter-spacing: -.025em; }
.workspace-fixed .team-project-row, .workspace-fixed .team-member-row { padding: 18px 12px; border-radius: 10px; }
.workspace-fixed .team-member-copy, .workspace-fixed .team-project-copy { min-width: 0; overflow-wrap: anywhere; }
.workspace-fixed .team-tabs, .workspace-fixed .leave-view-tabs { gap: 6px; padding: 5px; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; }
.workspace-fixed .team-tabs button, .workspace-fixed .leave-view-tabs button { border-radius: 8px; border: 0; min-height: 40px; }
.workspace-fixed .team-tabs button.active, .workspace-fixed .leave-view-tabs button.active { background: var(--surface-raised); color: var(--text); box-shadow: 0 2px 6px #0002; }
.workspace-fixed .leave-summary-grid { gap: 14px; }
.workspace-fixed .leave-summary-grid .report-summary-card { border-radius: 14px; padding: 22px; }
.workspace-fixed .leave-balance-card { border-radius: 12px; background: var(--surface); }
.workspace-fixed .leave-request-guidance { border: 1px solid #dbee9733; border-radius: 10px; background: #dbee970a; padding: 12px 14px; line-height: 1.6; }
.workspace-fixed .leave-request-row { padding: 16px 0; gap: 12px; }
.workspace-fixed .leave-request-copy { min-width: 0; overflow-wrap: anywhere; }
.workspace-fixed .leave-status { white-space: nowrap; border-radius: 6px; font-size: 11px; }
.workspace-fixed .availability-note { display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12px; margin: 0 0 20px; line-height: 1.6; }
.workspace-fixed .leave-calendar-day { min-height: 116px; padding: 10px; }
.workspace-fixed .leave-calendar-day.today { background: #dbee970a; box-shadow: inset 0 0 0 1px #dbee9755; }
.calendar-overflow summary { cursor: pointer; color: var(--accent); font-size: 11px; padding: 4px 0; }
.calendar-overflow .calendar-leave { white-space: normal; overflow-wrap: anywhere; margin-top: 4px; }
.workspace-fixed .task-timer-card { border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; margin: 12px 0; background: var(--surface-soft); }
.workspace-fixed .task-timer-card.is-running { border-color: #74d69b55; background: linear-gradient(120deg, #74d69b0d, var(--surface-raised)); }
.task-timer-heading, .task-timer-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.task-timer-state { color: var(--text-muted); font-size: 11px; }
.is-running .task-timer-state { color: var(--success); }
.task-timer-controls { margin: 8px 0; }
.task-timer-controls strong { display: block; font-size: 21px; font-variant-numeric: tabular-nums; letter-spacing: -.03em; line-height: 1.2; }
.task-timer-controls small, .task-timer-foot small { display: block; color: var(--text-muted); font-size: 11px; margin-top: 6px; line-height: 1.6; }
.task-timer-foot { border-top: 1px solid var(--border); padding-top: 6px; font-size: 11px; }
.task-timer-controls > div > small { display: none; }
.task-timer-foot small { font-size: 10px; margin-top: 2px; }
.task-upload { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px; margin-bottom: 12px; border: 1px dashed var(--border-strong); border-radius: 8px; color: var(--text-muted); font-size: 12px; }
.task-upload.is-dragging { border-color: var(--accent); background: var(--accent-soft); }
.task-upload-picker { position: relative; overflow: hidden; display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: 6px; background: var(--surface-raised); color: var(--text); cursor: pointer; }
.task-upload-picker::before { content: "▧"; margin-right: 7px; color: #e4f2b1; font-size: 15px; }
.task-upload-picker:focus-within { outline: 2px solid var(--accent); }
.task-upload-picker input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.task-upload-status { width: 100%; margin: 0; overflow-wrap: anywhere; }
.task-upload-status:empty { display: none; }
.project-directory { min-width: 0; }
.project-directory > .field { max-width: 420px; }
.project-directory-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 14px; margin-top: 24px; }
.project-directory-card { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 20px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-align: left; }
.project-directory-card[hidden] { display: none; }
.project-directory-card strong { overflow-wrap: anywhere; }
.project-directory-card span { font-size: 12px; color: var(--text-muted); }
.project-directory-card:hover { background: var(--surface-raised); border-color: var(--accent); }
#organization-modal { z-index: 70; }
#organization-modal .new-task-modal { width: min(520px, 100%); }
#manage-organizations { font-size: 12px; padding: 8px 10px; }
.profile-workspace-access { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.profile-workspace-access h3 { margin: 6px 0 0; overflow-wrap: anywhere; }
.profile-workspace-access p { margin: 6px 0 0; font-size: 14px; }
.profile-workspace-access .muted { font-size: 12px; }
.workspace-fixed #new-task-modal .modal-heading { padding: 18px 20px; }
.workspace-fixed #new-task-modal .task-workflow-group { padding: 0; border: 0; background: transparent; }
.workspace-fixed #new-task-modal .new-task-modal { padding: 0; }
.workspace-fixed #new-task-modal .modal-fields { padding: 18px 20px; }
.workspace-fixed #new-task-modal .modal-footer { padding: 14px 20px; }
.workspace-fixed .task-details .attachment { overflow-wrap: anywhere; }
.workspace-fixed #new-task-modal .new-task-title { font-size: 20px; padding: 14px; font-weight: 600; }
.workspace-fixed #new-task-modal .task-workflow-group { padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); }
.workspace-fixed #new-task-modal .task-workflow-group .full-field { grid-column: auto; align-content: start; }
.workspace-fixed #new-task-modal .task-workflow-group select { height: 44px; }
.new-task-recovery-actions { display: inline-flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.new-task-recovery-actions button { min-height: 34px; font-size: .72rem; }
#retry-task-dependencies { margin-left: 8px; min-height: 30px; padding: .25rem .5rem; font-size: .68rem; }
.task-save-shortcut { color: var(--text-subtle); font-size: .66rem; }
.task-saved-notice { color: var(--success); font-size: .72rem; font-weight: 700; }
@media (max-width: 700px) {
  .recruiting-main .recruiting-heading { flex-direction: row; align-items: flex-start; text-align: left; gap: 12px; }
  .recruiting-main .recruiting-heading h2 { font-size: 1.5rem; }
  .recruiting-main #new-recruiting-job { flex-shrink: 0; }
  .workspace-fixed .leave-calendar-day { min-height: 86px; padding: 4px; }
  .workspace-fixed .leave-request-row { flex-wrap: wrap; }
  .workspace-fixed .team-detail-header { flex-wrap: wrap; }
  .workspace-fixed .leave-view-tabs { overflow-x: auto; }
  .workspace-fixed .leave-view-tabs button { white-space: nowrap; }
  .task-timer-controls { align-items: center; flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .task-timer-controls button { width: auto; min-height: 36px; }
  .task-timer-heading { flex-wrap: wrap; gap: 8px; }
  .workspace-fixed #new-task-modal .task-workflow-group { grid-template-columns: 1fr; }
}
.onboarding-card { width: min(100%, 520px); }
.onboarding-options { display: grid; gap: 10px; margin-bottom: 24px; }
.onboarding-options h3 { margin: 0; font-size: 15px; }
.onboarding-options button { overflow-wrap: anywhere; white-space: normal; }
.onboarding-join { margin-top: 24px; border-top: 1px solid var(--border); padding-top: 20px; }
.onboarding-join summary { cursor: pointer; font-weight: 600; }
.onboarding-card #skip-project { margin-top: 12px; }
.invite-dialog { width: min(640px, 100%); max-width: 640px; padding: 0; overflow: hidden; }
.invite-dialog .modal-heading { padding: 22px 24px 18px; background: var(--surface-raised); }
.invite-dialog .modal-heading h2 { margin: 5px 0 6px; }
.invite-dialog .modal-heading .muted { max-width: 460px; }
.invite-dialog .modal-fields { display: grid; gap: 12px; padding: 18px 24px 20px; }
.invite-dialog .field { margin: 0; }
.invite-basics { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr); gap: 12px; }
.invite-role-note { display: block; min-height: 18px; margin-top: -3px; }
.invite-scope { margin: 4px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--border); }
.invite-scope-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.invite-scope-heading h3 { margin: 0 0 4px; font-size: .88rem; }
.invite-scope-heading .field-hint { margin: 0; line-height: 1.4; }
.invite-optional { flex: 0 0 auto; color: var(--text-subtle); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.invite-scope-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.invite-scope-group { overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.invite-scope-group summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; cursor: pointer; color: var(--text); font-size: .78rem; font-weight: 700; list-style: none; }
.invite-scope-group summary::-webkit-details-marker { display: none; }
.invite-scope-group summary::after { content: "⌄"; color: var(--text-subtle); font-size: .85rem; }
.invite-scope-group:not([open]) summary::after { transform: rotate(-90deg); }
.invite-scope-group summary span:last-child { margin-left: auto; color: var(--text-subtle); font-size: .7rem; font-variant-numeric: tabular-nums; }
.invite-scope-options { display: grid; gap: 6px; padding: 0 8px 8px; }
.invite-scope-choice { display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: start; gap: 8px; padding: 8px; border: 1px solid transparent; border-radius: 7px; cursor: pointer; }
.invite-scope-choice:hover { border-color: var(--border-strong); background: var(--surface-raised); }
.invite-scope-choice input[type="checkbox"] { width: 16px; min-width: 16px; height: 16px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--accent); }
.invite-scope-choice span { display: grid; min-width: 0; gap: 1px; }
.invite-scope-choice strong { overflow-wrap: anywhere; color: var(--text); font-size: .78rem; }
.invite-scope-choice small { color: var(--text-subtle); font-size: .67rem; line-height: 1.3; }
.invite-scope.is-disabled .invite-scope-groups { display: none; }
.invite-scope.is-disabled .invite-optional { display: none; }
.invite-scope.is-disabled { padding-bottom: 0; }
.invite-dialog .modal-footer { padding: 14px 24px 18px; border-top: 1px solid var(--border); background: var(--surface-raised); }
/* Task detail: content and collaboration alongside a quiet property inspector. */
.workspace-fixed .task-details.task-detail-layout { width: min(1180px, 100%); display: grid; grid-template-columns: minmax(0, 1fr) 310px; grid-template-rows: auto auto auto auto auto auto auto auto auto 1fr auto; column-gap: 32px; align-content: start; padding: 0 32px; }
.task-detail-layout #task-details-form { display: contents; }
.workspace-fixed .task-detail-layout .task-details-head { grid-column: 1 / -1; grid-row: 1; margin-bottom: 0; }
.task-detail-layout .task-primary-fields { grid-column: 1 / -1; grid-row: 2; padding: 22px 0 16px; border-bottom: 1px solid #2b3748; min-width: 0; }
@supports (field-sizing: content) {
  .workspace-fixed .task-detail-layout textarea.task-title-input { field-sizing: content; height: auto !important; }
}
.workspace-fixed .task-detail-layout .task-action-row { margin: 10px 0 0; }
.task-detail-layout .task-description-section { grid-column: 1; grid-row: 3; }
.workspace-fixed .task-detail-layout .task-description-section textarea { min-height: 180px; width: 100%; background: #192331; }
.task-detail-layout .task-blocker-summary { grid-column: 1; grid-row: 4; }
.task-detail-layout .task-detail-dependencies { grid-column: 1; grid-row: 5; }
.task-detail-layout .task-detail-attachments { grid-column: 1; grid-row: 6; }
.task-detail-layout .task-detail-checklists { grid-column: 1; grid-row: 7; }
.task-detail-layout .task-detail-comments { grid-column: 1; grid-row: 8; }
.task-detail-layout .task-activity-disclosure { grid-column: 1; grid-row: 9; }
.task-detail-layout .task-detail-inspector { grid-column: 2; grid-row: 3 / 10; min-width: 0; padding: 24px 0 24px 24px; border-left: 1px solid #2b3748; display: flex; flex-direction: column; gap: 22px; }
.workspace-fixed .task-detail-inspector .task-property-grid { display: grid; grid-template-columns: 1fr; padding: 0; border: 0; background: transparent; }
.task-detail-inspector .task-detail-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.task-detail-inspector .task-detail-planning { display: grid; grid-template-columns: 1fr; gap: 18px; }
.task-detail-inspector :is(.field, .task-property) { min-width: 0; margin: 0; font-size: 12px; }
.workspace-fixed .task-detail-inspector .task-property { border: 0; background: transparent; padding: 0; }
.workspace-fixed .task-detail-inspector .task-property > span, .workspace-fixed .task-detail-inspector .task-property summary > span { font-size: 12px; text-transform: none; letter-spacing: 0; }
.task-detail-inspector :is(input, select) { max-width: 100%; min-width: 0; }
.workspace-fixed .task-detail-inspector .task-label-editor { margin: 0; }
.task-detail-inspector .task-compact-property:has(.task-label-editor)[open] > summary small { display: none; }
.workspace-fixed .task-detail-inspector .task-schedule-summary { margin: -12px 0 0; padding: 0; }
.task-detail-inspector .task-schedule-summary > div:first-child { display: none; }
.task-detail-inspector .task-schedule-actions { flex-wrap: wrap; }
.task-detail-inspector .task-timer-card { margin: 0; padding: 14px; }
.task-detail-inspector .task-timer-controls { flex-wrap: wrap; gap: 12px; }
.task-detail-inspector #task-timer-display { font-size: 24px; }
.workspace-fixed .task-detail-layout .task-save-bar { grid-column: 1 / -1; grid-row: 11; position: sticky; bottom: 0; z-index: 4; margin: 0 -32px; padding: 12px 32px; border-top: 1px solid #344054; }
.task-detail-layout > .form-section { min-width: 0; }
@media (max-width: 760px) {
  .workspace-fixed .task-details.task-detail-layout { grid-template-columns: minmax(0, 1fr); display: flex; flex-direction: column; gap: 0; padding: 0 18px; }
  .task-detail-layout #task-details-form { display: flex; flex-direction: column; }
  .task-detail-layout .task-detail-inspector { border-left: 0; border-block: 1px solid #2b3748; padding: 20px 0; }
  .workspace-fixed .task-detail-layout .task-save-bar { position: static; margin: 0; padding: 14px 0; }
  .workspace-fixed .task-detail-layout .task-details-head { margin: 0 -18px; }
}
.workspace-fixed .task-detail-layout .task-details-head { position: absolute; right: 24px; top: 24px; padding: 0; margin: 0; border: 0; background: transparent; }
.workspace-fixed .task-detail-layout .task-details-head > div { display: none; }
.workspace-fixed .task-detail-layout .task-primary-fields { padding: 24px 48px 24px 0; border: 0; }
.workspace-fixed .task-detail-layout .task-title-input { font-size: 25px; font-weight: 550; }
.task-detail-layout .task-action-row .task-breadcrumb { color: #9aabc1; font-size: 13px; margin-right: 8px; }
.workspace-fixed .task-detail-layout .form-section { border: 0; padding: 18px 0; }
.workspace-fixed .task-detail-layout .section-label { font-size: 15px; font-weight: 550; }
.workspace-fixed .task-detail-layout .task-description-section textarea { min-height: 150px; field-sizing: content; font-size: 14px; background: #1c2b3c; border-color: transparent; }
.task-detail-layout .task-compact-property { border: 0; margin: 0; padding: 0; min-width: 0; }
.task-detail-layout .task-compact-property > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; padding: 8px 0; color: #becbdd; font-size: 13px; }
.task-detail-layout .task-compact-property > summary::-webkit-details-marker { display: none; }
.task-detail-layout .task-compact-property > summary small { color: #d4e2a0; font-size: 12px; max-width: 60%; overflow-wrap: anywhere; }
.task-detail-layout .task-compact-property[open] > summary { margin-bottom: 10px; }
.task-detail-layout .task-compact-property > summary::after { content: ""; flex: 0 0 auto; width: 6px; height: 6px; margin-left: 4px; border-right: 1.5px solid #7c8aa3; border-bottom: 1.5px solid #7c8aa3; transform: rotate(45deg); transition: transform .15s ease; }
.task-detail-layout .task-compact-property[open] > summary::after { transform: rotate(-135deg); }
.task-detail-layout .task-assignees-property summary::after { content: ""; position: absolute; top: 12px; right: 10px; width: 6px; height: 6px; border-right: 1.5px solid #7c8aa3; border-bottom: 1.5px solid #7c8aa3; transform: rotate(45deg); transition: transform .15s ease; }
.task-detail-layout .task-assignees-property[open] summary::after { transform: rotate(-135deg); }
.task-people-empty { color: #d4e2a0; font-weight: 650; }
.task-detail-layout .task-person-options { display: grid; gap: 10px; font-size: 12px; }
.task-detail-layout .task-person-options label { display: flex; align-items: center; gap: 8px; }
.task-detail-layout .task-person-options input { width: auto; min-height: 0; }
.task-detail-layout .task-detail-dependencies .task-compact-property > summary span { font-size: 15px; font-weight: 550; }
.workspace-fixed .task-detail-layout .task-upload { min-height: 86px; justify-content: center; background: transparent; }
.task-detail-layout .task-detail-attachments > p.muted, .task-detail-layout .task-detail-checklists > p.muted { display: none; }
.task-detail-layout .task-detail-checklists .task-add-control { border: 0; margin: 0; padding: 0; }
.task-detail-layout .task-detail-inspector { gap: 17px; }
.workspace-fixed .task-detail-inspector .task-timer-card { border-radius: 30px; padding: 8px 12px; background: transparent; }
.task-detail-inspector .task-timer-controls { margin: 0; gap: 8px; }
.task-detail-inspector #task-timer-display { font-size: 19px; }
.task-detail-inspector .task-timer-foot { border: 0; margin-top: 5px; padding: 0; }
.task-detail-inspector .task-timer-foot small { display: none; }
.task-detail-layout .task-discussion-tabs { grid-column: 1; grid-row: 8; display: flex; gap: 22px; border-bottom: 1px solid #344054; }
.task-detail-layout .task-discussion-tabs button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #8f9fb4; padding: 12px 0; font-size: 12px; }
.task-detail-layout .task-discussion-tabs button[aria-pressed="true"] { color: #e0edb2; border-bottom-color: #e0edb2; }
.task-detail-layout .task-detail-comments, .task-detail-layout .task-activity-disclosure { grid-row: 9; }
.task-detail-layout .task-activity-disclosure > summary { display: none; }
.task-detail-layout [hidden] { display: none !important; }
@media (max-width: 760px) {
  .workspace-fixed .task-detail-layout .task-details-head { right: 14px; top: 18px; margin: 0; }
  .workspace-fixed .task-detail-layout .task-primary-fields { padding-top: 18px; padding-right: 40px; }
  .task-detail-layout .task-action-row { flex-wrap: wrap; }
}
.task-details-read-only .task-primary-fields { opacity: .86; }
.task-details-read-only :is(input, select, textarea, button):disabled { cursor: not-allowed; }

/* Task collaboration controls stay compact until a person picker is explicitly opened. */
.task-detail-layout .task-people-summary,
.task-detail-layout .task-compact-property > summary small:has(.task-person-avatar) { display: flex; align-items: center; gap: 7px; min-width: 0; color: #e2e8f2; font-size: 14px; font-weight: 550; letter-spacing: 0; text-transform: none; }
.task-detail-layout .task-person-identity { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
.task-detail-layout .task-person-avatar { display: inline-grid; flex: 0 0 auto; width: 25px; height: 25px; place-items: center; border: 1px solid #a6b962; border-radius: 50%; background: #545f2d; color: #f3f9dd; font-size: 10px; font-weight: 800; line-height: 1; }
.task-detail-layout .task-assignees-property summary { padding: 0; }
.task-detail-layout .task-assignee-list,
.task-detail-layout .task-person-options { gap: 5px; margin: 10px 0 0; padding: 8px; border: 1px solid #35435a; border-radius: 10px; background: #111926; }
.task-detail-layout .task-assignee-choice,
.task-detail-layout .task-person-choice { display: flex; align-items: center; gap: 9px; min-height: 38px; padding: 6px 8px; border-radius: 7px; color: #dce4f0; font-size: 13px; cursor: pointer; }
.task-detail-layout :is(.task-assignee-choice, .task-person-choice):hover { background: #202d3e; }
.task-detail-layout :is(.task-assignee-choice, .task-person-choice) input { width: 17px; height: 17px; min-height: 0; margin: 0 2px 0 0; accent-color: #dbee97; }
.task-detail-layout .task-person-choice > span:last-child,
.task-detail-layout .task-person-identity > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Checklists read as a small progress system, not an empty form panel. */
.task-detail-layout .checklist-overview { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; margin: -5px 0 18px; padding-left: 38px; }
.task-detail-layout .checklist-overview > span { height: 7px; overflow: hidden; border-radius: 99px; background: #2c3748; }
.task-detail-layout .checklist-overview i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #72dc9d, #dbee97); transition: width .2s ease; }
.task-detail-layout .checklist-overview strong { color: #b8c5d7; font-size: 13px; font-variant-numeric: tabular-nums; }
.task-detail-layout .task-checklist-content { display: grid; gap: 12px; }
.task-detail-layout .checklist-flat-items { display: grid; gap: 5px; }
.task-detail-layout .task-checklist-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 4px; }
.task-detail-layout .task-checklist-form input,
.task-detail-layout .task-checklist-form button { min-height: 40px; }
.task-detail-layout .task-checklist-content > .muted { margin: 0; padding: 8px 0; }
.task-detail-layout .checklist { gap: 12px; margin: 10px 0 20px; padding: 16px 18px; border-color: #36465d; border-radius: 12px; background: #182331; }
.task-detail-layout .checklist-head strong { color: #f0f4fa; font-size: 16px; font-weight: 600; }
.task-detail-layout .checklist-head small { color: #91a1b8; font-size: 12px; }
.task-detail-layout .checklist-progress-bar { height: 5px; background: #2a3546; }
.task-detail-layout .checklist-progress-bar span { background: linear-gradient(90deg, #72dc9d, #dbee97); transition: width .2s ease; }
.task-detail-layout .checklist-items { display: grid; gap: 5px; }
.task-detail-layout .check-item { min-height: 38px; gap: 11px; padding: 6px 4px; color: #e1e8f2; font-size: 14px; }
.task-detail-layout .check-item input { appearance: none; display: grid; flex: 0 0 auto; width: 19px; height: 19px; min-height: 0; margin: 0; place-content: center; border: 1px solid #718099; border-radius: 5px; background: #111926; cursor: pointer; }
.task-detail-layout .check-item input::before { content: "✓"; color: #101722; font-size: 14px; font-weight: 900; transform: scale(0); transition: transform .12s ease; }
.task-detail-layout .check-item input:checked { border-color: #75d99a; background: #75d99a; }
.task-detail-layout .check-item input:checked::before { transform: scale(1); }
.task-detail-layout .check-item:has(input:checked) { color: #8f9db0; text-decoration-color: #8f9db0; }
.task-detail-layout .checklist-item-form { margin-top: 5px; }
.task-detail-layout .checklist-item-form input { min-height: 38px; background: #111926; }
.task-detail-layout .checklist-item-form button { min-height: 38px; }

/* Reference-inspired task detail: generous content rhythm with properties kept quietly to the side. */
.workspace-fixed .task-details.task-detail-layout { width: min(1040px, 100%); grid-template-columns: minmax(0, 1fr) 320px; column-gap: 40px; padding-inline: 40px; background: #151d28; }
.workspace-fixed .task-detail-layout .task-primary-fields { padding: 38px 58px 34px 0; }
.workspace-fixed .task-detail-layout .task-title-input { font-size: clamp(26px, 2.15vw, 34px); font-weight: 520; letter-spacing: -.045em; line-height: 1.18; }
.workspace-fixed .task-detail-layout .task-action-row { margin-top: 18px; gap: 12px; }
.task-detail-layout .task-action-row .task-breadcrumb { font-size: 15px; color: #a9b8cc; }
.workspace-fixed .task-detail-layout .task-status-control select { min-height: 38px; border-color: #344258; background: #111926; color: #e5ebf5; }
.workspace-fixed .task-detail-layout .task-complete-button { min-height: 38px; border-radius: 7px; }
.task-detail-layout .task-detail-inspector { padding: 32px 0 42px 28px; border-left-color: #2e3949; gap: 12px; }
.workspace-fixed .task-detail-layout .form-section { padding: 28px 0; }
.task-detail-layout .task-reference-section-heading { justify-content: flex-start; gap: 13px; }
.task-detail-layout .task-reference-section-heading::before { display: inline-grid; place-items: center; width: 25px; color: #d4e88a; font-size: 22px; font-weight: 500; line-height: 1; }
.task-detail-layout .task-reference-section-heading[data-task-section="description"]::before { content: "≡"; color: #71b7ff; }
.task-detail-layout .task-reference-section-heading[data-task-section="dependencies"]::before { content: "⌘"; color: #ecad62; }
.task-detail-layout .task-reference-section-heading[data-task-section="attachments"]::before { content: "⌕"; color: #d4e88a; }
.task-detail-layout .task-reference-section-heading[data-task-section="checklists"]::before { content: "☷"; color: #78dda3; }
.workspace-fixed .task-detail-layout .section-label,
.task-detail-layout .task-detail-dependencies .task-compact-property > summary span { color: #d9e1ee; font-size: 20px; font-weight: 520; letter-spacing: -.025em; }
.task-detail-layout .task-description-section .task-description-state { display: none; }
.workspace-fixed .task-detail-layout .task-description-section textarea { min-height: 132px; padding: 14px 16px; border: 1px solid #2c3a4e; border-radius: 10px; background: #141d29; color: #dbe3ef; font-size: 15px; line-height: 1.6; box-shadow: none; }
.workspace-fixed .task-detail-layout .task-description-section textarea:hover { border-color: #3a4a61; }
.workspace-fixed .task-detail-layout .task-description-section textarea:focus { border-color: var(--accent); background: #1a2737; box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.workspace-fixed .task-detail-layout .task-description-section textarea:placeholder-shown { color: #8191a8; }
.task-detail-layout .task-description-help { display: none; }
.task-detail-layout .task-detail-dependencies .task-compact-property > summary { padding: 4px 0; }
.task-detail-layout .task-detail-dependencies .task-compact-property > summary small { margin-left: auto; color: #ddeda5; }
.workspace-fixed .task-detail-layout .task-upload { min-height: 132px; border-color: #40516a; border-radius: 12px; background: #131c28; }
.workspace-fixed .task-detail-layout .task-upload-picker { min-height: 42px; background: #1b2635; }
.task-detail-layout .attachment { min-height: 78px; border-radius: 10px; }
.task-detail-layout .task-detail-checklists .task-add-control summary,
.task-detail-layout .task-detail-attachments .task-add-control summary { color: #ddeda5; font-weight: 650; }
.task-detail-layout .task-discussion-tabs { margin-top: 20px; border-bottom-color: #344054; }
.task-detail-layout .task-discussion-tabs button { padding: 13px 4px; font-size: 13px; }
.workspace-fixed .task-detail-layout .task-save-bar { min-height: 0; margin-inline: -40px; padding: 12px 40px; background: #18212e; box-shadow: 0 -10px 24px -6px rgba(0, 0, 0, .5); }
.task-detail-layout .task-save-bar:has(#detail-notice:empty) { display: none; }
.task-detail-layout .task-save-bar .task-save-shortcut { margin-right: auto; }
.task-detail-layout .task-compact-property > summary { padding: 5px 0; }
.task-detail-layout .task-compact-property > summary > span,
.task-detail-inspector :is(.field, .task-property) > span { color: #b8c5d7; font-size: 15px; font-weight: 520; }
.task-detail-layout .task-compact-property > summary small { color: #e0efa9; }
.workspace-fixed .task-detail-inspector :is(input, select) { min-height: 42px; border-color: #344258; background: #111926; font-size: 14px; }
.workspace-fixed .task-detail-inspector .task-property > span,
.workspace-fixed .task-detail-inspector .task-property summary > span { font-size: 15px; }
.task-detail-layout .task-detail-dates { gap: 16px; }
.task-detail-layout .task-schedule-actions button { min-height: 32px; border-radius: 7px; }
.task-detail-layout .task-worked-property { display: grid; gap: 5px; padding: 9px; border: 1px solid #344258; border-radius: 10px; background: #111926; }
.task-detail-layout .task-worked-property span { color: #b8c5d7; font-size: 15px; font-weight: 520; }
.task-detail-layout .task-worked-property strong { color: #e2e8f2; font-size: 14px; font-variant-numeric: tabular-nums; }
.task-detail-layout .task-work-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: -4px; }
.task-detail-layout .task-work-progress-track { height: 6px; overflow: hidden; border-radius: 99px; background: #2c3748; }
.task-detail-layout .task-work-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #72dc9d, #dbee97); transition: width .2s ease; }
.task-detail-layout .task-work-progress strong { color: #b8c5d7; font-size: 12px; font-variant-numeric: tabular-nums; }
.task-detail-layout .task-work-progress-hint { grid-column: 1 / -1; color: #7c8aa3; font-size: 12px; }
.workspace-fixed .task-detail-inspector .task-timer-card { margin-top: 4px; border: 1px solid #344258; border-radius: 12px; padding: 10px 12px; }
.workspace-fixed .task-detail-layout .form-section.task-capacity-preview-panel { padding: 14px 0 0; }
.task-detail-layout .task-timer-controls { align-items: center; }
.task-detail-layout .task-timer-controls > div:first-child { order: 2; flex: 1 1 auto; min-width: 0; }
#task-timer-display { display: inline-block; padding: 8px 16px; border-radius: 99px; background: #111926; font-variant-numeric: tabular-nums; }
.task-detail-layout #task-start-timer, .task-detail-layout #task-stop-timer { display: flex; align-items: center; justify-content: center; order: 1; flex: 0 0 auto; width: 40px; min-height: 40px; height: 40px; padding: 0; border-radius: 50%; background: var(--accent); color: #1c1f10; font-size: 0; }
.task-detail-layout #task-start-timer::before { content: ""; display: inline-block; margin-left: 3px; border-style: solid; border-width: 7px 0 7px 11px; border-color: transparent transparent transparent currentColor; }
.task-detail-layout #task-stop-timer { background: #e08a8a; }
.task-detail-layout #task-stop-timer::before { content: ""; display: inline-block; width: 11px; height: 11px; background: currentColor; border-radius: 2px; }
@media (max-width: 900px) {
  .workspace-fixed .task-details.task-detail-layout { grid-template-columns: minmax(0, 1fr) 300px; column-gap: 28px; padding-inline: 28px; }
  .workspace-fixed .task-detail-layout .task-save-bar { margin-inline: -28px; padding-inline: 28px; }
}
@media (max-width: 760px) {
  .workspace-fixed .task-details.task-detail-layout { padding-inline: 18px; }
  .workspace-fixed .task-detail-layout .task-primary-fields { padding: 26px 44px 24px 0; }
  .workspace-fixed .task-detail-layout .task-description-section textarea { padding: 12px 14px; font-size: 15px; }
  .workspace-fixed .task-detail-layout .task-save-bar { margin: 0; padding-inline: 0; }
}
.workspace-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: clamp(28px, 5vw, 56px) 20px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.workspace-empty-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--border, #293244); border-radius: 14px; color: var(--text-muted, #98a4b8); background: rgba(217, 237, 143, .06); }
.workspace-empty-icon svg { width: 22px; height: 22px; }
.workspace-empty > strong { font-size: 1rem; font-weight: 600; line-height: 1.4; color: var(--text, #f4f5fa); }
.workspace-empty > p { max-width: 42ch; margin: 0; font-size: .875rem; line-height: 1.65; color: var(--text-muted, #98a4b8); }
.workspace-empty > button { flex: none; width: auto; max-width: 100%; min-height: 40px; margin-top: 4px; padding: 9px 16px; font-size: .85rem; white-space: normal; }
.workspace-empty--compact { padding: 24px 16px; gap: 8px; }
.workspace-empty--compact .workspace-empty-icon { width: 34px; height: 34px; border-radius: 10px; }
.team-section-empty, .team-detail-empty, .empty-project-state { padding: 28px 20px; gap: 12px; text-align: center; }
.team-section-empty > span, .team-detail-empty > p, .empty-project-state > span { max-width: 42ch; margin-inline: auto; line-height: 1.65; }
.team-empty-action { align-self: center; width: auto; }
.column-empty { min-height: 112px; padding: 20px 12px; }
.project-list-empty:has(.workspace-empty) { padding: 0; }
.table-empty:has(.workspace-empty) { padding: 0; }
#project-directory-empty[hidden] { display: none; }
/* Personal time workspaces: compact summaries and content-first panels. */
.workspace-fixed .leave-main, .workspace-fixed .timesheet-main { background: var(--bg); }
.workspace-fixed .leave-hero, .workspace-fixed .timesheet-hero { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid var(--border); gap: 16px; }
.leave-main .reports-hero h2, .timesheet-main .reports-hero h2 { font-size: clamp(1.45rem, 2.5vw, 1.9rem); letter-spacing: -.035em; margin: 0 0 8px; }
.leave-main .reports-hero .eyebrow, .timesheet-main .reports-hero .eyebrow { display: none; }
.leave-main .reports-hero p, .timesheet-main .reports-hero p { font-size: .85rem; line-height: 1.6; margin: 0; }
.workspace-fixed .leave-view-tabs { width: fit-content; max-width: 100%; margin-bottom: 22px; padding: 4px; }
.workspace-fixed .leave-view-tabs button { font-size: .8rem; padding: 8px 16px; }
.leave-main .leave-summary-grid, .timesheet-main .timesheet-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; margin-bottom: 20px; }
.workspace-fixed .leave-summary-grid .report-summary-card, .timesheet-main .timesheet-summary-grid .report-summary-card { min-height: 0; padding: 18px 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.leave-summary-grid .report-summary-card + .report-summary-card, .timesheet-summary-grid .report-summary-card + .report-summary-card { border-left: 1px solid var(--border); }
.leave-main .report-summary-card .card-kicker, .timesheet-main .report-summary-card .card-kicker { letter-spacing: .02em; text-transform: none; font-size: .75rem; font-weight: 500; }
.leave-main .report-summary-card > strong, .timesheet-main .report-summary-card > strong { font-size: 1.6rem; line-height: 1.25; margin: 8px 0 5px; font-variant-numeric: tabular-nums; }
.leave-main .report-summary-card > p, .timesheet-main .report-summary-card > p { font-size: .72rem; line-height: 1.5; margin: 0; }
.workspace-fixed .leave-panel, .timesheet-main .report-panel { border-radius: 12px; background: var(--surface); box-shadow: none; padding: 20px; }
.leave-main .report-panel-heading, .timesheet-main .report-panel-heading { align-items: center; gap: 12px; margin-bottom: 16px; }
.leave-main .report-panel-heading h3, .timesheet-main .report-panel-heading h3 { font-size: 1rem; margin: 4px 0; }
.leave-main .report-panel-heading .card-kicker, .timesheet-main .report-panel-heading .card-kicker { font-size: .68rem; letter-spacing: .04em; }
.leave-main .leave-personal-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 1fr); align-items: start; gap: 20px; }
.leave-main .request-history-panel { grid-column: 1; grid-row: 1; }
.leave-main .request-panel { grid-column: 2; grid-row: 1; min-height: 0; }
.leave-main .field, .timesheet-main .field { font-size: .75rem; gap: 6px; }
.leave-main input, .leave-main select, .leave-main textarea, .timesheet-main input, .timesheet-main select { min-width: 0; font-size: .82rem; }
.leave-main .leave-request-guidance { font-size: .75rem; padding: 10px 12px; }
.workspace-fixed .leave-balance-card { padding: 14px 16px; border-radius: 10px; }
.leave-main .leave-balance-card strong { font-size: 1.15rem; }
.leave-main .leave-balance-card p { font-size: .73rem; line-height: 1.6; }
.leave-main .leave-accrual-history { display: block; padding: 0; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 20px; }
.leave-accrual-history > summary { cursor: pointer; padding: 14px 16px; font-size: .8rem; font-weight: 600; }
.leave-accrual-history > summary > span { margin-left: 12px; font-size: .72rem; color: var(--text-muted); font-weight: 400; }
.leave-accrual-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; padding: 0 12px 12px; }
.leave-policy-create { border: 1px solid var(--border); border-radius: 10px; margin-bottom: 16px; }
.leave-policy-create > summary { padding: 12px; cursor: pointer; font-size: .8rem; font-weight: 600; }
.leave-policy-create .policy-create-form { padding: 0 12px 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.leave-main .leave-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.leave-main .leave-section-heading h2 { font-size: 1.15rem; }
.leave-main .leave-section-heading p { font-size: .8rem; line-height: 1.6; }
.timesheet-main .week-toolbar { padding: 12px 16px; margin-bottom: 16px; border-radius: 10px; background: var(--surface); gap: 12px; }
.timesheet-main .week-controls > div { min-width: 0; }
.timesheet-main .week-controls strong { font-size: .9rem; }
.timesheet-main .timesheet-entries { padding: 0; overflow: hidden; }
.timesheet-entries > .report-panel-heading { padding: 18px 20px 0; }
.timesheet-main #timesheet-filters { display: grid; grid-template-columns: minmax(160px, 2fr) repeat(2, minmax(110px, 1fr)) auto auto; gap: 12px; align-items: end; margin: 0; padding: 0 20px 18px; border: 0; background: transparent; }
.timesheet-main #timesheet-filters .field { margin: 0; }
.timesheet-main #timesheet-filters button { width: auto; min-height: 40px; padding: 8px 12px; font-size: .78rem; }
.timesheet-main .timesheet-entries table { min-width: 680px; width: 100%; }
.timesheet-main .timesheet-entries th { font-size: .68rem; text-transform: none; letter-spacing: .02em; }
.timesheet-main .timesheet-entries td { padding: 14px 16px; font-size: .8rem; }
.timesheet-main .timesheet-submit-bar { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 12px; padding: 16px 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; min-height: 0; }
.timesheet-main .timesheet-submit-bar > button { order: 3; width: auto; margin: 0 0 0 auto; font-size: .82rem; }
.timesheet-main .timesheet-submit-bar > p { padding: 0; margin: 0; }
.timesheet-submit-bar > p { flex: 1; min-width: 180px; }
@media (max-width: 1100px) {
  .leave-main .leave-personal-grid, .leave-main .leave-admin-grid { grid-template-columns: minmax(0, 1fr); }
  .leave-main .request-history-panel, .leave-main .request-panel { grid-column: auto; grid-row: auto; }
  .leave-main .request-history-panel { order: -1; }
  .timesheet-main #timesheet-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timesheet-main #timesheet-filters > .field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .leave-main .leave-summary-grid, .timesheet-main .timesheet-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-fixed .leave-summary-grid .report-summary-card, .timesheet-main .timesheet-summary-grid .report-summary-card { padding: 14px; }
  .timesheet-main .timesheet-hero-actions { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .timesheet-main .timesheet-hero-actions .primary-action { width: auto; margin-left: auto; }
  .leave-accrual-history > summary > span { display: block; margin: 6px 0 0; }
  .timesheet-main .timesheet-entries table { min-width: 0; }
  .timesheet-main .timesheet-entries thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .timesheet-main .timesheet-entries tbody, .timesheet-main .timesheet-entries tr { display: block; }
  .timesheet-main .timesheet-entries tr { padding: 12px; border-top: 1px solid var(--border); }
  .timesheet-main .timesheet-entries td[data-label] { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 4px 12px; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
  .timesheet-entries td[data-label]::before { content: attr(data-label); color: var(--text-muted); font-size: .72rem; }
  .timesheet-entries td[data-label] > small { grid-column: 2; }
  .timesheet-main .entry-actions { flex-wrap: wrap; }
  .timesheet-main .timesheet-submit-bar { align-items: flex-start; }
  .timesheet-main .timesheet-submit-bar > button { width: 100%; margin-left: 0; }
  .timesheet-main .timesheet-summary-grid > article:last-child:nth-child(odd) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--border); }
}
.viewer-task-notice { margin: 0; color: var(--text-muted); font-size: .78rem; line-height: 1.45; }
@media (max-width: 560px) {
  .invite-dialog .modal-heading, .invite-dialog .modal-fields, .invite-dialog .modal-footer { padding-left: 18px; padding-right: 18px; }
  .invite-basics, .invite-scope-groups { grid-template-columns: 1fr; }
}
/* Focus room: deliberately quiet, isolated from workspace layout rules. */
.focus-room { --focus-progress: 0%; --focus-accent: #e1f1a9; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; padding: 24px; background: radial-gradient(ellipse at 50% 35%, #333820 0, #10131b 55%, #0c1016 100%); color: #f8faf2; overflow-y: auto; }
.focus-room::backdrop { background: #0c1016; }
.focus-room.is-break { --focus-accent: #8bd6b8; background: radial-gradient(ellipse at 50% 35%, #18342d, #0c1016 70%); }
.focus-room > header { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: #a8a5b8; font-size: 13px; }
.focus-room > main { width: min(100%, 540px); margin: 32px auto; text-align: center; }
.focus-room h2 { font-size: clamp(26px, 4vw, 38px); letter-spacing: -.04em; margin: 12px 0; }
.focus-room p { color: #aaa8bb; font-size: 14px; line-height: 1.6; }
.focus-room .focus-room-kicker { font-size: 10px; letter-spacing: .2em; color: var(--focus-accent); }
.focus-room-dial { width: min(72vw, 290px); aspect-ratio: 1; margin: 28px auto; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; gap: 16px; background: linear-gradient(#161923, #161923) padding-box, conic-gradient(var(--focus-accent) var(--focus-progress), #353344 0) border-box; border: 3px solid transparent; }
.focus-room-dial strong { font-size: clamp(48px, 12vw, 66px); font-weight: 500; letter-spacing: -.04em; font-variant-numeric: tabular-nums; line-height: 1; }
.focus-room-dial span { color: var(--focus-accent); font-size: 13px; }
.focus-room-dial small { color: #a8a5b8; font-size: 12px; }
.focus-room form { display: block; }
.focus-room .focus-room-settings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.focus-room-settings label { display: flex; flex-direction: column; gap: 8px; text-align: left; font-size: 12px; color: #b7b3c6; }
.focus-room-settings input { width: 100%; min-width: 0; padding: 12px; font-size: 16px; }
.focus-room .primary-action { min-width: 180px; margin-top: 6px; }
.focus-room .focus-alert-settings { width: min(100%, 360px); margin: 20px auto 0; padding: 12px 14px; border: 1px solid #424732; border-radius: 12px; text-align: left; background: #151725a8; }
.focus-alert-settings summary { display: flex; justify-content: space-between; cursor: pointer; color: #eef1e5; font-size: 13px; font-weight: 650; }
.focus-alert-settings summary span, .focus-alert-settings small { color: #a9a3bc; font-size: 11px; font-weight: 400; }
.focus-alert-settings p { margin: 12px 0 10px; font-size: 12px; }
.focus-alert-settings label { display: flex; gap: 9px; align-items: center; padding: 7px 0; color: #e5e8d9; font-size: 13px; }
.focus-alert-settings input { accent-color: #e1f1a9; }
.focus-room .focus-room-footnote { font-size: 12px; margin-top: 28px; color: #9290a5; }
.focus-room [data-error] { color: #ffa6b4; }
.focus-end-confirm { display: grid; gap: 14px; width: min(100%, 360px); margin: 14px auto 0; padding: 16px; border: 1px solid #75505b; border-radius: 14px; background: #241923; text-align: left; box-shadow: 0 14px 34px #05070b66; }
.focus-end-confirm strong { color: #ffe4e8; font-size: 14px; }
.focus-end-confirm p { margin: 5px 0 0; color: #d8aeb7; font-size: 12px; }
.focus-end-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }
.focus-end-confirm-actions button { min-height: 34px; font-size: 12px; }
.focus-room [hidden] { display: none !important; }
@media (max-width: 480px) { .focus-room { padding: 16px; } .focus-room > main { margin: 24px auto; } .focus-room > header button { font-size: 12px; padding: 10px; } }
.work-time-dialog { width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 28px; border: 1px solid #343d50; border-radius: 22px; background: #131a25; color: #f3f3fa; box-shadow: 0 24px 100px #0008; overflow-y: auto; }
.work-time-dialog::backdrop { background: #060a12b8; backdrop-filter: blur(6px); }
.work-time-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.work-time-heading h2 { font-size: 28px; letter-spacing: -.035em; margin: 8px 0 0; }
.work-time-heading .eyebrow { font-size: 10px; letter-spacing: .16em; color: #cdda9d; }
.work-time-heading button { padding: 6px 12px; font-size: 24px; background: transparent; }
.work-time-dialog .work-time-intro { color: #a0abc0; font-size: 14px; line-height: 1.6; margin: 16px 0 24px; }
.work-time-now { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px; margin-bottom: 20px; border: 1px solid #2b3445; border-radius: 14px; background: #0e1520; }
.work-time-now span { font-size: 13px; }
.work-time-now small { display: block; margin-top: 6px; color: #98a5ba; font-size: 12px; }
.work-time-now strong { font-size: 28px; letter-spacing: -.04em; font-weight: 550; font-variant-numeric: tabular-nums; color: #e6f3b7; }
.work-time-dialog > .primary-action, .work-time-dialog > .secondary, .work-time-dialog form > button { width: 100%; margin-bottom: 10px; min-height: 44px; }
.work-time-dialog form { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; padding-top: 18px; border-top: 1px solid #2b3445; }
.work-time-dialog form label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.work-time-dialog input, .work-time-dialog textarea { width: 100%; min-width: 0; font-size: 16px; padding: 12px; }
.work-time-dialog form small, .work-time-dialog .work-time-note { font-size: 12px; line-height: 1.6; color: #98a5ba; }
.work-time-dialog .work-time-note { margin: 18px 0; }
.work-time-dialog > .text-action { display: block; margin: auto; }
.work-time-dialog .work-time-error { color: #ffa6b4; font-size: 13px; margin: 0; }
.work-time-dialog [hidden] { display: none !important; }
@media (max-width: 480px) { .work-time-dialog { padding: 20px; } .work-time-now strong { font-size: 24px; } }

/* ============================================================
   Refined dialogs — Add task (#new-task-form) & Task detail (.task-details)
   Concise headers, calm sentence-case labels, softer inputs, open
   property rows instead of nested boxes, and a tidy footer.
   ============================================================ */

/* Shell: one elevated surface, soft border, refined shadow */
#new-task-form,
.task-details {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface-raised);
  box-shadow: 0 24px 70px -12px rgba(0, 0, 0, .7), inset 0 0 0 1px rgba(255, 255, 255, .02);
}
#new-task-form { width: min(560px, 100%); padding: 0; overflow: auto; }
.task-details { width: min(600px, 100%); padding: 24px; }

/* Concise header: title + close only */
#new-task-form .modal-heading { padding: 22px 24px 18px; align-items: center; }
#new-task-form .modal-heading h2 { margin: 0; font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.task-details-head { align-items: center; padding-bottom: 16px; }
.task-details-head .detail-status { display: none; }         /* duplicate of the signals row */
.task-detail-signals > .detail-status { display: none; }      /* and its echo in the signals row */

/* Neutral circular close button */
#new-task-form .icon-button,
.task-details .icon-button {
  display: grid; place-items: center;
  width: 32px; height: 32px; min-height: 0; padding: 0;
  border: 1px solid transparent; border-radius: 50%;
  background: transparent; color: var(--text-muted);
  font-size: 20px; font-weight: 400; line-height: 1;
}
#new-task-form .icon-button:hover,
.task-details .icon-button:hover { background: var(--surface-soft); color: var(--text); border-color: var(--border); }

/* Content padding for the add-task body */
#new-task-form .modal-fields { padding: 20px 24px 4px; }

/* Calm, sentence-case labels — no more shouting */
#new-task-form .field,
.task-details .field,
.task-details .task-property > span,
.task-details .task-assignees-property summary > span,
.task-details .section-label,
.task-details .task-schedule-summary span:first-child {
  color: var(--text-muted); font-size: 12px; font-weight: 500;
  letter-spacing: 0; text-transform: none;
}
#new-task-form .field,
.task-details .field { gap: 7px; margin: 14px 0; }

/* Refined inputs: consistent height, radius, soft accent focus ring */
#new-task-form input,
#new-task-form select,
#new-task-form textarea,
.task-details input,
.task-details select:not([multiple]),
.task-details textarea {
  min-height: 40px; padding: 9px 12px;
  border: 1px solid var(--border); border-radius: 9px;
  background: var(--surface-soft); color: var(--text); font-weight: 400;
}
#new-task-form textarea,
.task-details textarea { min-height: 96px; line-height: 1.55; }
#new-task-form input:focus,
#new-task-form select:focus,
#new-task-form textarea:focus,
.task-details input:focus,
.task-details select:focus,
.task-details textarea:focus {
  outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft);
}

/* The title is not a boxed field */
.task-details .task-title-input,
.task-details .task-title-input:focus {
  min-height: 0; padding: 2px 0; border: 0; background: transparent; box-shadow: none;
  font-size: 1.4rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3;
  resize: none; overflow: hidden;
}

/* "Add description / planning details" as a quiet inline control */
#new-task-form .new-task-options { margin-top: 8px; border: 0; }
#new-task-form .new-task-options > summary {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 36px; padding: 0; list-style: none;
  color: var(--accent); font-size: 13px; font-weight: 500;
}
#new-task-form .new-task-options > summary::-webkit-details-marker { display: none; }
#new-task-form .new-task-options > summary::before { content: "＋"; }
#new-task-form .new-task-options[open] > summary::before { content: "－"; }

/* Footer: hairline separator, soft ground, right-aligned actions */
#new-task-form .modal-footer,
.task-details .task-save-bar {
  margin: 12px 0 0; padding: 16px 24px;
  border-top: 1px solid var(--border); background: var(--surface-soft);
}
.task-details .task-save-bar { margin: 16px -24px 0; bottom: -24px; }
#new-task-form button[type="submit"],
#new-task-form .primary-action,
.task-details button[type="submit"] { font-weight: 600; border-radius: 9px; padding: 9px 16px; }
#new-task-form button.secondary { font-weight: 500; border-radius: 9px; }

/* ---- Task detail: signals, property rows, schedule ---- */
.task-breadcrumb { font-size: 12px; }
.task-detail-signals { gap: 6px; margin: 12px 0 2px; }
.task-detail-signals .pill,
.task-detail-signals .task-schedule-signal,
.task-detail-signals .estimate-pill { padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 500; }

/* Open property rows instead of nested boxes */
.task-details .task-property-grid { gap: 8px 16px; margin: 16px 0 4px; }
.task-details .task-property { padding: 0; border: 0; background: transparent; gap: 6px; }
.task-details .task-assignees-property {
  padding: 9px 11px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft);
}
.task-details .task-assignees-property summary { padding: 0; }

/* Proper round avatars with a gap */
.task-details .task-person-identity { display: inline-flex; align-items: center; gap: 7px; }
.task-details .task-person-avatar {
  display: grid; place-items: center; flex: 0 0 auto;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--accent-soft); color: var(--accent-strong); font-size: 11px; font-weight: 600;
}

/* Schedule: quiet card with tidy chips */
.task-details .task-schedule-summary {
  margin: 14px 0 4px; padding: 12px 14px;
  border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft);
}
.task-details .task-schedule-actions button {
  min-height: 30px; padding: 5px 11px; border-radius: 8px;
  border: 1px solid var(--border); background: var(--surface-raised);
  color: var(--text-muted); font-size: 12px; font-weight: 500;
}
.task-details .task-schedule-actions button:hover { color: var(--text); border-color: var(--border-strong); }
.task-details .task-complete-button { border-radius: 9px; font-weight: 500; }
.task-details .task-status-control select { border-radius: 9px; }
.task-details .section-heading { margin-bottom: 10px; }
.task-details .comment { border: 0; border-left: 2px solid var(--border-strong); border-radius: 0; padding: 6px 0 6px 12px; background: transparent; }
/* Recruiting candidate review keeps sensitive workflow controls legible inside the shared modal system. */
.recruiting-candidate-card { gap: 10px; }
.recruiting-candidate-open { display: grid; gap: 4px; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; box-shadow: none; }
.recruiting-candidate-open:hover { transform: none; color: var(--text); }
.recruiting-card-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.recruiting-card-tags span { border: 1px solid color-mix(in srgb, var(--tag-color) 65%, var(--border)); border-radius: 999px; color: var(--text-muted); font-size: .72rem; padding: 2px 7px; }
.recruiting-candidate-modal { max-height: min(88vh, 920px); overflow: auto; }
.recruiting-candidate-review-summary { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.recruiting-candidate-review-summary > span, .recruiting-stage-move-summary > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accent-soft); color: var(--accent-strong); font-size: .68rem; font-weight: 750; }
.recruiting-candidate-review-summary small { color: var(--text-subtle); font-size: .7rem; }
.recruiting-candidate-details { gap: 16px; }
.new-task-modal.recruiting-candidate-modal { display: flex; flex-direction: column; width: min(820px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow: hidden; padding: 0; border-radius: 20px; background: #121a25; box-shadow: 0 30px 100px #0007; }
.recruiting-candidate-modal > .modal-heading { display: flex; align-items: center; gap: 16px; flex-shrink: 0; padding: 24px 28px; margin: 0; border-bottom: 1px solid var(--border); background: linear-gradient(120deg, #31361d, #151d28 70%); }
.recruiting-candidate-modal .modal-heading > div { flex: 1; min-width: 0; }
.recruiting-candidate-modal .modal-heading h2 { margin: 4px 0 5px; font-size: 24px; letter-spacing: -.035em; overflow-wrap: anywhere; }
.recruiting-candidate-modal .modal-heading p { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.recruiting-candidate-modal .eyebrow { font-size: 10px; letter-spacing: .12em; color: #dfeea9; }
.recruiting-candidate-modal .candidate-profile-avatar { display: grid; place-items: center; flex: 0 0 52px; height: 52px; border-radius: 16px; background: #daee941c; border: 1px solid #daee9444; color: #e9f5c0; font-size: 17px; font-weight: 700; }
.recruiting-candidate-modal .modal-heading .icon-button { width: 32px; height: 32px; min-height: 32px; padding: 0; border-radius: 9px; background: #ffffff07; border: 1px solid var(--border); color: var(--text-muted); font-size: 23px; align-self: flex-start; }
.recruiting-candidate-modal .recruiting-candidate-review-summary { margin-top: 7px; }
.recruiting-candidate-modal > .recruiting-candidate-details { display: grid; grid-template-columns: minmax(0, 1fr); overflow-y: auto; min-height: 0; padding: 22px 28px; gap: 22px; }
.recruiting-candidate-modal .recruiting-candidate-details > section { border: 0; margin: 0; padding: 0; min-width: 0; }
.recruiting-candidate-modal .recruiting-candidate-details h3 { margin: 0 0 6px; font-size: 14px; font-weight: 650; }
.recruiting-candidate-modal .candidate-section-hint { margin: 0 0 14px; color: var(--text-subtle); font-size: 12px; line-height: 1.5; }
.candidate-properties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: #101620; }
.recruiting-candidate-modal .field { display: grid; gap: 7px; margin: 0; font-size: 11px; font-weight: 500; color: var(--text-muted); }
.recruiting-candidate-modal select, .recruiting-candidate-modal .app-select-trigger, .recruiting-candidate-modal textarea { min-height: 36px; padding: 9px 11px; border-radius: 8px; font-size: 12px; margin: 0; }
.recruiting-candidate-modal textarea { min-height: 68px; resize: vertical; }
.candidate-reason { grid-column: 1 / -1; }
.candidate-reason > .muted { font-size: 10px; margin-top: -4px; color: var(--text-subtle); }
.candidate-choice-group { min-width: 0; margin: 0; padding: 10px 0 0; border: 0; border-top: 1px solid var(--border); }
.candidate-choice-group legend { padding: 0 6px 0 0; color: var(--text-muted); font-size: 11px; }
.candidate-choice-group .candidate-section-hint { margin: 0; font-size: 11px; }
.recruiting-candidate-modal .candidate-choice { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; margin: 0 4px 5px 0; border: 1px solid var(--border); border-radius: 7px; font-size: 12px; cursor: pointer; }
.candidate-choice:has(input:checked) { background: #daee941a; border-color: #daee9480; color: #eff7d0; }
.recruiting-candidate-modal .candidate-choice input { width: 13px; height: 13px; margin: 0; accent-color: #daee94; }
.recruiting-candidate-modal [hidden] { display: none !important; }
.recruiting-candidate-modal .recruiting-activity { margin-top: 10px; gap: 7px; max-height: 260px; overflow-y: auto; }
.recruiting-candidate-modal .recruiting-activity li { padding: 12px 14px; border: 1px solid var(--border); border-radius: 9px; font-size: 12px; overflow-wrap: anywhere; }
.recruiting-candidate-modal .recruiting-activity small { font-size: 11px; line-height: 1.5; }
.recruiting-candidate-modal .candidate-file-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.recruiting-candidate-modal .candidate-file-actions .secondary { min-height: 30px; padding: 6px 10px; font-size: 11px; }
.recruiting-candidate-modal .candidate-operations { padding: 16px !important; border: 1px solid var(--border) !important; border-radius: 12px; background: linear-gradient(135deg, #222615 0%, #101720 62%); }
.recruiting-candidate-modal .candidate-operations > h3 { color: #f5fae2; }
.candidate-operation-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.candidate-operation-form .candidate-operation-wide { grid-column: 1 / -1; }
.candidate-operation-form button { justify-self: start; min-height: 32px; padding: 7px 12px; border-radius: 8px; font-size: 12px; }
.recruiting-candidate-modal #recruiting-note-form button { justify-self: end; padding: 7px 12px; min-height: 32px; font-size: 12px; background: #daee9419; color: #eff7d0; border: 1px solid #daee9444; border-radius: 8px; }
.candidate-review-footer { display: flex; align-items: center; gap: 9px; flex-shrink: 0; padding: 16px 28px; border-top: 1px solid var(--border); background: #151e29; }
.candidate-review-footer .error { margin: 0 auto 0 0; font-size: 12px; }
.candidate-review-footer button { padding: 9px 15px; min-height: 36px; font-size: 12px; border-radius: 9px; flex-shrink: 0; }
@media (max-width: 600px) {
  .new-task-modal.recruiting-candidate-modal { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 14px; }
  .recruiting-candidate-modal > .modal-heading, .recruiting-candidate-modal > .recruiting-candidate-details, .candidate-review-footer { padding: 16px; }
  .recruiting-candidate-modal .candidate-profile-avatar { flex-basis: 38px; height: 38px; border-radius: 11px; font-size: 13px; }
  .recruiting-candidate-modal .modal-heading h2 { font-size: 20px; }
  .candidate-properties { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .candidate-operation-form { grid-template-columns: minmax(0, 1fr); }
  .candidate-operation-form .candidate-operation-wide { grid-column: auto; }
  .candidate-review-footer { flex-wrap: wrap; justify-content: flex-end; }
  .candidate-review-footer .error:not(:empty) { width: 100%; }
}
.recruiting-candidate-details section { border-top: 1px solid var(--border); padding-top: 16px; }
.recruiting-candidate-details h3 { margin: 0 0 10px; font-size: 1rem; }
.recruiting-activity { display: grid; gap: 9px; margin: 0 0 12px; padding: 0; list-style: none; }
.recruiting-activity li { display: grid; gap: 3px; border-radius: 8px; background: var(--surface-soft); padding: 10px; }
.recruiting-activity small { color: var(--text-muted); }
#recruiting-note-form { display: grid; gap: 8px; }
#recruiting-note-form textarea { min-height: 82px; }
.recruiting-stage-move-modal { width: min(500px, calc(100vw - 32px)); }
.recruiting-stage-move-summary { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.recruiting-stage-move-summary div { display: grid; gap: 3px; }
.recruiting-stage-move-summary small { color: var(--text-muted); font-size: .74rem; }
.recruiting-form-field { display: grid; gap: .65rem; min-width: 0; margin: 1rem 0; }
.recruiting-form-field small { color: var(--muted); }
.recruiting-choice { display: flex; align-items: center; gap: .65rem; }
.recruiting-choice input { width: auto; flex: 0 0 auto; }
.recruiting-question-builder { min-width: 0; grid-column: 1 / -1; }
.recruiting-activity li > span { white-space: pre-wrap; }
#recruiting-job-form, #recruiting-job-edit-form { max-height: 90dvh; overflow-y: auto; width: min(900px, calc(100vw - 32px)); }
.recruiting-question-row { margin: 1rem 0; padding: 1rem; border: 1px solid #344052; border-radius: 12px; min-width: 0; }
.recruiting-question-row legend { padding: 0 .5rem; font-weight: 600; }
.recruiting-question-row [hidden] { display: none; }
.recruiting-question-row .row { flex-wrap: wrap; }
[data-preview-panel] { padding: 1rem; border: 1px solid #344052; border-radius: 12px; margin-top: 1rem; }

/* Recruiting: quiet dialog chrome, a scrollable body, and compact form cards. */
#recruiting-job-form.recruiting-job-dialog,
#recruiting-job-edit-form.recruiting-job-dialog {
  display: flex; flex-direction: column; width: min(800px, calc(100vw - 32px));
  max-height: min(900px, calc(100dvh - 48px)); padding: 0; overflow: hidden;
  border-radius: 20px; background: var(--surface, #111822);
}
.recruiting-job-dialog > .modal-heading { flex: 0 0 auto; padding: 24px 28px 20px; gap: 20px; }
.recruiting-job-dialog .modal-heading h2 { font-size: 1.5rem; margin: 4px 0 6px; }
.recruiting-job-dialog .modal-heading .eyebrow { font-size: .65rem; }
.recruiting-job-dialog .modal-heading p { max-width: 540px; font-size: .8rem; color: var(--text-muted); }
.recruiting-job-dialog .modal-heading .icon-button { width: 32px; height: 32px; min-height: 32px; padding: 0; flex: 0 0 auto; background: transparent; border: 1px solid var(--border); border-radius: 9px; color: var(--text-muted); font-size: 1.2rem; }
.recruiting-job-dialog > .modal-fields { overflow-y: auto; min-height: 0; padding: 24px 28px; overscroll-behavior: contain; scrollbar-gutter: stable; }
.recruiting-job-basics { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.recruiting-basics-heading, .recruiting-wide-field { grid-column: 1 / -1; }
.recruiting-section-kicker { display: block; color: var(--accent); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
.recruiting-job-dialog h3 { margin: 0; font-size: 1rem; letter-spacing: -.02em; }
.recruiting-job-dialog .field { display: grid; gap: 7px; margin: 0; color: var(--text-muted); font-size: .76rem; font-weight: 600; min-width: 0; }
.recruiting-job-dialog input:not([type="checkbox"]), .recruiting-job-dialog select, .recruiting-job-dialog textarea { width: 100%; min-width: 0; margin: 0; padding: 10px 12px; min-height: 40px; border-radius: 9px; font-size: .82rem; font-weight: 400; background: var(--bg, #0d131c); }
.recruiting-job-dialog textarea { min-height: 96px; resize: vertical; }
.recruiting-job-dialog .optional { display: inline; color: var(--text-subtle); font-size: .68rem; font-weight: 400; }
.recruiting-job-dialog label:has(> .optional) { position: relative; }
.recruiting-job-dialog label > .optional { position: absolute; right: 0; top: 0; }
.recruiting-job-dialog label.consent { display: flex; align-items: center; gap: 10px; margin: 0; font-size: .78rem; color: var(--text-muted); }
.recruiting-job-dialog input[type="checkbox"] { width: 16px; height: 16px; min-height: 0; margin: 0; flex: 0 0 auto; accent-color: var(--accent); }
.recruiting-job-dialog .recruiting-cv-option { border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; background: var(--surface-soft); }
.recruiting-job-dialog .recruiting-question-builder { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--border); }
.recruiting-job-dialog .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.recruiting-job-dialog .section-heading p { margin: 7px 0 0; font-size: .74rem; line-height: 1.5; }
.recruiting-job-dialog button.secondary { font-size: .74rem; padding: 8px 12px; min-height: 34px; border-radius: 8px; white-space: nowrap; }
.recruiting-builder-empty { display: grid; justify-items: center; gap: 8px; padding: 24px 16px; border: 1px dashed var(--border-strong); border-radius: 12px; background: var(--surface-soft); text-align: center; }
.recruiting-builder-empty > span { color: var(--accent); font-size: 1.5rem; }
.recruiting-builder-empty strong { font-size: .85rem; }
.recruiting-builder-empty p { margin: 0 0 5px; color: var(--text-muted); font-size: .75rem; }
.recruiting-job-dialog .recruiting-question-row { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 14px; padding: 16px; margin: 16px 0; border-color: var(--border); background: var(--surface-soft); }
.recruiting-question-row legend { font-size: .68rem; color: var(--text-subtle); text-transform: uppercase; letter-spacing: .06em; }
.recruiting-job-dialog .recruiting-question-row > label:nth-of-type(3), .recruiting-job-dialog [data-options-field] { grid-column: 1 / -1; }
.recruiting-job-dialog .recruiting-question-row .row { justify-content: flex-end; gap: 5px; }
.recruiting-job-dialog .recruiting-question-row .row button { padding: 5px 7px; min-height: 28px; font-size: .65rem; }
.recruiting-builder-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.recruiting-builder-bottom small { color: var(--text-subtle); font-size: .68rem; }
.recruiting-job-dialog [data-builder-notice]:empty, .recruiting-job-dialog .error:empty { display: none; }
.recruiting-job-dialog [hidden] { display: none !important; }
.recruiting-job-dialog > .modal-footer { flex: 0 0 auto; flex-wrap: wrap; align-items: center; border-top: 1px solid var(--border); padding: 16px 28px; gap: 12px; background: var(--surface-soft); }
.recruiting-save-hint { color: var(--text-subtle); font-size: .7rem; margin-right: auto; }
.recruiting-job-dialog .modal-footer .error:not(:empty) { flex-basis: 100%; order: -1; font-size: .78rem; }
.recruiting-job-dialog .modal-footer .row { margin: 0; gap: 8px; }
.recruiting-job-dialog .modal-footer button[type="submit"] { padding: 9px 16px; min-height: 36px; font-size: .78rem; border-radius: 9px; }
@media (max-width: 600px) {
  #recruiting-job-form.recruiting-job-dialog, #recruiting-job-edit-form.recruiting-job-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 14px; }
  .recruiting-job-dialog > .modal-heading, .recruiting-job-dialog > .modal-fields, .recruiting-job-dialog > .modal-footer { padding: 16px; }
  .recruiting-job-basics, .recruiting-job-dialog .recruiting-question-row { grid-template-columns: minmax(0, 1fr); }
  .recruiting-job-dialog .section-heading { align-items: flex-start; flex-wrap: wrap; }
  .recruiting-job-dialog .recruiting-question-row .row { justify-content: flex-start; }
  .recruiting-save-hint { display: none; }
  .recruiting-job-dialog > .modal-footer { justify-content: flex-end; }
}
/* Recruiting overview: compact job context and a continuous stage pipeline. */
.recruiting-main { min-width: 0; }
.recruiting-main .recruiting-heading { margin: 0 0 26px; align-items: center; }
.recruiting-main .recruiting-heading h2 { margin: 6px 0 8px; font-size: 1.8rem; letter-spacing: -.045em; }
.recruiting-main .recruiting-heading p { margin: 0; font-size: .85rem; }
.recruiting-main .recruiting-heading .eyebrow { font-size: .64rem; color: var(--accent); }
.recruiting-main button { border-radius: 9px; }
.recruiting-main #new-recruiting-job { font-size: .8rem; padding: 10px 16px; }
.recruiting-main .recruiting-toolbar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 14px; margin: 0; padding: 18px 20px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-soft); }
.recruiting-toolbar .field { margin: 0; display: grid; gap: 6px; color: var(--text-subtle); font-size: .67rem; font-weight: 600; }
.recruiting-toolbar select { margin: 0; min-height: 38px; max-width: 320px; padding: 8px 32px 8px 12px; font-size: .8rem; border-radius: 8px; }
.recruiting-main .recruiting-job-actions { margin: 0 0 0 auto; gap: 8px; flex-wrap: wrap; }
.recruiting-job-actions button, .recruiting-more summary { font-size: .75rem; padding: 9px 12px; min-height: 36px; }
.recruiting-more { position: relative; }
.recruiting-more summary { list-style: none; cursor: pointer; color: var(--text-muted); border: 1px solid var(--border); border-radius: 8px; display: flex; align-items: center; gap: 12px; }
.recruiting-more summary::-webkit-details-marker { display: none; }
.recruiting-more summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.recruiting-more-menu { position: absolute; z-index: 12; right: 0; top: calc(100% + 8px); width: 190px; padding: 6px; border: 1px solid var(--border-strong); border-radius: 10px; background: #171e29; box-shadow: 0 16px 40px #0005; }
.recruiting-more-menu button { display: block; width: 100%; border: 0; background: transparent; text-align: left; border-radius: 6px; }
.recruiting-more-menu button:hover { background: var(--surface-soft); }
.recruiting-more-menu #close-recruiting-job, .recruiting-more-menu #archive-recruiting-job { color: #eea3ab; }
.recruiting-job-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 26px 0 16px; }
.recruiting-job-summary > div { margin-right: auto; }
.recruiting-job-summary h3 { margin: 0 0 5px; font-size: 1.1rem; letter-spacing: -.02em; }
.recruiting-job-summary p { margin: 0; color: var(--text-subtle); font-size: .75rem; }
.recruiting-status, .recruiting-total { font-size: .68rem; padding: 5px 9px; border-radius: 6px; color: var(--text-muted); background: var(--surface-soft); }
.recruiting-status[data-status="PUBLISHED"] { background: #16302a; color: #86d3b0; }
.recruiting-main > .field-hint { margin: 0 0 18px; font-size: .74rem; }
.recruiting-main .board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); grid-template-columns: none; gap: 16px; overflow-x: auto; padding: 3px 3px 18px; align-items: stretch; }
.recruiting-main .board > .column { min-width: 0; min-height: 320px; padding: 14px; border: 1px solid var(--stage-color, var(--border)); border-top-width: 3px; border-radius: 14px; background: linear-gradient(180deg, color-mix(in srgb, var(--stage-color, #daee94) 8%, #101620), #101620 150px); box-shadow: 0 6px 18px #0002; }
.recruiting-main .column > h3 { display: flex; align-items: center; gap: 9px; padding: 2px 0 14px; margin: 0 0 16px; border-bottom: 1px solid color-mix(in srgb, var(--stage-color) 25%, var(--border)); font-size: .8rem; overflow-wrap: anywhere; }
.recruiting-main .column > h3::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--stage-color); }
.recruiting-main .column .count { margin-left: auto; flex-shrink: 0; font-size: .68rem; min-width: 25px; padding: 3px 7px; text-align: center; color: color-mix(in srgb, var(--stage-color) 55%, white); border: 1px solid color-mix(in srgb, var(--stage-color) 30%, transparent); background: color-mix(in srgb, var(--stage-color) 12%, #101620); border-radius: 7px; }
.recruiting-main .recruiting-stage-empty { margin: 0; padding: 25px 10px; border: 1px dashed color-mix(in srgb, var(--stage-color) 28%, var(--border)); border-radius: 10px; text-align: center; font-size: .72rem; color: var(--text-subtle); background: #10162055; }
.recruiting-main .recruiting-candidate-card { display: grid; gap: 14px; margin: 0 0 12px; padding: 14px; border: 1px solid color-mix(in srgb, var(--stage-color) 48%, #354154); border-radius: 11px; background: #192230; box-shadow: 0 3px 9px #0003; transition: border-color .15s, background .15s, box-shadow .15s; }
.recruiting-main .recruiting-candidate-card:hover, .recruiting-main .recruiting-candidate-card:focus-within { border-color: var(--stage-color); background: #1d2939; box-shadow: 0 5px 16px #0004; }
.recruiting-main .recruiting-candidate-open { gap: 6px; min-width: 0; padding: 2px; background: transparent; border: 0; line-height: 1.45; }
.recruiting-main .recruiting-candidate-open { grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; }
.recruiting-main .recruiting-candidate-avatar { grid-row: span 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: color-mix(in srgb, var(--stage-color) 62%, white); background: color-mix(in srgb, var(--stage-color) 16%, #101923); border: 1px solid color-mix(in srgb, var(--stage-color) 38%, transparent); font-size: .7rem; font-weight: 750; letter-spacing: .04em; }
.recruiting-main .recruiting-candidate-submitted { color: var(--text-subtle); }
.recruiting-main .recruiting-candidate-open:focus-visible { outline: 2px solid var(--stage-color); outline-offset: 4px; }
.recruiting-main .recruiting-candidate-card strong { font-size: .84rem; font-weight: 650; overflow-wrap: anywhere; }
.recruiting-main .recruiting-candidate-card small { font-size: .7rem; font-weight: 400; color: var(--text-muted); overflow-wrap: anywhere; }
.recruiting-main .recruiting-card-tags:empty { display: none; }
.recruiting-main .recruiting-candidate-card select, .recruiting-main .recruiting-candidate-card .app-select-trigger { min-height: 38px; font-size: .72rem; padding: 8px 10px; background: #101923; border: 1px solid #354154; color: var(--text-muted); }
.recruiting-main .recruiting-candidate-card .app-select-trigger:hover, .recruiting-main .recruiting-candidate-card .app-select-trigger:focus-visible { border-color: var(--stage-color); color: var(--text); }
.recruiting-empty-state { display: flex; align-items: center; gap: 16px; margin-top: 22px; padding: 24px; border: 1px dashed var(--border-strong); border-radius: 14px; background: linear-gradient(120deg, #171e2a, var(--surface-soft)); }
.recruiting-empty-icon { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; color: var(--accent-strong); background: var(--accent-soft); font-size: 1.3rem; font-weight: 600; }
.recruiting-empty-state > div:nth-child(2) { min-width: 0; margin-right: auto; }
.recruiting-empty-state h3 { margin: 5px 0 4px; font-size: 1rem; }
.recruiting-empty-state p { margin: 0; color: var(--text-muted); font-size: .76rem; }
.recruiting-empty-state .row { flex: 0 0 auto; }
@media (prefers-reduced-motion: reduce) { .recruiting-main .recruiting-candidate-card { transition: none; } }
.recruiting-main #recruiting-report { margin: 0 0 18px; padding: 18px; }
.recruiting-main #recruiting-report[hidden] { display: none; }
.recruiting-report-stages { display: flex; gap: 12px; flex-wrap: wrap; }
.recruiting-report-stages span { font-size: .75rem; padding: 8px 12px; background: var(--surface-soft); border-radius: 8px; }
@media (max-width: 700px) {
  .recruiting-main .recruiting-toolbar { padding: 14px; gap: 12px; }
  .recruiting-toolbar .field { flex: 1 1 140px; min-width: 0; }
  .recruiting-toolbar select { width: 100%; max-width: 100%; }
  .recruiting-main .recruiting-job-actions { margin: 0; width: 100%; }
  .recruiting-job-summary > div { width: 100%; }
  .recruiting-main .board { grid-auto-columns: minmax(240px, 82vw); }
}
.recruiting-candidate-filters { margin: 0 0 18px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.recruiting-search-row, .recruiting-filter-row { display: flex; flex-wrap: wrap; gap: 12px; }
.recruiting-filter-row { margin-top: 12px; }
.recruiting-candidate-filters .field { display: grid; gap: 6px; margin: 0; min-width: 130px; flex: 1; font-size: .68rem; color: var(--text-subtle); }
.recruiting-candidate-filters .recruiting-search { flex: 3; }
.recruiting-candidate-filters input, .recruiting-candidate-filters select { width: 100%; min-width: 0; margin: 0; padding: 8px 10px; min-height: 36px; font-size: .78rem; border-radius: 8px; }
.recruiting-filter-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: .72rem; color: var(--text-muted); }
.recruiting-filter-result button { padding: 5px 9px; font-size: .7rem; }
.recruiting-main .recruiting-candidate-card[hidden], .recruiting-main .recruiting-stage-empty[hidden], .recruiting-no-results[hidden] { display: none; }
.recruiting-no-results { margin: 12px 0 0; padding: 12px; border: 1px dashed var(--border); border-radius: 8px; font-size: .78rem; color: var(--text-muted); }
.pipeline-settings { width: min(850px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: hidden; padding: 0; margin: auto; border: 1px solid #303d50; border-radius: 20px; background: #111821; color: #edf0f7; box-shadow: 0 24px 100px #0008; }
.pipeline-settings::backdrop { background: #050910b8; backdrop-filter: blur(5px); }
.pipeline-settings form { display: flex; flex-direction: column; max-height: calc(100dvh - 34px); }
.pipeline-settings header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 24px 28px; border-bottom: 1px solid #293445; }
.pipeline-settings h2 { font-size: 24px; margin: 6px 0; }
.pipeline-settings p { color: #9aa6b9; font-size: 14px; margin: 6px 0; line-height: 1.6; }
.pipeline-settings-body { padding: 24px 28px; overflow-y: auto; min-height: 0; display: grid; gap: 18px; }
.pipeline-settings .field { display: grid; gap: 8px; font-size: 12px; min-width: 0; margin: 0; }
.pipeline-settings .pipeline-color { margin: 0; position: relative; }
.pipeline-settings input, .pipeline-settings select { width: 100%; min-width: 0; box-sizing: border-box; font-size: 14px; padding: 10px 12px; }
.pipeline-settings-guidance { border-top: 1px solid #293445; padding-top: 18px; }
.pipeline-settings-guidance strong { font-size: 15px; }
.pipeline-column-editor { display: grid; grid-template-columns: 16px 30px minmax(120px, 1fr) minmax(150px, 1fr) auto; gap: 12px; align-items: end; padding: 14px 0; border-bottom: 1px solid #263140; }
.pipeline-column-number { color: #8995a9; align-self: center; font-size: 12px; }
.pipeline-settings .pipeline-color input { width: 30px; height: 40px; padding: 3px; cursor: pointer; }
.pipeline-column-actions { display: flex; gap: 4px; }
.pipeline-column-actions button { padding: 9px; min-width: 32px; font-size: 16px; }
.pipeline-settings [data-add] { justify-self: start; }
.pipeline-settings footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 28px; border-top: 1px solid #293445; }
.pipeline-settings [data-error] { color: #f7b3b9; }
.pipeline-settings footer .row { flex-shrink: 0; }
.pipeline-settings header, .pipeline-settings footer { flex-shrink: 0; }
@media (max-width: 640px) {
  .pipeline-settings header, .pipeline-settings-body, .pipeline-settings footer { padding: 18px; }
  .pipeline-column-editor { grid-template-columns: 16px 30px minmax(0, 1fr); gap: 8px; }
  .pipeline-column-editor > .field:nth-of-type(3) { grid-column: 3; }
  .pipeline-column-actions { grid-column: 3; justify-content: flex-end; }
  .pipeline-settings footer { flex-wrap: wrap; }
  .pipeline-settings footer .row { margin-left: auto; }
}

/* Documentation: a calm split view that keeps the current space and page context visible. */
.documentation-main { padding: 34px; max-width: 1480px; width: 100%; margin: 0 auto; box-sizing: border-box; }
.documentation-header { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.documentation-header h2 { margin: 5px 0 7px; font-size: clamp(28px, 3vw, 40px); }
.documentation-header p { margin: 0; }
.documentation-load-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 780px; margin: 0 0 16px; padding: 13px 16px; border: 1px solid #70424b; border-radius: 12px; background: #291c24; color: #f0c2ca; }.documentation-load-error div { display: grid; gap: 3px; }.documentation-load-error strong { color: #ffe1e5; }.documentation-load-error span { font-size: 13px; }
.documentation-create-backdrop { z-index: 90; }
.documentation-create-dialog { width: min(500px, 100%); padding: 0; overflow: hidden; }
.documentation-create-dialog .modal-heading { align-items: flex-start; padding: 22px 24px 18px; background: linear-gradient(130deg, #32391b, #171f2b 66%); }
.documentation-create-dialog .modal-heading h2 { margin: 4px 0 6px; }
.documentation-create-dialog .modal-heading p { max-width: 360px; }
.documentation-create-dialog .modal-fields { display: grid; gap: 14px; padding: 22px 24px; }
.documentation-create-dialog .field { margin: 0; }
.documentation-create-dialog input { min-height: 42px; }
.documentation-create-dialog .modal-footer { padding: 14px 24px 18px; border-top: 1px solid var(--border); background: var(--surface-raised); }
.documentation-create-dialog .modal-footer .secondary { margin-left: auto; }
.documentation-create-hint { margin: 0; color: var(--text-muted); font-size: .78rem; line-height: 1.55; }
.documentation-create-dialog .error:empty { display: none; }
.documentation-search { display: flex; gap: 10px; margin: 0 0 16px; max-width: 660px; }.documentation-search input { flex: 1; min-width: 0; }.documentation-search button { flex: 0 0 auto; }
.documentation-search-summary { display: flex; align-items: center; gap: 10px; margin: -4px 0 16px; color: #98a7bb; font-size: 13px; }.documentation-search-summary strong { color: #e7edf6; }.documentation-search-summary .text-action { margin-left: auto; }
.documentation-workspace { min-height: 620px; display: grid; grid-template-columns: minmax(230px, 290px) minmax(0, 1fr); border: 1px solid #29374b; border-radius: 18px; overflow: hidden; background: #101721; box-shadow: 0 18px 50px #02050a33; }
.documentation-sidebar { padding: 18px 12px; border-right: 1px solid #29374b; background: linear-gradient(180deg, #151d29, #101721); display: flex; flex-direction: column; gap: 5px; }
.documentation-sidebar-label, .documentation-sidebar-heading { color: #8c9ab0; font-size: 11px; letter-spacing: .12em; font-weight: 800; text-transform: uppercase; padding: 8px 10px; }
.documentation-sidebar-heading { margin-top: 18px; border-top: 1px solid #263347; padding-top: 18px; display: flex; justify-content: space-between; }
.documentation-space, .documentation-page-link { appearance: none; border: 0; background: transparent; color: #b6c2d5; text-align: left; width: 100%; cursor: pointer; border-radius: 9px; transition: background .16s ease, color .16s ease; }
.documentation-space { display: flex; align-items: center; gap: 10px; padding: 10px; font-weight: 700; }
.documentation-space span { color: #ddef9b; font-size: 17px; width: 16px; }
.documentation-space:hover, .documentation-page-link:hover { background: #1b2636; color: #f2f5fb; }
.documentation-space.active, .documentation-page-link.active { background: #383e21; color: #f6fbe3; box-shadow: inset 2px 0 #dff0a1; }
.documentation-page-list { display: grid; gap: 3px; }
.documentation-page-link { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: 9px; align-items: start; padding: 10px 10px 10px calc(10px + var(--documentation-depth, 0) * 14px); }
.documentation-page-link strong, .documentation-page-link small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.documentation-page-link strong { font-size: 13px; }
.documentation-page-link small { color: #8290a6; margin-top: 4px; font-size: 11px; }
.documentation-page-status { width: 7px; height: 7px; margin-top: 5px; border-radius: 99px; background: #7e8ca2; }.documentation-page-status.published { background: #62d6a4; }.documentation-page-status.draft { background: #dff0a1; }
.documentation-empty-list { padding: 20px 11px; display: grid; gap: 5px; color: #8e9bb0; font-size: 13px; }.documentation-empty-list strong { color: #dbe3ef; }
.documentation-detail { min-width: 0; padding: clamp(24px, 4vw, 54px); background: radial-gradient(circle at top right, #1c2638 0, #111821 43%); }
.documentation-editor { max-width: 850px; display: grid; gap: 20px; }.documentation-editor-top { display: flex; justify-content: space-between; gap: 20px; align-items: start; }.documentation-editor-top p { margin: 7px 0 0; }.documentation-editor input { font-size: 26px; font-weight: 750; }.documentation-editor textarea { min-height: 390px; line-height: 1.65; resize: vertical; }.documentation-editor-actions { display: flex; align-items: end; justify-content: space-between; gap: 16px; }.compact-field { width: 160px; }.documentation-status { padding: 6px 10px; border-radius: 99px; font-size: 11px; font-weight: 800; letter-spacing: .06em; background: #222d3d; color: #aebcd1; }.documentation-status.published { background: #123c31; color: #78dfb2; }.documentation-status.draft { background: #434a28; color: #e6f3b5; }
.documentation-readonly { padding: 13px 15px; border: 1px solid #314156; border-radius: 10px; color: #9eacc1; background: #111a26; }.documentation-empty-detail { max-width: 480px; min-height: 460px; display: grid; place-content: center; text-align: center; gap: 10px; color: #94a2b7; }.documentation-empty-detail > span { width: 56px; height: 56px; display: grid; place-items: center; margin: 0 auto 6px; border-radius: 16px; color: #e5f3b3; background: #394022; font-size: 26px; }.documentation-empty-detail h2, .documentation-empty-detail p { margin: 0; }.documentation-empty-detail h2 { color: #edf1f7; }.documentation-empty-detail button { justify-self: center; margin-top: 10px; }
@media (max-width: 780px) { .documentation-main { padding: 22px 16px; }.documentation-workspace { grid-template-columns: 1fr; }.documentation-sidebar { border-right: 0; border-bottom: 1px solid #29374b; }.documentation-page-list { max-height: 230px; overflow: auto; }.documentation-detail { padding: 26px 20px; }.documentation-editor-actions { align-items: stretch; flex-direction: column; }.compact-field { width: 100%; }.documentation-search-summary { flex-wrap: wrap; }.documentation-search-summary .text-action { margin-left: 0; }.documentation-load-error { align-items: stretch; flex-direction: column; }.documentation-create-dialog .modal-heading, .documentation-create-dialog .modal-fields, .documentation-create-dialog .modal-footer { padding-left: 18px; padding-right: 18px; } }

.task-work-history { margin-bottom: 24px; }
.task-work-history-scope { margin: 4px 0 12px; color: var(--text-subtle); font-size: .75rem; }
.task-work-session-list { max-height: 360px; overflow-y: auto; }
.task-work-session { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.task-work-session strong, .task-work-session small { display: block; }
.task-work-session strong { color: var(--text); font-size: .8rem; }
.task-work-session small { margin-top: 4px; color: var(--text-subtle); font-size: .72rem; }
.task-work-session-duration { text-align: right; white-space: nowrap; }

.project-label-manager { width: 100%; margin-top: 8px; color: var(--text-muted); font-size: .75rem; }
.project-label-manager summary { cursor: pointer; color: var(--accent); font-weight: 700; }
.project-label-manager p { margin: 8px 0; color: var(--text-subtle); }
.project-label-rename-controls { display: flex; flex-wrap: wrap; gap: 6px; }
.project-label-rename-controls select, .project-label-rename-controls input { flex: 1 1 120px; min-width: 0; }
#project-label-rename-notice { display: block; margin-top: 6px; }

.attachment-row { display: flex; align-items: center; gap: 8px; }
.attachment-row > .attachment { flex: 1; min-width: 0; }
.attachment-delete { flex: none; font-size: .75rem; }

.project-rename-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; flex: 1 1 100%; }
.project-rename-form .field { flex: 1 1 220px; }
.project-rename-form p { flex-basis: 100%; margin: 0; color: var(--text-muted); font-size: .75rem; }
.project-rename-form p:empty { display: none; }

.project-delete-settings { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; flex: 1 1 100%; padding: 14px 0; border-top: 1px solid var(--border); }
.project-delete-settings strong, .project-delete-settings small { display: block; }
.project-delete-settings small { margin-top: 4px; color: var(--text-muted); }
.project-delete-settings p { flex-basis: 100%; margin: 0; color: var(--danger, #f88); }
.project-delete-settings p:empty { display: none; }

/* Project settings */
.project-main .project-settings-panel { padding: 0; overflow: hidden; border: 1px solid #303a4c; border-radius: 18px; background: #151d2a; }
.project-settings-intro { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; overflow: hidden; padding: 34px 36px; background: radial-gradient(ellipse at 94% 0%, rgba(195, 218, 112, .21), transparent 50%), linear-gradient(120deg, #20243b, #182331 70%); border-bottom: 1px solid #344052; }
.project-settings-intro > div:first-child { position: relative; z-index: 1; }
.settings-overline, .settings-section-index { color: #cdd8a6; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.settings-overline { display: inline-flex; align-items: center; gap: 8px; }
.settings-overline-dot { width: 7px; height: 7px; border-radius: 50%; background: #d7ec8c; box-shadow: 0 0 14px #d7ec8c; }
.project-main .project-settings-intro h3 { margin: 13px 0 8px; color: #fbfdf4; font-size: clamp(25px, 3vw, 32px); font-weight: 650; line-height: 1.1; letter-spacing: -.045em; }
.project-settings-intro p { margin: 0; color: #a7b2c8; font-size: 13px; line-height: 1.6; }
.settings-intro-mark { display: grid; place-items: center; flex: 0 0 62px; width: 62px; height: 62px; border: 1px solid #85915b; border-radius: 19px; background: rgba(208, 229, 130, .13); color: #e9f4be; font-size: 28px; transform: rotate(-8deg); }
.settings-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 28px 32px 20px; }
.project-main .settings-section-heading h3, .project-main .project-members-panel h3 { margin: 7px 0 4px; color: #eef1fa; font-size: 20px; font-weight: 650; letter-spacing: -.03em; }
.settings-section-heading p, .project-members-panel .section-heading p { margin: 0; color: #95a3b8; font-size: 12px; line-height: 1.6; }
.settings-section-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #42516a; border-radius: 13px; background: #202c3d; color: #b3c9ea; font-size: 23px; }
.project-main .project-settings-actions { display: grid; gap: 0; padding: 0 32px 12px; border: 0; border-radius: 0; background: transparent; }
.settings-control-block { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.2fr); align-items: start; gap: 28px; padding: 23px 0; border-top: 1px solid #2b3748; }
.settings-control-block strong, .settings-template-row strong { color: #e4eaf4; font-size: 13px; font-weight: 700; }
.settings-control-block p, .settings-template-row p { margin: 6px 0 0; color: #8c9ab0; font-size: 12px; line-height: 1.55; }
.project-rename-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.project-rename-form input { flex: 1 1 180px; min-width: 0; }
.project-main .project-settings-actions :is(input, select), .project-main .project-member-form select { width: 100%; min-height: 43px; border: 1px solid #3a4960; border-radius: 9px; background: #111b29; color: #e8edf6; font-size: 13px; }
.project-main .project-rename-form input { width: auto; }
.project-main .project-settings-actions :is(input, select):focus, .project-main .project-member-form select:focus { outline: 2px solid #d7eb8d; outline-offset: 2px; }
.settings-access-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.project-main .project-settings-actions .project-team-picker { min-width: 0; gap: 8px; }
.project-settings-actions .project-team-picker .eyebrow { color: #aeb8c9; font-size: 10px; letter-spacing: .08em; }
.project-settings-actions .field-hint { max-width: 340px; margin: 0; color: #8a99af; font-size: 11px; line-height: 1.5; }
.settings-template-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 0; border-top: 1px solid #2b3748; }
.project-main :is(.project-members-panel, .board-column-manager, .dependency-map, .project-archive-panel, .project-danger-panel) { margin-top: 16px; padding: 28px 32px; border: 1px solid #303b4e; border-radius: 16px; background: #151e2a; box-shadow: none; }
.project-main .project-members-panel .section-heading { align-items: flex-start; margin-bottom: 20px; }
.settings-count { flex: none; padding: 7px 10px; border: 1px solid #3d4960; border-radius: 99px; background: #202b3b; color: #c2cde0; font-size: 11px; font-weight: 700; white-space: nowrap; }
.project-main .project-member-row { padding: 13px 14px; border-color: #303d50; border-radius: 11px; background: #192535; }
.project-main .project-member-row .avatar-placeholder { width: 38px; height: 38px; border-radius: 12px; background: #505831; color: #eff7d1; }
.project-main .project-member-row strong { font-size: 13px; }
.project-main .project-member-row small { font-size: 11px; }
.project-main .project-member-form { gap: 12px; margin-top: 18px; padding-top: 18px; border-color: #2b3748; }
.project-main .project-member-form .field { color: #b9c5d7; font-size: 12px; }
.project-main .board-column-manager { padding: 0; overflow: hidden; }
.project-main .board-column-manager > summary, .project-archive-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 25px 32px; cursor: pointer; list-style: none; }
.project-main .board-column-manager > summary:hover, .project-archive-panel summary:hover { background: #1a2635; }
.project-main .board-column-manager summary strong, .project-archive-panel summary strong { display: block; margin-top: 7px; color: #eef1fa; font-size: 19px; letter-spacing: -.03em; }
.project-main .board-column-manager summary small, .project-archive-panel summary small { display: block; margin-top: 5px; color: #95a3b8; font-size: 12px; }
.project-main .board-column-manager-content { padding: 24px 32px 28px; border-color: #303b4e; }
.project-main .board-column-settings-row { background: #192535; border-color: #324054; }
.project-main .dependency-map h3 { margin-top: 7px; color: #edf1f8; font-size: 19px; }
.project-main .dependency-map p { color: #95a3b8; font-size: 12px; }
.project-main .project-archive-panel { padding: 0; overflow: hidden; }
.project-archive-panel summary::-webkit-details-marker { display: none; }
.project-archive-content { padding: 20px 32px 28px; border-top: 1px solid #303b4e; }
.project-archive-content > p { color: #9ba9bc; font-size: 12px; }
.project-archive-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #2b3748; }
.settings-archive-empty { padding: 15px; border: 1px dashed #3b495e; border-radius: 10px; }
.project-main .project-danger-panel { border-color: #583b4a; background: #26291d; }
.project-danger-panel .project-delete-settings { padding: 0; border: 0; }
.project-danger-panel .settings-section-index { display: block; margin-bottom: 8px; color: #df9fac; }
.project-danger-panel .project-delete-settings strong { color: #f1e5eb; font-size: 15px; }
.project-danger-panel .project-delete-settings small { max-width: 600px; color: #b99fab; line-height: 1.5; }
.project-danger-panel #delete-project { border-color: #875462; color: #f3b2bd; }
@media (max-width: 700px) {
  .project-settings-intro { padding: 26px 22px; }
  .settings-intro-mark { width: 45px; height: 45px; flex-basis: 45px; border-radius: 14px; font-size: 21px; }
  .settings-section-heading { padding: 24px 22px 16px; }
  .project-main .project-settings-actions { padding: 0 22px 10px; }
  .settings-control-block { grid-template-columns: 1fr; gap: 15px; }
  .settings-access-fields { grid-template-columns: 1fr; }
  .settings-template-row { align-items: flex-start; flex-direction: column; }
  .project-main :is(.project-members-panel, .dependency-map, .project-danger-panel) { padding: 22px; }
  .project-main .board-column-manager > summary, .project-archive-panel summary { padding: 22px; }
  .project-main .board-column-manager-content, .project-archive-content { padding: 20px 22px; }
  .project-main .project-member-form { align-items: stretch; flex-direction: column; }
  .project-main .project-member-row { flex-wrap: wrap; }
  .project-main .project-member-row > div { flex-basis: calc(100% - 56px); }
  .project-main .project-member-row button { margin-left: 48px; }
  .project-danger-panel .project-delete-settings { align-items: flex-start; flex-direction: column; }
}

.description-editor { border: 1px solid #34445b; border-radius: 11px; overflow: visible; background: #141d29; }
.description-toolbar { display: flex; flex-wrap: wrap; gap: 3px; align-items: center; padding: 8px; border-bottom: 1px solid #34445b; }
.description-toolbar button { min-width: 31px; min-height: 31px; padding: 4px 7px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #bdc9db; font-size: 12px; box-shadow: none; }
.description-toolbar button:hover, .description-toolbar button:focus-visible { border-color: #7c8755; background: #3c4129; color: #f8fceb; transform: none; }
.description-toolbar .description-preview-toggle { margin-left: auto; padding: 4px 10px; color: #e7f4ba; }
.description-input-wrap { position: relative; }
.workspace-fixed .task-detail-layout .task-description-section .description-editor textarea { min-height: 150px; border: 0; border-radius: 0 0 10px 10px; background: transparent; }
.description-preview { min-height: 150px; padding: 12px 16px; color: #dbe3ef; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.description-preview p { margin: 0 0 .45em; }
.description-preview h1, .description-preview h2, .description-preview h3 { margin: .65em 0 .35em; color: #f1f4fb; line-height: 1.25; }
.description-preview h1 { font-size: 1.45em; }.description-preview h2 { font-size: 1.25em; }.description-preview h3 { font-size: 1.1em; }
.description-preview ul { margin: .4em 0; padding-left: 1.4em; }
.description-preview blockquote { margin: .5em 0; padding: 3px 12px; border-left: 3px solid #d6e991; color: #b8c6dc; }
.description-preview code { padding: 2px 5px; border-radius: 4px; background: #27364a; color: #f3f9dc; }
.description-preview a { color: #e6f3b7; text-decoration: underline; }
.description-blank { height: .45em; }
.description-link-box { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 9px; border-bottom: 1px solid #34445b; font-size: 12px; }
.description-link-box input { flex: 1 1 160px; min-width: 0; }
.description-link-box [role=status] { flex-basis: 100%; color: #f3a2ad; }
.description-mention-menu { position: absolute; z-index: 30; left: 8px; top: 100%; width: min(320px, 95%); max-height: 240px; overflow-y: auto; padding: 5px; border: 1px solid #4a5970; border-radius: 9px; background: #1b2635; box-shadow: 0 12px 25px #0008; }
.description-mention-menu button { display: grid; width: 100%; gap: 3px; padding: 9px; text-align: left; background: transparent; border: 0; box-shadow: none; }
.description-mention-menu button[aria-selected="true"], .description-mention-menu button:hover { background: #33314d; }
.description-mention-menu small { color: #9faec2; }
.description-editor [hidden] { display: none !important; }

.project-description-form { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.project-main .project-description-form textarea { width: 100%; min-height: 96px; resize: vertical; padding: 12px; border: 1px solid #3a4960; border-radius: 9px; background: #111b29; color: #e8edf6; font: inherit; line-height: 1.5; }
.project-main .project-description-form textarea:focus-visible { outline: 2px solid #dff0a2; outline-offset: 2px; }
.project-description-form p { flex-basis: 100%; }
.project-description-form p:empty { display: none; }

/* Task details: a clear header, a focused reading column, and a calm inspector. */
.workspace-fixed .task-details-backdrop { padding: clamp(12px, 3vh, 28px); align-items: center; background: rgba(4, 8, 16, .76); backdrop-filter: blur(7px); }
.workspace-fixed .task-details.task-detail-layout { width: min(1120px, 100%); height: min(940px, 100%); padding: 0 36px; column-gap: 36px; background: #141d29; border: 1px solid #344155; border-radius: 18px; box-shadow: 0 24px 90px #000a; }
.workspace-fixed .task-detail-layout .task-details-head { position: relative; inset: auto; grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; margin: 0 -36px; padding: 14px 28px; background: #172230; border-bottom: 1px solid #293649; }
.workspace-fixed .task-detail-layout .task-details-head > div { display: flex; align-items: center; gap: 10px; margin-right: auto; min-width: 0; }
.task-header-label { color: #9baac0; font-size: 10px; font-weight: 750; letter-spacing: .14em; white-space: nowrap; }
.workspace-fixed .task-detail-layout .task-details-head .detail-status { display: inline-flex; padding: 4px 9px; border: 1px solid #38465a; border-radius: 999px; color: #b8c7d8; font-size: 11px; line-height: 1.2; }
.workspace-fixed .task-detail-layout .task-details-head .secondary { min-height: 34px; padding: 7px 11px; background: #1d2a3a; border-color: #34445a; font-size: 12px; }
.workspace-fixed .task-detail-layout .task-details-head #close-details { order: 3; flex: 0 0 auto; width: 34px; height: 34px; min-height: 34px; margin-left: 6px; border: 1px solid #34445a; border-radius: 9px; background: #1d2a3a; }
.workspace-fixed .task-detail-layout .task-primary-fields { padding: 30px 0 24px; border-bottom: 1px solid #2b3747; }
.workspace-fixed .task-detail-layout .task-title-input { width: 100%; padding: 0; color: #f1f4fb; font-size: clamp(24px, 2.1vw, 32px); font-weight: 650; line-height: 1.25; letter-spacing: -.035em; }
.workspace-fixed .task-detail-layout .task-action-row { margin-top: 16px; gap: 10px; }
.task-detail-layout .task-action-row .task-breadcrumb { color: #91a1b8; font-size: 13px; }
.workspace-fixed .task-detail-layout .form-section { padding: 23px 0; border-bottom: 1px solid #293647; }
.workspace-fixed .task-detail-layout .section-label { color: #e2e9f4; font-size: 15px; font-weight: 650; }
.task-detail-layout .task-reference-section-heading { margin-bottom: 14px; gap: 10px; }
.task-detail-layout .task-reference-section-heading::before { width: 24px; height: 24px; border-radius: 7px; background: #263449; font-size: 15px; }
.task-detail-layout .description-editor { overflow: visible; background: #111b28; border-color: #304158; border-radius: 12px; }
.task-detail-layout .description-toolbar { padding: 7px 10px; border-bottom-color: #2b394b; background: #182433; border-radius: 12px 12px 0 0; }
.task-detail-layout .description-preview { min-height: 96px; padding: 17px 18px; line-height: 1.7; }
.workspace-fixed .task-detail-layout .task-description-section .description-editor textarea { min-height: 120px; padding: 17px 18px; }
.workspace-fixed .task-detail-layout .task-upload { min-height: 104px; border: 1px dashed #455674; border-radius: 12px; background: #111c29; }
.task-detail-layout .attachment, .workspace-fixed .task-detail-layout .checklist { border: 1px solid #304056; border-radius: 10px; background: #192635; }
.task-detail-layout .task-detail-inspector { margin-top: 22px; padding: 20px; gap: 16px; align-self: start; border: 1px solid #303e51; border-radius: 14px; background: #182432; }
.task-inspector-heading { padding-bottom: 14px; border-bottom: 1px solid #314053; }
.task-inspector-heading > span { color: #c5d298; font-size: 10px; font-weight: 750; letter-spacing: .13em; }
.task-inspector-heading h3 { margin: 6px 0 3px; color: #e5ebf5; font-size: 15px; letter-spacing: -.01em; }
.task-inspector-heading p { margin: 0; color: #91a0b5; font-size: 12px; line-height: 1.45; }
.task-detail-layout .task-detail-inspector :is(.field, .task-property) > span, .task-detail-layout .task-compact-property > summary > span { color: #bdc9da; font-size: 12px; font-weight: 650; }
.workspace-fixed .task-detail-inspector :is(input, select) { min-height: 40px; border-color: #3b4b60; background: #111c29; border-radius: 8px; font-size: 13px; }
.task-detail-layout .task-discussion-tabs { margin-top: 18px; gap: 18px; border-color: #314053; }
.task-detail-layout .task-discussion-tabs button { padding: 11px 3px; font-size: 13px; font-weight: 650; }
.workspace-fixed .task-detail-layout .task-save-bar { margin-inline: -36px; padding: 12px 36px; background: #182432; border-top: 1px solid #344155; box-shadow: 0 -8px 24px #0003; }
.task-detail-layout :is(button, input, select, textarea, summary):focus-visible { outline: 2px solid #e5f3b2; outline-offset: 2px; }
@media (max-width: 760px) {
  .workspace-fixed .task-details-backdrop { padding: 0; }
  .workspace-fixed .task-details.task-detail-layout { height: 100%; max-height: 100%; padding: 0 18px; border: 0; border-radius: 0; }
  .workspace-fixed .task-detail-layout .task-details-head { position: relative; inset: auto; margin: 0 -18px; padding: 12px 18px; flex-wrap: wrap; }
  .workspace-fixed .task-detail-layout .task-details-head > div { flex: 1 1 auto; }
  .workspace-fixed .task-detail-layout .task-details-head .secondary { font-size: 11px; padding-inline: 8px; }
  .workspace-fixed .task-detail-layout .task-primary-fields { padding: 24px 0 20px; }
  .workspace-fixed .task-detail-layout .task-title-input { font-size: 24px; }
  .task-detail-layout .task-detail-inspector { margin: 16px 0; padding: 18px; border: 1px solid #303e51; }
  .workspace-fixed .task-detail-layout .task-save-bar { margin: 0 -18px; padding: 12px 18px; }
}
@media (max-width: 390px) {
  .workspace-fixed .task-detail-layout .task-details-head > div { flex-basis: calc(100% - 50px); }
  .workspace-fixed .task-detail-layout .task-details-head #close-details { order: 0; }
}

/* Shared workspace surfaces: the same quiet hierarchy across workspaces. */
.workspace-fixed {
  --workspace-surface: #151f2c;
  --workspace-border: #304055;
  --workspace-elevated: #1b2939;
}
.workspace-fixed .shell > .topbar { background: rgba(19, 27, 39, .97); border-bottom-color: #2a384a; }
.workspace-fixed .topbar .brand-mark { background: linear-gradient(145deg, #ecf6c8, #d6e991); box-shadow: 0 4px 14px #c9df7824; }
.workspace-fixed .layout > .sidebar { border-right-color: #29384b; background: #111b28; }
.workspace-fixed .layout > .sidebar .project-link { border-radius: 9px; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.workspace-fixed .layout > .sidebar .project-link:hover { background: #1e2a3a; }
.workspace-fixed :is(.people-hero, .teams-hero, .reports-hero, .leave-hero, .my-work-hero, .profile-hero) h2 { color: #f1f4fa; letter-spacing: -.035em; line-height: 1.15; }
.workspace-fixed :is(.people-hero, .teams-hero, .reports-hero, .leave-hero, .my-work-hero, .profile-hero) p { color: #9aabc1; line-height: 1.55; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card, .project-directory-card, .project-planning-panel, .project-members-panel, .project-activity-panel, .overview-panel) {
  border-color: var(--workspace-border);
  border-radius: 14px;
  background-color: var(--workspace-surface);
  box-shadow: 0 8px 28px #05091224, inset 0 1px 0 #ffffff05;
}
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card, .project-planning-panel, .project-members-panel, .project-activity-panel) :is(h3, h4) { color: #e8edf6; letter-spacing: -.02em; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card, .project-planning-panel, .project-members-panel, .project-activity-panel) :is(.eyebrow, .card-kicker) { color: #bcc59a; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card) .field { color: #bac6d7; line-height: 1.35; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card) :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { border-color: #38495e; border-radius: 9px; background-color: #111b28; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card) :is(input, select, textarea):focus-visible { outline: 2px solid #e0f0a4; outline-offset: 2px; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card) button.secondary { border-radius: 9px; border-color: #3a4a60; background: #202e3f; color: #e4ebf6; }
.workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card) button.secondary:hover { background: #293a4e; border-color: #60728b; }
.workspace-fixed :is(.access-panel, .report-panel, .leave-panel) :is(th, td) { border-color: #2d3b4d; }
.workspace-fixed :is(.access-panel, .report-panel, .leave-panel) .table-wrap { border-radius: 10px; }
.workspace-fixed .project-directory-card { transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.workspace-fixed .project-directory-card:hover { border-color: #8c9762; background-color: #1a2736; box-shadow: 0 12px 32px #05091238; }

/* App-owned dialogs share clear layers while keeping their individual layouts. */
.workspace-fixed .modal-backdrop { background: #040912c4; backdrop-filter: blur(7px); }
.workspace-fixed .new-task-modal { border-color: #394a61; border-radius: 16px; background-color: #151f2c; box-shadow: 0 24px 80px #0009; }
.workspace-fixed .new-task-modal :is(.modal-heading, .modal-footer) { border-color: #304055; background-color: #1a2736; }
.workspace-fixed .new-task-modal .modal-heading h2 { color: #f1f4fa; letter-spacing: -.03em; }
.workspace-fixed .new-task-modal .modal-heading p { color: #a4b1c4; line-height: 1.5; }
.workspace-fixed .new-task-modal .modal-heading .icon-button { border: 1px solid #3a4a60; border-radius: 9px; background: #253345; color: #d5dfed; }
.workspace-fixed .new-task-modal .modal-heading .icon-button:hover { background: #324459; }
.workspace-fixed .new-task-modal :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { border-color: #3a4b60; border-radius: 9px; background-color: #101b28; }
.workspace-fixed .new-task-modal :is(input, select, textarea, button, summary):focus-visible { outline: 2px solid #e0f0a4; outline-offset: 2px; }
.workspace-fixed .new-task-modal .field { color: #c3cede; }
.workspace-fixed .new-task-modal .modal-footer button.secondary { border-color: #3a4a60; border-radius: 9px; background: #253345; }
@media (max-width: 600px) {
  .workspace-fixed :is(.access-panel, .teams-list-panel, .team-detail-panel, .leave-panel, .report-panel, .profile-card, .overview-panel) { border-radius: 12px; }
  .workspace-fixed .new-task-modal { max-width: 100%; }
}

/* Projects and My Work: clear context, useful cards, and compact controls. */
.workspace-fixed .project-directory-heading { align-items: flex-end; gap: 20px; padding-bottom: 25px; margin-bottom: 22px; border-bottom: 1px solid #2b394b; }
.project-directory-heading .eyebrow { color: #bfc99b; }
.workspace-fixed .project-directory-heading h2 { margin: 8px 0 7px; color: #f0f3f9; font-size: clamp(27px, 2.5vw, 36px); letter-spacing: -.04em; }
.project-directory-heading p { margin: 0; line-height: 1.55; }
.project-directory-heading > button { min-height: 40px; border-radius: 9px; padding-inline: 15px; white-space: nowrap; }
.project-directory-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.project-directory-toolbar .field { width: min(100%, 420px); margin: 0; color: #aab8ca; font-size: 12px; }
.project-directory-toolbar input { min-height: 42px; border: 1px solid #38495e; border-radius: 9px; background: #111b28; }
.project-directory-total { padding-bottom: 12px; color: #91a2b8; font-size: 12px; white-space: nowrap; }
.project-directory-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; margin-top: 18px; }
.workspace-fixed .project-directory-card { display: flex; align-items: stretch; min-height: 190px; gap: 10px; padding: 18px; border-radius: 14px; text-align: left; }
.project-directory-card-top, .project-directory-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
.project-directory-emblem { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid #7a8554; border-radius: 11px; background: #3e4427; color: #f1f9d7 !important; font-size: 16px !important; font-weight: 700; }
.project-directory-visibility { padding: 4px 9px; border: 1px solid #3b4b60; border-radius: 99px; color: #b7c5d9 !important; font-size: 11px !important; font-weight: 600; }
.project-directory-card strong { margin-top: 5px; color: #eef2f9; font-size: 15px; line-height: 1.35; }
.project-directory-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #9cabc0 !important; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.project-directory-card-footer { margin-top: auto; padding-top: 13px; border-top: 1px solid #304052; font-weight: 500; }
.project-directory-card-footer span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-directory-card-footer span:last-child { color: #e5f3b3; font-size: 17px; }
.workspace-fixed .my-work-hero { align-items: center; padding-bottom: 24px; border-bottom: 1px solid #2b394b; }
.workspace-fixed .my-work-summary { min-width: 112px; padding: 13px 16px; border: 1px solid #6b7545; border-radius: 12px; background: linear-gradient(135deg, #414827, #1a2332); }
.workspace-fixed .my-work-filters { align-items: center; gap: 5px; width: fit-content; max-width: 100%; padding: 5px; border: 1px solid #314053; border-radius: 11px; background: #141f2c; }
.workspace-fixed .my-work-filters button { min-height: 34px; padding: 7px 13px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #aebdd0; font-size: 12px; box-shadow: none; }
.workspace-fixed .my-work-filters button:hover { background: #233244; color: #e8edf6; }
.workspace-fixed .my-work-filters .active-filter { border-color: #78844d; background: #404628; color: #f4fade; }
.workspace-fixed .my-work-group .section-heading { padding: 12px 4px; border-color: #344357; }
.workspace-fixed .my-work-group .section-heading h3 { color: #dfe7f3; font-size: 14px; }
.workspace-fixed .my-work-row { padding: 12px 10px; border-color: #2d3b4d; border-radius: 9px; }
.workspace-fixed .my-work-row:hover { background: #182635; }
.workspace-fixed .my-work-calendar { border-color: #304055; border-radius: 14px; background: #151f2c; }
@media (max-width: 700px) {
  .workspace-fixed .project-directory-heading { align-items: flex-start; flex-wrap: wrap; }
  .project-directory-toolbar { align-items: flex-start; flex-direction: column; gap: 6px; }
  .project-directory-total { padding: 0; }
  .workspace-fixed .my-work-hero { flex-direction: row; align-items: center; }
  .workspace-fixed .my-work-summary { min-width: 84px; padding: 10px; text-align: right; }
  .workspace-fixed .my-work-filters { width: 100%; flex-wrap: wrap; }
}

/* Profile: identity first, with useful account context alongside editable details. */
.workspace-fixed .profile-page { width: min(100%, 1050px); grid-template-columns: minmax(0, 1.5fr) minmax(250px, .8fr); grid-template-rows: auto auto auto auto; gap: 16px; align-items: start; }
.workspace-fixed .profile-hero { grid-column: 1 / -1; grid-row: 1; min-height: 142px; padding: 26px 28px; border: 1px solid #5f683e; border-radius: 16px; background: radial-gradient(ellipse at 90% 0%, #dbee9724, transparent 43%), linear-gradient(120deg, #373d21, #151f2c 70%); }
.workspace-fixed .profile-hero h2 { margin: 8px 0; font-size: clamp(25px, 2.5vw, 34px); }
.workspace-fixed .profile-avatar { width: 68px; height: 68px; border: 1px solid #d9ed92; border-radius: 20px; background: #4d552f; color: #f3fadd; box-shadow: 0 8px 24px #0003; }
.workspace-fixed .profile-card { min-width: 0; padding: 22px; }
.profile-workspace-access { grid-column: 1 / -1; grid-row: 2; gap: 16px; }
.profile-workspace-access > div:last-child { padding-left: 20px; border-left: 1px solid #344358; }
.profile-details-card { grid-column: 1; grid-row: 3 / span 3; }
.profile-mention-card { grid-column: 2; grid-row: 3; }
.profile-security-card { grid-column: 2; grid-row: 4; }
.profile-session-card { grid-column: 2; grid-row: 5; }
.profile-page .profile-card h3 { margin: 6px 0 8px; font-size: 15px; }
.profile-page .profile-card p { color: #a5b4c8; font-size: 13px; line-height: 1.55; }
.profile-page .profile-card p[role="status"] { overflow-wrap: anywhere; }
.profile-page .profile-card button { min-height: 38px; }
.profile-details-card .section-heading { padding-bottom: 16px; border-bottom: 1px solid #304055; }
.profile-details-card .profile-form { gap: 15px; margin-top: 18px; }
.profile-details-card .profile-form > .field { margin: 0; }
.profile-details-card .profile-form > .field:nth-of-type(1), .profile-details-card .profile-form > .field:nth-of-type(2) { grid-column: 1 / -1; }
.profile-details-card .profile-form > .field-hint { margin-top: -9px; line-height: 1.5; }
.profile-details-card .profile-save-row { margin-top: 4px; }
.profile-mention-card h3 { overflow-wrap: anywhere; }
.profile-security-card, .profile-session-card { display: grid; gap: 5px; }
.profile-security-card p, .profile-session-card p { margin: 0 0 8px; }
.profile-security-card button, .profile-session-card button { justify-self: start; }
@media (max-width: 760px) {
  .workspace-fixed .profile-page { display: flex; flex-direction: column; }
  .workspace-fixed .profile-page > * { width: 100%; }
  .workspace-fixed .profile-hero { min-height: 0; padding: 22px; }
  .profile-workspace-access > div:last-child { padding-left: 14px; }
}
@media (max-width: 480px) {
  .workspace-fixed .profile-hero { padding: 20px; }
  .workspace-fixed .profile-avatar { width: 48px; height: 48px; border-radius: 14px; }
  .profile-workspace-access > div:last-child { padding-left: 0; border-left: 0; }
  .profile-details-card .profile-form { grid-template-columns: 1fr; }
  .profile-details-card .profile-form > * { grid-column: 1 / -1; }
}
.profile-page .profile-card p.error { color: var(--danger); }
.profile-page .profile-card p.success { color: var(--success); }

/* Recruiting: connected job context, searchable pipeline, and focused review. */
.workspace-fixed .recruiting-main .recruiting-heading { align-items: center; gap: 20px; padding-bottom: 23px; margin-bottom: 22px; border-bottom: 1px solid #2c3b4e; }
.workspace-fixed .recruiting-main .recruiting-heading h2 { color: #f1f4fa; font-size: clamp(27px, 2.5vw, 36px); line-height: 1.15; letter-spacing: -.04em; }
.workspace-fixed .recruiting-main .recruiting-heading p { color: #9dacc0; line-height: 1.5; }
.workspace-fixed .recruiting-main .recruiting-toolbar { padding: 16px 18px; gap: 12px; border-color: #324257; border-radius: 14px; background: #162231; box-shadow: inset 0 1px 0 #ffffff06; }
.workspace-fixed .recruiting-toolbar .field { color: #aebdd0; font-size: 11px; }
.workspace-fixed .recruiting-toolbar :is(select, .app-select-trigger) { min-height: 40px; border-color: #3a4b60; border-radius: 9px; background: #101b28; color: #e5ebf5; }
.workspace-fixed .recruiting-job-actions button, .workspace-fixed .recruiting-more summary { min-height: 38px; border-radius: 9px; }
.workspace-fixed .recruiting-more summary { border-color: #3a4b60; background: #1e2c3c; color: #c4cfde; }
.workspace-fixed .recruiting-more-menu { padding: 7px; border-color: #42536b; border-radius: 11px; background: #1b2838; box-shadow: 0 16px 36px #0008; }
.workspace-fixed .recruiting-job-summary { padding: 24px 0 12px; gap: 8px; }
.workspace-fixed .recruiting-job-summary h3 { color: #edf2f9; font-size: 19px; line-height: 1.25; }
.workspace-fixed .recruiting-job-summary p { color: #9aaac0; line-height: 1.5; }
.workspace-fixed .recruiting-status, .workspace-fixed .recruiting-total { padding: 6px 10px; border: 1px solid #35465a; border-radius: 999px; background: #192636; color: #b9c6d7; font-size: 11px; }
.workspace-fixed .recruiting-status[data-status="PUBLISHED"] { border-color: #315b4e; background: #193a30; color: #a3e0bf; }
.workspace-fixed .recruiting-main > .field-hint { color: #9baac0; line-height: 1.5; }
.workspace-fixed .recruiting-candidate-filters { padding: 16px; border-color: #324257; border-radius: 14px; background: #162231; }
.workspace-fixed .recruiting-candidate-filters .field { color: #aebdd0; font-size: 11px; }
.workspace-fixed .recruiting-candidate-filters :is(input, select, .app-select-trigger) { min-height: 38px; border-color: #3a4b60; border-radius: 8px; background: #101b28; color: #e5ebf5; }
.workspace-fixed .recruiting-filter-result { color: #a5b5c9; }
.workspace-fixed .recruiting-main .board { gap: 14px; padding-top: 3px; scrollbar-color: #506079 transparent; scrollbar-width: thin; }
.workspace-fixed .recruiting-main .board > .column { border-color: color-mix(in srgb, var(--stage-color) 38%, #34465b); border-top-color: var(--stage-color); border-radius: 14px; background: linear-gradient(180deg, color-mix(in srgb, var(--stage-color) 8%, #182433), #141f2c 160px); }
.workspace-fixed .recruiting-main .column > h3 { color: #e4ebf5; font-size: 13px; }
.workspace-fixed .recruiting-main .recruiting-candidate-card { border-color: #3a4b61; border-radius: 11px; background: #1c2a3a; }
.workspace-fixed .recruiting-main .recruiting-stage-empty { color: #97a7bd; background: #101b2880; }
.workspace-fixed .recruiting-main :is(button, input, select, summary):focus-visible, .pipeline-settings :is(button, input, select, summary):focus-visible { outline: 2px solid #e5f3b4; outline-offset: 2px; }
.workspace-fixed .recruiting-candidate-modal > .recruiting-candidate-details { background: #151f2c; }
.workspace-fixed .recruiting-candidate-modal .recruiting-candidate-details > section { padding-bottom: 19px; border-bottom: 1px solid #304055; }
.workspace-fixed .recruiting-candidate-modal .recruiting-candidate-details h3 { color: #e9eef7; font-size: 15px; }
.workspace-fixed .recruiting-candidate-modal .candidate-section-hint { color: #a4b2c4; line-height: 1.55; }
.workspace-fixed .recruiting-candidate-modal .candidate-properties, .workspace-fixed .recruiting-candidate-modal .candidate-operation-form { border-color: #34475d; border-radius: 12px; background: #111c29; }
.workspace-fixed .recruiting-candidate-modal .field { color: #becbdd; }
.pipeline-settings { border-color: #40516a; background: #151f2c; box-shadow: 0 24px 80px #000a; }
.pipeline-settings header { border-color: #344358; background: linear-gradient(120deg, #343920, #1a2736 70%); }
.pipeline-settings-body { background: #151f2c; }
.pipeline-settings .field { color: #bdcada; }
.pipeline-settings :is(input:not([type=color]), select, .app-select-trigger) { border-color: #3a4b60; border-radius: 9px; background: #101b28; color: #e5ebf5; }
@media (max-width: 700px) {
  .workspace-fixed .recruiting-main .recruiting-heading { align-items: flex-start; flex-wrap: wrap; }
  .workspace-fixed .recruiting-main .recruiting-heading .row { width: 100%; flex-wrap: wrap; }
  .workspace-fixed .recruiting-main .recruiting-toolbar { padding: 14px; }
  .workspace-fixed .recruiting-job-summary { align-items: flex-start; }
  .workspace-fixed .recruiting-candidate-filters { padding: 14px; }
  .workspace-fixed .recruiting-main .board { grid-auto-columns: minmax(240px, 82vw); }
}

/* Time entry and review dialogs keep context and actions visible while fields scroll. */
.workspace-fixed .timesheet-dialog.new-task-modal { display: flex; flex-direction: column; width: min(690px, 100%); max-height: min(820px, calc(100dvh - 48px)); overflow: hidden; padding: 0; border: 1px solid #3b4c63; border-radius: 16px; background: #151f2c; }
.workspace-fixed .timesheet-dialog.compact-dialog { width: min(560px, 100%); }
.workspace-fixed .timesheet-dialog > .modal-heading { flex: 0 0 auto; align-items: flex-start; gap: 18px; padding: 22px 26px; margin: 0; border-bottom: 1px solid #304055; background: linear-gradient(120deg, #343920, #1a2736 72%); }
.workspace-fixed .timesheet-dialog .modal-heading > div { min-width: 0; }
.workspace-fixed .timesheet-dialog .modal-heading .eyebrow { color: #d9e6a9; font-size: 10px; }
.workspace-fixed .timesheet-dialog .modal-heading h2 { margin: 6px 0 7px; font-size: 22px; line-height: 1.2; }
.workspace-fixed .timesheet-dialog .modal-heading p { max-width: 500px; color: #a8b8cb; font-size: 13px; line-height: 1.5; }
.workspace-fixed .timesheet-dialog .modal-heading .icon-button { flex: 0 0 auto; width: 34px; height: 34px; min-height: 34px; }
.workspace-fixed .timesheet-dialog > form { display: flex; flex-direction: column; flex: 0 1 auto; min-height: 0; margin: 0; }
.workspace-fixed .timesheet-dialog form > .modal-fields { overflow-y: auto; min-height: 0; padding: 20px 26px; gap: 14px; }
.workspace-fixed .timesheet-dialog form > .modal-fields .field { min-width: 0; gap: 7px; margin: 0; color: #c4cfdf; font-size: 12px; }
.workspace-fixed .timesheet-dialog form > .modal-fields :is(input:not([type=checkbox]), select, textarea) { min-width: 0; border: 1px solid #3c4d63; border-radius: 9px; background: #101b28; }
.workspace-fixed .timesheet-dialog form > .modal-fields textarea { min-height: 72px; resize: vertical; }
.workspace-fixed .timesheet-dialog .check-field { margin: 0; padding: 10px 12px; border: 1px solid #34465b; border-radius: 9px; background: #111c29; color: #c8d4e3; }
.workspace-fixed .timesheet-dialog .check-field input { accent-color: #ddef9b; }
.workspace-fixed .timesheet-dialog form > .modal-footer { flex: 0 0 auto; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 26px; border-top: 1px solid #304055; background: #1a2736; }
.workspace-fixed .timesheet-dialog .modal-footer .error:empty { display: none; }
.workspace-fixed .timesheet-dialog .modal-footer .error:not(:empty) { flex: 1 1 100%; }
.workspace-fixed .timesheet-dialog .modal-footer .row { margin-left: auto; }
.workspace-fixed .timesheet-dialog :is(button, input, select, textarea):focus-visible { outline: 2px solid #e5f3b4; outline-offset: 2px; }
.workspace-fixed .timesheet-dialog .timesheet-submit-summary, .workspace-fixed .timesheet-dialog .approval-review-ledger { flex: 0 1 auto; overflow-y: auto; margin: 20px 26px 0; padding: 16px; border: 1px solid #35485f; border-radius: 12px; background: #111c29; }
.workspace-fixed .timesheet-dialog .timesheet-submit-summary strong, .workspace-fixed .timesheet-dialog .approval-review-ledger > strong { color: #f0f3fa; font-size: 23px; font-variant-numeric: tabular-nums; }
.workspace-fixed .timesheet-dialog .timesheet-submit-summary p, .workspace-fixed .timesheet-dialog .approval-review-ledger p { color: #aab9cb; line-height: 1.5; }
.workspace-fixed .timesheet-dialog > #timesheet-submit-form { margin-top: 20px; }
@media (max-width: 600px) {
  .workspace-fixed .timesheet-dialog.new-task-modal { width: 100%; max-height: calc(100dvh - 20px); border-radius: 14px; }
  .workspace-fixed .timesheet-dialog > .modal-heading { padding: 18px; }
  .workspace-fixed .timesheet-dialog form > .modal-fields { padding: 18px; }
  .workspace-fixed .timesheet-dialog form > .modal-footer { padding: 12px 18px; }
  .workspace-fixed .timesheet-dialog .timesheet-submit-summary, .workspace-fixed .timesheet-dialog .approval-review-ledger { margin: 16px 18px 0; }
  .workspace-fixed .timesheet-dialog .modal-footer .row { width: 100%; }
  .workspace-fixed .timesheet-dialog .modal-footer .row button { flex: 1 1 auto; }
}

/* Workspace dialogs: consistent hierarchy for notifications, leave, and organization settings. */
.workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form).new-task-modal { border: 1px solid #3b4c63; border-radius: 16px; background: #151f2c; box-shadow: 0 24px 80px #000a; }
.workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form) .modal-heading { align-items: flex-start; gap: 18px; padding: 20px; border: 1px solid #35435b; border-radius: 12px; background: linear-gradient(120deg, #343920, #1a2736 72%); }
.workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form) .modal-heading > div { min-width: 0; }
.workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form) .modal-heading h2 { margin: 4px 0 7px; font-size: 22px; line-height: 1.2; }
.workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form) .modal-heading p { color: #a8b8cb; line-height: 1.5; }
.workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form) .modal-heading .icon-button { flex: 0 0 auto; }
.workspace-fixed :is(.leave-dialog, #organization-form, .office-time-zones-form) .field { color: #c4cfdf; gap: 7px; }
.workspace-fixed :is(.leave-dialog, #organization-form, .office-time-zones-form) :is(input:not([type=checkbox]):not([type=color]), select, textarea, .app-select-trigger) { border-color: #3c4d63; border-radius: 9px; background: #101b28; color: #e5ebf5; }
.workspace-fixed :is(.leave-dialog, #organization-form, .office-time-zones-form) :is(button, input, select, textarea):focus-visible, .workspace-fixed .notification-center :is(button, input, summary):focus-visible { outline: 2px solid #e5f3b4; outline-offset: 2px; }
.workspace-fixed .leave-dialog .modal-fields { padding: 4px 0 18px; gap: 14px; }
.workspace-fixed .leave-dialog .modal-footer { padding-top: 16px; border-top: 1px solid #304055; }
.workspace-fixed .leave-dialog .check-field { padding: 12px; border: 1px solid #34465b; border-radius: 10px; background: #111c29; }
.workspace-fixed .notification-center { max-height: calc(100dvh - 40px); overflow-y: auto; }
.workspace-fixed .notification-center-toolbar { gap: 10px; border-color: #304055; }
.workspace-fixed .notification-filter-tabs { border-color: #3a4b60; border-radius: 11px; background: #101b28; }
.workspace-fixed .notification-filter-tabs button { min-height: 36px; padding-inline: 16px; }
.workspace-fixed .notification-center-list { gap: 20px; scrollbar-color: #506079 transparent; scrollbar-width: thin; }
.workspace-fixed .notification-project-group { gap: 9px; }
.workspace-fixed .notification-project-group h3 { color: #a2b1c5; }
.workspace-fixed .notification-center .notification { border-color: #35485f; border-radius: 12px; background: #111c29; }
.workspace-fixed .notification-preferences { padding: 15px; border: 1px solid #35485f; border-radius: 12px; background: #111c29; }
.workspace-fixed .notification-preferences summary { color: #e5ebf5; }
.workspace-fixed .notification-preference { border-color: #35485f; background: #192636; }
.workspace-fixed .notification-preference input { accent-color: #ddef9b; }
.workspace-fixed :is(#organization-form, .office-time-zones-form) > .row { justify-content: flex-end; padding-top: 16px; border-top: 1px solid #304055; }
.workspace-fixed .office-time-zone-row { border-color: #35485f; border-radius: 12px; background: #111c29; }
@media (max-width: 520px) {
  .workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form).new-task-modal { max-height: calc(100dvh - 20px); border-radius: 14px; }
  .workspace-fixed :is(.notification-center, .leave-dialog, #organization-form, .office-time-zones-form) .modal-heading { padding: 16px; }
  .workspace-fixed .notification-center-toolbar { flex-direction: row; align-items: center; }
  .workspace-fixed .notification-mark-all { width: auto; }
  .workspace-fixed .notification-filter-tabs button { padding-inline: 10px; }
}

.cached-startup-status { position: fixed; z-index: 100; bottom: 18px; right: 18px; padding: 10px 14px; border: 1px solid #35455b; border-radius: 10px; background: #152131; color: #c8d4e6; box-shadow: 0 8px 24px #0004; font-size: 13px; }
.cached-startup-status button { margin-left: 10px; }

/* Inario Focus Ring identity */
.brand-logo { display: block; width: 150px; height: auto; max-width: 100%; }
.auth-brand .brand-logo { width: 165px; }
.loading-card .brand-loader { display: block; width: 64px; height: 64px; margin: 0 auto 16px; }
.loading-card [role="status"] { display: block; }

.loading-orb { width: 28px; height: 28px; border: 0; border-radius: 0; background: url("./brand/loader.svg") center / contain no-repeat; box-shadow: none; animation: none; }

.overview-summary-icon { color: #d9ef6b; background: #303b25; }
.overview-add, .overview-filters button[aria-pressed="true"] { color: #e5efba; background: #303b25; border-color: #566536; }
.overview-add:hover { background: #404c2d; }
.overview-quick-add-icon { color: #d9ef6b; }
.overview-quick-add:focus-within { border-color: #a5bc52; box-shadow: 0 0 0 3px #d9ef6b1c; }
.overview-focus-panel { background: radial-gradient(ellipse at 90% 0, #36452d 0, transparent 60%), #19251f; border-color: #495d3b; }
.overview-timer-button { background: #d9ef6b; color: #172029; }
.overview-timer-button:hover { background: #e8f79a; }

/* Documentation library */
.workspace-fixed .documentation-main { width: 100%; max-width: none; min-width: 0; padding: 38px clamp(22px, 3.5vw, 56px) 56px; }
.documentation-header { align-items: center; margin-bottom: 28px; }
.documentation-header .eyebrow { display: inline-block; color: #b5c988; font-size: 10px; letter-spacing: .15em; }
.documentation-header h2 { margin: 7px 0 8px; color: #f1f4f8; font-size: clamp(30px, 3vw, 42px); line-height: 1.1; letter-spacing: -.045em; }
.documentation-heading-dot { color: #d9ef6b; }
.documentation-header p { max-width: 560px; color: #99a8bb; line-height: 1.55; }
.documentation-header > button { flex-shrink: 0; min-height: 42px; padding-inline: 18px; border-radius: 10px; }
.documentation-search { position: relative; align-items: center; width: 100%; max-width: none; gap: 9px; margin-bottom: 20px; padding: 7px; border: 1px solid #2d3b4d; border-radius: 13px; background: #121b27; }
.documentation-search:focus-within { border-color: #a4b95c; box-shadow: 0 0 0 3px #d9ef6b18; }
.documentation-search-icon { padding-left: 12px; color: #a7b58d; font-size: 22px; line-height: 1; }
.documentation-search input { min-height: 38px; border: 0; padding: 8px 4px; background: transparent; box-shadow: none; }
.documentation-search input:focus { outline: 0; box-shadow: none; }
.documentation-search button { min-height: 38px; border-radius: 8px; padding-inline: 18px; }
.documentation-workspace { min-height: 660px; grid-template-columns: minmax(235px, 290px) minmax(0, 1fr); border-color: #2d3b4d; border-radius: 16px; background: #111923; }
.documentation-sidebar { gap: 4px; padding: 23px 14px; background: #141e2a; border-color: #2d3b4d; }
.documentation-sidebar-intro { display: grid; gap: 5px; padding: 0 10px 20px; margin-bottom: 4px; border-bottom: 1px solid #293749; }
.documentation-sidebar-intro .documentation-sidebar-label { padding: 0; color: #a9bb80; }
.documentation-sidebar-intro strong { color: #edf2f6; font-size: 15px; }
.documentation-sidebar-intro small { color: #8493a8; font-size: 11px; line-height: 1.45; }
.documentation-sidebar-label, .documentation-sidebar-heading { padding: 12px 10px 8px; color: #8999ae; font-size: 10px; letter-spacing: .1em; }
.documentation-spaces { display: grid; gap: 3px; }
.documentation-space { min-height: 39px; padding: 8px 10px; font-size: 13px; font-weight: 600; }
.documentation-space span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; background: #253228; font-size: 14px; }
.documentation-space.active, .documentation-page-link.active { background: #303b25; color: #f3f8e7; box-shadow: inset 2px 0 #d9ef6b; }
.documentation-sidebar-heading { align-items: center; margin-top: 17px; padding-top: 18px; }
.documentation-page-count { display: grid; place-items: center; min-width: 23px; height: 23px; padding: 0 6px; border-radius: 7px; background: #263443; color: #c5d1dc; letter-spacing: 0; }
.documentation-page-link { min-height: 52px; align-items: start; padding-block: 10px; }
.documentation-page-link strong { font-weight: 600; }
.documentation-page-link small { line-height: 1.4; }
.documentation-detail { padding: clamp(26px, 4vw, 52px); background: radial-gradient(ellipse at 100% 0, #1b2833 0, transparent 45%), #111923; }
.documentation-editor { max-width: 1040px; gap: 22px; }
.documentation-editor-top { align-items: center; padding-bottom: 20px; border-bottom: 1px solid #2a3848; }
.documentation-editor-top .eyebrow { color: #b8c994; font-size: 10px; }
.documentation-editor-top p { margin-top: 5px; font-size: 12px; }
.documentation-editor .field { margin: 0; gap: 9px; color: #9dacbc; font-size: 12px; }
.documentation-editor input, .documentation-editor select, .documentation-editor textarea { border-color: #304153; border-radius: 10px; background: #101923; color: #eef3f7; }
.documentation-editor input:focus, .documentation-editor select:focus, .documentation-editor textarea:focus { border-color: #b2c76c; }
.documentation-editor .documentation-title-field input { min-height: 60px; padding: 12px 16px; font-size: clamp(20px, 2vw, 27px); font-weight: 700; letter-spacing: -.025em; }
.documentation-parent-field { max-width: 440px; }
.documentation-parent-field .optional { color: #8190a3; font-size: 11px; }
.documentation-editor textarea { min-height: 340px; padding: 18px; font-size: 14px; font-weight: 400; line-height: 1.75; }
.documentation-editor-actions { padding-top: 18px; border-top: 1px solid #2a3848; }
.documentation-editor-actions .row { flex-wrap: wrap; }
.documentation-status { padding: 6px 11px; font-size: 10px; }
.documentation-empty-detail { max-width: none; min-height: 480px; }
@media (max-width: 780px) {
  .workspace-fixed .documentation-main { padding: 24px 16px 38px; }
  .documentation-header { align-items: flex-start; gap: 16px; }
  .documentation-header p { font-size: 12px; }
  .documentation-workspace { grid-template-columns: minmax(0, 1fr); }
  .documentation-sidebar { border-right: 0; border-bottom: 1px solid #2d3b4d; }
  .documentation-spaces { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
  .documentation-page-list { max-height: 205px; overflow: auto; }
  .documentation-detail { padding: 24px 18px; }
  .documentation-editor-actions { align-items: stretch; flex-direction: column; }
}
@media (max-width: 480px) { .documentation-header { flex-wrap: wrap; } .documentation-header > button { width: 100%; } .documentation-search button { padding-inline: 12px; } }

/* Responsive workspace contract: content shrinks; only data rails scroll sideways. */
input, select, textarea { min-width: 0; max-width: 100%; }
.workspace-fixed .fixed-workspace-layout > :is(main, section) > *,
.workspace-fixed :is(.field, .modal-fields, .modal-heading > div, .documentation-detail) { min-width: 0; }
.workspace-fixed :is(h2, h3, h4, .project-breadcrumb, .documentation-content, .membership-action-summary) { overflow-wrap: anywhere; }
.workspace-fixed :is(.project-member-list, .team-member-list, .access-member-list) { grid-template-columns: minmax(0, 1fr); }
.workspace-fixed :is(.project-member-row, .team-member-row, .access-member-row) { min-width: 0; }
.workspace-fixed :is(.table-wrap, .project-list-scroll, .project-timeline-calendar, .calendar-scroll, .my-calendar-grid) { max-width: 100%; overscroll-behavior-x: contain; }
.documentation-content :is(img, video) { max-width: 100%; height: auto; }
.documentation-content pre { max-width: 100%; overflow-x: auto; }

@media (max-width: 1100px) {
  .overview-quick-add { flex-wrap: wrap; }
  .overview-quick-add-actions { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  .workspace-fixed .topbar .brand { min-width: 0; }
  .workspace-fixed .topbar .org-picker { min-width: 0; }
}

@media (max-width: 780px) {
  .workspace-fixed .shell > .topbar { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: 44px 44px; gap: 8px; padding: 8px 12px; align-items: center; }
  .workspace-fixed .topbar .mobile-navigation-toggle { width: 44px; height: 44px; min-height: 44px; }
  .workspace-fixed .topbar .brand { justify-self: start; margin: 0; min-width: 0; min-height: 44px; max-width: 100%; }
  .workspace-fixed .topbar-actions { grid-column: 1 / -1; width: 100%; min-width: 0; height: 44px; gap: 6px; }
  .workspace-fixed .topbar .org-picker { flex: 1 1 0; min-width: 0; width: 0; }
  .workspace-fixed .topbar :is(.app-select-trigger, #manage-organizations, .notification-topbar-button, #logout, .timer.is-running) { min-height: 44px; }
  .workspace-fixed .topbar .app-select-trigger { padding: 8px; font-size: 12px; }
  .workspace-fixed .topbar-actions > button { flex: 0 0 auto; max-width: 100%; padding-inline: 8px; font-size: 11px; }
  .workspace-fixed .topbar .timer { flex: 0 0 auto; padding-inline: 7px; }
  .workspace-fixed .fixed-workspace-layout > :is(main, section) { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
  .workspace-fixed .sidebar .project-link { height: 44px; min-height: 44px; }
  .workspace-fixed :is(.project-tab-nav, .leave-view-tabs, .team-tabs) { max-width: 100%; scroll-padding-inline: 8px; }
  .workspace-fixed :is(.project-tab-nav, .leave-view-tabs, .team-tabs) button { min-height: 44px; flex-shrink: 0; }
  .workspace-fixed :is(.project-view-switcher, .project-filter-presets, .project-list-table, .entry-actions, .my-work-task-actions) button { min-height: 44px; }
  .workspace-fixed .project-main .board { grid-auto-columns: min(300px, calc(100vw - 32px)); touch-action: pan-x pan-y; }
  .workspace-fixed .project-main .board.board-single-column { grid-auto-columns: minmax(0, 1fr); }
  .workspace-fixed .project-filter-menu { min-width: 0; max-width: 100%; }
  .workspace-fixed .project-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; max-width: 100%; }
  .workspace-fixed .project-date-range { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .workspace-fixed .project-date-range > label { min-width: 0; }
  .workspace-fixed :is(.capacity-toolbar-actions, .capacity-impact-warning, .timesheet-submit-bar, .my-work-filters) { flex-wrap: wrap; min-width: 0; }
  .workspace-fixed :is(.capacity-toolbar-actions, .week-controls) > * { min-width: 0; }
  .workspace-fixed .capacity-toolbar-actions > .calendar-team-filter { flex-basis: 100%; }
  .workspace-fixed .documentation-header { align-items: stretch; flex-direction: column; gap: 16px; }
  .workspace-fixed .documentation-editor-top { flex-wrap: wrap; }
  .workspace-fixed .documentation-workspace { grid-template-columns: minmax(0, 1fr); }
  .workspace-fixed .documentation-sidebar, .workspace-fixed .documentation-detail { min-width: 0; }
  .workspace-fixed .modal-backdrop { padding: 10px; padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .workspace-fixed .new-task-modal { min-width: 0; max-height: calc(100dvh - 20px); }
  .workspace-fixed .modal-heading { align-items: flex-start; }
  .workspace-fixed .modal-heading .icon-button { flex-shrink: 0; min-width: 44px; min-height: 44px; }
  .workspace-fixed .modal-footer { flex-wrap: wrap; }
  .workspace-fixed .modal-footer button { min-height: 44px; }
  .workspace-fixed :is(input:not([type=checkbox]):not([type=radio]):not([type=color]), textarea, select:not(.app-select-native)) { font-size: 16px; }
}

@media (max-width: 600px) {
  .workspace-fixed .project-filter-fields { grid-template-columns: minmax(0, 1fr); }
  .workspace-fixed .project-date-range { grid-template-columns: minmax(0, 1fr); }
  .overview-quick-add-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; flex: 1 1 100%; width: 100%; margin: 0; }
  .overview-quick-add-actions .todo-due-date-field { grid-column: 1 / -1; min-width: 0; min-height: 44px; margin: 0; }
  .overview-quick-add-actions .todo-due-date-field input { flex: 1 1 0; width: 0; min-width: 0; font-size: 16px; }
  .overview-quick-add-actions .app-select.todo-priority { width: 100%; min-width: 0; }
  .overview-quick-add-actions > button { padding-inline: 9px; min-height: 44px; }
  .overview-quick-add-actions .app-select-trigger { min-height: 44px; }
  .overview-task-list .personal-queue-row { flex-wrap: wrap; gap: 12px; }
  .personal-queue-row .personal-queue-label { flex: 1 1 100%; width: 100%; }
  .personal-queue-row .personal-task-actions { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 6px; width: 100%; }
  .overview-page .personal-task-actions .todo-due-date { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .overview-page .personal-task-actions .app-select.todo-priority { width: 100%; }
  .personal-task-actions .app-select-trigger, .personal-queue-row .overview-personal-todo-remove { min-height: 44px; }
  .workspace-fixed .overview-welcome { flex-wrap: wrap; }
  .workspace-fixed .overview-date { text-align: left; }
  .workspace-fixed .overview-date > span { max-width: none; }
  .workspace-fixed .report-presets { width: 100%; flex-wrap: wrap; }
  .workspace-fixed .report-presets button { min-height: 44px; }
  .workspace-fixed .report-filters .field { flex: 1 1 140px; }
  .workspace-fixed :is(.access-panel, .report-panel, .leave-panel, .capacity-focus-card) { padding: 16px; }
  .workspace-fixed .leave-policy-create .policy-create-form { grid-template-columns: minmax(0, 1fr); }
  .workspace-fixed .leave-accrual-cards { grid-template-columns: minmax(0, 1fr); }
  .workspace-fixed .timesheet-main #timesheet-filters { grid-template-columns: minmax(0, 1fr); }
  .workspace-fixed :is(.team-member-row, .project-member-row) { flex-wrap: wrap; }
  .workspace-fixed .project-member-row > div { min-width: 0; overflow-wrap: anywhere; }
  .workspace-fixed .documentation-detail { padding: 20px 16px; }
  .workspace-fixed .documentation-search { flex-wrap: wrap; }
  .workspace-fixed .documentation-search input { flex-basis: 180px; }
}

@media (max-width: 480px) {
  .workspace-fixed:has(.topbar .timer.is-running) { --navigation-height: 164px; }
  .workspace-fixed .topbar:has(.timer.is-running) { grid-template-rows: 44px 96px; }
  .workspace-fixed .topbar-actions:has(.timer.is-running) { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: 44px 44px; gap: 8px; height: 96px; }
  .workspace-fixed .topbar-actions:has(.timer.is-running) .org-picker { width: 100%; }
  .workspace-fixed .topbar .timer.is-running { grid-column: 1; grid-row: 2; justify-self: start; }
  .workspace-fixed .topbar-actions:has(.timer.is-running) .notification-topbar-button { grid-column: 2; grid-row: 2; }
}

@media (max-width: 360px) {
  .workspace-fixed .access-member-row { grid-template-columns: minmax(0, 1fr); }
  .workspace-fixed .access-member-row > * { grid-column: 1; grid-row: auto; }
  .workspace-fixed .access-member-row .compact-action { grid-column: 1; grid-row: auto; }
  .workspace-fixed .access-member-row .membership-status { grid-column: 1; grid-row: auto; justify-self: start; }
}

/* Mobile Safari zooms when editable controls use text smaller than 16px. */
@media (max-width: 780px) {
  .auth-card :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 16px; }
}

/* PWA installation entry and platform instructions */
.pwa-install-entry { min-height: 36px; border: 1px solid #425236; border-radius: 8px; padding: 7px 12px; background: #253326; color: #e6f1c1; font-size: 12px; font-weight: 650; }
.pwa-install-entry:hover { background: #35462d; }
.auth-card .pwa-install-entry { width: 100%; margin-top: 20px; }
.workspace-fixed .sidebar .sidebar-footer { flex-basis: auto; min-height: 76px; }
.sidebar-footer .pwa-install-entry { width: 100%; min-height: 36px; }
.pwa-install-dialog { width: min(460px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid #3a4a5c; border-radius: 18px; background: #151e2b; color: #eef3f7; box-shadow: 0 24px 70px #0009; }
.pwa-install-dialog::backdrop { background: #060b13c9; backdrop-filter: blur(4px); }
.pwa-install-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pwa-install-dialog h2 { margin: 6px 0 0; font-size: 25px; letter-spacing: -.03em; }
.pwa-install-kicker { color: #c2d78a; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.pwa-install-dialog p { color: #adbbcc; line-height: 1.6; }
.pwa-install-instructions { padding: 14px; border: 1px solid #394a38; border-radius: 10px; background: #1b2a25; color: #e8f3d2 !important; }
.pwa-install-close { min-width: 38px; min-height: 38px; padding: 0; background: #263344; color: #e5ecf3; font-size: 23px; }
.pwa-install-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.pwa-install-actions [hidden] { display: none; }
@media (max-width: 600px) { .pwa-install-dialog { padding: 20px; } .pwa-install-actions button { min-height: 44px; } }

/* Phone overview: summary, work timer, then the priority queue. */
#mobile-add-todo { display: none; }
.overview-create-actions { display: flex; align-items: center; gap: 8px; }
.personal-todo-dialog { width: min(460px, 100%); padding: 0; overflow: auto; }
.personal-todo-dialog .modal-heading { padding: 20px; }
.personal-todo-dialog-body { padding: 0 20px 20px; }
.personal-todo-error { margin: 0 20px 16px; }
@media (max-width: 780px) {
  .overview-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .overview-primary, .overview-secondary, .overview-focus-panel { display: contents; }
  .overview-work-timer { order: 1; position: relative; overflow: hidden; padding: 20px; border: 1px solid #495d3b; border-radius: 14px; background: radial-gradient(ellipse at 90% 0, #36452d, transparent 60%), #19251f; }
  .dashboard-today-panel { order: 2; }
  .overview-primary > .overview-panel:not(.dashboard-today-panel) { order: 3; }
  .overview-focus-controls { order: 4; padding: 18px 20px; border: 1px solid #38493b; border-radius: 14px; background: #17231f; }
  .overview-focus-controls .overview-pomodoro { margin-top: 0; padding-top: 0; border-top: 0; }
  .overview-secondary > .overview-panel { order: 5; }
  .overview-focus-orbit { right: 18px; top: 12px; }
  .overview-work-timer h3 { margin: 10px 0 6px; }
  .overview-work-timer .overview-timer-label { margin: 4px 0 10px; }
  .overview-work-timer .overview-focus-description { margin: 0 0 10px; }
  .overview-work-timer .overview-timer { margin: 0; }
  .overview-task-list { max-height: none; overflow: visible; }
  #mobile-add-todo { display: inline-flex; }
  .dashboard-today-panel > .overview-quick-add { display: none; }
  .personal-todo-dialog .overview-quick-add { display: flex; flex-wrap: wrap; margin: 0; padding: 14px; }
  .personal-todo-dialog .overview-quick-add input[name="title"] { flex: 1 1 calc(100% - 32px); min-height: 44px; }
  .personal-todo-dialog .overview-quick-add-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; width: 100%; flex: 1 1 100%; margin: 0; }
  .personal-todo-dialog .todo-due-date-field { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .personal-todo-dialog .todo-due-date-field input { flex: 1; width: 0; min-width: 0; font-size: 16px; }
  .personal-todo-dialog .overview-quick-add-actions .app-select { width: 100%; }
  .personal-todo-dialog .overview-quick-add-actions button { min-height: 44px; }
  .overview-panel-heading:has(.overview-create-actions) { flex-wrap: wrap; }
  .overview-create-actions { flex-wrap: wrap; }

  /* Preserve every inline action, but stack each task into an easy-to-scan card. */
  .project-main .project-list-scroll { overflow-x: visible; }
  .project-main .project-list-table { display: block; width: 100%; min-width: 0; }
  .project-main .project-list-table thead { display: block; overflow-x: auto; border-bottom: 1px solid var(--border); }
  .project-main .project-list-table thead tr { display: flex; width: max-content; }
  .project-main .project-list-table thead th, .project-main .project-list-table thead th:first-child, .project-main .project-list-table thead th:nth-child(n) { display: block; width: auto; padding: 0; border: 0; }
  .project-main .project-list-sort { min-height: 44px; padding: 8px 12px; }
  .project-main .project-list-table tbody { display: grid; gap: 10px; padding: 12px; }
  .project-main .project-list-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; border: 1px solid #304052; border-radius: 11px; background: #182330; }
  .project-main .project-list-row td { display: block; min-width: 0; padding: 0; border: 0; }
  .project-main .project-list-row td:first-child { grid-column: 1 / -1; padding-bottom: 10px; border-bottom: 1px solid #304052; }
  .project-main .project-list-row td[data-label]::before { display: block; margin: 0 0 6px; color: #94a5b8; content: attr(data-label); font-size: 10px; font-weight: 700; }
  .project-main .project-list-status-cell { display: flex; flex-wrap: wrap; gap: 6px; }
  .project-main .project-list-row .app-select, .project-main .project-list-row .project-list-date { width: 100%; min-width: 0; }
  .project-main .project-list-row .app-select-trigger, .project-main .project-list-row .project-list-date { min-height: 44px; border-color: #34465b; background: #111b27; }
  .project-main .project-list-row .project-list-open { width: 100%; }
  .project-main .project-list-row .project-list-open strong { font-size: 14px; }
  .project-main .project-list-table tbody > tr:not(.project-list-row) { display: block; }
  .project-main .project-list-table tbody > tr:not(.project-list-row) td { display: block; }
}
@media (max-width: 360px) { .overview-create-actions { width: 100%; } .overview-create-actions button { flex: 1; } }
