.tf-mh-modalback{position:fixed;inset:0;background:rgba(15,23,42,.62);display:grid;place-items:center;padding:18px;z-index:100080;overflow:auto}
.tf-mh-modal{width:min(1120px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.3);padding:20px}
.tf-mh-modalhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.tf-mh-modalhead h2{margin:0}.tf-mh-modalhead p{margin:5px 0 0}
.tf-mh-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tf-mh-formgrid .span2{grid-column:span 2}.tf-mh-field label{display:block;font-weight:700;margin-bottom:6px}.tf-mh-field input,.tf-mh-field select,.tf-mh-field textarea{width:100%}
.tf-mh-material-table{width:100%;min-width:620px;border-collapse:collapse}.tf-mh-material-table th,.tf-mh-material-table td{padding:9px;border-bottom:1px solid #dfe5e2;vertical-align:middle}.tf-mh-material-table th{text-align:left;background:#f3f6f5}.tf-mh-material-table input{width:100%;min-width:0}.tf-mh-material-table .tf-mh-qty{width:115px}.tf-mh-material-table .tf-mh-price,.tf-mh-material-table .tf-mh-amount{width:145px}.tf-mh-material-table .tf-mh-amount{text-align:right;font-weight:800;white-space:nowrap}.tf-mh-material-table .tf-mh-delete{width:48px;text-align:center}.tf-mh-description-cell{display:flex;align-items:center;gap:7px}.tf-mh-description-cell input{flex:1}.tf-mh-description-cell .btn{flex:0 0 auto}
.tf-mh-credit-banner{padding:11px 13px;border-radius:9px;background:#fff1f0;color:#9d2219;font-weight:800;margin-bottom:13px}
.tf-mh-row-toolbar{display:flex;align-items:flex-start;gap:0;margin-top:12px;position:relative}.tf-mh-row-toolbar>.btn:first-child{border-radius:8px 0 0 8px}.tf-mh-row-menu{position:relative}.tf-mh-row-menu summary{list-style:none;border:1px solid #cfd9d4;border-left:0;border-radius:0 8px 8px 0;background:#fff;min-height:40px;padding:9px 12px;cursor:pointer;font-weight:800}.tf-mh-row-menu summary::-webkit-details-marker{display:none}.tf-mh-row-menu[open] .tf-mh-row-options{display:grid}.tf-mh-row-options{display:none;position:absolute;left:0;top:44px;z-index:4;min-width:160px;background:#fff;border:1px solid #cfd9d4;border-radius:9px;box-shadow:0 12px 28px rgba(20,32,50,.18);overflow:hidden}.tf-mh-row-options button{border:0;background:#fff;text-align:left;padding:11px 13px;cursor:pointer}.tf-mh-row-options button:hover{background:#f1f5f3}
.tf-mh-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}.tf-mh-nav-alert,.tf-mh-nav-alert.active{color:#c62828!important;font-weight:900!important}.tf-mh-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:8px;border-radius:999px;background:transparent;color:#c62828;font-size:.76rem;font-weight:900}
.tf-mh-holiday-page .pagehead{align-items:flex-start}.tf-mh-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.tf-mh-summary-card{background:#fff;border:1px solid #dfe5e2;border-radius:12px;padding:15px}.tf-mh-summary-card b{display:block;font-size:1.5rem;margin-top:4px}.tf-mh-summary-card small{color:#66717f}
.tf-mh-calendar-card{background:#fff;border:1px solid #dfe5e2;border-radius:13px;padding:14px;margin-bottom:18px}.tf-mh-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.tf-mh-calendar-head h2{margin:0;font-size:1.25rem}.tf-mh-calendar-controls{display:flex;gap:7px;flex-wrap:wrap}.tf-mh-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dfe5e2;border-left:1px solid #dfe5e2}.tf-mh-calendar-weekday{padding:8px;text-align:center;font-weight:800;background:#f3f6f5;border-right:1px solid #dfe5e2;border-bottom:1px solid #dfe5e2}.tf-mh-day{min-height:112px;padding:7px;border:0;border-right:1px solid #dfe5e2;border-bottom:1px solid #dfe5e2;background:#fff;text-align:left;cursor:pointer;overflow:hidden}.tf-mh-day:hover{background:#f7faf8}.tf-mh-day.other{background:#f7f8f8;color:#8c9691}.tf-mh-day.today{box-shadow:inset 0 0 0 2px #126b4f}.tf-mh-day-number{font-weight:900;margin-bottom:5px}.tf-mh-event{display:block;border-radius:6px;padding:4px 5px;margin:3px 0;font-size:.73rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.tf-mh-event.pending{background:#fff0d9;color:#7b4a00}.tf-mh-event.approved{background:#e5f5eb;color:#145c2a}.tf-mh-event.edited{background:#e5edff;color:#244b96}.tf-mh-event.denied{background:#ffe6e3;color:#8d1d15}.tf-mh-event.cancelled{background:#ecefed;color:#59635e}
.tf-mh-request-list{display:grid;gap:11px}.tf-mh-request{background:#fff;border:1px solid #dfe5e2;border-radius:12px;padding:14px}.tf-mh-request.pending{border-left:5px solid #d98500}.tf-mh-request.approved{border-left:5px solid #198754}.tf-mh-request.edited{border-left:5px solid #2f64b7}.tf-mh-request.denied{border-left:5px solid #b42318}.tf-mh-request.cancelled{border-left:5px solid #7b8580}.tf-mh-request.unacknowledged{background:#fff4f3;border-color:#e59a94}.tf-mh-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tf-mh-request-head h3{margin:0 0 4px;font-size:1rem}.tf-mh-request-meta{color:#66717f}.tf-mh-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:900;white-space:nowrap}.tf-mh-status.pending{background:#fff0d9;color:#7b4a00}.tf-mh-status.approved{background:#e5f5eb;color:#145c2a}.tf-mh-status.edited{background:#e5edff;color:#244b96}.tf-mh-status.denied{background:#ffe6e3;color:#8d1d15}.tf-mh-status.cancelled{background:#ecefed;color:#59635e}.tf-mh-request-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:11px}.tf-mh-decision-note,.tf-mh-internal-note,.tf-mh-clash{margin-top:9px;padding:9px 11px;border-radius:8px;background:#f5f7f6}.tf-mh-internal-note{background:#edf2ff;color:#244b96}.tf-mh-clash{background:#fff0d9;color:#7b4a00}.tf-mh-settings-members{max-height:520px;overflow:auto}.tf-mh-settings-members table{min-width:620px}.tf-mh-weekdays{display:flex;gap:8px;flex-wrap:wrap}.tf-mh-weekdays label{display:flex;align-items:center;gap:5px;border:1px solid #cfd9d4;border-radius:8px;padding:7px 9px}.tf-mh-empty{padding:20px;border:1px dashed #cbd5df;border-radius:10px;color:#66717f;text-align:center}.tf-mh-request-filters{margin-bottom:12px}.tf-mh-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:10px}.tf-mh-filter-grid label{display:grid;gap:5px;font-weight:700}.tf-mh-filter-grid select{width:100%}.tf-mh-decision-review{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tf-mh-decision-review>div{padding:11px;border-radius:9px;background:#f3f6f5}.tf-mh-decision-review small,.tf-mh-decision-review b{display:block}.tf-mh-member-weekdays{display:grid;grid-template-columns:repeat(2,auto);gap:3px}.tf-mh-member-weekdays label{display:flex;gap:3px;align-items:center;font-size:.75rem}.tf-mh-settings-members td{vertical-align:top}.tf-mh-settings-members td input+input{margin-top:5px}
@media(max-width:900px){.tf-mh-modalback{align-items:end;padding:0}.tf-mh-modal{width:100%;max-height:94dvh;border-radius:16px 16px 0 0;padding:17px 13px calc(17px + env(safe-area-inset-bottom))}.tf-mh-formgrid{grid-template-columns:1fr}.tf-mh-formgrid .span2{grid-column:span 1}.tf-mh-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-mh-calendar{min-width:720px}.tf-mh-calendar-scroll{overflow-x:auto}.tf-mh-day{min-height:102px}.tf-mh-request-head{display:block}.tf-mh-request-head .tf-mh-status{margin-top:7px}}
@media(max-width:520px){.tf-mh-summary-grid{grid-template-columns:1fr 1fr}.tf-mh-summary-card{padding:11px}.tf-mh-summary-card b{font-size:1.2rem}.tf-mh-actions .btn{width:100%}}

/* Time start/finish calculation */
.tf-mh-time-field small{display:block;margin-top:5px;line-height:1.25}.tf-mh-time-field input[type="time"]{width:100%}

/* Repaired holiday calendar controls */
.tf-mh-calendar-jump{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.tf-mh-calendar-jump label{display:grid;gap:4px;font-size:.78rem;font-weight:800;color:#56616d}.tf-mh-calendar-jump select{min-width:82px;padding:8px 9px}.tf-mh-calendar-jump label:nth-child(2) select{min-width:132px}.tf-mh-day.selected{box-shadow:inset 0 0 0 3px #2f7de1}.tf-mh-day.today.selected{box-shadow:inset 0 0 0 2px #126b4f,inset 0 0 0 5px #d8e9ff}
.tf-mh-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tf-mh-section-head h2{margin:0}.tf-mh-section-head p{margin:5px 0 0}.tf-mh-admin-overview{margin-bottom:16px}.tf-mh-admin-overview table{min-width:760px}.tf-mh-admin-overview th,.tf-mh-admin-overview td{vertical-align:top}.tf-mh-settings-members table{min-width:1780px}.tf-mh-settings-members input{min-width:95px}
.tf-mh-schedule-presets{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 10px}.tf-mh-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:6px;margin:6px 0}.tf-mh-schedule-grid label{display:grid;gap:3px;font-size:.75rem;text-align:center}.tf-mh-schedule-grid input{min-width:58px!important;text-align:center;padding:7px 4px}.tf-mh-member-schedule{min-width:530px}.tf-mh-member-schedule>label{display:flex;align-items:center;gap:6px;font-weight:700}.tf-mh-member-schedule>label input{width:auto;min-width:0}.tf-mh-field[hidden]{display:none!important}
@media(max-width:900px){.tf-mh-filter-grid{grid-template-columns:1fr 1fr}.tf-mh-decision-review{grid-template-columns:1fr}}
@media(max-width:900px){.tf-mh-calendar-head{align-items:flex-start}.tf-mh-calendar-jump{width:100%}.tf-mh-calendar-jump label{flex:1 1 90px}.tf-mh-calendar-jump select{width:100%;min-width:0!important}.tf-mh-calendar-jump .btn{flex:1 1 130px}}
