﻿.attendant-workforce-admin-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(260px, 1fr) auto;
    align-items: end;
    gap: 12px;
}

.attendant-workforce-admin-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.attendant-workforce-admin-modal {
    width: min(96vw, 980px);
    max-height: 92vh;
}

.attendant-workforce-admin-tabs {
    display: flex;
    gap: 8px;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 16px;
}

.attendant-workforce-admin-tabs button {
    appearance: none;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    padding: 10px 14px;
    font: inherit;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
}

.attendant-workforce-admin-tabs button.active {
    border-bottom-color: #2563eb;
    color: #1d4ed8;
}

.attendant-workforce-admin-form {
    display: grid;
    gap: 16px;
}

.attendant-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.attendant-detail-grid > div {
    display: grid;
    gap: 4px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
}

.attendant-detail-grid span,
.attendant-muted {
    color: #64748b;
    font-size: 12px;
}

.attendant-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.attendant-inline-actions {
    display: flex;
    gap: 6px;
}

.attendant-pool-membership-list {
    display: grid;
    gap: 8px;
}

.attendant-pool-membership-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
}

.attendant-leave-balance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.attendant-leave-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.attendant-leave-adjust-row {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 8px;
    margin-top: 12px;
}

.attendant-status-ok,
.attendant-status-muted,
.attendant-status-danger {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 800;
}

.attendant-status-ok {
    background: #dcfce7;
    color: #166534;
}

.attendant-status-muted {
    background: #f1f5f9;
    color: #475569;
}

.attendant-status-danger {
    background: #fee2e2;
    color: #991b1b;
}

@media (max-width: 900px) {
    .attendant-workforce-admin-toolbar {
        grid-template-columns: 1fr;
    }

    .attendant-workforce-admin-kpis,
    .attendant-leave-balance-grid,
    .attendant-detail-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .attendant-workforce-admin-kpis,
    .attendant-leave-balance-grid,
    .attendant-detail-grid {
        grid-template-columns: 1fr;
    }

    .attendant-pool-membership-row,
    .attendant-leave-adjust-row {
        grid-template-columns: 1fr;
    }
}

