/* Compact report filters; explicit controls also normalize Safari rendering. */
.fm-eyebrow{color:#247192;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
.fm-page-heading{margin-bottom:20px}.fm-page-heading p{margin-bottom:0}
.fm-filters{padding:18px 20px}
.fm-filter-grid{display:grid;grid-template-columns:minmax(290px,1.45fr) repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.fm-filter{min-width:0;display:flex;flex-direction:column;gap:9px}
.fm-filters .fm-toggle{display:flex;align-items:center;gap:8px;height:20px;margin:0;padding:0;color:#405b70;font-size:12px;font-weight:600;cursor:pointer}
.fm-filters input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-block;box-sizing:border-box;flex:0 0 16px;width:16px;height:16px;min-height:16px;margin:0;padding:0;border:1px solid #bacbd8;border-radius:4px;background:#fff;box-shadow:none;cursor:pointer}
.fm-filters input[type=checkbox]:checked{border-color:#0874c8;background:#0874c8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.fm-sort-label select{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:220px;height:32px;min-height:32px;margin:0;border:1px solid #d7e2eb;border-radius:8px;padding:0 34px 0 12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 6 3.5 3.5L11.5 6' fill='none' stroke='%23778b9c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 11px center/16px no-repeat;color:#294357;font:inherit;font-size:11px;line-height:normal;box-shadow:none;text-overflow:ellipsis}
.fm-filter .ac{width:100%;min-width:0}.fm-filter .ac>input,#fm-period{box-sizing:border-box;width:100%;height:40px;min-height:40px;margin:0;border:1px solid #d7e2eb;border-radius:8px;background:#fff;padding:0 12px;color:#294357;font:inherit;font-size:13px}
#fm-period{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#edf4f9;white-space:nowrap;font-size:12px;font-weight:600}
.fm-filter .ac>input:disabled,#fm-period:disabled{background:#f5f8fa;color:#8798a6;-webkit-text-fill-color:#8798a6;opacity:1}
.fm-filter .ac:has(input:disabled) .ac-list{display:none}.fm-filter .ac-list{width:100%;min-width:0;max-width:none;box-sizing:border-box;max-height:260px;z-index:35}.fm-filter .ac-list button{font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;padding:9px 12px}.fm-filter .ac-list button:focus-visible{outline:2px solid #0871db;outline-offset:-2px}
.fm-filters input:focus-visible,#fm-period:focus-visible{outline:2px solid #b7ddf5;outline-offset:2px;border-color:#4b9ccd}
@media(min-width:761px){.fm-date-wrap .calendar{max-width:calc(100vw - 320px)}}
.fm-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #eaf0f5}.fm-actions>.muted{font-size:12px}.fm-actions button{min-height:36px;padding:8px 15px}.fm-actions .inline{gap:8px;flex-shrink:0}
#fm-result{margin-top:16px}
.crew-leader input{width:16px;height:16px;accent-color:#1676b6}
.fm-profit{color:#23826c}.fm-loss{color:#b64c5b}.fm-report{padding:0;overflow:hidden}.fm-report-heading{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.fm-report h2{margin:0;font-size:16px}.fm-report-heading p{color:#71818d;margin:7px 0 0;font-size:12px}.fm-scroll{overflow:auto}.fm-table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums}.fm-table th,.fm-table td{padding:7px 12px;height:38px;box-sizing:border-box;text-align:right;border-bottom:1px solid #e6edf2;white-space:nowrap}.fm-table th:first-child{text-align:left;min-width:210px}.fm-table thead th{font-size:10px;color:#6b7e8b;font-weight:650;white-space:normal;background:#f6f8fb;max-width:180px}.fm-city th,.fm-city td{background:#f0f7fb;font-weight:650}.fm-expand{border:0;background:none;display:flex;align-items:center;gap:9px;padding:0;min-height:0;text-align:left;color:#243e50;font:inherit}.fm-expand small{display:block;color:#8195a3;font-size:11px;font-weight:400;margin-top:4px}.fm-plus{display:inline-grid;place-items:center;border:1px solid #c7dce8;background:white;border-radius:7px;width:21px;height:21px;flex-shrink:0;color:#1676b6;font-size:16px}.fm-person th{padding-left:43px;font-size:12px;font-weight:400}.fm-person td{font-size:12px}.fm-person th,.fm-person td{height:34px;padding-top:6px;padding-bottom:6px}.fm-person:hover th,.fm-person:hover td{background:#fafcfd}.fm-table tfoot th,.fm-table tfoot td{background:#e8f2f5;font-weight:750;border-top:2px solid #c6dde7}.fm-footnote{font-size:11px;line-height:1.6;color:#71818d;padding:12px 16px}.fm-empty,.fm-loading{padding:40px;text-align:center;color:#6d7f89}.fm-empty h3{color:#304b5d}.fm-outdated{opacity:.55}.crew-leader{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:#477186}.foreman-mark{display:block;color:#247192;font-size:12px;margin-top:5px}
@media(max-width:1150px){.fm-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fm-filter-grid{grid-template-columns:1fr;gap:16px}.fm-filters{padding:16px}.fm-actions,.fm-report-heading{flex-direction:column;align-items:stretch}.fm-actions{gap:12px}.fm-actions .inline{justify-content:flex-end}.fm-report-heading{padding:16px}.fm-footnote{padding:14px}.fm-page-heading{margin-bottom:16px}}

.fm-report-tools{flex-wrap:wrap;justify-content:flex-end;gap:7px}.fm-report-tools>button{font-size:11px;padding:7px 10px;min-height:32px}.fm-sort-label{display:flex;align-items:center;gap:7px;font-size:11px;color:#71818d;margin:0}.fm-sort-label select{font:inherit;color:#294357;max-width:220px;min-height:32px;padding:6px 25px 6px 8px;border-radius:7px;background-color:#fff}.fm-sort-heading{font:inherit;color:inherit;border:0;background:none;padding:0;text-align:right;min-height:0}.fm-sort-heading span{visibility:hidden}th[aria-sort=descending] .fm-sort-heading{color:#0874c8}th[aria-sort=descending] .fm-sort-heading span{visibility:visible}
@media(max-width:600px){.fm-report-tools{justify-content:flex-start}.fm-sort-label{width:100%;justify-content:space-between}}
