/* Mobile corrections. No font scaling, hidden fields or clipped page overflow. */
.mobile-filters-toggle {display:none}
.warm-staff .dashboard-drilldown[hidden],.warm-staff [data-dashboard-panel][hidden] {display:none!important}
.warm-staff .dashboard-drilldown {margin-bottom:24px;scroll-margin-top:76px;min-width:0}
.warm-staff .dashboard-drilldown h3 {font-size:24px;margin:0 0 16px;overflow-wrap:anywhere}
.warm-staff .dashboard-drilldown h3:focus {outline:none}
.warm-staff .dashboard-drilldown h3:focus-visible {outline:2px solid var(--gold-dark);outline-offset:4px}
.warm-staff .dashboard-drilldown-close {float:right;margin:0 0 12px 12px}
.warm-staff .dashboard-drilldown-list {list-style:none;padding:0;margin:0;clear:both}
.warm-staff .dashboard-drilldown-list li {margin:0;border-top:1px solid var(--line)}
.warm-staff .dashboard-drilldown-list a {display:grid;gap:4px;padding:14px 0;color:var(--ink);text-decoration:none;min-width:0;overflow-wrap:anywhere}
.warm-staff .dashboard-drilldown-list a:hover strong {color:var(--gold-dark);text-decoration:underline}
.warm-staff .dashboard-drilldown-list span,.warm-staff .dashboard-drilldown-note {font-size:13px;color:var(--muted);line-height:1.5}
.warm-staff .kpi-card[aria-expanded=true] {outline:2px solid var(--gold-dark);outline-offset:2px}
.warm-staff .salary-currency {white-space:nowrap;font-weight:normal}
.warm-staff main {max-width:none}
.warm-staff .page-inline-form {width:100%;max-width:100%;box-sizing:border-box}
.warm-staff main > :is(.card-narrow,.page-form-card),.warm-staff .warm-expense-form {width:100%;max-width:100%!important;box-sizing:border-box}
.warm-staff :is(.card-narrow,.page-form-card) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),select,textarea) {max-width:100%;width:100%;box-sizing:border-box}
.warm-staff .card-narrow :is(#id_approx_month,#id_approx_year) {max-width:100%}
.warm-staff .warm-project-filter-form {grid-template-columns:minmax(180px,2fr) minmax(110px,.7fr) minmax(180px,1.2fr) minmax(110px,.7fr) auto}
.warm-staff .warm-project-filter-form > * {min-width:0}
.warm-staff .warm-filter-statuses {grid-row:2;grid-column:1/-1}
@media(min-width:861px) and (max-width:1250px) {
 .warm-staff .warm-project-filter-form {grid-template-columns:repeat(3,minmax(0,1fr))}
 .warm-staff .warm-filter-search {grid-row:1;grid-column:1/3}
 .warm-staff .warm-filter-actions {grid-row:1;grid-column:3;justify-self:end}
 .warm-staff .warm-filter-statuses {grid-row:3;grid-column:1/-1}
}
.mobile-task-date {display:contents}
.mobile-task-date > span {display:none}
.mobile-select-all {display:none}
.mobile-selected-value {display:none}
.calendar-scroll-hint {display:none}
/* Keep the time axis in the same 60px rows as the event coordinates. */
.warm-staff .calendar-timeline .hour-label {transform:none;line-height:1.2;padding-top:3px}
.warm-staff .calendar-empty {right:12px;margin:0;overflow-wrap:anywhere}
@media(max-width:860px) {
 .warm-staff .mobile-topbar {height:56px;padding:0 14px}
 .warm-staff .mobile-topbar .brand-block a {font-size:21px}
 .warm-staff .topbar {display:none}
 .warm-staff main {padding:16px 12px 96px;min-width:0}
 .warm-staff :is(main,.card,.entity-header,.section-head,.toolbar) {box-sizing:border-box;min-width:0;max-width:100%}
 .warm-staff .card {padding:16px!important;margin-bottom:18px}
 .warm-staff .toolbar {gap:10px;margin-bottom:14px;align-items:stretch}
 .warm-staff .toolbar h2 {font-size:26px;line-height:1.15;margin:0;text-align:left}
 .warm-staff .toolbar .project-actions {gap:8px}
 .warm-staff .toolbar .project-actions .btn {flex:1 1 0;min-width:0;padding:10px 8px;font-size:14px!important}
 .warm-staff .warm-project-filter-form {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px}
 .warm-staff .warm-project-filter-form > * {grid-column:1/-1!important;grid-row:auto!important;min-width:0}
 .warm-staff .mobile-filters-toggle:not([hidden]) {display:block;text-align:left;width:100%}
 .warm-staff .mobile-filters-toggle::after {content:' −';float:right}
 .warm-staff .mobile-filters-toggle[aria-expanded=false]::after {content:' ＋'}
 .warm-staff .warm-project-filter-form.mobile-filters-collapsed > .warm-filter-option {display:none}
 .warm-staff .warm-filter-statuses {padding-top:10px;border-top:1px solid var(--line)}
 .warm-staff .warm-filter-actions {display:flex;gap:8px}
 .warm-staff .warm-filter-actions .btn {flex:1}
 .warm-staff .warm-project-filters p {margin-top:10px!important;padding-top:8px!important}
 .warm-staff .section-head {display:flex;align-items:flex-start;gap:10px;margin-top:24px;margin-bottom:12px;scroll-margin-top:70px}
 .warm-staff .section-head h3 {margin:0;font-size:22px;line-height:1.25}
 .warm-staff .section-head .section-actions {margin-left:0;max-width:100%}
 .warm-staff .section-actions :is(form,input,select) {min-width:0;max-width:100%;flex-wrap:wrap}
 .warm-staff .task-quick-add-form {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px}
 .warm-staff .task-quick-add-form > * {width:100%!important;min-width:0!important;grid-column:1/-1}
 .warm-staff .task-quick-add-form input[type=hidden] {display:none}
 .warm-staff .mobile-task-date {display:block;text-transform:none;letter-spacing:normal;font-size:13px;color:var(--muted)}
 .warm-staff .mobile-task-date > span {display:block;margin-bottom:5px}
 .warm-staff .mobile-task-date input {width:100%;box-sizing:border-box}
 .warm-staff #task-checklist-list .task-row {display:grid!important;grid-template-columns:44px minmax(0,1fr) auto;gap:6px 10px;align-items:start!important;padding:14px 0!important;font-size:15px!important}
 .warm-staff .task-row > :first-child {grid-column:1;grid-row:1/3}
 .warm-staff .task-row .task-title-cell {grid-column:2/-1;grid-row:1;min-width:0;overflow-wrap:anywhere;line-height:1.5}
 .warm-staff .task-row .task-due-cell {grid-column:2;grid-row:2;font-size:13px!important;padding-top:3px}
 .warm-staff .task-row .task-priority-cell {grid-column:3;grid-row:2;justify-self:end;font-size:12px!important;white-space:normal}
 .warm-staff .task-toggle-btn {min-width:44px;min-height:44px;font-size:24px!important;color:var(--gold-dark)}
 .warm-staff .task-row .task-inline-edit {grid-column:2/-1;min-width:0;flex-wrap:wrap}
 .warm-staff #task-checklist-list .task-row.editing {grid-template-columns:repeat(2,minmax(0,1fr))}
 .warm-staff #task-checklist-list .task-row.editing > * {width:100%!important;min-width:0;grid-column:auto;grid-row:auto}
 .warm-staff #task-checklist-list .task-row.editing > .edit-title-input {grid-column:1/-1}
 .warm-staff .mobile-stack-table {display:block!important;width:100%!important;min-width:0!important;max-width:100%;border:0!important;background:none;overflow:visible;white-space:normal;table-layout:auto}
 .warm-staff .mobile-stack-table > thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .warm-staff .mobile-stack-table > :is(tbody,tfoot) {display:grid;width:100%;gap:12px;white-space:normal}
 .warm-staff .mobile-stack-table > :is(tbody,tfoot) > tr {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;min-width:0;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-sizing:border-box}
 .warm-staff .mobile-stack-table > :is(tbody,tfoot) > tr > :is(td,th) {display:block;width:auto!important;min-width:0!important;max-width:100%;padding:0!important;border:0!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}
 .warm-staff .mobile-stack-table td[data-label]::before {content:attr(data-label);display:block;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:5px}
 .warm-staff .mobile-stack-table > tbody > tr > td {font-size:15px;line-height:1.5}
 .warm-staff .mobile-stack-table td.mobile-cell-select {display:flex;align-items:center;gap:10px;min-height:44px}
 .warm-staff .mobile-stack-table td.mobile-cell-select::before {margin:0}
 .warm-staff .mobile-stack-table :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {width:100%!important;min-width:0!important;max-width:100%;box-sizing:border-box}
 .warm-staff .mobile-stack-table :is(input[type=checkbox],input[type=radio]) {width:22px!important;height:22px!important;min-height:22px!important;margin:0}
 .warm-staff .mobile-stack-table .inline-edit-row {display:none!important}
 .warm-staff .mobile-stack-table .inline-edit-row.open {display:grid!important}
 .warm-staff .mobile-stack-table .inline-edit-row form {display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;gap:10px}
 .warm-staff .mobile-stack-table .inline-edit-row form > div {min-width:0!important;width:100%}
 .warm-staff .mobile-stack-table .actions {display:flex!important;flex-wrap:wrap;gap:10px}
 .warm-staff .mobile-stack-table .actions :is(a,button),.warm-staff .mobile-stack-table .remove-row-btn {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 .warm-staff .mobile-table-scroll {width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;margin-bottom:18px;-webkit-overflow-scrolling:touch}
 .warm-staff .mobile-table-scroll:focus-visible {outline:2px solid var(--gold-dark);outline-offset:2px}
 .warm-staff .mobile-table-scroll table {margin-bottom:0!important}
 .warm-staff .mobile-select-all {display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;text-transform:none;letter-spacing:normal}
 .warm-staff .mobile-select-all input {width:22px;height:22px;margin:0}
 .warm-staff .mobile-selected-value:not([hidden]) {display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
 .warm-staff .add-row-btn {min-height:44px;max-width:100%;font-size:15px;padding:10px 14px}
 .warm-staff main > .card[style*=max-width] {margin-inline:auto}
 .warm-staff .mobile-fluid-grid {grid-template-columns:minmax(0,1fr)!important}
 .warm-staff .mobile-wrap-form {flex-wrap:wrap!important;gap:10px}
 .warm-staff .mobile-wrap-form > * {min-width:0;max-width:100%}
 /* A pixel flex-basis becomes HEIGHT when a GET form turns into a column. */
 .warm-staff .mobile-wrap-form > div {flex:0 1 auto!important;min-width:0!important}
 .warm-staff .pb-filter-form {display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px!important;align-items:start!important;align-content:start}
 .warm-staff .pb-filter-form > * {min-width:0!important;width:100%;margin-left:0!important;box-sizing:border-box}
 .warm-staff .pb-filter-form > div {height:auto;min-height:0}
 /* A 1fr track has an automatic min-content minimum; long titles grew the page. */
 .warm-staff .dashboard-page,.warm-staff .dashboard-cols > div {min-width:0;max-width:100%}
 .warm-staff .dashboard-page .dashboard-cols {grid-template-columns:minmax(0,1fr)}
 .warm-staff .dashboard-drilldown-close {float:none;margin:0 0 12px}
 .warm-staff .dashboard-page :is(.kpi-card,.list-row,.task-group-head) {min-width:0;max-width:100%;box-sizing:border-box}
 .warm-staff .dashboard-page :is(.list-row-title,.list-row-meta,.task-group-name,.kpi-context) {white-space:normal;overflow-wrap:anywhere;line-height:1.5}
 .warm-staff .dashboard-page :is(.dashboard-upcoming-list,.dashboard-task-group) {padding:0!important}
 .warm-staff .dashboard-task-group .list-row {display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
 .warm-staff .dashboard-task-group .list-row > .status {justify-self:start}
 .warm-staff .dashboard-page .task-group-head {flex-wrap:wrap;gap:8px}
 .warm-staff .dashboard-page .task-group-name {flex:1 1 100%;min-width:0}
 .warm-staff .dashboard-upcoming-list .list-row {display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start}
 .warm-staff .dashboard-upcoming-list .list-row > .status {grid-column:2;justify-self:start;white-space:normal}
 .warm-staff .calendar-scroll-hint {display:block;margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--muted)}
 .warm-staff .week-scroll {width:100%;min-width:0;-webkit-overflow-scrolling:touch}
 .warm-staff .week-scroll:focus-visible {outline:2px solid var(--gold-dark);outline-offset:2px}
 .warm-staff .week-grid.calendar-timeline {overflow:visible;grid-template-rows:minmax(44px,auto) calc(var(--calendar-hours,17) * 60px)}
 .warm-staff .week-grid.calendar-timeline > .hour-label-col {position:sticky;left:0;z-index:2;background:var(--paper);border-right:1px solid var(--line)}
 .warm-staff .week-grid .week-time-header {position:sticky;left:0;z-index:3;background:var(--paper);border-top-left-radius:var(--radius);align-content:center}
 .warm-staff .week-grid .week-day-header {min-width:0;box-sizing:border-box;line-height:1.4;align-content:center}
}
@media(max-width:360px) {
 .warm-staff .mobile-topbar .brand-block a {font-size:19px}
}
@media print {
 .mobile-table-scroll {overflow:visible!important}
 .warm-staff .warm-project-filter-form.mobile-filters-collapsed > .warm-filter-option {display:block}
 .mobile-filters-toggle {display:none!important}
}