.attops-modal-backdrop{position:fixed;inset:0;z-index:1040;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,34,53,.58);backdrop-filter:blur(3px)}
.attops-modal{width:min(94vw,900px);max-height:92vh;overflow:auto;border:1px solid #cbdbe8;border-radius:14px;background:#fff;box-shadow:0 28px 70px rgba(15,34,53,.28)}
.attops-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #dbe4ef;background:#f8fbfe}
.attops-modal-head h3{margin:0;color:#123b5d}.attops-modal-head span{color:#64748b;font-size:11px}.attops-modal-body{padding:18px}
.attendant-workforce-admin-toolbar.phase5{grid-template-columns:minmax(220px,320px) minmax(280px,1fr) auto}
.attendant-fixed-site{min-height:38px;display:flex;flex-direction:column;justify-content:center;padding:6px 10px;border:1px solid #cbdbe8;border-radius:6px;background:#f8fbfe}
.attendant-fixed-site strong{color:#123b5d}.attendant-fixed-site span{color:#64748b;font-size:10px}
.attendant-employee-operations-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.7fr);gap:12px;margin-top:12px;min-height:calc(100vh - 270px)}
.attendant-employee-master,.attendant-approval-workbench{min-width:0;overflow:hidden}.attendant-employee-grid-body{padding:0}
.attendant-employee-panel-head{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #dbe4ef;background:#f8fbfe}
.attendant-employee-panel-head h2{margin:0;color:#123b5d;font-size:16px}.attendant-employee-panel-head p,.attendant-employee-panel-head span{margin:2px 0 0;color:#64748b;font-size:11px}
.attendant-request-facts{display:grid;grid-template-columns:1fr 1fr 110px;gap:8px}.attendant-request-facts>div{display:flex;flex-direction:column;padding:9px;border:1px solid #dbe4ef;border-radius:7px;background:#f8fbfe}.attendant-request-facts .wide{grid-column:1/-1}.attendant-request-facts span{color:#64748b;font-size:10px;text-transform:uppercase}
.attendant-admin-tab.dxbl-btn,.attendant-admin-tab .dxbl-btn{border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:#64748b!important;font-weight:800}
.attendant-admin-tab.active.dxbl-btn,.attendant-admin-tab.active .dxbl-btn{border-bottom-color:#0f4c81!important;color:#0f4c81!important;background:#eef6fc!important}
.attendant-employee-schedule-context{display:grid;gap:16px}
@media(max-width:1100px){.attendant-employee-operations-workspace{grid-template-columns:1fr}.attendant-workforce-admin-toolbar.phase5{grid-template-columns:1fr}}


/* Phase 5.1 popup stacking and leave/request clarity */
.attops-modal {
    position: relative;
    z-index: 1045;
    overflow: visible;
}

.attops-modal-body {
    overflow: visible;
}

body > .dx-overlay-wrapper,
body > .dxbl-popup,
body > .dxbl-popup-root,
body > .dxbl-dropdown-list,
body > [class*="dxbl-popup"],
body > [class*="dxbl-dropdown"] {
    z-index: 1300 !important;
}

.attendant-leave-balance-explanation {
    margin-bottom: 12px;
}

.attendant-employee-request-context,
.attendant-timeoff-request-form {
    display: grid;
    gap: 14px;
}

.attendant-employee-request-intro,
.attendant-request-form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.attendant-employee-request-intro h4,
.attendant-request-form-head h2 {
    margin: 0 0 3px;
    color: #123b5d;
}

.attendant-employee-request-intro p,
.attendant-request-form-head p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
}

.attendant-timeoff-request-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.attendant-timeoff-request-form .wide {
    grid-column: 1 / -1;
}

.attendant-request-range-summary {
    min-width: 270px;
    display: flex;
    flex-direction: column;
    padding: 9px 12px;
    border: 1px solid #cbdbe8;
    border-radius: 8px;
    background: #f8fbfe;
}

.attendant-request-range-summary span {
    color: #64748b;
    font-size: 10px;
    text-transform: uppercase;
}

.attendant-request-range-summary strong {
    color: #123b5d;
}

.attendant-empty-workbench.compact {
    min-height: 150px;
}

@media (max-width: 760px) {
    .attendant-timeoff-request-form {
        grid-template-columns: 1fr;
    }

    .attendant-employee-request-intro,
    .attendant-request-form-head {
        flex-direction: column;
    }

    .attendant-request-range-summary {
        min-width: 0;
        width: 100%;
    }
}


/* Phase 5.2 — Serilog / Email compact operational language */
.attendant-workforce-planner,
.attendant-workforce-admin-page,
.attendant-my-workforce-page {
    --attendant-control-height: 32px;
    --attendant-compact-gap: 8px;
}

.attendant-workforce-planner .dxbl-input-editor,
.attendant-workforce-planner .dxbl-text-edit,
.attendant-workforce-planner .dxbl-combobox,
.attendant-workforce-planner .dxbl-date-edit,
.attendant-workforce-admin-page .dxbl-input-editor,
.attendant-workforce-admin-page .dxbl-text-edit,
.attendant-workforce-admin-page .dxbl-combobox,
.attendant-workforce-admin-page .dxbl-date-edit,
.attendant-workforce-admin-page .dxbl-spin-edit,
.attendant-my-workforce-page .dxbl-input-editor,
.attendant-my-workforce-page .dxbl-text-edit,
.attendant-my-workforce-page .dxbl-combobox,
.attendant-my-workforce-page .dxbl-date-edit,
.attendant-my-workforce-page .dxbl-spin-edit {
    min-height: var(--attendant-control-height) !important;
    height: var(--attendant-control-height) !important;
    font-size: 12px !important;
}

.attendant-workforce-planner .dxbl-btn,
.attendant-workforce-admin-page .dxbl-btn,
.attendant-my-workforce-page .dxbl-btn {
    min-height: 30px;
    padding: 4px 10px;
    font-size: 11px;
    line-height: 1.1;
}

.attendant-workforce-planner label,
.attendant-workforce-admin-page .form-label,
.attendant-my-workforce-page .form-label {
    margin-bottom: 3px;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #5f7184;
}

.attendant-dense-grid.dxbl-grid,
.attendant-dense-grid .dxbl-grid {
    font-size: 11px;
}
.attendant-dense-grid .dxbl-grid-table > thead > tr > th,
.attendant-dense-grid .dxbl-grid-table > tbody > tr > td {
    padding: 5px 8px !important;
    line-height: 1.15;
    vertical-align: middle;
}
.attendant-dense-grid .dxbl-grid-table > thead > tr > th {
    height: 30px;
    background: #f3f6f9;
    color: #42566a;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.attendant-dense-grid .dxbl-grid-table > tbody > tr:nth-child(even) > td { background: #fbfcfd; }
.attendant-dense-grid .dxbl-grid-table > tbody > tr:hover > td { background: #edf5fb; }

.attendant-workflow-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin-bottom: 8px;
}
.attendant-workflow-step {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 7px 9px;
    border: 1px solid #d7e0ea;
    border-radius: 8px;
    background: #fff;
}
.attendant-workflow-step > span {
    flex: 0 0 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8eef5;
    color: #244463;
    font-weight: 800;
    font-size: 11px;
}
.attendant-workflow-step.active { border-color: #9fc3df; background: #f4f9ff; }
.attendant-workflow-step.active > span { background: #0f6cbd; color: #fff; }
.attendant-workflow-step div { min-width:0;display:flex;flex-direction:column; }
.attendant-workflow-step strong { color:#14324d;font-size:11px;line-height:1.1; }
.attendant-workflow-step small { color:#6c7f92;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

.attendant-ops-metrics-strip,
.attendant-admin-metrics-strip {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.attendant-ops-metric,
.attendant-admin-metric {
    position:relative;
    min-width:0;
    min-height:66px;
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    column-gap:8px;
    padding:9px 10px 8px 14px;
    border:1px solid #d7e0ea;
    border-radius:10px;
    background:#fff;
    box-shadow:0 4px 12px rgba(15,30,58,.05);
    overflow:hidden;
    cursor:pointer;
}
.attendant-ops-metric::before,
.attendant-admin-metric::before { content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#7d8ea3; }
.attendant-ops-metric.warning::before,.attendant-admin-metric.warning::before{background:#f0a23b}
.attendant-ops-metric.danger::before,.attendant-admin-metric.danger::before{background:#dc2828}
.attendant-ops-metric.info::before,.attendant-admin-metric.info::before{background:#5486ff}
.attendant-ops-metric.ok::before,.attendant-admin-metric.ok::before{background:#19914b}
.attendant-ops-metric.attention.warning,.attendant-admin-metric.warning{background:linear-gradient(180deg,#fffaf0 0%,#fff 100%)}
.attendant-ops-metric.attention.danger,.attendant-admin-metric.danger{background:linear-gradient(180deg,#fff5f5 0%,#fff 100%)}
.attendant-ops-metric-label,
.attendant-admin-metric > span { align-self:end;color:#5f7184;font-size:9px;line-height:1.05;font-weight:800;letter-spacing:.07em;text-transform:uppercase; }
.attendant-ops-metric-value,
.attendant-admin-metric > strong { grid-row:1 / span 2;grid-column:2;align-self:center;color:#14324d;font-size:1.35rem;line-height:1;font-weight:800; }
.attendant-ops-metric small,
.attendant-admin-metric small { color:#718399;font-size:9px;line-height:1.05; }

.attendant-schedule-command-center { padding: 10px 12px; }
.attendant-schedule-controls { gap: 8px 10px; }
.attendant-schedule-actions { gap: 6px; margin-top: 8px; }
.attendant-schedule-status { padding: 9px; }
.attendant-schedule-status-head { margin-bottom: 7px; }
.attendant-planner-surface-head,
.attendant-employee-panel-head { padding: 8px 10px !important; min-height: 44px; }
.attendant-planner-detail-body,
.attops-modal-body { padding: 12px !important; }
.attops-modal-head { padding: 10px 12px !important; }
.attops-modal-head h3 { font-size: 17px; }
.attendant-leave-balance-card { padding: 10px !important; }

@media(max-width:900px){
 .attendant-workflow-progress{grid-template-columns:1fr}
 .attendant-ops-metrics-strip,.attendant-admin-metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Phase 5.3 contextual request feedback */
.attendant-timeoff-panel-error{margin:10px 0 8px}.attendant-timeoff-context-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}.attendant-timeoff-context-strip>div,.attendant-calculated-field{min-height:32px;display:flex;flex-direction:column;justify-content:center;padding:5px 9px;border:1px solid #cbdbe8;border-radius:6px;background:#f8fbfe}.attendant-timeoff-context-strip span,.attendant-calculated-field span{font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.attendant-timeoff-context-strip strong,.attendant-calculated-field strong{color:#123b5d;font-size:12px}@media(max-width:760px){.attendant-timeoff-context-strip{grid-template-columns:1fr}}
