:root {
    --bg: #f7f9fb;
    --panel: #ffffff;
    --text: #191c1e;
    --muted: #434655;
    --line: #c3c5d7;
    --line-soft: #e0e3e5;
    --primary: #0b5d3b;
    --primary-2: #15804d;
    --primary-soft: #ddf5e8;
    --primary-dim: #a9dcc2;
    --secondary-soft: #d7efe2;
    --tertiary: #882800;
    --tertiary-soft: #ffdbd0;
    --surface-low: #f2f4f6;
    --surface-mid: #eceef0;
    --surface-high: #e6e8ea;
    --info: #0051df;
    --warning: #f59e0b;
    --danger: #ba1a1a;
    --danger-soft: #ffdad6;
    --shadow: 0 1px 2px rgba(15, 23, 42, .04);
    --sidebar-width: 240px;
    --topbar-height: 56px;
    --radius-sm: 4px;
    --radius: 8px;
    --radius-lg: 12px;
}

/* Purchase & Inventory */
.procurement-store-page .page-head{align-items:flex-start}.ps-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ps-workspace{overflow:hidden}.ps-tabs{overflow-x:auto}.ps-tabs button{flex:0 0 auto}.ps-toolbar{align-items:center;border-bottom:1px solid var(--line-soft);display:grid;gap:10px;grid-template-columns:minmax(260px,1fr) 170px 190px 85px auto;padding:13px}.ps-toolbar select{width:100%}.ps-dashboard{padding:16px}.ps-dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.ps-dashboard-grid article{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);display:flex;gap:12px;padding:16px}.ps-dashboard-grid article>.material-symbols-outlined{background:var(--primary-soft);border-radius:8px;color:var(--primary);padding:9px}.ps-dashboard-grid small,.ps-dashboard-grid strong{display:block}.ps-dashboard-grid strong{font-size:19px;margin-top:4px}.ps-workspace td small,.ps-workspace td strong{display:block}.ps-workspace td small{color:var(--muted);font-size:9px;margin-top:3px}.ps-workspace .danger-row{background:#fff7f5}.ps-modal{display:flex;flex-direction:column;height:min(820px,calc(100vh - 32px));max-width:none;overflow:hidden;padding:0;width:min(920px,calc(100vw - 32px))}.ps-modal>header{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 18px}.ps-modal>header>div{align-items:center;display:flex;gap:10px}.ps-modal>header>div>.material-symbols-outlined{background:var(--primary-soft);border-radius:8px;color:var(--primary);padding:8px}.ps-modal .modal-scroll{flex:1;overflow:auto;padding:18px}.ps-modal>form{display:flex;flex:1;flex-direction:column;min-height:0}.ps-modal>footer,.ps-modal>form>footer{background:var(--surface-low);border-top:1px solid var(--line);display:flex;gap:9px;justify-content:flex-end;padding:12px 18px}.ps-line input,.ps-line select,.ps-receipt-line input,.ps-receipt-line textarea{min-width:110px;width:100%}.detail-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.detail-grid>div{background:var(--surface-low);border-radius:7px;padding:10px}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{color:var(--muted);font-size:9px;text-transform:uppercase}.detail-grid strong{font-size:11px;margin-top:4px;overflow-wrap:anywhere}
.ps-report-actions{align-items:center;background:var(--surface-low);border-bottom:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px}.ps-report-actions>span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.procurement-store-page .ps-toolbar{display:flex;flex-wrap:wrap}.procurement-store-page .ps-toolbar .search-input{flex:1 1 260px}.procurement-store-page .ps-toolbar select,.procurement-store-page .ps-toolbar>input{flex:0 1 165px;min-width:135px;width:auto}.procurement-store-page .ps-toolbar #psPerPage{flex-basis:85px;min-width:75px}.ps-count-line input{min-width:120px;width:100%}
.link-button{appearance:none;background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.link-button:hover strong{color:var(--primary);text-decoration:underline}.ps-vendor-profile-modal{width:min(1180px,calc(100vw - 32px))}.ps-vendor-profile-modal .kpi-grid{margin-bottom:14px}.ps-vendor-profile-tabs{margin-bottom:12px}.ps-vendor-profile-filters{display:flex;flex-wrap:wrap}.ps-vendor-profile-filters .search-input{flex:1 1 220px}.ps-vendor-profile-filters select,.ps-vendor-profile-filters>input{flex:0 1 150px}.ps-payment-allocation{min-width:120px;width:100%}@media(max-width:760px){.ps-vendor-profile-modal{width:calc(100vw - 16px)}.ps-vendor-profile-filters>*{flex:1 1 100%!important}.ps-vendor-profile-modal .kpi-grid{grid-template-columns:1fr}.ps-vendor-profile-modal footer{flex-wrap:wrap}}
@media(max-width:900px){.ps-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-toolbar{grid-template-columns:1fr 1fr}.ps-toolbar .search-input{grid-column:1/-1}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ps-toolbar,.ps-dashboard-grid,.detail-grid{grid-template-columns:1fr}.ps-toolbar .search-input{grid-column:auto}.ps-modal{height:calc(100vh - 12px);width:calc(100vw - 12px)}}

/* Phase command center */
.phase-dashboard-page{display:grid;gap:16px}.phase-dashboard-head{align-items:flex-start}.phase-overview-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.phase-overview-card{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:13px;min-width:0;padding:16px}.phase-overview-card>span{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;flex:0 0 42px;height:42px;justify-content:center}.phase-overview-card.warning>span{background:#fff3cd;color:#8d5f00}.phase-overview-card small,.phase-overview-card strong,.phase-overview-card p{display:block}.phase-overview-card small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.phase-overview-card strong{font-size:24px;line-height:1.1;margin-top:4px}.phase-overview-card p{color:var(--muted);font-size:12px;margin:4px 0 0}.phase-rail{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:6px;overflow-x:auto;padding:8px}.phase-rail a{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);display:grid;flex:0 0 178px;gap:3px;grid-template-columns:28px minmax(0,1fr);min-height:54px;padding:8px;text-decoration:none}.phase-rail a:hover{background:var(--surface-low);border-color:var(--primary-dim)}.phase-rail .material-symbols-outlined{align-items:center;background:var(--surface-low);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:19px;height:28px;justify-content:center;grid-row:1/3}.phase-rail strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-rail small{color:var(--muted);font-size:10px}.phase-card-grid{display:grid;gap:14px}.phase-card{scroll-margin-top:76px}.phase-card-head{align-items:flex-start;border-bottom:1px solid var(--line-soft);display:flex;gap:12px;justify-content:space-between;padding:16px}.phase-title-block{align-items:flex-start;display:flex;gap:12px;min-width:0}.phase-icon{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;flex:0 0 44px;height:44px;justify-content:center}.phase-card h2{font-size:20px;margin:2px 0 4px}.phase-card p{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.phase-mini-kpis{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 16px}.phase-mini-kpis>div{background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);display:grid;gap:3px;grid-template-columns:32px minmax(0,1fr);padding:11px}.phase-mini-kpis .material-symbols-outlined{align-items:center;background:var(--panel);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:18px;height:32px;justify-content:center;grid-row:1/4}.phase-mini-kpis .warning .material-symbols-outlined{color:var(--warning)}.phase-mini-kpis .danger .material-symbols-outlined{color:var(--danger)}.phase-mini-kpis .info .material-symbols-outlined{color:var(--info)}.phase-mini-kpis small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.phase-mini-kpis strong{font-size:20px;line-height:1.1}.phase-mini-kpis em{color:var(--muted);font-size:11px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-card-body{border-top:1px solid var(--line-soft);display:grid;gap:14px;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);padding:16px}.phase-section-label{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.phase-section-label strong{font-size:13px}.phase-section-label span{color:var(--muted);font-size:11px}.phase-module-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.phase-module-tile{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);display:flex;gap:9px;min-height:48px;padding:10px;text-decoration:none}.phase-module-tile:hover{background:var(--primary-soft);border-color:var(--primary-dim);color:var(--primary)}.phase-module-tile .material-symbols-outlined{color:var(--primary);font-size:20px}.phase-module-tile strong{font-size:12px;line-height:1.25}.phase-attention-list{display:grid;gap:8px}.phase-attention-list a,.phase-empty-attention{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-left:4px solid var(--primary);border-radius:var(--radius);color:var(--text);display:flex;justify-content:space-between;min-height:46px;padding:10px 11px;text-decoration:none}.phase-attention-list a.warning{border-left-color:var(--warning)}.phase-attention-list a.danger{border-left-color:var(--danger)}.phase-attention-list a.info{border-left-color:var(--info)}.phase-attention-list a:hover{background:var(--panel);border-color:var(--primary-dim)}.phase-attention-list span{font-size:12px}.phase-attention-list strong{font-size:17px}.phase-empty-attention{justify-content:flex-start;gap:8px}.phase-empty-attention .material-symbols-outlined{color:var(--primary);font-size:19px}.phase-empty-state{align-items:center;display:grid;justify-items:center;min-height:260px;padding:36px;text-align:center}.phase-empty-state>.material-symbols-outlined{background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);font-size:32px;padding:12px}
@media(max-width:1180px){.phase-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-card-body{grid-template-columns:1fr}.phase-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.phase-overview-grid,.phase-mini-kpis,.phase-module-grid{grid-template-columns:1fr}.phase-card-head{align-items:stretch;flex-direction:column}.phase-rail a{flex-basis:158px}.phase-overview-card{align-items:flex-start}.phase-card-body{padding:13px}.phase-mini-kpis{padding:13px}.phase-dashboard-head .actions{align-items:stretch;width:100%}.phase-dashboard-head .actions .button{justify-content:center;width:100%}}
.phase-analytics-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.phase-chart-panel{overflow:hidden}.phase-chart-panel>.panel-head{border-bottom:1px solid var(--line-soft);padding:16px}.phase-health-chart{display:grid;gap:12px;padding:16px}.phase-health-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(170px,.75fr) minmax(0,1.4fr) 82px}.phase-health-label{align-items:center;display:grid;gap:3px;grid-template-columns:32px minmax(0,1fr)}.phase-health-label .material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:18px;height:32px;justify-content:center;grid-row:1/3}.phase-health-label strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-health-label small,.phase-health-values small{color:var(--muted);font-size:10px}.phase-health-bars{background:var(--surface-low);border:1px solid var(--line-soft);border-radius:999px;display:grid;gap:4px;padding:4px}.phase-health-bars i{border-radius:999px;display:block;height:8px;width:var(--w)}.phase-health-bars .metric{background:var(--primary)}.phase-health-bars .attention{background:var(--warning)}.phase-health-values{text-align:right}.phase-health-values strong{display:block;font-size:16px}.phase-donut-list{display:grid;gap:10px;padding:16px}.phase-donut-list>div{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(110px,1fr) minmax(90px,1.3fr) 28px}.phase-donut-list span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-donut-list i{background:var(--surface-low);border-radius:999px;height:10px;overflow:hidden;position:relative}.phase-donut-list i:before{background:var(--primary);border-radius:999px;content:"";inset:0 auto 0 0;position:absolute;width:var(--w)}.phase-donut-list strong{font-size:13px;text-align:right}.phase-card-grid.kpi-only{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-card-grid.kpi-only .phase-card-body{display:none}.phase-bottom-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.phase-workload-bars{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));min-height:250px;padding:20px 18px 16px}.phase-workload-bars>div{align-items:center;display:grid;gap:7px;grid-template-rows:1fr auto auto;justify-items:center;min-width:0}.phase-workload-bars span{align-self:end;background:var(--primary);border-radius:8px 8px 3px 3px;display:block;min-height:8px;width:min(48px,70%);height:var(--h)}.phase-workload-bars .warning span{background:var(--warning)}.phase-workload-bars .danger span{background:var(--danger)}.phase-workload-bars .info span{background:var(--info)}.phase-workload-bars strong{font-size:18px}.phase-workload-bars small{color:var(--muted);font-size:11px;text-align:center}.phase-attention-list.readonly{padding:16px}.phase-attention-list.readonly>div:not(.phase-empty-attention){align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-left:4px solid var(--primary);border-radius:var(--radius);display:flex;gap:10px;justify-content:space-between;min-height:50px;padding:10px 12px}.phase-attention-list.readonly>div.warning{border-left-color:var(--warning)}.phase-attention-list.readonly>div.danger{border-left-color:var(--danger)}.phase-attention-list.readonly>div.info{border-left-color:var(--info)}.phase-attention-list.readonly span{display:grid;gap:2px}.phase-attention-list.readonly span strong{font-size:12px}.phase-attention-list.readonly span small{color:var(--muted);font-size:10px}.phase-attention-list.readonly b{font-size:18px}
@media(max-width:1180px){.phase-analytics-grid,.phase-bottom-grid,.phase-card-grid.kpi-only{grid-template-columns:1fr}.phase-health-row{grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr) 74px}}
@media(max-width:760px){.phase-health-row{align-items:stretch;grid-template-columns:1fr}.phase-health-values{text-align:left}.phase-workload-bars{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:220px}.phase-donut-list>div{grid-template-columns:1fr 1fr 28px}}

/* Purchase & Inventory workspace */
.procurement-store-page .ps-workspace {
    align-items: stretch;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    overflow: hidden;
    padding: 0;
}
.procurement-store-page .ps-workspace-content {
    min-width: 0;
}
.procurement-store-page .ps-tabs {
    align-content: start;
    background: var(--surface-low);
    border-bottom: 0;
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 0;
    overflow: visible;
    padding: 12px 10px;
}
.procurement-store-page .ps-tabs button {
    border: 0;
    border-left: 3px solid transparent;
    border-radius: var(--radius);
    flex: 0 0 auto;
    justify-content: flex-start;
    line-height: 1.25;
    min-height: 44px;
    padding: 9px 11px;
    text-align: left;
    white-space: normal;
    width: 100%;
}
.procurement-store-page .ps-tabs button:hover {
    background: var(--panel);
    color: var(--primary);
}
.procurement-store-page .ps-tabs button.active {
    background: var(--primary-soft);
    border-left-color: var(--primary);
    color: var(--primary);
}
.procurement-store-page .ps-tabs button .material-symbols-outlined {
    flex: 0 0 20px;
    font-size: 20px;
}
.procurement-store-page .ps-toolbar {
    background: var(--surface-low);
    gap: 10px;
    padding: 14px 16px;
}
.procurement-store-page .ps-toolbar .search-input {
    background: var(--panel);
    flex-basis: 320px;
}
.procurement-store-page .ps-toolbar .search-input,
.procurement-store-page .ps-toolbar select,
.procurement-store-page .ps-toolbar > input,
.procurement-store-page .ps-toolbar .button {
    height: 42px;
    min-height: 42px;
}
.procurement-store-page .ps-toolbar select,
.procurement-store-page .ps-toolbar > input {
    background: var(--panel);
}
.procurement-store-page .ps-toolbar > input[type="date"] {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--text);
    color-scheme: light;
    font: inherit;
    font-size: 13px;
    outline: 0;
    padding: 0 9px;
}
.procurement-store-page .ps-toolbar > input[type="date"]:hover {
    border-color: #aeb3c7;
}
.procurement-store-page .ps-toolbar > input[type="date"]:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
}
.procurement-store-page .ps-toolbar > input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    margin-left: 4px;
    opacity: .68;
    padding: 3px;
}
.procurement-store-page .ps-toolbar > input[type="date"]:hover::-webkit-calendar-picker-indicator,
.procurement-store-page .ps-toolbar > input[type="date"]:focus::-webkit-calendar-picker-indicator {
    opacity: 1;
}
.procurement-store-page .ps-toolbar .button {
    margin-left: 2px;
}
.procurement-store-page .ps-report-actions {
    padding-inline: 16px;
}
.procurement-store-page .table-panel {
    margin: 0 16px;
}
.procurement-store-page .table-panel th:last-child,
.procurement-store-page .table-panel td:last-child {
    text-align: right;
    white-space: nowrap;
    width: 132px;
}
.procurement-store-page .table-panel td:last-child > .d-inline-flex {
    justify-content: flex-end;
}
.procurement-store-page .table-panel .badge {
    text-transform: capitalize;
}
.procurement-store-page .pagination-row {
    border-top: 1px solid var(--line-soft);
    margin: 0;
    min-height: 58px;
    padding: 10px 16px 14px;
}
.procurement-store-page #psSummary {
    color: var(--muted);
    font-size: 12px;
}
.procurement-store-page #psPages {
    align-items: center;
    display: flex;
    gap: 6px;
}
.procurement-store-page .page-button {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--text);
    display: inline-flex;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 9px;
}
.procurement-store-page .page-button:hover {
    background: var(--surface-low);
    border-color: var(--primary-dim);
    color: var(--primary);
}
.procurement-store-page .page-button.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.ps-approval-dialog{border-radius:var(--radius-lg)!important;overflow:hidden;padding:0!important}
.ps-approval-title{border-bottom:1px solid var(--line-soft);color:var(--text)!important;font-size:20px!important;margin:0!important;padding:20px 24px 15px!important;text-align:left!important}
.ps-approval-body{margin:0!important;padding:18px 24px 20px!important}
.ps-approval-intro{align-items:flex-start;background:var(--primary-soft);border:1px solid var(--primary-dim);border-radius:var(--radius);color:var(--text);display:flex;gap:10px;margin-bottom:16px;padding:11px 12px;text-align:left}
.ps-approval-intro .material-symbols-outlined{color:var(--primary);font-size:21px}.ps-approval-intro p{font-size:11px;line-height:1.5;margin:0}
.ps-approval-fields{display:grid;gap:14px;text-align:left}.ps-approval-fields label{display:grid;gap:6px}.ps-approval-fields label>span{color:var(--muted);font-size:11px;font-weight:750}
.ps-approval-fields label>span small{background:var(--surface-mid);border-radius:999px;color:var(--muted);float:right;font-size:9px;padding:3px 7px}.ps-approval-fields label>span small.required{background:var(--danger-soft);color:var(--danger)}
.ps-approval-fields select,.ps-approval-fields textarea{background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;outline:0;width:100%}.ps-approval-fields select{height:42px;padding:0 11px}.ps-approval-fields textarea{line-height:1.5;min-height:96px;padding:10px 11px;resize:vertical}
.ps-approval-fields select:focus,.ps-approval-fields textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12)}
.ps-approval-actions{border-top:1px solid var(--line-soft);gap:9px!important;justify-content:flex-end!important;margin:0!important;padding:14px 24px!important}.ps-approval-actions .button{margin:0!important;min-height:40px}.ps-approval-dialog .swal2-validation-message{font-size:11px;margin:0 24px 14px}
@media(max-width:600px){.ps-approval-title,.ps-approval-body,.ps-approval-actions{padding-left:18px!important;padding-right:18px!important}}
@media(min-width:901px) {
    .procurement-store-page .ps-toolbar {
        flex-wrap: nowrap;
    }
    .procurement-store-page .ps-toolbar .search-input {
        flex: 1 1 220px;
        min-width: 180px;
    }
    .procurement-store-page .ps-toolbar select {
        flex: 1 1 116px;
        max-width: 165px;
        min-width: 0;
    }
    .procurement-store-page .ps-toolbar > input[type="date"] {
        flex: 0 1 136px;
        max-width: 140px;
        min-width: 116px;
        width: 136px;
    }
    .procurement-store-page .ps-toolbar #psPerPage {
        flex: 0 0 72px;
        max-width: 72px;
        min-width: 72px;
    }
    .procurement-store-page .ps-toolbar #psReset {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}
@media(max-width:900px) {
    .procurement-store-page .ps-workspace {
        grid-template-columns: 210px minmax(0, 1fr);
    }
    .procurement-store-page .ps-tabs {
        padding-inline: 9px;
    }
    .procurement-store-page .ps-toolbar .search-input {
        flex-basis: 100%;
    }
}
@media(max-width:760px) {
    .procurement-store-page .ps-workspace {
        grid-template-columns: 1fr;
    }
    .procurement-store-page .ps-tabs {
        border-bottom: 1px solid var(--line);
        border-right: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media(max-width:600px) {
    .procurement-store-page .ps-tabs button {
        min-height: 44px;
        padding-inline: 12px;
    }
    .procurement-store-page .ps-toolbar {
        padding: 12px;
    }
    .procurement-store-page .ps-toolbar select,
    .procurement-store-page .ps-toolbar > input,
    .procurement-store-page .ps-toolbar #psPerPage,
    .procurement-store-page .ps-toolbar .button {
        flex: 1 1 calc(50% - 5px);
        min-width: 0;
    }
    .procurement-store-page .table-panel {
        margin-inline: 12px;
    }
    .procurement-store-page .pagination-row {
        align-items: flex-start;
        flex-direction: column;
        padding-inline: 12px;
    }
}
@media(max-width:440px) {
    .procurement-store-page .ps-tabs {
        grid-template-columns: 1fr;
    }
}

/* Exit Management */
.exit-management-page .page-head{align-items:flex-start}.kpi-grid.compact.exit-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid.compact.exit-self-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.exit-workspace{overflow:hidden}.exit-toolbar{display:grid;grid-template-columns:minmax(320px,2fr) minmax(160px,.65fr) minmax(160px,.65fr) 86px auto;gap:10px;align-items:center;padding:14px}.exit-toolbar select{width:100%}.exit-progress{width:110px;height:7px;background:#e5e9ef;border-radius:99px;overflow:hidden;margin-bottom:5px}.exit-progress span{display:block;height:100%;background:#08724f;border-radius:inherit}.exit-warning-strip{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid #f0cf82;background:#fff9e9;border-radius:8px;margin-bottom:14px}.exit-task-list{display:grid;gap:9px}.exit-task-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border-color,#d8dee9);border-radius:9px;padding:12px;background:#fff}.exit-task-card>div:last-child{display:flex;align-items:center;gap:8px}.exit-task-card small,.exit-task-card p,.exit-task-card em{display:block;margin-top:3px}.exit-task-card em{color:#9a6200}.exit-task-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#ddf5e9;color:#08724f}.exit-modal{max-height:min(90vh,880px);display:flex;flex-direction:column;overflow:hidden}.exit-modal>header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color,#d8dee9);background:#fff}.exit-modal>header>div{display:flex;align-items:center;gap:12px}.exit-modal>header h2,.exit-modal>header p{margin:0}.exit-modal .modal-scroll{overflow:auto;padding:16px 20px;flex:1}.exit-modal>footer,.exit-modal>form>footer{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid var(--border-color,#d8dee9);background:#f6f8fa}.exit-modal>form{display:flex;flex-direction:column;min-height:0;flex:1}.exit-modal>form .modal-scroll{flex:1}.exit-management-page td small{display:block;margin-top:3px}.swal-form-grid{display:grid;gap:11px;text-align:left}.swal-form-grid label{display:grid;gap:5px;font-weight:600}.swal-form-grid input,.swal-form-grid select,.swal-form-grid textarea{width:100%}.swal-form-grid .check-row{display:flex;align-items:center;gap:8px}.swal-form-grid .check-row input{width:auto}.exit-it-warning{margin-bottom:12px}
.exit-evidence-dialog{border-radius:14px!important;overflow:hidden;padding:0!important}.exit-evidence-dialog .swal2-title{border-bottom:1px solid var(--line-soft);font-size:20px!important;margin:0!important;padding:20px 24px 14px!important;text-align:left}.exit-evidence-dialog-body{margin:0!important;padding:0 24px 20px!important}.exit-evidence-intro{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 16px;text-align:left}.exit-evidence-fields{display:grid;gap:14px 12px;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.exit-evidence-fields label{display:grid;gap:6px;min-width:0}.exit-evidence-fields label.full{grid-column:1/-1}.exit-evidence-fields label>span:first-child{color:var(--muted);font-size:11px;font-weight:750}.exit-evidence-fields label>span:first-child small{color:#7a7f89;font-size:9px;font-weight:600;margin-left:4px}.exit-evidence-fields label>span:first-child b{color:var(--danger)}.exit-evidence-fields input:not([type=file]),.exit-evidence-fields select{background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:42px;outline:0;padding:0 11px;width:100%}.exit-evidence-fields input:focus,.exit-evidence-fields select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12)}.exit-evidence-file{cursor:pointer}.exit-evidence-file>input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.exit-evidence-file-control{align-items:center;background:var(--surface-low);border:1px dashed var(--line);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;padding:9px 12px;transition:.18s ease}.exit-evidence-file-control>.material-symbols-outlined:first-child{color:var(--primary);font-size:23px}.exit-evidence-file-control>.material-symbols-outlined:last-child{color:var(--muted);font-size:18px}.exit-evidence-file-control>span:nth-child(2){display:grid;min-width:0}.exit-evidence-file-control strong,.exit-evidence-file-control small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exit-evidence-file-control strong{font-size:11px}.exit-evidence-file-control small{color:var(--muted);font-size:9px;margin-top:3px}.exit-evidence-file:hover .exit-evidence-file-control{background:var(--panel);border-color:var(--primary)}.exit-evidence-file.has-file .exit-evidence-file-control{background:var(--primary-soft);border-color:var(--primary-dim);border-style:solid}.exit-evidence-actions{border-top:1px solid var(--line-soft);gap:9px!important;justify-content:flex-end!important;margin:0!important;padding:14px 24px!important}.exit-evidence-actions .button{margin:0!important;min-height:40px}.exit-evidence-dialog .swal2-validation-message{font-size:11px;margin:0 24px 14px}
@media(max-width:600px){.exit-evidence-dialog .swal2-title{padding-left:18px!important;padding-right:18px!important}.exit-evidence-dialog-body{padding-left:18px!important;padding-right:18px!important}.exit-evidence-fields{grid-template-columns:1fr}.exit-evidence-fields label.full{grid-column:auto}.exit-evidence-actions{padding-left:18px!important;padding-right:18px!important}}
.exit-template-dialog{border-radius:14px!important;overflow:hidden;padding:0!important}.exit-template-dialog .swal2-title{border-bottom:1px solid var(--line-soft);font-size:20px!important;margin:0!important;padding:20px 24px 14px!important;text-align:left}.exit-template-dialog-body{margin:0!important;padding:0 24px 20px!important}.exit-template-intro{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 16px;text-align:left}.exit-template-fields{display:grid;gap:14px 12px;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.exit-template-fields>label:not(.exit-template-required){display:grid;gap:6px;min-width:0}.exit-template-fields .full{grid-column:1/-1}.exit-template-fields label>span:first-child{color:var(--muted);font-size:11px;font-weight:750}.exit-template-fields label>span:first-child b{color:var(--danger)}.exit-template-fields label>span:first-child small{color:#7a7f89;font-size:9px;font-weight:600;margin-left:4px}.exit-template-fields input:not([type=checkbox]),.exit-template-fields select,.exit-template-fields textarea{background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;outline:0;padding:0 11px;width:100%}.exit-template-fields input:not([type=checkbox]),.exit-template-fields select{height:42px}.exit-template-fields textarea{line-height:1.45;min-height:76px;padding-bottom:10px;padding-top:10px;resize:vertical}.exit-template-fields input:focus,.exit-template-fields select:focus,.exit-template-fields textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12)}.exit-template-required{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);cursor:pointer;display:flex;gap:10px;min-height:42px;padding:7px 10px}.exit-template-required input{accent-color:var(--primary);flex:0 0 auto;height:17px;width:17px}.exit-template-required>span{display:grid}.exit-template-required strong{color:var(--text);font-size:11px}.exit-template-required small{color:var(--muted);font-size:9px;line-height:1.35;margin-top:2px}.exit-template-required:hover{border-color:var(--primary-dim)}.exit-template-actions{border-top:1px solid var(--line-soft);gap:9px!important;justify-content:flex-end!important;margin:0!important;padding:14px 24px!important}.exit-template-actions .button{margin:0!important;min-height:40px}.exit-template-dialog .swal2-validation-message{font-size:11px;margin:0 24px 14px}
@media(max-width:600px){.exit-template-dialog .swal2-title{padding-left:18px!important;padding-right:18px!important}.exit-template-dialog-body{padding-left:18px!important;padding-right:18px!important}.exit-template-fields{grid-template-columns:1fr}.exit-template-fields .full{grid-column:auto}.exit-template-actions{padding-left:18px!important;padding-right:18px!important}}
@media(max-width:1200px){.kpi-grid.compact.exit-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.exit-toolbar{grid-template-columns:minmax(260px,2fr) repeat(2,minmax(150px,1fr));}.exit-toolbar select:nth-of-type(3),.exit-toolbar .button{grid-row:2}}
@media(max-width:760px){.kpi-grid.compact.exit-kpis,.kpi-grid.compact.exit-self-kpis{grid-template-columns:1fr 1fr}.exit-toolbar{grid-template-columns:1fr}.exit-toolbar>*{grid-row:auto!important}.exit-task-card{grid-template-columns:auto 1fr}.exit-task-card>div:last-child{grid-column:1/-1;justify-content:flex-end}.exit-modal{width:calc(100vw - 16px);max-height:94vh}.exit-modal>header,.exit-modal .modal-scroll,.exit-modal>footer,.exit-modal>form>footer{padding-left:14px;padding-right:14px}}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.material-symbols-outlined { font-variation-settings: "FILL" 0, "wght" 430, "GRAD" 0, "opsz" 24; }

.app-shell { display: flex; min-height: 100vh; }

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-width);
    background: var(--surface-low);
    border-right: 1px solid var(--line);
    color: var(--text);
    display: flex;
    flex-direction: column;
    padding: 12px 8px;
    overflow-y: auto;
    z-index: 40;
}

.brand { display: flex; align-items: center; gap: 10px; margin: 0 14px 18px; }
.brand-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--radius); background: var(--primary); color: #fff; font-size: 13px; font-weight: 900; letter-spacing: -.04em; }
.brand-mark .material-symbols-outlined { font-size: 21px; }
.brand-mark svg { fill: currentColor; height: 22px; width: 22px; }
.brand strong, .brand span { display: block; }
.brand strong { color: var(--primary); font-size: 15px; letter-spacing: -.03em; }
.brand span { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; margin-top: 1px; text-transform: uppercase; }

.nav-menu { flex: 1; overflow-y: auto; }
.nav-group { margin-bottom: 12px; }
.nav-group p { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; margin: 0 14px 6px; text-transform: uppercase; }
.nav-accordion-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--muted);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    justify-content: space-between;
    letter-spacing: .1em;
    margin: 0 0 6px;
    padding: 0 14px;
    text-align: left;
    text-transform: uppercase;
    width: 100%;
}
.nav-accordion-toggle::-webkit-details-marker { display: none; }
.nav-accordion-toggle::marker { content: ""; }
.nav-accordion-toggle:hover, .nav-accordion-toggle:focus-visible { color: var(--primary); }
.nav-accordion-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.nav-accordion-chevron { font-size: 17px; transition: transform .2s ease; }
.nav-accordion-content-inner { overflow: hidden; }
.nav-group[open] .nav-accordion-chevron { transform: rotate(180deg); }
.nav-section-heading {
    align-items: center;
    color: #777b86;
    display: flex;
    font-size: 8px;
    font-weight: 800;
    gap: 8px;
    letter-spacing: .11em;
    margin: 8px 14px 4px;
    text-transform: uppercase;
}
.nav-section-heading:first-child { margin-top: 2px; }
.nav-section-heading::after {
    background: var(--line-soft);
    content: "";
    flex: 1;
    height: 1px;
    min-width: 12px;
}
.nav-link {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--radius);
    color: var(--muted);
    display: flex;
    gap: 10px;
    margin-bottom: 2px;
    padding: 8px 14px;
    text-align: left;
    width: 100%;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.nav-link .material-symbols-outlined { font-size: 20px; }
.nav-link-label { flex: 1; font-size: 11px; font-weight: 750; letter-spacing: .02em; min-width: 0; }
.nav-link-badge { align-items: center; background: var(--danger); border: 2px solid var(--surface-low); border-radius: 999px; color: #fff; display: inline-flex; flex: 0 0 auto; font-size: 9px; font-weight: 800; height: 21px; justify-content: center; letter-spacing: 0; min-width: 21px; padding: 0 5px; }
.nav-link.active .nav-link-badge { border-color: var(--secondary-soft); }
.nav-link:hover { background: var(--surface-high); color: var(--text); transform: translateX(2px); }
.nav-link.active { background: var(--secondary-soft); color: #14532d; font-weight: 800; box-shadow: none; }

.sidebar-user {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    gap: 10px;
    margin: 8px 8px 0;
    padding: 10px 6px 0;
}
.sidebar-user strong, .sidebar-user span { display: block; }
.sidebar-user strong { font-size: 12px; }
.sidebar-user span { color: var(--muted); font-size: 11px; }

.main-panel {
    margin-left: var(--sidebar-width);
    min-width: 0;
    padding: calc(var(--topbar-height) + 16px) 18px 18px;
    width: calc(100% - var(--sidebar-width));
}

.topbar {
    align-items: center;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(360px, 1fr) minmax(190px, 300px) auto auto auto;
    height: var(--topbar-height);
    left: var(--sidebar-width);
    margin-bottom: 0;
    padding: 0 18px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 30;
    backdrop-filter: blur(12px);
}

.search-box {
    align-items: center;
    background: var(--surface-low);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: flex;
    gap: 10px;
    min-height: 36px;
    padding: 0 12px;
}
.search-box .material-symbols-outlined, .search-box svg { color: var(--muted); width: 22px; }
.search-box input, .toolbar input, .form-grid input, .form-grid select {
    background: transparent;
    border: 0;
    color: var(--text);
    outline: 0;
    width: 100%;
}
.topbar select, .toolbar select {
    background: var(--surface-low);
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text);
    font-size: 12px;
    min-height: 34px;
    padding: 0 12px;
}
.topbar > .search-box { min-width: 0; }
#companyBranchSelector { min-width: 0; width: 100%; }

.icon-button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--text);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    position: relative;
    width: 34px;
}
.icon-button:hover { background: var(--surface-high); }
.icon-button svg { width: 18px; }
.icon-button .material-symbols-outlined { font-size: 21px; }
.icon-button.has-alert::after { background: var(--danger); border: 2px solid #fff; border-radius: 999px; content: ""; height: 10px; position: absolute; right: 8px; top: 8px; width: 10px; }
.mobile-menu { display: none; }
.dot { background: var(--danger); border: 2px solid #fff; border-radius: 999px; height: 10px; position: absolute; right: 9px; top: 9px; width: 10px; }

.user-chip { align-items: center; display: flex; gap: 10px; }
.avatar, .profile-photo { background: var(--primary); color: #fff; display: grid; font-weight: 800; place-items: center; }
.avatar { border-radius: 999px; font-size: 12px; height: 34px; width: 34px; }
.account-avatar-image { border: 1px solid var(--primary-dim); object-fit: cover; }
.employee-avatar-column { text-align: center; width: 62px; }
.employee-list-avatar { border: 1px solid var(--primary-dim); border-radius: 999px; display: inline-grid; height: 38px; object-fit: cover; place-items: center; vertical-align: middle; width: 38px; }
.employee-list-initials { background: var(--primary-soft); color: var(--primary); font-size: 11px; font-weight: 800; }
.employee-view-tabs { margin-top: 14px; }
.employee-org-toolbar { align-items: center; background: var(--surface-low); border: 1px solid var(--line); border-radius: var(--radius); display: grid; gap: 10px; grid-template-columns: minmax(280px, 1fr) minmax(190px, 260px) auto; margin-bottom: 12px; padding: 12px; }
.employee-org-toolbar input, .employee-org-toolbar select { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); color: var(--text); font: inherit; height: 42px; min-width: 0; padding: 0 12px; width: 100%; }
.employee-org-search { align-items: center; display: flex; position: relative; }
.employee-org-search > .material-symbols-outlined { color: var(--muted); font-size: 20px; left: 12px; pointer-events: none; position: absolute; }
.employee-org-search input { padding-left: 40px; }
.employee-org-meta { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin: 2px 2px 12px; }
.employee-org-meta > div:first-child { display: grid; gap: 2px; }
.employee-org-meta strong { color: var(--text); font-size: 13px; }
.employee-org-meta span { color: var(--muted); font-size: 11px; }
.employee-org-legend { align-items: center; display: flex; gap: 14px; }
.employee-org-legend > span { align-items: center; display: inline-flex; gap: 6px; white-space: nowrap; }
.employee-org-legend-dot { background: var(--primary); border-radius: 50%; display: inline-block; height: 8px; width: 8px; }
.employee-org-legend-dot.warning { background: var(--warning); }
.employee-org-warning { align-items: flex-start; background: var(--warning-soft, #fff7e6); border: 1px solid var(--warning); border-radius: var(--radius); color: var(--text); display: flex; gap: 10px; margin-bottom: 12px; padding: 11px 13px; }
.employee-org-warning[hidden] { display: none; }
.employee-org-warning > .material-symbols-outlined { color: var(--warning); font-size: 21px; }
.employee-org-warning div { display: grid; gap: 3px; }
.employee-org-warning p { margin: 0; }
.employee-org-warning small { color: var(--muted); margin-top: 3px; }
.employee-org-panel { overflow: hidden; padding: 0; }
.employee-org-scroll { min-height: 360px; overflow: auto; padding: 20px; }
.employee-organogram { display: grid; gap: 18px; min-width: max-content; }
.employee-org-branch { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); min-width: min(100%, 720px); overflow: hidden; }
.employee-org-branch > header { align-items: center; background: var(--surface-low); border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 10px 14px; }
.employee-org-branch > header > div { align-items: center; color: var(--primary); display: flex; gap: 7px; }
.employee-org-branch > header .material-symbols-outlined { font-size: 19px; }
.employee-org-branch > header > span { color: var(--muted); font-size: 11px; }
.employee-org-tree, .employee-org-tree ul { display: flex; justify-content: center; list-style: none; margin: 0; padding: 0; position: relative; }
.employee-org-tree { min-width: max-content; padding: 22px 18px 26px; }
.employee-org-tree ul { padding-top: 28px; }
.employee-org-tree ul::before { background: var(--line-strong, var(--line)); content: ""; height: 28px; left: 50%; position: absolute; top: 0; width: 1px; }
.employee-org-tree li { list-style: none; padding: 28px 8px 0; position: relative; text-align: center; }
.employee-org-tree > li { padding-top: 0; }
.employee-org-tree li::before, .employee-org-tree li::after { border-top: 1px solid var(--line-strong, var(--line)); content: ""; height: 28px; position: absolute; right: 50%; top: 0; width: 50%; }
.employee-org-tree li::after { border-left: 1px solid var(--line-strong, var(--line)); left: 50%; right: auto; }
.employee-org-tree > li::before, .employee-org-tree > li::after, .employee-org-tree li:only-child::before, .employee-org-tree li:only-child::after { display: none; }
.employee-org-tree li:first-child::before, .employee-org-tree li:last-child::after { border: 0; }
.employee-org-tree li:last-child::before { border-right: 1px solid var(--line-strong, var(--line)); border-radius: 0 5px 0 0; }
.employee-org-tree li:first-child::after { border-radius: 5px 0 0 0; }
.employee-org-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 3px 10px rgba(15, 23, 42, .05); display: grid; gap: 6px; margin: 0 auto; min-height: 120px; padding: 12px; text-align: left; width: 218px; }
.employee-org-card:hover { border-color: var(--primary-dim); box-shadow: 0 7px 18px rgba(15, 23, 42, .08); }
.employee-org-card.needs-attention { border-color: var(--warning); }
.employee-org-card-head { align-items: center; display: grid; gap: 9px; grid-template-columns: 38px minmax(0, 1fr) auto; }
.employee-org-card-head > div { display: grid; gap: 1px; min-width: 0; }
.employee-org-card-head strong { color: var(--text); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-org-card-head span:not(.employee-org-alert) { color: var(--muted); font-size: 10px; }
.employee-org-avatar { border: 1px solid var(--primary-dim); border-radius: 50%; display: grid; height: 38px; object-fit: cover; place-items: center; width: 38px; }
.employee-org-alert { color: var(--warning); font-size: 18px; }
.employee-org-role { color: var(--primary); font-size: 11px; font-weight: 750; }
.employee-org-department { color: var(--text-soft); font-size: 10px; }
.employee-org-card small { color: var(--muted); font-size: 9px; }
.employee-org-report-count { align-self: start; background: var(--primary-soft); border-radius: 999px; color: var(--primary); font-size: 9px; font-weight: 750; justify-self: start; padding: 3px 7px; }
@media (max-width: 820px) {
    .employee-org-toolbar { grid-template-columns: minmax(0, 1fr) minmax(160px, .55fr) auto; }
    .employee-org-meta { align-items: flex-start; flex-direction: column; }
    .employee-org-scroll { padding: 14px; }
}
@media (max-width: 620px) {
    .employee-org-toolbar { grid-template-columns: 1fr; }
    .employee-org-toolbar .button { justify-content: center; width: 100%; }
    .employee-org-legend { align-items: flex-start; flex-direction: column; gap: 5px; }
}
.table-sort { align-items: center; background: transparent; border: 0; color: inherit; display: inline-flex; font-size: inherit; font-weight: inherit; gap: 5px; padding: 0; text-transform: inherit; }
.table-sort .material-symbols-outlined { color: var(--muted); font-size: 15px; }
.table-sort:hover, .table-sort:focus-visible, .table-sort.active { color: var(--primary); }
.table-sort:focus-visible { outline: 2px solid var(--primary-dim); outline-offset: 3px; }
.table-sort.active .material-symbols-outlined { color: var(--primary); }
.user-chip strong, .user-chip span { display: block; }
.user-chip strong { font-size: 12px; }
.user-chip span { color: var(--muted); font-size: 11px; }
.account-menu { position: relative; }
.account-menu-trigger { align-items: center; background: transparent; border: 1px solid transparent; border-radius: var(--radius); color: var(--text); display: flex; gap: 9px; min-height: 42px; padding: 3px 7px; text-align: left; }
.account-menu-trigger:hover, .account-menu.open .account-menu-trigger { background: var(--surface-low); border-color: var(--line-soft); }
.account-menu-trigger:focus-visible { box-shadow: 0 0 0 2px rgba(11,93,59,.18); outline: 0; }
.account-menu-chevron { color: var(--muted); font-size: 18px; transition: transform .18s ease; }
.account-menu.open .account-menu-chevron { transform: rotate(180deg); }
.account-menu-panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 14px 32px rgba(15,23,42,.16); min-width: 285px; padding: 7px; position: absolute; right: 0; top: calc(100% + 7px); z-index: 90; }
.account-menu-summary { border-bottom: 1px solid var(--line-soft); display: grid; gap: 2px; margin: 0 5px 5px; padding: 7px 7px 10px; }
.account-menu-summary strong { font-size: 12px; }
.account-menu-summary span { color: var(--muted); font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
.account-menu-panel > a { align-items: center; border-radius: var(--radius); display: flex; gap: 10px; padding: 9px 10px; }
.account-menu-panel > a:hover, .account-menu-panel > a:focus-visible { background: var(--primary-soft); color: var(--primary); outline: 0; }
.account-menu-panel > a > .material-symbols-outlined { font-size: 20px; }
.account-menu-panel > a > span:last-child { display: grid; gap: 2px; }
.account-menu-panel > a strong { font-size: 11px; }
.account-menu-panel > a small { color: var(--muted); font-size: 9px; }
.account-menu-divider { border-top: 1px solid var(--line-soft); margin: 5px; }
.account-menu-panel > .account-menu-logout { color: var(--danger); }
.profile-page-grid { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
.profile-identity-card { display: grid; gap: 12px; justify-items: center; padding: 22px 18px; position: sticky; top: calc(var(--topbar-height) + 16px); text-align: center; }
.profile-page-photo { border: 4px solid var(--primary-soft); border-radius: var(--radius-lg); height: 118px; object-fit: cover; width: 104px; }
.profile-page-initials { background: var(--primary); color: #fff; display: grid; font-size: 34px; font-weight: 800; place-items: center; }
.profile-identity-card h2 { font-size: 17px; }
.profile-identity-card p { margin: 3px 0 0; }
.profile-summary-list { border-top: 1px solid var(--line-soft); display: grid; margin: 4px 0 0; padding-top: 5px; text-align: left; width: 100%; }
.profile-summary-list div { display: grid; gap: 3px; padding: 9px 2px; }
.profile-summary-list dt, .profile-detail-grid dt { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.profile-summary-list dd, .profile-detail-grid dd { font-size: 12px; margin: 0; }
.profile-detail-stack { display: grid; gap: 14px; }
.profile-detail-grid { display: grid; gap: 0 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.profile-detail-grid div { border-bottom: 1px solid var(--line-soft); display: grid; gap: 5px; min-height: 58px; padding: 12px 2px; }
.profile-detail-grid .full { grid-column: 1 / -1; }
.profile-managed-note { align-items: center; display: flex; gap: 7px; margin: -2px 0 0; }
.profile-managed-note .material-symbols-outlined { color: var(--primary); font-size: 18px; }

.screen { display: none; }
.screen.active { display: block; }

.page-head { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 16px; }
.page-head .page-actions { justify-content: flex-end; }
.eyebrow { color: var(--primary-2); font-size: 10px; font-weight: 800; letter-spacing: .1em; margin: 0 0 4px; text-transform: uppercase; }
h1 { font-size: clamp(20px, 2.3vw, 25px); font-weight: 700; letter-spacing: -.02em; line-height: 1.18; margin: 0; }
h2 { font-size: 16px; line-height: 1.35; margin: 0; }
h3 { font-size: 14px; margin: 0 0 10px; }
p { font-size: 13px; }
p { color: var(--muted); }

.actions { align-items: center; display: flex; gap: 10px; flex-wrap: wrap; }
.button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--radius);
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    font-size: 12px;
    min-height: 34px;
    padding: 0 11px;
    white-space: nowrap;
}
.button[hidden] { display: none !important; }
.button:disabled { cursor: not-allowed; opacity: .42; }
.button svg { width: 17px; }
.button .material-symbols-outlined { font-size: 18px; }
.button.primary { background: var(--primary); color: #fff; }
.button.primary:hover { background: var(--primary-2); }
.button.secondary { background: var(--panel); border-color: var(--line); color: var(--text); }
.button.secondary:hover { background: var(--surface-low); }
.button.tiny { background: var(--surface-low); color: var(--primary); min-height: 32px; padding: 0 10px; }
.button.icon-action { background: transparent; border-color: transparent; color: var(--primary); height: 32px; min-height: 32px; padding: 0; width: 32px; }
.button.icon-action:hover { background: var(--primary-soft); border-color: var(--primary-dim); }
.button.icon-action.danger { color: var(--danger); }
.button.icon-action.danger:hover { background: var(--danger-soft); border-color: #ffb4ab; }
.button.icon-action svg { fill: currentColor; height: 17px; width: 17px; }
.button.icon-action > .material-symbols-outlined { font-size: 18px; }
.button.icon-action:focus-visible { box-shadow: 0 0 0 2px rgba(11, 93, 59, .2); outline: 0; }
.logout-link { min-height: 34px; }

.kpi-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin-bottom: 16px; }
.kpi-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kpi-card, .panel, .profile-card, .report-card, .approval-card, .work-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.kpi-card { padding: 12px; position: relative; transition: transform .18s ease, box-shadow .18s ease; }
.kpi-card:hover, .panel:hover, .report-card:hover { border-color: #aeb3c7; box-shadow: 0 2px 6px rgba(15, 23, 42, .06); }
.kpi-card span, .metric span, .money-stack span { color: var(--muted); display: block; font-size: 13px; }
.kpi-card strong { display: block; font-size: 23px; letter-spacing: -.03em; margin: 6px 0 2px; }
.kpi-card small { color: var(--muted); }
.kpi-icon { align-items: center; background: var(--primary-soft); border-radius: var(--radius); color: var(--primary); display: flex; height: 34px; justify-content: center; margin-bottom: 8px; opacity: 1; width: 34px; }
.kpi-icon svg { width: 24px; height: 24px; }
.kpi-icon .material-symbols-outlined { font-size: 21px; }
.kpi-card.success { border-top: 0; }
.kpi-card.success .kpi-icon { background: #d9fbe5; color: #08783f; }
.kpi-card.warning .kpi-icon { background: #fff2cf; color: #8d5f00; }
.kpi-card.info .kpi-icon { background: var(--primary-soft); color: var(--primary); }
.kpi-card.danger { border-left: 4px solid var(--danger); }
.kpi-card.danger .kpi-icon { background: var(--danger); color: var(--danger-soft); }

.dashboard-grid, .split-grid, .admin-grid, .profile-layout { display: grid; gap: 12px; grid-template-columns: 1.45fr 1fr; }
.dashboard-grid { grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); }
.wide { grid-row: span 2; }
.panel, .profile-card, .report-card { padding: 14px; }
.panel-head { align-items: flex-start; display: flex; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.panel-head p { margin: 5px 0 0; }

.badge {
    background: var(--surface-mid);
    border-radius: 999px;
    color: var(--muted);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 7px;
}
.badge.success { background: #d9fbe5; color: #08783f; }
.badge.warning { background: #fff3cd; color: #9a5b00; }
.badge.info { background: #e7f0ff; color: #0b58ca; }
.badge.danger { background: var(--danger-soft); color: var(--danger); }

.chart-bars { align-items: end; display: grid; gap: 10px; grid-template-columns: repeat(7, 1fr); height: 190px; padding-top: 12px; }
.chart-bars span { background: linear-gradient(180deg, var(--primary-2), var(--primary)); border-radius: 4px 4px 2px 2px; height: var(--h); min-height: 36px; position: relative; }
.chart-bars b { bottom: -24px; color: var(--muted); font-size: 12px; left: 50%; position: absolute; transform: translateX(-50%); }
.dual-bars { align-items: end; isolation: isolate; padding-bottom: 26px; }
.dual-bars span { justify-self: center; margin-right: 16px; width: 18px; }
.dual-bars span em { background: var(--tertiary-soft); border-radius: 8px 8px 3px 3px; bottom: 0; content: ""; display: block; height: var(--h); left: 24px; min-height: 30px; position: absolute; width: 18px; }

.money-stack { display: grid; gap: 12px; }
.money-stack div, .metric { background: var(--surface-low); border: 1px solid var(--line); border-radius: var(--radius); padding: 11px; }
.money-stack strong, .metric strong { display: block; font-size: 18px; margin-top: 4px; }

.timeline { display: grid; gap: 10px; }
.timeline div { border-left: 3px solid var(--primary-dim); padding-left: 12px; }
.timeline time { color: var(--primary); font-size: 12px; font-weight: 800; }
.timeline p { color: var(--text); margin: 4px 0; }
.timeline span { color: var(--muted); font-size: 12px; }
.timeline.compact { gap: 10px; }
.timeline.compact div { border-left-color: var(--surface-high); }

.dashboard-bottom-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.panel-head.padded { padding: 14px 14px 0; }
.sla-list { display: grid; gap: 10px; }
.sla-list div { border-left: 5px solid var(--line); display: grid; gap: 4px; padding-left: 12px; }
.sla-list strong { font-size: 14px; }
.sla-list span { color: var(--muted); font-size: 12px; }
.sla-list .danger { border-left-color: var(--danger); }
.sla-list .warning { border-left-color: var(--warning); }
.stock-list { display: grid; gap: 13px; }
.stock-list div { display: grid; gap: 8px; }
.stock-list strong { color: var(--text); font-size: 14px; }
.stock-list span { color: var(--muted); font-size: 12px; }
.stock-list i { background: var(--surface-low); border-radius: 999px; display: block; height: 8px; overflow: hidden; position: relative; }
.stock-list i::before { background: linear-gradient(90deg, var(--danger), var(--warning)); border-radius: inherit; content: ""; inset: 0 auto 0 0; position: absolute; width: var(--w); }

.profile-layout { grid-template-columns: 310px 1fr; }
.profile-card { padding: 16px; text-align: center; }
.profile-photo { border-radius: 14px; font-size: 26px; height: 88px; margin: 0 auto 12px; width: 88px; }
.profile-card dl { display: grid; gap: 8px; margin-top: 14px; text-align: left; }
.profile-card dl div { display: flex; justify-content: space-between; gap: 12px; }
.profile-card dt { color: var(--muted); }
.profile-card dd { font-weight: 700; margin: 0; text-align: right; }

.tabs { border-bottom: 1px solid var(--line); display: flex; gap: 3px; margin: -2px -2px 12px; overflow-x: auto; }
.tabs button { background: transparent; border: 0; color: var(--muted); font-size: 12px; font-weight: 700; padding: 9px 11px; }
.tabs button.active { border-bottom: 3px solid var(--primary); color: var(--primary); }

.form-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.single { grid-template-columns: 1fr; }
.form-grid label { background: transparent; border: 0; border-radius: 0; color: var(--muted); display: grid; font-size: 11px; font-weight: 600; gap: 6px; padding: 0; }
.form-grid input, .form-grid select, .form-grid textarea { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--text); font-size: 13px; font-weight: 400; min-height: 36px; padding: 0 10px; width: 100%; }
.form-grid textarea { font-family: inherit; line-height: 1.45; min-height: 70px; padding: 9px 10px; resize: vertical; }
.form-grid input[type="file"] { height: auto; padding: 7px 9px; }
.form-grid input[type="checkbox"],
.swal-form-grid input[type="checkbox"],
input[type="checkbox"].standard-checkbox {
    accent-color: var(--primary);
    cursor: pointer;
    flex: 0 0 17px;
    height: 17px;
    margin: 1px 0 0;
    min-height: 0;
    padding: 0;
    width: 17px;
}
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, .toolbar input:focus, .toolbar select:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(11, 93, 59, .12); outline: 0; }
.check-row,
.form-grid .check-row,
.swal-form-grid .check-row {
    align-items: flex-start;
    background: var(--surface-low);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--text);
    cursor: pointer;
    display: flex;
    gap: 10px;
    line-height: 1.35;
    min-width: 0;
    padding: 10px 12px;
}
.check-row:hover,
.form-grid .check-row:hover,
.swal-form-grid .check-row:hover {
    background: var(--panel);
    border-color: var(--primary-dim);
}
.check-row > span,
.form-grid .check-row > span,
.swal-form-grid .check-row > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.check-row strong,
.form-grid .check-row strong,
.swal-form-grid .check-row strong {
    color: var(--text);
    font-size: 11px;
    line-height: 1.35;
}
.check-row small,
.form-grid .check-row small,
.swal-form-grid .check-row small {
    color: var(--muted);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.45;
    margin: 0;
}
.required-marker { color: var(--danger); font-size: 13px; }
.field-caption{align-items:baseline;display:inline-flex;gap:3px;justify-self:start;white-space:nowrap}
.leave-type-caption{align-items:baseline;display:flex;gap:10px;justify-content:space-between;width:100%}.leave-balance-indicator{background:var(--primary-soft);border-radius:999px;color:var(--primary);font-size:9px;font-weight:800;line-height:1;padding:4px 7px;white-space:nowrap}.leave-balance-indicator.warning{background:#fff3d8;color:#805600}
.form-section-note { border-bottom: 1px solid var(--line-soft); margin: 0 0 14px; padding: 0 0 10px; }
.form-sections { display: grid; gap: 12px; }
.form-section-card { background: var(--panel); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 12px; }
.form-section-card-head { align-items: center; border-bottom: 1px solid var(--line-soft); display: flex; gap: 9px; margin-bottom: 11px; padding-bottom: 9px; }
.form-section-card-head > .material-symbols-outlined { background: var(--primary-soft); border-radius: var(--radius-sm); color: var(--primary); display: grid; flex: 0 0 32px; font-size: 18px; height: 32px; place-items: center; }
.form-section-card-head h3, .form-section-card-head p { margin: 0; }
.form-section-card-head h3 { color: var(--text); font-size: 12px; }
.form-section-card-head p { color: var(--muted); font-size: 10px; margin-top: 2px; }
.employee-personal-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: 170px minmax(0, 1fr); }
.employee-photo-panel { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); display: flex; flex-direction: column; padding: 12px; text-align: center; }
.employee-photo-preview { background: var(--panel); border: 1px dashed var(--line); border-radius: var(--radius-sm); display: grid; height: 158px; margin-bottom: 10px; overflow: hidden; place-items: center; width: 132px; }
.employee-photo-preview img { height: 100%; object-fit: cover; width: 100%; }
.employee-photo-preview .material-symbols-outlined { color: var(--primary); font-size: 54px; }
.employee-photo-panel > strong { color: var(--text); font-size: 12px; }
.employee-photo-panel > span { color: var(--muted); font-size: 10px; line-height: 1.45; margin: 4px 0 10px; }
.employee-photo-button { cursor: pointer; font-size: 11px; justify-content: center; padding: 7px 9px; width: 100%; }
.employee-photo-button .material-symbols-outlined { font-size: 17px; }
.employee-photo-input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.form-subsection-heading { border-top: 1px solid var(--line-soft); display: grid; gap: 2px; margin: 16px 0 12px; padding-top: 12px; }
.form-subsection-heading strong { font-size: 12px; }
.form-subsection-heading span { color: var(--muted); font-size: 11px; }
.form-grid .account-access-control { gap: 6px; }
.account-access-toggle { align-items: center; background: var(--surface-low); border: 1px solid var(--line); border-radius: var(--radius-sm); display: flex; gap: 10px; min-height: 36px; padding: 7px 10px; }
.form-grid .account-access-toggle > input[type="checkbox"] { accent-color: var(--primary); min-height: auto; padding: 0; width: 16px; }
.account-access-toggle > span { display: grid; gap: 1px; }
.account-access-toggle strong { color: var(--text); font-size: 11px; }
.account-access-toggle small { color: var(--muted); font-size: 10px; font-weight: 400; }
.temporary-password { background: var(--surface-low); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--primary); display: block; font-size: 18px; font-weight: 800; letter-spacing: .08em; margin-top: 10px; padding: 12px; user-select: all; }
.credential-mail-status { border-radius: var(--radius-sm); font-size: 12px; padding: 8px 10px; }
.credential-mail-status.success { background: var(--primary-soft); color: var(--primary); }
.credential-mail-status.danger { background: #fde3e6; color: var(--danger); }
.document-help { background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); color: var(--muted); font-size: 11px; padding: 9px 10px; }
.import-modal-card { max-width: 640px; }
.import-intro { align-items: center; background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: var(--radius); display: grid; gap: 10px; grid-template-columns: auto 1fr auto; margin: 14px 0 12px; padding: 12px; }
.import-intro > .material-symbols-outlined { background: var(--panel); border-radius: var(--radius-sm); color: var(--primary); display: grid; font-size: 25px; height: 42px; place-items: center; width: 42px; }
.import-intro strong, .import-intro p { margin: 0; }
.import-intro strong { font-size: 12px; }
.import-intro p { font-size: 10px; line-height: 1.45; margin-top: 2px; }
.import-guidance { border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 11px 13px; }
.import-guidance > strong { font-size: 12px; }
.import-guidance ul { color: var(--muted); font-size: 11px; line-height: 1.55; margin: 7px 0 0; padding-left: 18px; }
.import-file-field { color: var(--muted); display: grid; font-size: 11px; font-weight: 600; gap: 6px; margin-top: 12px; }
.import-file-field input { background: var(--panel); border: 1px dashed var(--line); border-radius: var(--radius-sm); color: var(--text); padding: 12px; }
.import-file-field input:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(11, 93, 59, .12); outline: 0; }
.import-file-field small { color: var(--muted); font-weight: 400; }
.import-error-list { background:#fff7f7; border:1px solid #ffc7cd; border-radius:var(--radius-sm); color:var(--danger); max-height:220px; overflow:auto; padding:9px 12px; text-align:left; }
.import-error-list li { font-size:11px; margin:3px 0; }
.import-result-table { border-collapse:collapse; font-size:11px; margin-top:8px; text-align:left; width:100%; }
.import-result-table th, .import-result-table td { border-bottom:1px solid var(--line-soft); padding:6px; }
.import-result-table th { color:var(--muted); font-size:10px; text-transform:uppercase; }
.documents-context { align-items: center; background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: var(--radius); display: flex; justify-content: space-between; margin: 14px 0; padding: 10px 12px; }
.documents-context strong { color: var(--primary); }
.documents-context span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.account-context { background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: var(--radius); display: grid; gap: 2px; margin: 14px 0; padding: 10px 12px; }
.account-context strong { color: var(--primary); }
.account-context span { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.account-context small { color: var(--muted); }
.master-setup-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: 230px minmax(0, 1fr); }
.master-setup-sidebar { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); max-height: calc(100vh - 92px); overflow: hidden auto; position: sticky; top: 76px; }
.master-setup-sidebar-head { align-items: center; border-bottom: 1px solid var(--line-soft); display: flex; gap: 9px; padding: 13px 12px; }
.master-setup-sidebar-head > .material-symbols-outlined { align-items: center; background: var(--primary-soft); border-radius: var(--radius-sm); color: var(--primary); display: inline-flex; flex: 0 0 32px; font-size: 18px; height: 32px; justify-content: center; }
.master-setup-sidebar-head > div { display: grid; gap: 2px; min-width: 0; }
.master-setup-sidebar-head strong { font-size: 12px; }
.master-setup-sidebar-head small { color: var(--muted); font-size: 9px; }
.tabs.master-setup-tabs { border: 0; display: grid; gap: 3px; margin: 0; overflow: visible; padding: 7px; }
.tabs.master-setup-tabs button { align-items: center; border: 1px solid transparent; border-radius: var(--radius-sm); display: flex; gap: 9px; justify-content: flex-start; min-height: 40px; padding: 8px 10px; text-align: left; transition: background .15s ease, border-color .15s ease, color .15s ease; width: 100%; }
.tabs.master-setup-tabs button > .material-symbols-outlined { flex: 0 0 20px; font-size: 19px; }
.tabs.master-setup-tabs button:hover { background: var(--surface-low); color: var(--text); }
.tabs.master-setup-tabs button.active { background: var(--primary-soft); border: 1px solid var(--primary-dim); color: var(--primary); }
.tabs.master-setup-tabs button.active > .material-symbols-outlined { font-variation-settings: "FILL" 1; }
.tabs.master-setup-tabs button:focus-visible { box-shadow: inset 0 0 0 2px rgba(11, 93, 59, .16); outline: 0; }
.master-setup-content { min-width: 0; }
.company-profile-form { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; }
.company-profile-layout { align-items: start; display: grid; gap: 14px; grid-template-columns: 210px minmax(0, 1fr); }
.company-logo-panel { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); display: flex; flex-direction: column; padding: 14px; position: sticky; top: 76px; text-align: center; }
.company-logo-preview { background: var(--panel); border: 1px dashed var(--line); border-radius: var(--radius-sm); display: grid; height: 132px; margin-bottom: 10px; overflow: hidden; place-items: center; width: 170px; }
.company-logo-preview img { height: 100%; object-fit: contain; padding: 8px; width: 100%; }
.company-logo-preview .material-symbols-outlined { color: var(--primary); font-size: 54px; }
.company-logo-panel > strong { color: var(--text); font-size: 12px; }
.company-logo-panel > span { color: var(--muted); font-size: 10px; line-height: 1.45; margin: 4px 0 10px; }
.company-logo-button { cursor: pointer; font-size: 11px; justify-content: center; padding: 7px 9px; width: 100%; }
.company-logo-button .material-symbols-outlined { font-size: 17px; }
.company-logo-input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.company-profile-actions { border-top: 1px solid var(--line-soft); justify-content: flex-end; margin-top: 14px; padding-top: 12px; }
.form-grid .branch-main-control { gap: 6px; }
.default-branch-badge { margin-left: 7px; vertical-align: middle; }
.setup-toolbar { align-items: center; }
.setup-toolbar .search-box { flex: 1; max-width: 520px; }
.setup-toolbar .search-box input { width: 100%; }
.setup-code { background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); color: var(--primary); display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; font-weight: 700; padding: 3px 7px; }
.leave-setup-stats { margin-top: 2px; }
.leave-workflow-card { margin-bottom: 12px; }
.leave-workflow-flow { align-items: stretch; display: grid; gap: 10px; grid-template-columns: 1fr auto 1fr auto 1fr; margin-bottom: 12px; }
.leave-workflow-flow article { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); display: flex; gap: 10px; min-height: 64px; padding: 10px 12px; }
.leave-workflow-flow article > .material-symbols-outlined { background: var(--primary-soft); border-radius: var(--radius-sm); color: var(--primary); display: grid; flex: 0 0 34px; height: 34px; place-items: center; }
.leave-workflow-flow article div { display: grid; gap: 3px; }
.leave-workflow-flow article strong { font-size: 12px; }
.leave-workflow-flow article small { color: var(--muted); font-size: 10px; }
.leave-workflow-arrow { align-self: center; color: var(--primary); font-size: 20px; }
.leave-workflow-form { border-top: 1px solid var(--line-soft); padding-top: 12px; }
.settings-section-card { margin: 0 auto; max-width: 980px; }
.settings-form { display: grid; gap: 14px; }
.settings-category-heading { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); display: flex; gap: 10px; padding: 11px 12px; }
.settings-category-heading > .material-symbols-outlined { background: var(--primary-soft); border-radius: var(--radius-sm); color: var(--primary); display: grid; height: 34px; place-items: center; width: 34px; }
.settings-category-heading div { display: grid; gap: 3px; }
.settings-category-heading strong { font-size: 12px; }
.settings-category-heading small { color: var(--muted); }
.settings-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.employee-code-preview { align-items: center; background: var(--primary-soft); border: 1px dashed var(--primary-dim); border-radius: var(--radius); display: grid; gap: 4px; justify-items: center; padding: 16px; text-align: center; }
.employee-code-preview span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.employee-code-preview strong { color: var(--primary); font-size: 24px; letter-spacing: .08em; }
.employee-code-preview small { color: var(--muted); }
.settings-actions { border-top: 1px solid var(--line-soft); justify-content: flex-end; padding-top: 12px; }
.workflow-stage-badge { background: var(--primary-soft); border-radius: var(--radius-sm); color: var(--primary); display: inline-flex; font-size: 11px; font-weight: 700; padding: 5px 8px; }
.approval-timeline { border-left: 2px solid var(--line-soft); display: grid; gap: 12px; margin: 6px 0 16px 10px; padding-left: 18px; }
.approval-timeline-item { align-items: flex-start; display: flex; gap: 10px; position: relative; }
.approval-timeline-item > .material-symbols-outlined { background: var(--surface); border: 1px solid var(--line-soft); border-radius: 50%; color: var(--primary); font-size: 18px; margin-left: -30px; padding: 3px; }
.approval-timeline-item div { display: grid; gap: 3px; }
.approval-timeline-item small { color: var(--muted); }
.approval-timeline-item p { margin: 3px 0 0; }
.approval-timeline-item.danger > .material-symbols-outlined { color: var(--danger); }
.leave-calendar-shell { display: grid; gap: 12px; overflow: hidden; }
.leave-calendar-toolbar { align-items: end; border-bottom: 1px solid var(--line-soft); display: flex; gap: 16px; justify-content: space-between; padding-bottom: 12px; }
.leave-calendar-navigation { align-items: center; display: flex; gap: 8px; }
.leave-calendar-navigation h2 { font-size: 18px; margin: 0 0 0 6px; min-width: 180px; }
.leave-calendar-filters { align-items: end; display: flex; gap: 10px; }
.leave-calendar-filters label { color: var(--muted); display: grid; font-size: 10px; font-weight: 700; gap: 4px; text-transform: uppercase; }
.leave-calendar-filters select { min-width: 170px; text-transform: none; }
.leave-calendar-summary { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.leave-calendar-summary article { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); display: flex; gap: 9px; padding: 9px 11px; }
.leave-calendar-summary article > .material-symbols-outlined { color: var(--primary); font-size: 20px; }
.leave-calendar-summary article > div { display: grid; gap: 1px; }
.leave-calendar-summary strong { font-size: 16px; }
.leave-calendar-summary small { color: var(--muted); font-size: 10px; }
.leave-calendar-summary article.pending > .material-symbols-outlined { color: #a76b00; }
.leave-calendar-legend { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: 10px; gap: 14px; }
.leave-calendar-legend span { align-items: center; display: inline-flex; gap: 5px; }
.leave-calendar-legend i { background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: 50%; height: 9px; width: 9px; }
.leave-calendar-legend i.pending { background: #fff3d6; border-color: #e1ad48; }
.leave-calendar-legend i.today { background: var(--panel); border: 2px solid var(--primary); }
.leave-calendar-scroll { border: 1px solid var(--line-soft); border-radius: var(--radius); max-width: 100%; overflow-x: auto; }
.leave-calendar-weekdays, .leave-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(130px, 1fr)); min-width: 910px; }
.leave-calendar-weekdays { background: var(--surface-low); border-bottom: 1px solid var(--line-soft); }
.leave-calendar-weekdays span { color: var(--muted); font-size: 10px; font-weight: 800; padding: 8px 10px; text-transform: uppercase; }
.leave-calendar-day { background: var(--panel); border-bottom: 1px solid var(--line-soft); border-right: 1px solid var(--line-soft); min-height: 118px; padding: 7px; }
.leave-calendar-day:nth-child(7n) { border-right: 0; }
.leave-calendar-day:nth-last-child(-n+7) { border-bottom: 0; }
.leave-calendar-day.outside { background: var(--surface-low); color: var(--muted); }
.leave-calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--primary); }
.leave-calendar-day > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 6px; }
.leave-calendar-day > header time { align-items: center; display: inline-flex; font-size: 11px; font-weight: 800; height: 24px; justify-content: center; width: 24px; }
.leave-calendar-day.is-today > header time { background: var(--primary); border-radius: 50%; color: #fff; }
.leave-calendar-day > header span { background: var(--surface-mid); border-radius: 999px; color: var(--muted); font-size: 9px; font-weight: 800; padding: 2px 6px; }
.leave-calendar-events { display: grid; gap: 4px; }
.leave-calendar-event { align-items: center; background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: var(--radius-sm); color: var(--text); display: flex; font: inherit; gap: 6px; max-width: 100%; min-height: 31px; padding: 4px 5px; text-align: left; width: 100%; }
button.leave-calendar-event { cursor: pointer; }
button.leave-calendar-event:hover { border-color: var(--primary); box-shadow: 0 2px 8px rgba(2, 105, 66, .12); }
.leave-calendar-event.pending { background: #fff7e6; border-color: #efd49b; }
.leave-calendar-avatar { align-items: center; background: var(--primary); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 22px; font-size: 8px; font-weight: 800; height: 22px; justify-content: center; }
.leave-calendar-event.pending .leave-calendar-avatar { background: #a76b00; }
.leave-calendar-event > span:last-child { display: grid; min-width: 0; }
.leave-calendar-event strong, .leave-calendar-event small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.leave-calendar-event strong { font-size: 9px; }
.leave-calendar-event small { color: var(--muted); font-size: 8px; }
.leave-calendar-more { color: var(--primary); font-size: 9px; font-weight: 700; padding: 2px 4px; }
.leave-calendar-loading { align-items: center; color: var(--muted); display: flex; gap: 8px; grid-column: 1 / -1; justify-content: center; min-height: 300px; }
.leave-calendar-loading .material-symbols-outlined { animation: spin 1s linear infinite; }
.leave-entitlement { color: var(--primary); font-size: 16px; font-weight: 800; }
.leave-usage { color: var(--muted); font-size: 11px; line-height: 1.45; }
.setup-footnote { align-items: center; background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: var(--radius-sm); display: flex; gap: 8px; margin: 12px 0 0; padding: 9px 11px; }
.attendance-settings-view { display: grid; gap: 14px; }
.attendance-device-section { min-width: 0; }
.attendance-adapter-notice { margin: 12px 0; }
.attendance-device-scroll-tools { align-items: center; background: var(--surface-low); border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius-sm) var(--radius-sm) 0 0; display: flex; gap: 12px; padding: 7px 10px; }
.attendance-device-scroll-tools > span { align-items: center; color: var(--muted); display: inline-flex; flex: 0 0 auto; font-size: 10px; font-weight: 700; gap: 5px; }
.attendance-device-scroll-tools > span .material-symbols-outlined { color: var(--primary); font-size: 17px; }
.attendance-device-top-scroll { flex: 1 1 auto; height: 14px; min-width: 120px; overflow-x: scroll; overflow-y: hidden; scrollbar-color: var(--primary) var(--panel); scrollbar-width: auto; }
.attendance-device-top-scroll > div { height: 1px; min-width: 100%; }
.attendance-device-top-scroll::-webkit-scrollbar { height: 12px; }
.attendance-device-top-scroll::-webkit-scrollbar-track { background: var(--panel); border: 1px solid var(--line); border-radius: 999px; }
.attendance-device-top-scroll::-webkit-scrollbar-thumb { background: var(--primary); border: 2px solid var(--panel); border-radius: 999px; }
.attendance-device-table-wrap { -webkit-overflow-scrolling: touch; max-width: 100%; overflow-x: scroll; overscroll-behavior-inline: contain; position: relative; scrollbar-color: var(--primary) var(--surface-low); scrollbar-gutter: stable; scrollbar-width: thin; }
.attendance-device-table-wrap::-webkit-scrollbar { height: 10px; }
.attendance-device-table-wrap::-webkit-scrollbar-track { background: var(--surface-low); border-radius: 999px; }
.attendance-device-table-wrap::-webkit-scrollbar-thumb { background: var(--primary); border: 2px solid var(--surface-low); border-radius: 999px; }
.attendance-device-table-wrap:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.attendance-device-table { min-width: 1320px; }
.attendance-device-table-wrap .attendance-actions-column { background: var(--panel); box-shadow: -8px 0 12px rgba(15, 23, 42, .05); min-width: 258px; position: sticky; right: 0; z-index: 2; }
.attendance-device-table-wrap thead .attendance-actions-column { background: var(--surface-low); z-index: 3; }
.attendance-device-table-wrap .attendance-actions-column .d-inline-flex { gap: 5px; }
.attendance-device-table-wrap .attendance-actions-column .icon-action { height: 31px; width: 31px; }
.attendance-history-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.attendance-history-grid .form-section-card { min-width: 0; }
.attendance-history-grid table { min-width: 620px; }
.attendance-sync-card .table-panel { overflow-x: auto; }
.attendance-sync-table { min-width: 600px !important; table-layout: fixed; }
.attendance-sync-table th:nth-child(1) { width: 28%; }
.attendance-sync-table th:nth-child(2) { width: 17%; }
.attendance-sync-table th:nth-child(3) { width: 35%; }
.attendance-sync-table th:nth-child(4) { width: 20%; }
.attendance-sync-mobile-time { color: var(--muted); display: none; font-size: 9px; margin-top: 4px; }
.attendance-history-footer { align-items: center; border-top: 1px solid var(--line-soft); color: var(--muted); display: flex; font-size: 10px; justify-content: space-between; min-height: 52px; padding: 8px 12px; }
.attendance-history-footer > div { align-items: center; display: flex; gap: 6px; }
.attendance-history-footer .button { min-height: 32px; padding: 0 10px; }
.attendance-history-footer .pagination-current { min-width: 28px; }
.attendance-device-modal { max-width: 820px; }
.attendance-mapping-modal { max-width: 820px; }
.attendance-mapping-form { border-bottom: 1px solid var(--line); margin: 14px -16px; padding: 0 16px 14px; }
.attendance-mapping-overlay { z-index: 95; }
.attendance-import-modal { display: flex; flex-direction: column; max-width: 940px; overflow: hidden; }
.attendance-import-steps { border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 -16px 14px; }
.attendance-import-steps span { border-bottom: 3px solid transparent; color: var(--muted); font-size: 11px; font-weight: 700; padding: 11px; text-align: center; }
.attendance-import-steps span.active { border-bottom-color: var(--primary); color: var(--primary); }
.attendance-import-steps span.complete { border-bottom-color: var(--primary-dim); color: var(--primary); }
.attendance-import-step { min-height: 0; overflow-y: auto; padding: 0 2px; }
.attendance-file-sample { margin-top: 14px; max-height: 220px; overflow: auto; }
.attendance-file-sample table { min-width: 720px; }
.attendance-import-preview-table { max-height: 330px; overflow: auto; }
.attendance-import-preview-table table { min-width: 780px; }
.attendance-import-review-actions { justify-content: flex-end; margin: 10px 0; }
.attendance-import-stats { margin-bottom: 10px; }
.attendance-import-step > .modal-actions { bottom: 0; position: sticky; z-index: 3; }
.setup-footnote .material-symbols-outlined { color: var(--primary); font-size: 18px; }
.setup-notice { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); display: flex; gap: 9px; margin-top: 12px; padding: 9px 10px; }
.setup-notice > .material-symbols-outlined { color: var(--primary); font-size: 20px; }
.setup-notice > span:last-child { display: grid; gap: 2px; }
.setup-notice strong { font-size: 11px; }
.setup-notice small { color: var(--muted); font-size: 10px; }
.smtp-setup-view { display: grid; gap: 12px; }
.smtp-section-head { align-items: center; border-bottom: 1px solid var(--line-soft); display: flex; gap: 12px; justify-content: space-between; margin-bottom: 10px; padding-bottom: 9px; }
.smtp-section-head .smtp-card-heading { border: 0; margin: 0; padding: 0; }
.smtp-table-wrap { border: 1px solid var(--line-soft); border-radius: var(--radius-sm); overflow-x: auto; }
.smtp-table-wrap tr:last-child td { border-bottom: 0; }
.smtp-routing-section-head > div { min-width: 0; }
.smtp-routing-section-head > .button { margin-left: auto; }
.smtp-routes-table { min-width: 680px; }
.smtp-routes-table td { padding-bottom: 8px; padding-top: 8px; }
.smtp-route-modal .smtp-route-form { grid-template-columns: 1fr; margin-top: 14px; }
.form-grid .smtp-check-control { gap: 6px; }
.form-grid label > small { font-weight: 400; }
.smtp-setup-view button.badge, #statesView button.badge, #leaveSetupView button.badge { border: 0; cursor: pointer; font-family: inherit; text-transform: capitalize; }
.smtp-delivery-switch { align-items: center; cursor: pointer; display: inline-flex; gap: 8px; white-space: nowrap; }
.smtp-delivery-switch input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.smtp-delivery-switch-track { background: #cbd5e1; border-radius: 999px; display: inline-block; height: 22px; position: relative; transition: background .18s ease; width: 40px; }
.smtp-delivery-switch-track::after { background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(15, 23, 42, .25); content: ''; height: 16px; left: 3px; position: absolute; top: 3px; transition: transform .18s ease; width: 16px; }
.smtp-delivery-switch input:checked + .smtp-delivery-switch-track { background: var(--primary); }
.smtp-delivery-switch input:checked + .smtp-delivery-switch-track::after { transform: translateX(18px); }
.smtp-delivery-switch input:focus-visible + .smtp-delivery-switch-track { outline: 2px solid var(--primary); outline-offset: 2px; }
.smtp-delivery-switch-label { color: var(--muted); font-size: 11px; font-weight: 700; }
.modal-card.modal-compact { max-width: 520px; }
.modal-card.smtp-profile-modal { max-width: 760px; }
.smtp-profile-modal .modal-title-row > div { display: block; }
.smtp-profile-modal .modal-title-row h2, .smtp-profile-modal .modal-title-row p { margin: 0; }
.smtp-profile-modal .modal-title-row p { margin-top: 3px; }
.smtp-profile-modal .smtp-modal-actions { justify-content: space-between; }
.email-template-modal { max-width: 820px; }
.email-template-modal .modal-title-row > div { align-items: center; }
.email-template-modal .modal-title-row h2, .email-template-modal .modal-title-row p { margin: 0; }
.email-template-layout { display: grid; gap: 14px; grid-template-columns: 210px minmax(0, 1fr); margin-top: 14px; }
.email-template-sidebar { background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); overflow: hidden; }
.email-template-sidebar-head { border-bottom: 1px solid var(--line-soft); display: grid; gap: 3px; padding: 11px; }
.email-template-sidebar-head strong { font-size: 12px; }
.email-template-sidebar-head span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.email-template-list { display: grid; gap: 6px; padding: 8px; }
.email-template-list button { background: var(--panel); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); display: grid; gap: 3px; padding: 9px; text-align: left; }
.email-template-list button strong { color: var(--text); font-size: 11px; }
.email-template-list button span { color: var(--muted); font-size: 9px; text-transform: capitalize; }
.email-template-list button.active { background: var(--primary-soft); border-color: var(--primary-dim); }
.email-template-list button.active strong, .email-template-list button.active span { color: var(--primary); }
.email-template-editor-panel { min-width: 0; }
.email-template-editor-head { align-items: center; border-bottom: 1px solid var(--line-soft); display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 9px; }
.email-template-editor-head h3 { font-size: 13px; margin: 0 0 2px; }
.template-placeholders-block { display: grid; gap: 5px; margin: 10px 0; }
.template-placeholders-block > span { color: var(--muted); font-size: 10px; font-weight: 700; }
.template-placeholder-list { display: flex; flex-wrap: wrap; gap: 5px; }
.template-placeholder-list button { background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: 999px; color: var(--primary); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 9px; padding: 4px 7px; }
.email-template-toolbar { align-items: center; background: var(--surface-low); border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius-sm) var(--radius-sm) 0 0; display: flex; gap: 3px; padding: 5px; }
.email-template-toolbar button { background: transparent; border: 0; border-radius: var(--radius-sm); color: var(--muted); display: grid; height: 28px; place-items: center; width: 30px; }
.email-template-toolbar button:hover { background: var(--primary-soft); color: var(--primary); }
.email-template-toolbar .material-symbols-outlined { font-size: 17px; }
.email-template-body { border: 1px solid var(--line); border-radius: 0 0 var(--radius-sm) var(--radius-sm); font-family: Arial, sans-serif; font-size: 13px; line-height: 1.6; min-height: 210px; outline: 0; overflow-y: auto; padding: 12px; }
.email-template-body:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(11, 93, 59, .12); }
.email-template-body h1, .email-template-body h2, .email-template-body h3 { color: var(--primary); }
.email-template-preview { border: 1px solid var(--line-soft); border-radius: var(--radius); margin-top: 10px; max-height: 330px; overflow: auto; }
.email-template-preview-head { background: var(--surface-low); border-bottom: 1px solid var(--line-soft); display: grid; gap: 2px; padding: 8px 10px; }
.email-template-preview-head strong { font-size: 11px; }
.email-template-preview-head span { color: var(--muted); font-size: 10px; }
.email-template-actions { justify-content: space-between; }
.document-upload-form { border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.document-form-actions { justify-content: flex-end; margin-top: 12px; }
.documents-list-head { align-items: end; display: flex; gap: 14px; justify-content: space-between; padding: 16px 0 10px; }
.documents-list-head h3, .documents-list-head p { margin: 0; }
.documents-list-head p { margin-top: 3px; }
.documents-list-head select { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); color: var(--text); min-height: 36px; padding: 0 10px; }
.document-table-wrap { max-height: 270px; overflow: auto; }
.document-table-wrap th { position: sticky; top: 0; z-index: 1; }
.mini-grid, .finance-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }

.toolbar { display: flex; gap: 8px; margin-bottom: 10px; }
.toolbar input { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); font-size: 13px; min-height: 36px; padding: 0 11px; }
.toolbar select { background: var(--panel); border-radius: var(--radius); font-size: 13px; min-height: 36px; }

.board { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 12px; }
.board article { background: var(--surface-low); border: 1px solid var(--line); border-radius: 8px; padding: 10px; min-height: 125px; }
.work-card { padding: 11px; }
.work-card strong { display: block; margin: 7px 0 4px; }
.work-card p { margin: 0; }

.table-panel { overflow: hidden; padding: 0; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid var(--line); font-size: 13px; padding: 10px 12px; text-align: left; vertical-align: middle; }
th { background: var(--surface-low); color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
tbody tr:hover { background: #f1f5f9; }

.site-list { display: grid; gap: 8px; }
.site-list div { border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 4px; padding: 10px; }
.site-list span { color: var(--muted); font-size: 13px; }
.schedule-grid { display: grid; gap: 10px; grid-template-columns: repeat(7, 1fr); }
.schedule-grid span { background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: 8px; color: var(--muted); display: grid; gap: 8px; min-height: 92px; padding: 10px; }
.schedule-grid b { align-self: end; color: var(--primary); font-size: 22px; }

.big-money { display: block; font-size: 30px; margin: 12px 0 6px; }
.approval-list { display: grid; gap: 12px; }
.approval-card { align-items: center; display: grid; gap: 12px; grid-template-columns: 1fr auto auto; padding: 12px; }
.approval-card h2 { margin: 7px 0 3px; }
.approval-card p { margin: 0; }

.report-grid, .design-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.report-card { display: grid; gap: 12px; }
.report-card svg { color: var(--primary); height: 28px; width: 28px; }
.report-card p { margin: 0; min-height: 44px; }

.roles-page-head { align-items: flex-end; }
.roles-page-head .page-description { margin: 6px 0 0; }
.roles-workspace { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(270px, 320px) minmax(0, 1fr); }
.roles-directory { max-height: calc(100vh - 104px); overflow: hidden; padding: 0; position: sticky; top: 72px; }
.roles-directory-head { align-items: center; border-bottom: 1px solid var(--line-soft); margin: 0; padding: 14px; }
.roles-directory-head p { margin: 3px 0 0; }
.roles-count { align-items: center; background: var(--primary-soft); border-radius: 999px; color: var(--primary); display: inline-flex; font-size: 12px; font-weight: 800; height: 28px; justify-content: center; min-width: 28px; padding: 0 8px; }
.roles-search, .permission-search { align-items: center; display: flex; position: relative; }
.roles-search { margin: 12px 14px; }
.roles-search > .material-symbols-outlined, .permission-search > .material-symbols-outlined { color: var(--muted); font-size: 19px; left: 11px; pointer-events: none; position: absolute; }
.roles-search input, .permission-search input { padding-left: 36px; width: 100%; }
.role-list { display: grid; gap: 7px; max-height: calc(100vh - 230px); overflow-y: auto; padding: 0 10px 12px; }
.role-list-item { align-items: center; background: var(--panel); border: 1px solid transparent; border-radius: var(--radius); color: var(--text); display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr) 18px; padding: 10px; text-align: left; transition: background .16s ease, border-color .16s ease; width: 100%; }
.role-list-item:hover { background: var(--surface-low); border-color: var(--line-soft); }
.role-list-item.active { background: var(--primary-soft); border-color: var(--primary-dim); }
.role-list-icon { align-items: center; background: var(--surface-low); border-radius: var(--radius-sm); color: var(--primary); display: flex; font-size: 20px; height: 34px; justify-content: center; width: 34px; }
.role-list-item.active .role-list-icon { background: var(--panel); }
.role-list-copy { display: grid; gap: 4px; min-width: 0; }
.role-list-title { align-items: center; display: flex; gap: 7px; justify-content: space-between; }
.role-list-title strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-list-title .badge { flex: 0 0 auto; font-size: 9px; padding: 3px 6px; text-transform: uppercase; }
.role-list-copy > small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-list-meta { color: var(--muted); display: flex; font-size: 10px; gap: 12px; }
.role-list-arrow { color: var(--muted); font-size: 18px; }
.role-list-item.active .role-list-arrow { color: var(--primary); }
.roles-empty, .permission-empty { align-items: center; color: var(--muted); display: flex; flex-direction: column; gap: 5px; justify-content: center; min-height: 150px; padding: 18px; text-align: center; }
.roles-empty > .material-symbols-outlined, .permission-empty > .material-symbols-outlined { color: var(--primary); font-size: 30px; }
.roles-empty strong, .permission-empty strong { color: var(--text); font-size: 13px; }
.roles-empty span:last-child, .permission-empty span:last-child { font-size: 11px; }

.permission-panel { overflow: visible; padding: 0; }
.role-editor-head { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 14px; justify-content: space-between; padding: 14px 16px; }
.role-editor-identity { align-items: center; display: flex; gap: 10px; min-width: 0; }
.role-editor-icon { align-items: center; background: var(--primary-soft); border-radius: var(--radius); color: var(--primary); display: flex; flex: 0 0 38px; height: 38px; justify-content: center; }
.role-editor-identity h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-editor-identity p { margin: 3px 0 0; }
.role-editor-summary { align-items: center; display: flex; flex: 0 0 auto; gap: 8px; }
.permission-count, .role-dirty-indicator { border-radius: 999px; font-size: 11px; padding: 6px 9px; }
.permission-count { background: var(--primary-soft); color: var(--primary); }
.permission-count strong { font-size: 13px; }
.role-dirty-indicator { background: #fff3cd; color: #8d5f00; font-weight: 700; }
.role-details-section, .role-permissions-section { padding: 16px; }
.role-details-section { border-bottom: 1px solid var(--line-soft); }
.role-section-heading { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 12px; }
.role-section-heading h3 { margin: 0; }
.role-section-heading p { margin: 3px 0 0; }
.permission-total { color: var(--muted); font-size: 11px; white-space: nowrap; }
.permission-toolbar { align-items: center; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); display: flex; gap: 10px; justify-content: space-between; margin-bottom: 12px; padding: 9px; }
.permission-search { flex: 1 1 280px; max-width: 460px; }
.permission-search input { background: var(--panel); }
.permission-bulk-actions { display: flex; flex: 0 0 auto; gap: 7px; }
.permission-bulk-actions .button { min-height: 32px; }
.permission-groups { display: grid; gap: 10px; }
.permission-group { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.permission-group-head { align-items: center; background: var(--surface-low); border-bottom: 1px solid var(--line-soft); display: flex; justify-content: space-between; min-height: 48px; }
.permission-group.collapsed .permission-group-head { border-bottom: 0; }
.permission-group-toggle { align-items: center; align-self: stretch; background: transparent; border: 0; color: var(--text); display: grid; flex: 1 1 auto; gap: 9px; grid-template-columns: 30px minmax(0, 1fr) 22px; padding: 8px 10px; text-align: left; }
.permission-group-icon { align-items: center; background: var(--primary-soft); border-radius: var(--radius-sm); color: var(--primary); display: flex; font-size: 18px; height: 30px; justify-content: center; width: 30px; }
.permission-group-toggle > span:nth-child(2) { display: grid; gap: 2px; }
.permission-group-toggle strong { font-size: 13px; }
.permission-group-toggle small { color: var(--muted); font-size: 10px; }
.permission-group-chevron { color: var(--muted); font-size: 19px; transition: transform .16s ease; }
.permission-group.collapsed .permission-group-chevron { transform: rotate(180deg); }
.permission-group-actions { display: flex; gap: 2px; padding-right: 10px; }
.permission-group-actions button { background: transparent; border: 0; border-radius: var(--radius-sm); color: var(--primary); font-size: 10px; font-weight: 700; padding: 6px 7px; }
.permission-group-actions button:hover { background: var(--primary-soft); }
.permission-group-actions button:disabled { display: none; }
.permission-checks { display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 6px; }
.permission-group.collapsed .permission-checks { display: none; }
.permission-option { align-items: flex-start; border: 1px solid transparent; border-radius: var(--radius-sm); cursor: pointer; display: flex; gap: 9px; min-height: 54px; padding: 9px; transition: background .15s ease, border-color .15s ease; }
.permission-option:hover { background: var(--surface-low); }
.permission-option.selected { background: var(--primary-soft); border-color: var(--primary-dim); }
.permission-option input { accent-color: var(--primary); flex: 0 0 auto; margin: 3px 0 0; }
.permission-option-copy { display: grid; gap: 3px; min-width: 0; }
.permission-option-copy strong { font-size: 12px; font-weight: 650; line-height: 1.3; }
.permission-option-copy small { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 9px; overflow-wrap: anywhere; }
.role-form-actions { background: var(--surface-low); border-top: 1px solid var(--line); bottom: 0; justify-content: flex-end; padding: 12px 16px; position: sticky; z-index: 4; }
.role-delete-button { color: var(--danger) !important; margin-right: auto; }
.full { grid-column: 1 / -1; }
.pagination-row { align-items: center; display: flex; justify-content: space-between; gap: 10px; margin-top: 10px; }
.muted { color: var(--muted); font-size: 12px; }
.empty-state { color: var(--muted); padding: 24px; text-align: center; }
.access-denied-page { align-items: center; display: flex; justify-content: center; min-height: calc(100vh - 130px); padding: 28px 12px; }
.access-denied-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 18px 46px rgba(15, 23, 42, .09); max-width: 760px; overflow: hidden; padding: 34px; position: relative; text-align: center; width: 100%; }
.access-denied-card::before { background: linear-gradient(90deg, var(--primary), #39a873); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.access-denied-visual { align-items: center; display: inline-flex; height: 112px; justify-content: center; margin-bottom: 2px; position: relative; width: 112px; }
.access-denied-visual > .material-symbols-outlined { align-items: center; background: var(--primary); border: 7px solid var(--primary-soft); border-radius: 50%; color: #fff; display: inline-flex; font-size: 38px; height: 72px; justify-content: center; position: relative; width: 72px; z-index: 2; }
.access-denied-ring { border: 1px solid var(--primary-dim); border-radius: 50%; position: absolute; }
.access-denied-ring.ring-one { height: 94px; opacity: .75; width: 94px; }
.access-denied-ring.ring-two { height: 112px; opacity: .35; width: 112px; }
.access-denied-card .eyebrow { margin: 5px 0 7px; }
.access-denied-card h1 { font-size: clamp(23px, 3vw, 32px); letter-spacing: -.035em; margin: 0 auto 10px; max-width: 600px; }
.access-denied-intro { color: var(--muted); line-height: 1.65; margin: 0 auto 22px; max-width: 610px; }
.access-denied-guidance { display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); text-align: left; }
.access-denied-guidance > div { align-items: flex-start; background: var(--surface-low); border: 1px solid var(--line-soft); border-radius: var(--radius); display: flex; gap: 9px; min-height: 104px; padding: 12px; }
.access-denied-guidance > div > .material-symbols-outlined { color: var(--primary); flex: 0 0 22px; font-size: 21px; }
.access-denied-guidance > div > span:last-child { display: grid; gap: 5px; }
.access-denied-guidance strong { font-size: 11px; }
.access-denied-guidance small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.access-denied-reference { align-items: center; background: var(--primary-soft); border: 1px solid var(--primary-dim); border-radius: var(--radius-sm); color: var(--primary); display: inline-flex; font-size: 10px; gap: 6px; margin: 16px 0 0; padding: 7px 10px; }
.access-denied-reference .material-symbols-outlined { font-size: 16px; }
.access-denied-actions { justify-content: center; margin-top: 20px; }
.truncate { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-list { display: grid; gap: 12px; }
.roadmap-list div { align-items: center; background: var(--surface-low); border: 1px solid var(--line); border-radius: var(--radius); display: grid; gap: 8px; grid-template-columns: 160px 1fr auto; padding: 10px 12px; }
.roadmap-list span { color: var(--muted); }
.roadmap-list b { color: var(--primary); }

.modal-backdrop {
    align-items: center;
    background: rgba(15, 23, 42, .4);
    backdrop-filter: blur(3px);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 80;
}
.modal-backdrop.open { display: flex; }

.approval-assignment-stats{margin-bottom:18px}
.approval-assignment-tabs{margin-bottom:16px}
.approval-assignment-toolbar{
    display:grid;
    grid-template-columns:minmax(280px,1fr) repeat(4,minmax(145px,auto)) auto;
    gap:10px;
    align-items:center;
}
.approval-assignment-toolbar .search-box{min-width:0}
.approval-source{
    display:inline-block;
    max-width:220px;
    overflow-wrap:anywhere;
    color:#475569;
    font-size:12px;
}
.approval-issue{display:block;max-width:230px;margin-top:5px;color:#8a5a00;line-height:1.35}
#approvalOrganizationSection .form-section-card{margin-bottom:16px}
#approvalAssignmentsView .table-panel{overflow-x:auto}
#approvalAssignmentsView table{min-width:980px}

@media (max-width:1180px){
    .approval-assignment-toolbar{grid-template-columns:minmax(250px,1fr) repeat(2,minmax(145px,1fr)) auto}
}
@media (max-width:720px){
    .approval-assignment-toolbar{grid-template-columns:1fr}
    .approval-assignment-toolbar>*{width:100%}
}

.modal-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .18);
    max-height: calc(100vh - 36px);
    max-width: 820px;
    overflow-y: auto;
    padding: 16px;
    width: 100%;
}
.modal-card.wide-modal { max-width: 820px; }
.employee-modal-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.employee-modal-card > .modal-title-row,
.employee-modal-card > .form-tabs,
.employee-modal-card > .modal-actions {
    flex: 0 0 auto;
    position: relative;
    z-index: 2;
}
.employee-modal-card > .form-tabs {
    background: var(--panel);
    margin-left: -2px;
    margin-right: -2px;
    overflow-x: auto;
}
.employee-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 2px;
    scrollbar-gutter: stable;
}
.modal-actions { justify-content: flex-end; margin-top: 12px; }
.modal-title-row { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin: -16px -16px 0; padding: 14px 16px; }
.modal-title-row > div { align-items: center; display: flex; gap: 10px; }
.modal-title-row > div > .material-symbols-outlined { color: var(--primary); }
.modal-title-row + .tabs { margin-top: 0; }
.modal-card .modal-actions { background: var(--surface-low); border-top: 1px solid var(--line); margin: 16px -16px -16px; padding: 14px 16px; }
.master-category-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 36px);
    max-width: none;
    overflow: hidden;
    padding: 0;
    width: min(620px, calc(100vw - 36px));
}
.master-category-modal > header {
    align-items: center;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
    display: flex;
    flex: 0 0 auto;
    justify-content: space-between;
    padding: 15px 18px;
}
.master-category-modal > header > div {
    align-items: center;
    display: flex;
    gap: 11px;
    min-width: 0;
}
.master-category-modal > header > div > .material-symbols-outlined {
    align-items: center;
    background: var(--primary-soft);
    border-radius: var(--radius-sm);
    color: var(--primary);
    display: flex;
    flex: 0 0 38px;
    font-size: 21px;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.master-category-modal > header h2 {
    font-size: 17px;
    line-height: 1.25;
    margin: 0;
}
.master-category-modal > header p {
    font-size: 11px;
    line-height: 1.4;
    margin: 3px 0 0;
}
.master-category-modal > header .icon-button {
    flex: 0 0 auto;
    margin-left: 14px;
}
.master-category-modal > .modal-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 18px;
}
.master-category-modal .form-grid {
    gap: 14px;
}
.master-category-modal textarea {
    min-height: 88px;
}
.master-category-modal > footer {
    align-items: center;
    background: var(--surface-low);
    border-top: 1px solid var(--line);
    display: flex;
    flex: 0 0 auto;
    gap: 9px;
    justify-content: flex-end;
    padding: 12px 18px;
}
.master-category-modal > footer .button {
    min-width: 104px;
}
@media(max-width:620px) {
    .master-category-modal {
        max-height: calc(100vh - 16px);
        width: calc(100vw - 16px);
    }
    .master-category-modal > header,
    .master-category-modal > .modal-scroll,
    .master-category-modal > footer {
        padding-left: 14px;
        padding-right: 14px;
    }
    .master-category-modal .form-grid {
        grid-template-columns: 1fr;
    }
    .master-category-modal .form-grid .full {
        grid-column: auto;
    }
}

/* Central Asset Management */
.asset-management-page .panel > .toolbar {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
}
.asset-management-page .panel > .toolbar .search-control {
    align-items: center;
    display: flex;
    flex: 1 1 320px;
    min-width: 260px;
    position: relative;
}
.asset-management-page .panel > .toolbar .search-control > .material-symbols-outlined {
    color: var(--muted);
    font-size: 20px;
    left: 12px;
    pointer-events: none;
    position: absolute;
}
.asset-management-page .panel > .toolbar .search-control input {
    height: 42px;
    padding-left: 40px;
    width: 100%;
}
.asset-management-page .panel > .toolbar select,
.asset-management-page .panel > .toolbar .button {
    flex: 0 0 auto;
    height: 42px;
}
.asset-management-page .panel > .toolbar #assetCategory { width: 170px; }
.asset-management-page .panel > .toolbar #assetStatus,
.asset-management-page .panel > .toolbar #assetWarranty { width: 205px; }
.asset-management-page .panel > .toolbar #assetPerPage { width: 82px; }
.asset-management-page .panel > .toolbar #assetReset {
    justify-content: center;
    width: 104px;
}
.asset-management-page .table-wrap table {
    min-width: 940px;
}
.asset-management-page td {
    vertical-align: middle;
}
.asset-management-page td > strong,
.asset-management-page td > small {
    display: block;
}
.asset-management-page td > small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
    margin-top: 3px;
}
.asset-management-page td .badge + small {
    display: block;
    margin-top: 5px;
}
.asset-management-page .kpi-card small {
    align-items: center;
    display: flex;
    gap: 5px;
}
.asset-management-page .kpi-card small .material-symbols-outlined {
    font-size: 15px;
}
#assetDetailBody .maintenance-detail-section > h3 {
    margin-bottom: 9px;
}
.asset-detail-modal .maintenance-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.asset-detail-modal {
    max-width: none !important;
}
.asset-detail-modal #assetDetailBody {
    display: block;
}
.asset-detail-modal .maintenance-detail-section:first-of-type {
    margin-top: 0;
}
.asset-detail-modal > footer .button {
    min-width: 88px;
}
#assetFormModal .maintenance-modal {
    max-width: none;
}
:is(#assetFormModal,#assetAssignmentModal,#assetTransferModal,#assetReturnModal,#assetDisposeModal) .maintenance-modal > footer .button:first-child {
    margin-right: 0;
}
#assetDisposeModal .maintenance-modal > footer .button.danger {
    background: var(--danger);
    border-color: var(--danger);
    color: #fff;
}
#assetDisposeModal .maintenance-modal > footer .button.danger:hover {
    background: #a61b1b;
    border-color: #a61b1b;
}
@media (max-width: 900px) {
    .asset-management-page .panel > .toolbar {
        display: grid;
        grid-template-columns: 1fr 1fr;
        overflow-x: visible;
    }
    .asset-management-page .panel > .toolbar .search-control {
        grid-column: 1 / -1;
        min-width: 0;
    }
    .asset-management-page .panel > .toolbar select,
    .asset-management-page .panel > .toolbar .button,
    .asset-management-page .panel > .toolbar #assetCategory,
    .asset-management-page .panel > .toolbar #assetStatus,
    .asset-management-page .panel > .toolbar #assetWarranty,
    .asset-management-page .panel > .toolbar #assetPerPage,
    .asset-management-page .panel > .toolbar #assetReset {
        width: 100%;
    }
    .asset-detail-modal .maintenance-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .asset-management-page .panel > .toolbar {
        grid-template-columns: 1fr;
    }
    .asset-management-page .panel > .toolbar .search-control {
        grid-column: auto;
    }
    .asset-detail-modal .maintenance-summary-grid {
        grid-template-columns: 1fr;
    }
    .asset-detail-modal > footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .asset-detail-modal > footer .button {
        justify-content: center;
        margin: 0 !important;
        width: 100%;
    }
}
.employee-modal-card > .modal-actions { justify-content: space-between; margin-top: 0; }
.employee-modal-submit-actions { align-items: center; display: flex; gap: 10px; margin-left: auto; }
.employee-onboarding-help { color: var(--primary); }
.employee-onboarding-modal { height: min(760px, calc(100vh - 36px)); width: min(720px, calc(100vw - 36px)); }
.employee-onboarding-modal > header { position: sticky; top: 0; z-index: 2; }
.employee-onboarding-modal > footer { bottom: 0; position: sticky; z-index: 2; }
.employee-onboarding-modal > .modal-scroll { scrollbar-gutter: stable; }
.employee-onboarding-modal > footer { align-items: center; }
.employee-onboarding-footer-note { align-items: center; color: var(--muted); display: inline-flex; font-size: 12px; gap: 6px; margin-right: auto; }
.employee-onboarding-footer-note .material-symbols-outlined { color: var(--primary); font-size: 17px; }
.employee-onboarding-guide { color: var(--text); text-align: left; }
.employee-onboarding-guide-summary {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-left: 4px solid var(--primary);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
}
.employee-onboarding-guide-summary > .material-symbols-outlined { color: var(--primary); font-size: 28px; }
.employee-onboarding-guide-summary strong { display: block; font-size: 14px; }
.employee-onboarding-guide-summary p { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 3px 0 0; }
.employee-onboarding-steps { display: grid; gap: 10px; margin: 0; padding: 0; }
.employee-onboarding-step {
    align-items: start;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: 30px minmax(0, 1fr);
    padding: 10px 12px;
}
.employee-onboarding-step-number {
    align-items: center;
    background: var(--primary-soft);
    border-radius: 50%;
    color: var(--primary);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    grid-row: 1 / span 2;
    height: 28px;
    justify-content: center;
    width: 28px;
}
.employee-onboarding-step strong { font-size: 14px; }
.employee-onboarding-step span:last-child { color: var(--muted); font-size: 13px; line-height: 1.45; }
.employee-onboarding-guide-note {
    background: var(--primary-soft);
    border-left: 3px solid var(--primary);
    border-radius: 6px;
    color: var(--text);
    font-size: 13px;
    margin: 14px 0 0;
    padding: 10px 12px;
}
@media (max-width: 620px) {
    .employee-onboarding-modal { height: calc(100vh - 16px); max-height: calc(100vh - 16px); width: calc(100vw - 16px); }
    .employee-onboarding-modal > footer { align-items: stretch; flex-direction: column; }
    .employee-onboarding-footer-note { margin-right: 0; }
    .employee-onboarding-modal > footer .button { width: 100%; }
}
.form-tabs button { flex: 1 0 150px; white-space: nowrap; }
.form-tabs + .tab-panel { padding-top: 2px; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.module-view { display: none; }
.module-view.active { display: block; }
.facility-form-block { display: none; }
.facility-form-block.active { display: block; }
.form-tabs { margin-top: 10px; }
.d-inline-flex { display: inline-flex; }
.align-items-center { align-items: center; }
.gap-2 { gap: 8px; }
.employee-actions { text-align: right; white-space: nowrap; width: 64px; }
.employee-actions .d-inline-flex { justify-content: flex-end; }
.employee-action-menu { display: inline-flex; justify-content: flex-end; }
.employee-actions-trigger {
    background: var(--surface-low) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}
.employee-actions-trigger[aria-expanded="true"] {
    background: var(--primary-soft) !important;
    border-color: var(--primary-dim) !important;
    color: var(--primary) !important;
}
.employee-actions-popover {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .16);
    min-width: 226px;
    padding: 6px;
    position: fixed;
    text-align: left;
    white-space: normal;
    z-index: 1200;
}
.employee-actions-popover[hidden] { display: none !important; }
.employee-action-item {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: var(--text);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    gap: 10px;
    min-height: 38px;
    padding: 8px 10px;
    text-align: left;
    text-decoration: none;
    width: 100%;
}
.employee-action-item:hover,
.employee-action-item:focus-visible {
    background: var(--primary-soft);
    color: var(--primary);
    outline: 0;
}
.employee-action-item .material-symbols-outlined { font-size: 19px; }
.employee-action-item.danger { color: var(--danger); }
.employee-action-item.danger:hover,
.employee-action-item.danger:focus-visible { background: var(--danger-soft); color: var(--danger); }
.employee-action-separator { border-top: 1px solid var(--line); margin: 5px 4px; }

.alert { border-radius: 8px; margin: 14px 0; padding: 12px; }
.alert.danger { background: #fde3e6; color: #b42334; }
.login-body { background: var(--bg); min-height: 100vh; }
.login-shell { display: grid; grid-template-columns: minmax(0, 55%) minmax(0, 45%); min-height: 100vh; }
.login-main { align-items: center; display: flex; justify-content: center; padding: 40px 24px; }
.login-stack { max-width: 420px; width: 100%; }
.login-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 24px; width: 100%; }
.login-back-link { align-items: center; color: var(--primary); display: flex; font-size: 11px; font-weight: 700; gap: 5px; justify-content: flex-end; margin-bottom: 14px; width: 100%; }
.login-back-link .material-symbols-outlined { font-size: 17px; transition: transform .18s ease; }
.login-back-link:hover { color: var(--primary-2); }
.login-back-link:hover .material-symbols-outlined { transform: translateX(-2px); }
.login-back-link:focus-visible { border-radius: var(--radius-sm); outline: 2px solid var(--primary); outline-offset: 3px; }
.login-card h1 { font-size: 20px; margin: 0 0 6px; }
.login-card > p { margin: 0 0 18px; }
.login-form { display: grid; gap: 14px; margin: 16px 0; }
.login-form label { color: var(--muted); display: grid; font-size: 12px; font-weight: 600; gap: 7px; }
.login-form input { background: var(--surface-low); border: 1px solid var(--line); border-radius: var(--radius); min-height: 42px; outline: 0; padding: 0 12px; }
.login-form input:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(11, 93, 59, .12); }
.login-form .button { min-height: 44px; }
.login-brand { color: var(--text); margin: 0 0 16px; }
.login-card small, .login-foot { color: var(--muted); font-size: 11px; }
.login-foot { align-items: center; display: flex; justify-content: space-between; margin-top: 14px; }
.system-status { align-items: center; display: inline-flex; gap: 7px; }
.system-status::before { background: #22c55e; border-radius: 50%; content: ""; height: 7px; width: 7px; }
.login-hero { align-items: center; background: linear-gradient(rgba(7, 73, 45, .86), rgba(11, 93, 59, .94)), url('../images/enterprise-login-hero.jpg') center/cover; color: #fff; display: flex; overflow: hidden; padding: 56px; position: relative; }
.login-hero::after { background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.18), transparent 38%); content: ""; inset: 0; position: absolute; }
.login-hero-content { max-width: 430px; position: relative; z-index: 1; }
.login-hero .eyebrow { color: #ddf5e8; }
.login-hero h2 { font-size: clamp(28px, 3.3vw, 48px); letter-spacing: -.035em; line-height: 1.08; margin: 10px 0 18px; }
.login-hero p { color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.7; }
.security-points { display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); margin-top: 34px; }
.security-points strong, .security-points span { display: block; }
.security-points strong { font-size: 18px; }
.security-points span { color: rgba(255,255,255,.7); font-size: 11px; margin-top: 3px; }

.swatches { display: grid; gap: 10px; }
.swatches span { align-items: center; display: flex; gap: 10px; }
.swatches span::before { background: var(--c); border-radius: 8px; content: ""; display: inline-block; height: 34px; width: 54px; }

@media (max-width: 1180px) {
    .topbar { grid-template-columns: minmax(260px, 1fr) minmax(170px, 220px) auto auto auto; }
    .master-setup-layout { grid-template-columns: 210px minmax(0, 1fr); }
    .account-menu-trigger .user-chip { display: none; }
    .kpi-grid, .board, .report-grid, .design-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kpi-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid, .split-grid, .admin-grid, .dashboard-bottom-grid { grid-template-columns: 1fr; }
    .wide { grid-row: auto; }
}

@media (max-width: 1180px) {
    .sidebar { max-width: 88vw; overscroll-behavior: contain; transform: translateX(-100%); transition: transform .2s ease; z-index: 60; -webkit-overflow-scrolling: touch; }
    .sidebar.open { box-shadow: 14px 0 32px rgba(15,23,42,.18); transform: translateX(0); }
    .main-panel { margin-left: 0; width: 100%; }
    .topbar { left: 0; grid-template-columns: auto minmax(0, 1fr) auto auto auto; }
    .mobile-menu { display: inline-flex; }
    .topbar select, .account-menu-trigger .user-chip { display: none; }
    .account-menu-panel { min-width: min(285px, calc(100vw - 28px)); right: -4px; }
}

@media (max-width: 860px) {
    .sidebar { max-width: 88vw; overscroll-behavior: contain; transform: translateX(-100%); transition: transform .2s ease; z-index: 60; -webkit-overflow-scrolling: touch; }
    .sidebar.open { box-shadow: 14px 0 32px rgba(15,23,42,.18); transform: translateX(0); }
    .main-panel { margin-left: 0; width: 100%; }
    .topbar { left: 0; grid-template-columns: auto minmax(0, 1fr) auto auto auto; }
    .mobile-menu { display: inline-flex; }
    .topbar select, .account-menu-trigger .user-chip { display: none; }
    .account-menu-panel { min-width: min(285px, calc(100vw - 28px)); right: -4px; }
    .page-head, .approval-card { align-items: flex-start; flex-direction: column; display: flex; }
    .page-head .page-actions { justify-content:flex-start; width:100%; }
    .import-intro { grid-template-columns:auto 1fr; }
    .import-intro .button { grid-column:1 / -1; width:100%; }
    .profile-layout, .profile-page-grid, .finance-grid, .mini-grid, .form-grid, .employee-personal-layout, .company-profile-layout, .email-template-layout { grid-template-columns: 1fr; }
    .settings-fields { grid-template-columns: 1fr; }
    .master-setup-layout { grid-template-columns: 1fr; }
    .master-setup-sidebar { max-height: 340px; position: static; }
    .attendance-history-grid { grid-template-columns: 1fr; }
    .leave-calendar-toolbar { align-items: stretch; flex-direction: column; }
    .leave-calendar-filters { width: 100%; }
    .leave-calendar-filters label { flex: 1; }
    .leave-calendar-filters select { min-width: 0; width: 100%; }
    .leave-calendar-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .profile-identity-card { position: static; }
    .email-template-sidebar { max-height: 180px; overflow-y: auto; }
    .employee-photo-panel { justify-self: center; width: min(100%, 220px); }
    .company-logo-panel { justify-self: center; position: static; width: min(100%, 260px); }
    .permission-checks, .roadmap-list div { grid-template-columns: 1fr; }
    .roles-workspace { grid-template-columns: 1fr; }
    .roles-directory { max-height: none; position: static; }
    .role-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 300px; }
    .login-shell { grid-template-columns: 1fr; }
    .login-hero { display: none; }
}
@media (max-width: 680px) {
    .attendance-sync-table { min-width: 0 !important; }
    .attendance-sync-table th:nth-child(1) { width: 30%; }
    .attendance-sync-table th:nth-child(2) { width: 20%; }
    .attendance-sync-table th:nth-child(3) { width: 50%; }
    .attendance-sync-started { display: none; }
    .attendance-sync-mobile-time { display: block; }
    .attendance-history-footer { align-items: stretch; flex-direction: column; gap: 8px; }
    .attendance-history-footer > div { justify-content: flex-end; }
}

@media (max-width: 620px) {
    .main-panel { padding: 14px; }
    .kpi-grid, .board, .report-grid, .design-grid, .schedule-grid { grid-template-columns: 1fr; }
    .kpi-grid.compact { grid-template-columns: 1fr; }
    .toolbar { flex-direction: column; }
    .setup-toolbar .search-box { max-width: none; width: 100%; }
    .leave-workflow-flow { grid-template-columns: 1fr; }
    .leave-workflow-arrow { justify-self: center; transform: rotate(90deg); }
    .smtp-section-head { align-items: flex-start; flex-direction: column; }
    .email-template-actions { align-items: stretch; flex-direction: column; }
    .role-list { grid-template-columns: 1fr; }
    .role-editor-head, .permission-toolbar { align-items: stretch; flex-direction: column; }
    .role-editor-summary { justify-content: space-between; }
    .permission-search { max-width: none; width: 100%; }
    .permission-bulk-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .permission-group-head { align-items: stretch; flex-direction: column; }
    .permission-group-actions { border-top: 1px solid var(--line-soft); justify-content: flex-end; padding: 4px 8px; }
    .attendance-import-steps span { font-size: 9px; padding: 9px 4px; }
    .attendance-import-review-actions { align-items: stretch; flex-direction: column; }
    .leave-calendar-navigation { flex-wrap: wrap; }
    .leave-calendar-navigation h2 { flex-basis: 100%; margin: 4px 0 0; }
    .leave-calendar-filters { align-items: stretch; flex-direction: column; }
    .leave-calendar-summary { grid-template-columns: 1fr; }
    .role-form-actions { align-items: stretch; }
    .documents-context, .documents-list-head { align-items: stretch; flex-direction: column; }
    .access-denied-page { align-items: flex-start; padding: 10px 0; }
    .access-denied-card { padding: 25px 16px; }
    .access-denied-guidance { grid-template-columns: 1fr; }
    .access-denied-guidance > div { min-height: 0; }
    .access-denied-actions { align-items: stretch; flex-direction: column; }
    th, td { padding: 12px 10px; }
    .table-panel { overflow-x: auto; }
}
/* Payroll Management */
.payroll-two-column{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.45fr);gap:16px;align-items:start}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-color,#c8cedd)}.panel-heading h3,.section-heading h3{margin:0}.panel-heading p,.section-heading p{margin:3px 0 0}.payroll-component-list{display:grid;gap:8px;margin-top:12px}.payroll-component-row{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(90px,.7fr) 110px auto auto 42px;gap:8px;align-items:center;padding:9px;border:1px solid var(--border-color,#c8cedd);border-radius:8px;background:#f8fafc}.payroll-component-row label{display:flex;align-items:center;gap:6px;white-space:nowrap}.payroll-total-row{display:flex;justify-content:flex-end;gap:14px;margin-top:12px;padding:12px;border-top:1px solid var(--border-color,#c8cedd)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-color,#c8cedd)}.payroll-run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.payroll-run-summary>div{padding:13px;border:1px solid var(--border-color,#c8cedd);border-radius:9px;background:#f8fafc}.payroll-run-summary span{display:block;color:#566074;font-size:.8rem}.payroll-run-summary strong{display:block;font-size:1.05rem;margin-top:4px}.payroll-validation .alert{padding:12px 14px;border-radius:8px;margin:10px 0}.payroll-validation .alert.success{background:#e2f7eb;color:#075b36}.payroll-validation .alert.danger{background:#fff0f0;color:#8b1111}.payroll-validation ul{margin:6px 0 0 18px}.modal-xl{width:min(1180px,calc(100vw - 30px));max-height:92vh}.danger-text{color:#ba1a1a!important}.table-panel td small,.table-panel td strong{display:block}.table-actions{white-space:nowrap}.empty-cell{text-align:center;color:#697386;padding:28px!important}
@media(max-width:1100px){.payroll-two-column{grid-template-columns:1fr}.payroll-component-row{grid-template-columns:1fr 100px 100px}.payroll-component-row label{white-space:normal}.payroll-run-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.payroll-component-row{grid-template-columns:1fr}.payroll-run-summary{grid-template-columns:1fr}.modal-xl{width:100vw}}

/* Disciplinary & Compliance */
.disciplinary-workspace{max-width:1180px}#caseActionModal .modal-card{max-width:620px}
.disciplinary-form-modal,.disciplinary-workspace,#caseActionModal .modal-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.disciplinary-form-modal>header,.disciplinary-workspace>header,#caseActionModal .modal-card>header{align-items:center;border-bottom:1px solid var(--line);display:flex;flex:0 0 auto;justify-content:space-between;padding:15px 18px}.disciplinary-form-modal>header h2,.disciplinary-workspace>header h2,#caseActionModal .modal-card>header h2{margin:0}.disciplinary-form-modal>header p,.disciplinary-workspace>header p{margin:2px 0 0}.disciplinary-form-modal .modal-scroll,.disciplinary-workspace .modal-scroll,#caseActionModal .modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.disciplinary-form-modal>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.disciplinary-form-modal footer,.disciplinary-workspace>footer,#caseActionModal .modal-card>form>footer{align-items:center;background:var(--surface-low);border-top:1px solid var(--line);display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end;padding:13px 18px}
.kpi-grid.compact.disciplinary-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.disciplinary-filters{display:grid;grid-template-columns:minmax(320px,2fr) minmax(160px,.8fr) minmax(170px,.8fr) 145px 145px 82px auto auto;gap:10px;align-items:center;margin:16px 0}.disciplinary-filters .search-field{min-width:0}.disciplinary-page th[data-sort]{cursor:pointer}.disciplinary-page th[data-sort]:hover{color:var(--brand,#087044)}.disciplinary-workspace{height:min(900px,94vh)}.disciplinary-workspace .modal-scroll{background:#f7f9f8;padding:18px}.case-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.case-summary-grid article{background:#fff;border:1px solid var(--border-color,#c8cedd);border-radius:9px;padding:13px}.case-summary-grid small,.case-summary-grid span{display:block;color:#697386;font-size:.78rem}.case-summary-grid strong{display:block;margin:4px 0}.case-section{background:#fff;border:1px solid var(--border-color,#c8cedd);border-radius:10px;margin-top:12px;padding:16px}.case-section h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid var(--line-soft,#e5e8ef);font-size:1rem}.case-section h3 .material-symbols-outlined{color:var(--brand,#087044)}.case-details{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 16px;margin:0}.case-details dt{color:#596274;font-weight:600}.case-details dd{margin:0;white-space:pre-wrap}.receipt-strip{display:flex;gap:18px;flex-wrap:wrap;background:#f3f6f4;border-radius:7px;margin-top:14px;padding:10px 12px;font-size:.78rem}.narrative p,.case-note p{white-space:pre-wrap}.document-list{display:grid;gap:8px}.document-list article{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line-soft,#e5e8ef);border-radius:8px}.document-list article>div{flex:1;min-width:0}.document-list small{display:block;color:#697386}.evidence-upload-form{display:grid;grid-template-columns:150px 170px 1fr minmax(190px,1.3fr) auto;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft,#e5e8ef)}.case-note{border-left:3px solid var(--brand,#087044);padding:10px 12px;background:#f7f9f8;margin-top:8px}.case-note p{margin:5px 0}.case-note small{color:#697386}.case-timeline{list-style:none;padding:0;margin:0}.case-timeline li{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding-bottom:14px}.case-timeline li:not(:last-child):before{content:"";position:absolute;left:6px;top:12px;bottom:0;border-left:1px solid #b8c6bf}.timeline-dot{width:13px;height:13px;border:3px solid #ccebdc;background:var(--brand,#087044);border-radius:50%;margin-top:3px;z-index:1}.case-timeline small{display:block;color:#697386}.case-timeline p{margin:4px 0;white-space:pre-wrap}.workspace-footer-left{display:flex;gap:8px;flex-wrap:wrap;margin-right:auto}.disciplinary-workspace footer>div:last-child{display:flex;gap:8px}.disciplinary-form-modal .modal-scroll{padding:18px}.status-badge.neutral{background:#eef1f4;color:#4b5563}.status-badge.info{background:#e3f3ed;color:#08613e}.status-badge.warning{background:#fff3d8;color:#805600}.status-badge.success{background:#dcf7e7;color:#087044}
@media(max-width:1250px){.kpi-grid.compact.disciplinary-stats{grid-template-columns:repeat(3,1fr)}.disciplinary-filters{grid-template-columns:minmax(280px,2fr) repeat(2,minmax(150px,1fr)) 140px 140px}.evidence-upload-form{grid-template-columns:1fr 1fr}.evidence-upload-form input[type=file]{grid-column:1/-1}}
@media(max-width:760px){.kpi-grid.compact.disciplinary-stats,.case-summary-grid{grid-template-columns:1fr 1fr}.disciplinary-filters{grid-template-columns:1fr}.case-details{grid-template-columns:1fr}.case-details dt{margin-top:7px}.evidence-upload-form{grid-template-columns:1fr}.evidence-upload-form input[type=file]{grid-column:auto}.disciplinary-workspace footer{align-items:stretch;flex-direction:column}.workspace-footer-left,.disciplinary-workspace footer>div:last-child{display:grid;grid-template-columns:1fr}.receipt-strip{flex-direction:column;gap:6px}}
@media(max-width:480px){.kpi-grid.compact.disciplinary-stats,.case-summary-grid{grid-template-columns:1fr}}

/* Disciplinary register controls */
.disciplinary-filters .search-field{align-items:center;display:flex;position:relative;width:100%}
.disciplinary-filters .search-field>.material-symbols-outlined{color:var(--muted);font-size:21px;left:12px;pointer-events:none;position:absolute}
.disciplinary-filters .search-field input{padding-left:40px;width:100%}
.disciplinary-filters input,.disciplinary-filters select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:13px;min-height:42px;min-width:0;padding:0 11px;width:100%}
.disciplinary-filters input:focus,.disciplinary-filters select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12);outline:0}
.disciplinary-date-filter{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:auto minmax(0,1fr);min-height:42px;overflow:hidden}
.disciplinary-date-filter>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em;padding-left:10px;text-transform:uppercase}
.disciplinary-date-filter input{border:0;border-radius:0;min-height:40px;padding-left:8px}
.disciplinary-date-filter input:focus{box-shadow:none}
.disciplinary-table-footer{background:var(--panel);margin:0;min-height:58px;padding:10px 12px}
.disciplinary-table-footer #caseSummary{color:var(--muted);font-size:12px}
.disciplinary-pagination{gap:6px}
.disciplinary-pagination .button{min-height:34px;padding:0 10px}
.disciplinary-pagination .page-number{justify-content:center;min-width:34px;padding:0}
.disciplinary-pagination .page-number.active{background:var(--primary);border-color:var(--primary);color:#fff}
.disciplinary-pagination .button:disabled{cursor:not-allowed;opacity:.48}
.disciplinary-pagination .material-symbols-outlined{font-size:18px}
.disciplinary-page .empty-state{min-height:150px;padding:34px 20px}
.disciplinary-page .empty-state>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);display:inline-flex;font-size:24px;height:44px;justify-content:center;width:44px}
.disciplinary-page .empty-state h3{color:var(--text);font-size:14px;margin:10px 0 4px}
.disciplinary-page .empty-state p{font-size:12px;margin:0}
@media(max-width:760px){.disciplinary-table-footer{align-items:stretch;flex-direction:column}.disciplinary-pagination{justify-content:space-between}.disciplinary-pagination .page-nav span:not(.material-symbols-outlined){display:none}}

/* Disciplinary evidence uploader */
.evidence-empty{align-items:center;background:var(--surface-low);border:1px dashed var(--line);border-radius:var(--radius);display:flex;gap:11px;padding:13px 14px}
.evidence-empty>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;flex:0 0 38px;font-size:21px;height:38px;justify-content:center}
.evidence-empty div{display:grid;gap:2px}.evidence-empty strong{font-size:13px}.evidence-empty small{color:var(--muted);font-size:11px}
.evidence-upload-form{background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);display:block;margin-top:12px;padding:13px}
.evidence-upload-intro{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:11px}
.evidence-upload-intro>div{display:grid;gap:2px}.evidence-upload-intro strong{font-size:13px}.evidence-upload-intro small,.evidence-upload-intro>span{color:var(--muted);font-size:10px}.evidence-upload-intro>span{text-align:right}
.evidence-upload-fields{align-items:end;display:grid;gap:9px}
.evidence-upload-form.has-visibility .evidence-upload-fields{grid-template-columns:minmax(145px,.7fr) minmax(180px,.9fr) minmax(190px,1.15fr) minmax(230px,1.35fr) auto}
.evidence-upload-form.without-visibility .evidence-upload-fields{grid-template-columns:minmax(145px,.7fr) minmax(210px,1.15fr) minmax(250px,1.35fr) auto}
.evidence-upload-field{display:grid;gap:5px;min-width:0}.evidence-upload-field>span:first-child{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.025em}
.evidence-upload-field input:not([type=file]),.evidence-upload-field select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:42px;min-width:0;padding:0 10px;width:100%}
.evidence-upload-field input:focus,.evidence-upload-field select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12);outline:0}
.evidence-file-field{cursor:pointer;position:relative}.evidence-file-input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}
.evidence-file-control{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:9px;height:42px;min-width:0;padding:0 10px;transition:border-color .15s ease,box-shadow .15s ease}
.evidence-file-field:hover .evidence-file-control{border-color:var(--primary-dim)}.evidence-file-input:focus+.evidence-file-control{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12)}
.evidence-file-control>.material-symbols-outlined{color:var(--primary);flex:0 0 auto;font-size:19px}.evidence-file-copy{display:grid;min-width:0}.evidence-file-copy strong,.evidence-file-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-file-copy strong{font-size:11px}.evidence-file-copy small{color:var(--muted);font-size:9px}.evidence-file-field.has-file .evidence-file-control{background:var(--primary-soft);border-color:var(--primary-dim)}
.evidence-upload-button{height:42px;white-space:nowrap}
@media(max-width:1150px){.evidence-upload-form.has-visibility .evidence-upload-fields,.evidence-upload-form.without-visibility .evidence-upload-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-upload-button{justify-self:end}}
@media(max-width:620px){.evidence-upload-intro{display:grid}.evidence-upload-intro>span{text-align:left}.evidence-upload-form.has-visibility .evidence-upload-fields,.evidence-upload-form.without-visibility .evidence-upload-fields{grid-template-columns:1fr}.evidence-upload-button{justify-self:stretch;width:100%}}

/* Disciplinary action dialogs */
#caseActionModal .modal-card{max-height:min(820px,92vh);max-width:680px;width:min(680px,calc(100vw - 28px))}
#caseActionModal .modal-card>header{align-items:flex-start}#caseActionModal .modal-card>header>div{display:grid;gap:3px;min-width:0}
#caseActionModal .modal-card>header p{color:var(--muted);font-size:11px;line-height:1.45;margin:0}
#caseActionForm{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
#caseActionFields{overflow-x:hidden;padding:18px}
#caseActionFields .form-grid{gap:15px;grid-template-columns:1fr}
#caseActionFields .form-grid>*{grid-column:1/-1;min-width:0}
#caseActionFields .form-grid label>span:first-child{color:var(--text);font-size:11px;font-weight:700}
#caseActionFields .form-grid input,#caseActionFields .form-grid select,#caseActionFields .form-grid textarea{border-radius:var(--radius);box-sizing:border-box}
#caseActionFields .form-grid textarea{line-height:1.55;min-height:125px;padding:11px 12px;resize:vertical}
#caseActionFields .form-grid label:first-child textarea{min-height:210px}
#caseActionFields .notice{align-items:flex-start;background:var(--primary-soft);border:1px solid var(--primary-dim);border-radius:var(--radius);display:flex;gap:10px;padding:11px 12px}
#caseActionFields .notice.warning{background:#fff7df;border-color:#efd993}
#caseActionFields .notice>.material-symbols-outlined{color:var(--primary);flex:0 0 auto;font-size:20px;margin-top:1px}
#caseActionFields .notice.warning>.material-symbols-outlined{color:#8d5f00}
#caseActionFields .notice>div{display:grid;gap:2px}#caseActionFields .notice strong{font-size:11px}#caseActionFields .notice p{color:var(--muted);font-size:10px;line-height:1.5;margin:0}
#caseActionFields .check-row{align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;display:flex;gap:11px;padding:12px}
#caseActionFields .check-row:hover{background:var(--surface-low);border-color:var(--primary-dim)}
#caseActionFields .check-row>input[type=checkbox]{accent-color:var(--primary);flex:0 0 17px;height:17px;margin:1px 0 0;min-height:0;padding:0;width:17px}
#caseActionFields .check-row>span{display:grid;gap:3px}#caseActionFields .check-row strong{color:var(--text);font-size:11px}#caseActionFields .check-row small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.45}
#caseActionModal footer .button{min-width:96px}
@media(max-width:520px){#caseActionFields{padding:14px}#caseActionModal .modal-card{max-height:96vh;width:calc(100vw - 12px)}#caseActionModal footer{display:grid;grid-template-columns:1fr 1fr}#caseActionModal footer .button{width:100%}}

/* Asynchronous email delivery queue */
.email-queue-section{overflow:hidden}.email-worker-health{margin:0 0 12px}.email-worker-health.warning{background:#fff7df;border-color:#efd993}.email-worker-health.warning>.material-symbols-outlined{color:#8d5f00}
.email-queue-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:12px}.email-queue-stats .kpi-card{box-shadow:none}.email-queue-stats .kpi-card strong{font-size:20px}
.email-queue-filters{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(260px,1.7fr) minmax(145px,.8fr) minmax(155px,.9fr) minmax(145px,.8fr) 140px 140px 76px auto;margin-bottom:10px}
.email-queue-filters .search-field{align-items:center;display:flex;position:relative}.email-queue-filters .search-field>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;pointer-events:none;position:absolute}.email-queue-filters .search-field input{padding-left:37px}
.email-queue-filters input,.email-queue-filters select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:38px;min-width:0;padding:0 10px;width:100%}
.email-queue-filters input:focus,.email-queue-filters select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(11,93,59,.12);outline:0}.queue-result-text{color:var(--muted);display:block;font-size:10px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-queue-section .pagination-row{margin-top:10px}
@media(max-width:1250px){.email-queue-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.email-queue-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.email-queue-filters .search-field{grid-column:span 2}}
@media(max-width:760px){.email-queue-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.email-queue-filters{grid-template-columns:1fr 1fr}.email-queue-filters .search-field{grid-column:1/-1}}
@media(max-width:480px){.email-queue-stats,.email-queue-filters{grid-template-columns:1fr}.email-queue-filters .search-field{grid-column:auto}}

/* Birthday Notification */
.birthday-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.birthday-workspace{padding:14px}.birthday-tab{display:none}.birthday-tab.active{display:block}.birthday-filters{align-items:center;display:grid;gap:9px;grid-template-columns:minmax(320px,1fr) 190px 90px auto;margin-bottom:12px}.birthday-filters .search-field{align-items:center;display:flex;position:relative}.birthday-filters .search-field>.material-symbols-outlined{color:var(--muted);font-size:21px;left:12px;position:absolute}.birthday-filters .search-field input{padding-left:40px}.birthday-filters input,.birthday-filters select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:13px;min-height:42px;padding:0 11px;width:100%}.birthday-page th[data-sort]{cursor:pointer}.birthday-page th[data-sort]:hover{color:var(--primary)}.birthday-page td small{color:var(--muted);display:block;margin-top:3px}.birthday-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:800;height:36px;justify-content:center;object-fit:cover;width:36px}.birthday-calendar-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.birthday-calendar-head h2{margin:0 0 3px}.birthday-calendar-head input{border:1px solid var(--line);border-radius:var(--radius);font:inherit;padding:9px 11px}.birthday-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.calendar-weekday{background:var(--surface-low);color:var(--muted);font-size:11px;padding:9px;text-align:center;text-transform:uppercase}.calendar-day{border-right:1px solid var(--line);border-top:1px solid var(--line);min-height:105px;padding:8px}.calendar-day:nth-child(7n){border-right:0}.calendar-day>b{color:var(--muted);font-size:12px}.calendar-day>span{align-items:center;background:var(--primary-soft);border-radius:6px;color:var(--primary);display:flex;font-size:11px;font-weight:700;gap:4px;margin-top:6px;padding:5px 6px}.calendar-day>span .material-symbols-outlined{font-size:14px}.calendar-day.muted-day{background:var(--surface-low)}.birthday-settings-form{margin:auto;max-width:900px}.birthday-settings-form .form-grid{margin-top:18px}.birthday-switches{display:grid;gap:9px;margin-top:14px}.birthday-switches>label{align-items:flex-start;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:11px;padding:12px}.birthday-switches input{accent-color:var(--primary);margin-top:3px}.birthday-switches span,.birthday-switches small{display:block}.birthday-switches small{color:var(--muted);margin-top:2px}.settings-note{align-items:flex-start;background:var(--primary-soft);border-radius:var(--radius);display:flex;gap:10px;margin-top:14px;padding:12px}.settings-note .material-symbols-outlined{color:var(--primary)}.settings-note p{margin:0}.birthday-settings-form .form-actions{justify-content:flex-end;margin-top:14px}.pagination-current{align-items:center;background:var(--primary);border-radius:var(--radius);color:#fff;display:inline-flex;font-weight:700;justify-content:center;min-width:38px;padding:0 10px}.birthday-page .empty-state .material-symbols-outlined{color:var(--primary);font-size:28px}
@media(max-width:900px){.birthday-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-filters{grid-template-columns:1fr 1fr}.birthday-filters .search-field{grid-column:1/-1}.birthday-calendar{min-width:760px}.birthday-tab#birthdayTab-calendar{overflow-x:auto}}
@media(max-width:560px){.birthday-stats,.birthday-filters{grid-template-columns:1fr}.birthday-filters .search-field{grid-column:auto}.birthday-calendar-head{align-items:stretch;flex-direction:column;gap:10px}}
.profile-preference-switch{align-items:flex-start;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:14px}.profile-preference-switch input{accent-color:var(--primary);height:18px;margin-top:2px;width:18px}.profile-preference-switch span,.profile-preference-switch small{display:block}.profile-preference-switch small{color:var(--muted);margin-top:3px}.profile-preference-note{font-size:12px;margin:9px 2px 0}

/* Documents Library */
.document-kpis,.employee-document-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.document-library-layout{display:grid;gap:14px;grid-template-columns:270px minmax(0,1fr)}.document-folder-panel{align-self:start;max-height:calc(100vh - 220px);overflow:auto;padding:10px;position:sticky;top:90px}.document-folder-panel>header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:7px;padding:5px 4px 10px}.document-folder-panel h2{font-size:15px;margin:0}.document-folder-panel p{color:var(--muted);font-size:11px;margin:2px 0 0}.document-folder-panel footer{border-top:1px solid var(--line);color:var(--muted);font-size:11px;margin-top:9px;padding:10px 5px 3px}.folder-tree-row{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;padding-left:calc((var(--depth) - 1) * 13px)}.folder-tree-item{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);display:flex;gap:8px;min-height:38px;padding:7px 8px;text-align:left;width:100%}.folder-tree-item:hover{background:var(--surface-low)}.folder-tree-item.active{background:var(--primary-soft);border-color:var(--primary-dim);color:var(--primary)}.folder-tree-item>.material-symbols-outlined{font-size:19px}.folder-tree-item span>small{color:var(--muted);display:block;font-size:9px;margin-top:2px}.document-list-panel{min-width:0;padding:12px}.document-filters{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(300px,1.7fr) minmax(130px,.65fr) minmax(130px,.65fr) 78px auto;margin-bottom:11px}.document-filters .search-field{align-items:center;display:flex;position:relative}.document-filters .search-field>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;position:absolute}.document-filters .search-field input{padding-left:37px}.document-filters input,.document-filters select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;min-width:0;padding:0 10px;width:100%}.document-library-page th[data-sort]{cursor:pointer}.document-library-page td small{color:var(--muted);display:block;font-size:10px;margin-top:3px}.table-actions{align-items:center;display:flex;gap:5px;justify-content:flex-end;white-space:nowrap}.document-editor-modal{width:min(840px,96vw)}.document-editor-modal label small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.audience-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.audience-grid>label{grid-column:1/-1}.audience-grid>div{display:grid;gap:5px}.audience-grid select{min-height:110px}.document-summary{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr))}.document-summary article{background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.document-summary small,.document-summary strong{display:block}.document-summary small{color:var(--muted);font-size:10px;margin-bottom:4px;text-transform:uppercase}.detail-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.version-list{display:grid;gap:8px}.version-list article{align-items:center;border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:11px}.version-list small{color:var(--muted);display:block;margin-top:3px}.company-document-grid{display:grid;gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}.company-document-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr);padding:14px}.company-document-card:hover{border-color:var(--primary-dim);box-shadow:0 2px 8px rgba(15,23,42,.06)}.document-type-icon{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;height:40px;justify-content:center;width:40px}.company-document-card h2{font-size:15px;margin:3px 0 6px}.company-document-card p{color:var(--muted);display:-webkit-box;font-size:12px;margin:0 0 7px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.company-document-card small{color:var(--muted);font-size:10px}.company-doc-card-footer{align-items:center;border-top:1px solid var(--line);display:flex;grid-column:1/-1;justify-content:space-between;padding-top:10px}.employee-document-filters{grid-template-columns:minmax(280px,1.7fr) minmax(150px,.7fr) minmax(190px,.8fr) auto}.acknowledgment-panel{border-left:4px solid var(--primary)}
@media(max-width:1100px){.document-library-layout{grid-template-columns:220px minmax(0,1fr)}.document-filters{grid-template-columns:1fr 1fr}.document-filters .search-field{grid-column:1/-1}.company-document-grid{grid-template-columns:1fr}.document-summary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.document-kpis,.employee-document-kpis{grid-template-columns:1fr 1fr}.document-library-layout{grid-template-columns:1fr}.document-folder-panel{max-height:none;position:static}.document-filters,.employee-document-filters{grid-template-columns:1fr}.document-filters .search-field{grid-column:auto}.audience-grid,.document-summary{grid-template-columns:1fr}.audience-grid>label{grid-column:auto}.version-list article{align-items:flex-start;flex-direction:column}.table-actions{justify-content:flex-start}}
@media(max-width:480px){.document-kpis,.employee-document-kpis{grid-template-columns:1fr}}
.folder-row-actions{display:flex}.folder-row-actions .icon-button{height:28px;width:28px}.folder-row-actions .material-symbols-outlined{font-size:15px}

/* Training & Links */
.training-kpis,.my-training-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.training-workspace,.my-training-workspace{padding:13px}.training-filters,.my-training-filters{align-items:center;display:grid;gap:8px;margin-bottom:11px}.training-filters{grid-template-columns:minmax(300px,1.7fr) minmax(150px,.75fr) minmax(140px,.7fr) 78px auto}.my-training-filters{grid-template-columns:minmax(300px,1fr) 190px auto}.training-filters .search-field,.my-training-filters .search-field{align-items:center;display:flex;position:relative}.training-filters .search-field>.material-symbols-outlined,.my-training-filters .search-field>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;position:absolute}.training-filters .search-field input,.my-training-filters .search-field input{padding-left:38px}.training-filters input,.training-filters select,.my-training-filters input,.my-training-filters select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;min-width:0;padding:0 10px;width:100%}.training-page th[data-sort]{cursor:pointer}.training-page td small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.training-mode{align-items:center;display:flex;gap:5px;text-transform:capitalize}.training-mode .material-symbols-outlined{color:var(--primary);font-size:18px}.training-editor-modal{width:min(850px,96vw)}.training-editor-modal label small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.training-editor-modal select[multiple]{min-height:110px;padding:8px}.training-detail-summary{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.training-detail-summary article{background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.training-detail-summary small,.training-detail-summary strong{display:block}.training-detail-summary small{color:var(--muted);font-size:10px;margin-bottom:5px;text-transform:uppercase}.training-detail-list{display:grid;gap:0;grid-template-columns:1fr 1fr;margin:12px 0}.training-detail-list>div{border-bottom:1px solid var(--line);display:grid;grid-template-columns:135px 1fr;padding:9px 0}.training-detail-list dt{color:var(--muted);font-size:11px}.training-detail-list dd{font-size:12px;font-weight:650;margin:0}.my-training-grid{display:grid;gap:10px}.my-training-card{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:14px;grid-template-columns:64px minmax(0,1fr) auto;padding:14px}.my-training-card:hover{border-color:var(--primary-dim);box-shadow:0 2px 8px rgba(15,23,42,.05)}.my-training-date{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;flex-direction:column;height:58px;justify-content:center}.my-training-date strong{font-size:22px;line-height:1}.my-training-date span{font-size:10px;font-weight:800;margin-top:4px;text-transform:uppercase}.my-training-card h2{font-size:15px;margin:4px 0}.my-training-card p{color:var(--muted);font-size:11px;margin:0}.my-training-meta{display:flex;flex-wrap:wrap;gap:13px;margin-top:8px}.my-training-meta>span{align-items:center;color:var(--muted);display:flex;font-size:10px;gap:4px}.my-training-meta .material-symbols-outlined{font-size:16px}.my-training-card-action{align-items:flex-end;display:flex;flex-direction:column;gap:10px}
.training-editor-modal .form-grid label.profile-preference-switch{align-items:flex-start;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:11px;padding:12px 14px}.training-editor-modal .form-grid label.profile-preference-switch>input[type=checkbox]{flex:0 0 18px;height:18px;margin:1px 0 0;min-height:18px;padding:0;width:18px}.training-editor-modal .form-grid label.profile-preference-switch>span{display:grid;gap:2px;min-width:0}.training-editor-modal .form-grid label.profile-preference-switch strong{color:var(--text);font-size:11px}.training-editor-modal .form-grid label.profile-preference-switch small{font-weight:400;margin:0}
@media(max-width:900px){.training-kpis,.my-training-kpis{grid-template-columns:1fr 1fr}.training-filters{grid-template-columns:1fr 1fr}.training-filters .search-field{grid-column:1/-1}.my-training-card{grid-template-columns:56px minmax(0,1fr)}.my-training-card-action{align-items:center;flex-direction:row;grid-column:1/-1;justify-content:flex-end}.training-detail-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.training-kpis,.my-training-kpis,.training-filters,.my-training-filters,.training-detail-summary,.training-detail-list{grid-template-columns:1fr}.training-filters .search-field{grid-column:auto}.my-training-card{align-items:start;grid-template-columns:50px minmax(0,1fr);padding:11px}.my-training-date{height:50px}.my-training-card-action{align-items:stretch;flex-direction:column}.my-training-card-action .button{width:100%}.training-detail-list>div{grid-template-columns:1fr;gap:3px}}

/* Logistics Management */
.logistics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.logistics-page .workspace-card{padding:12px}.heading-actions{align-items:center;display:flex;gap:8px}.module-tabs{border-bottom:1px solid var(--line);display:flex;gap:5px;margin:-2px -2px 12px;overflow-x:auto}.module-tabs button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--text-soft);cursor:pointer;display:flex;font:inherit;font-size:12px;font-weight:700;gap:6px;padding:11px 13px;white-space:nowrap}.module-tabs button.active{border-color:var(--primary);color:var(--primary)}.module-tabs .material-symbols-outlined{font-size:18px}.logistics-toolbar{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(320px,1.7fr) minmax(150px,.7fr) 145px 145px 76px auto;margin-bottom:11px}.logistics-toolbar .search-field{align-items:center;display:flex;position:relative}.logistics-toolbar .search-field>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;position:absolute}.logistics-toolbar .search-field input{padding-left:38px}.logistics-toolbar input,.logistics-toolbar select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;min-width:0;padding:0 10px;width:100%}.logistics-panel{display:none}.logistics-panel.active{display:block}.logistics-page td small{color:var(--muted);display:block;font-size:10px;margin-top:3px}.logistics-page th[data-sort]{cursor:pointer}.report-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px}.report-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;display:grid;gap:5px;padding:18px;text-align:left}.report-card:hover{border-color:var(--primary-dim);box-shadow:0 3px 12px rgba(15,23,42,.06)}.report-card>.material-symbols-outlined{color:var(--primary);font-size:28px}.report-card strong{font-size:14px}.report-card small{color:var(--muted);line-height:1.5}.logistics-calendar>header{align-items:center;display:flex;justify-content:center;gap:16px;padding:8px 0 14px}.logistics-calendar h3{margin:0;min-width:190px;text-align:center}.calendar-agenda{display:grid;gap:8px}.calendar-event{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);cursor:pointer;display:grid;gap:12px;grid-template-columns:100px minmax(0,1fr) auto;padding:12px;text-align:left}.calendar-event:hover{border-color:var(--primary-dim)}.calendar-event time{color:var(--primary);font-size:12px;font-weight:800}.calendar-event time small,.calendar-event span small{color:var(--muted);display:block;font-size:10px;margin-top:3px}.document-row{align-items:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);display:grid;gap:10px;grid-template-columns:30px minmax(0,1fr) 24px;margin-top:7px;padding:10px;text-decoration:none}.document-row:hover{background:var(--surface-low);border-color:var(--primary-dim)}.document-row>span:first-child{color:var(--primary)}.document-row small{color:var(--muted);display:block}.timeline-list{display:grid}.timeline-list>div{display:grid;gap:10px;grid-template-columns:14px 1fr;position:relative}.timeline-list>div:before{background:var(--line);content:"";height:100%;left:5px;position:absolute;top:6px;width:1px}.timeline-list>div>span{background:var(--primary);border:3px solid var(--primary-soft);border-radius:50%;height:11px;margin-top:4px;position:relative;width:11px;z-index:1}.timeline-list p{display:grid;margin:0;padding:0 0 12px}.timeline-list small,.timeline-list em{color:var(--muted);font-size:10px;margin-top:2px}.swal-check{align-items:center;display:flex;gap:8px;justify-content:center;margin:8px}.vehicle-vendor,.employee-driver,.external-driver{display:none}
@media(max-width:1100px){.logistics-toolbar{grid-template-columns:1fr 1fr 1fr}.logistics-toolbar .search-field{grid-column:1/-1}.report-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.logistics-kpis{grid-template-columns:1fr 1fr}.logistics-toolbar,.report-grid{grid-template-columns:1fr}.logistics-toolbar .search-field{grid-column:auto}.heading-actions{align-items:stretch;flex-direction:column}.calendar-event{grid-template-columns:80px minmax(0,1fr)}.calendar-event>.status-badge{grid-column:2}}
@media(max-width:480px){.logistics-kpis{grid-template-columns:1fr}}

/* Logistics layout and sticky modal shell */
.logistics-heading-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.logistics-heading-actions .button{min-width:96px}.logistics-heading-actions #newLogisticsRecord{min-width:146px}.logistics-page>.page-head{align-items:flex-start}.logistics-page>.page-head h1{margin-bottom:5px}.logistics-page>.page-head .muted{margin-bottom:0}.logistics-kpis .kpi-card>span:not(.status-badge){margin:0}.logistics-kpis .kpi-icon{margin-bottom:9px}.logistics-kpis .kpi-icon>.material-symbols-outlined{color:inherit;display:block;font-size:21px;line-height:1}.logistics-kpis .kpi-card>strong{margin-top:5px}
#vehicleModal .modal-card,#bookingModal .modal-card,#maintenanceModal .modal-card,#logisticsDetailModal .modal-card,#myBookingModal .modal-card,#myBookingDetailModal .modal-card{display:flex;flex-direction:column;height:min(820px,calc(100vh - 36px));max-height:calc(100vh - 36px);overflow:hidden;padding:0;width:min(820px,calc(100vw - 36px))}
#vehicleModal .modal-card>header,#bookingModal .modal-card>header,#maintenanceModal .modal-card>header,#logisticsDetailModal .modal-card>header,#myBookingModal .modal-card>header,#myBookingDetailModal .modal-card>header{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;flex:0 0 auto;justify-content:space-between;padding:13px 16px;position:relative;z-index:3}
#vehicleModal .modal-card>header>div,#bookingModal .modal-card>header>div,#maintenanceModal .modal-card>header>div,#logisticsDetailModal .modal-card>header>div,#myBookingModal .modal-card>header>div,#myBookingDetailModal .modal-card>header>div{align-items:center;display:flex;gap:10px;min-width:0}
#vehicleModal .modal-card>header>div>.material-symbols-outlined,#bookingModal .modal-card>header>div>.material-symbols-outlined,#maintenanceModal .modal-card>header>div>.material-symbols-outlined,#logisticsDetailModal .modal-card>header>div>.material-symbols-outlined,#myBookingModal .modal-card>header>div>.material-symbols-outlined,#myBookingDetailModal .modal-card>header>div>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);display:flex;flex:0 0 34px;font-size:19px;height:34px;justify-content:center;width:34px}
#vehicleModal .modal-card>header h2,#bookingModal .modal-card>header h2,#maintenanceModal .modal-card>header h2,#logisticsDetailModal .modal-card>header h2,#myBookingModal .modal-card>header h2,#myBookingDetailModal .modal-card>header h2{font-size:17px;line-height:1.25;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#vehicleModal .modal-card>form,#bookingModal .modal-card>form,#maintenanceModal .modal-card>form,#myBookingModal .modal-card>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
#vehicleModal .modal-scroll,#bookingModal .modal-scroll,#maintenanceModal .modal-scroll,#logisticsDetailModal .modal-scroll,#myBookingModal .modal-scroll,#myBookingDetailModal .modal-scroll{display:grid;flex:1 1 auto;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:15px 16px;scrollbar-gutter:stable}
#vehicleModal footer,#bookingModal footer,#maintenanceModal footer,#logisticsDetailModal footer,#myBookingModal footer,#myBookingDetailModal footer{align-items:center;background:var(--surface-low);border-top:1px solid var(--line);display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end;margin:0;padding:12px 16px;position:relative;z-index:3}
#vehicleModal footer .button,#bookingModal footer .button,#maintenanceModal footer .button,#logisticsDetailModal footer .button,#myBookingModal footer .button,#myBookingDetailModal footer .button{min-width:96px}.logistics-page .form-section-card{padding:13px}.logistics-page .form-section-card+.form-section-card{margin-top:0}
@media(max-width:760px){.logistics-page>.page-head{gap:12px}.logistics-heading-actions{justify-content:flex-start;width:100%}.logistics-heading-actions .button{flex:1 1 auto}.logistics-heading-actions #newLogisticsRecord{flex-basis:100%}#vehicleModal .modal-card,#bookingModal .modal-card,#maintenanceModal .modal-card,#logisticsDetailModal .modal-card,#myBookingModal .modal-card,#myBookingDetailModal .modal-card{height:calc(100vh - 16px);max-height:calc(100vh - 16px);width:calc(100vw - 16px)}#vehicleModal .modal-scroll,#bookingModal .modal-scroll,#maintenanceModal .modal-scroll,#logisticsDetailModal .modal-scroll,#myBookingModal .modal-scroll,#myBookingDetailModal .modal-scroll{padding:12px}#vehicleModal footer,#bookingModal footer,#maintenanceModal footer,#logisticsDetailModal footer,#myBookingModal footer,#myBookingDetailModal footer{padding:10px 12px}}

/* Employee vehicle booking toolbar */
.my-booking-toolbar {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(300px, 1fr) minmax(170px, 220px) 88px auto;
    margin-bottom: 12px;
}
.my-booking-toolbar .search-field {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: flex;
    gap: 8px;
    height: 40px;
    min-width: 0;
    padding: 0 10px;
    position: relative;
}
.my-booking-toolbar .search-field:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
}
.my-booking-toolbar .search-field > .material-symbols-outlined {
    color: var(--muted);
    flex: 0 0 auto;
    font-size: 20px;
    pointer-events: none;
    position: static;
}
.my-booking-toolbar .search-field > input {
    background: transparent;
    border: 0;
    color: var(--text);
    flex: 1 1 auto;
    font: inherit;
    font-size: 13px;
    height: 100%;
    min-height: 0;
    min-width: 0;
    outline: 0;
    padding: 0;
    width: 100%;
}
.my-booking-toolbar select {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--text);
    font: inherit;
    font-size: 13px;
    height: 40px;
    min-height: 40px;
    padding: 0 10px;
    width: 100%;
}
.my-booking-toolbar select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
    outline: 0;
}
.my-booking-toolbar .button {
    border-radius: var(--radius-sm);
    height: 40px;
    min-height: 40px;
    padding-inline: 14px;
}
@media (max-width: 820px) {
    .my-booking-toolbar {
        grid-template-columns: minmax(220px, 1fr) minmax(150px, 210px);
    }
    .my-booking-toolbar .search-field {
        grid-column: 1 / -1;
    }
}
@media (max-width: 560px) {
    .my-booking-toolbar {
        grid-template-columns: 1fr;
    }
    .my-booking-toolbar .search-field {
        grid-column: auto;
    }
}
@media(max-width:520px){#myBookingModal footer{display:grid;grid-template-columns:1fr 1fr}#myBookingModal footer .button{width:100%}#myBookingModal footer .button:last-child{grid-column:1/-1}}

/* Shared sticky modal shell for recently added HR modules. */
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal,#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .modal-card{
    display:flex;
    flex-direction:column;
    max-height:calc(100vh - 36px);
    overflow:hidden;
    padding:0;
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal,#employeeDeductionsModal,#runDetailModal) .modal-card{
    height:min(820px,calc(100vh - 36px));
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-card>header{
    align-items:center;
    background:var(--panel);
    border-bottom:1px solid var(--line);
    display:flex;
    flex:0 0 auto;
    justify-content:space-between;
    padding:13px 16px;
    position:relative;
    z-index:3;
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-card>header>div{
    align-items:center;
    display:flex;
    gap:10px;
    min-width:0;
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-card>header>div>.material-symbols-outlined{
    align-items:center;
    background:var(--primary-soft);
    border-radius:var(--radius-sm);
    color:var(--primary);
    display:flex;
    flex:0 0 34px;
    font-size:19px;
    height:34px;
    justify-content:center;
    width:34px;
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-card>header h2{
    font-size:17px;
    line-height:1.25;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
:is(#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .modal-title-row{
    background:var(--panel);
    flex:0 0 auto;
    margin:0;
    padding:13px 16px;
    position:relative;
    z-index:3;
}
:is(#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .modal-title-row>div>.material-symbols-outlined{
    align-items:center;
    background:var(--primary-soft);
    border-radius:var(--radius-sm);
    display:flex;
    flex:0 0 34px;
    font-size:19px;
    height:34px;
    justify-content:center;
    width:34px;
}
:is(#trainingModal,#folderModal,#documentModal,#publishModal) .modal-card>form{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    min-height:0;
    overflow:hidden;
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-scroll,
:is(#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .payroll-modal-body{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:15px 16px;
    scrollbar-gutter:stable;
}
:is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-card>footer,
:is(#trainingModal,#folderModal,#documentModal,#publishModal) .modal-card>form>footer,
:is(#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .modal-actions{
    align-items:center;
    background:var(--surface-low);
    border-top:1px solid var(--line);
    display:flex;
    flex:0 0 auto;
    gap:8px;
    justify-content:flex-end;
    margin:0;
    padding:12px 16px;
    position:relative;
    z-index:3;
}
@media(max-width:760px){
    :is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal,#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .modal-card{
        max-height:calc(100vh - 16px);
        width:calc(100vw - 16px);
    }
    :is(#trainingModal,#trainingDetailModal,#myTrainingModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal,#employeeDeductionsModal,#runDetailModal) .modal-card{
        height:calc(100vh - 16px);
    }
}
@media(max-width:520px){
    :is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal) .modal-card>footer,
    :is(#trainingModal,#folderModal,#documentModal,#publishModal) .modal-card>form>footer,
    :is(#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) .modal-actions{
        align-items:stretch;
        flex-direction:column-reverse;
    }
    :is(#trainingModal,#trainingDetailModal,#myTrainingModal,#folderModal,#documentModal,#publishModal,#detailModal,#companyDocumentModal,#salaryModal,#employeeDeductionsModal,#deductionTypeModal,#runModal,#runDetailModal,#settingsModal) :is(footer,.modal-actions) .button{
        justify-content:center;
        width:100%;
    }
}

/* Documents Library hierarchy: parents precede and visually contain their children. */
.document-folder-panel .folder-tree-row{
    min-width:0;
    padding-left:calc((var(--depth) - 1) * 24px);
    position:relative;
}
.document-folder-panel .folder-tree-row.is-child::before{
    border-bottom:1px solid var(--primary-dim);
    border-left:1px solid var(--primary-dim);
    border-radius:0 0 0 5px;
    content:"";
    height:23px;
    left:calc((var(--depth) - 1) * 24px - 15px);
    position:absolute;
    top:-1px;
    width:13px;
}
.document-folder-panel .folder-tree-item{
    min-height:46px;
    min-width:0;
}
.document-folder-panel .folder-tree-row.is-parent .folder-tree-item{
    font-weight:700;
}
.document-folder-panel .folder-tree-row.is-parent .folder-tree-item>.material-symbols-outlined{
    color:var(--primary);
}
.document-folder-panel .folder-tree-branch{
    display:none;
}
.document-folder-panel .folder-tree-copy{
    min-width:0;
}
.document-folder-panel .folder-tree-copy strong{
    display:block;
    font-size:12px;
    line-height:1.25;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.document-folder-panel .folder-tree-copy small{
    line-height:1.35;
}
.document-folder-panel .folder-row-actions{
    align-items:center;
    display:flex;
    gap:2px;
}
.document-folder-panel .folder-row-actions .icon-button{
    height:30px;
    width:30px;
}

/* Human Resources Asset Management */
.staff-assets-heading-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.kpi-grid.compact.staff-assets-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.my-assets-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-assets-workspace{padding:12px}.staff-assets-toolbar{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(320px,1fr) minmax(180px,.35fr) 80px auto;margin-bottom:11px}.staff-assets-toolbar .search-field{align-items:center;display:flex;position:relative}.staff-assets-toolbar .search-field>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;position:absolute}.staff-assets-toolbar .search-field input{padding-left:38px}.staff-assets-toolbar input,.staff-assets-toolbar select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;min-width:0;padding:0 10px;width:100%}.staff-assets-page td small{color:var(--muted);display:block;font-size:10px;margin-top:3px}.asset-request-lines{display:grid;gap:9px}.asset-request-line{align-items:end;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;grid-template-columns:minmax(170px,1.1fr) minmax(150px,.8fr) 130px 86px minmax(190px,1fr) 34px;padding:10px}.asset-request-line label{min-width:0}.asset-request-line select,.asset-request-line input{width:100%}.asset-line-reason{min-width:0}.swal-asset-lines{display:grid;gap:10px;text-align:left}.swal-asset-line{align-items:end;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;grid-template-columns:minmax(150px,1fr) 110px minmax(150px,.8fr) minmax(170px,1fr);padding:10px}.swal-asset-line strong{align-self:center}.swal-asset-line label,.swal-issue-line{display:grid;font-size:11px;font-weight:650;gap:5px}.swal-asset-line input,.swal-asset-line select,.swal-asset-lines input,.swal-asset-lines select,.swal-asset-lines textarea{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;min-height:38px;padding:7px 9px;width:100%}.swal-issue-line{align-items:center;grid-template-columns:minmax(180px,1fr) 100px}.swal-issue-line span small{color:var(--muted);display:block}.staff-assets-page .document-list article p{color:var(--muted);font-size:11px;margin:4px 0 0}.staff-assets-page .report-grid{margin-top:8px}
.staff-asset-modal{display:flex;flex-direction:column;height:min(820px,calc(100vh - 36px));max-height:calc(100vh - 36px);overflow:hidden;padding:0;width:min(880px,calc(100vw - 36px))}.staff-asset-modal>header{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;flex:0 0 auto;justify-content:space-between;padding:13px 16px;position:relative;z-index:3}.staff-asset-modal>header>div{align-items:center;display:flex;gap:10px;min-width:0}.staff-asset-modal>header>div>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);display:flex;flex:0 0 34px;font-size:19px;height:34px;justify-content:center;width:34px}.staff-asset-modal>header h2{font-size:17px;line-height:1.25;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-asset-modal>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.staff-asset-modal .modal-scroll{display:grid;flex:1 1 auto;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:15px 16px;scrollbar-gutter:stable}.staff-asset-modal>footer,.staff-asset-modal>form>footer{align-items:center;background:var(--surface-low);border-top:1px solid var(--line);display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end;margin:0;padding:12px 16px;position:relative;z-index:3}
@media(max-width:1120px){.kpi-grid.compact.staff-assets-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-request-line{grid-template-columns:1fr 1fr 1fr}.asset-line-reason{grid-column:1/3}}
@media(max-width:760px){.kpi-grid.compact.staff-assets-kpis,.my-assets-kpis{grid-template-columns:1fr 1fr}.staff-assets-toolbar{grid-template-columns:1fr 1fr}.staff-assets-toolbar .search-field{grid-column:1/-1}.staff-assets-heading-actions{justify-content:flex-start;width:100%}.asset-request-line,.swal-asset-line{grid-template-columns:1fr}.asset-line-reason{grid-column:auto}.staff-asset-modal{height:calc(100vh - 16px);max-height:calc(100vh - 16px);width:calc(100vw - 16px)}}
@media(max-width:520px){.kpi-grid.compact.staff-assets-kpis,.my-assets-kpis,.staff-assets-toolbar{grid-template-columns:1fr}.staff-asset-modal>footer,.staff-asset-modal>form>footer{align-items:stretch;flex-direction:column-reverse}.staff-asset-modal footer .button{justify-content:center;width:100%}}

/* Employee asset request modal */
:is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal{height:auto;max-height:calc(100vh - 36px);width:min(920px,calc(100vw - 36px))}
:is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>header{padding:15px 18px}
:is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>header>div>div{min-width:0}
:is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>header h2{white-space:normal}
:is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>header p{color:var(--muted);font-size:10px;line-height:1.4;margin:3px 0 0}
:is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>form{flex:0 1 auto;max-height:calc(100vh - 104px)}
:is(#assetRequestModal,#myAssetRequestModal) .modal-scroll{gap:16px;padding:18px}
.asset-request-employee,.asset-request-note{color:var(--text);display:grid;font-size:11px;font-weight:700;gap:7px}
.asset-request-employee{max-width:520px}
.asset-request-employee select,.asset-request-note textarea,.asset-request-line input,.asset-request-line select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;min-height:40px;outline:0;padding:0 11px;width:100%}
.asset-request-employee select:focus,.asset-request-note textarea:focus,.asset-request-line input:focus,.asset-request-line select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,93,59,.1)}
.asset-request-employee>small{color:var(--muted);font-size:10px;font-weight:400}
.asset-request-items{background:var(--surface-low);padding:0}
.asset-request-items>.form-section-card-head{background:var(--panel);border-radius:var(--radius) var(--radius) 0 0;margin:0;padding:12px 14px}
.asset-request-items>.form-section-card-head>div{flex:1;min-width:0}
.asset-request-items>.form-section-card-head .button{flex:0 0 auto}
.asset-request-lines{counter-reset:asset-request-item;gap:10px;padding:12px}
.asset-request-line{align-items:stretch;background:var(--panel);border-color:var(--line-soft);box-shadow:0 1px 2px rgba(15,23,42,.03);counter-increment:asset-request-item;display:block;padding:0;overflow:hidden}
.asset-request-line-head{align-items:center;background:#fbfcfc;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;padding:8px 10px 8px 12px}
.asset-request-line-head strong{align-items:center;color:var(--text);display:flex;font-size:11px;gap:6px}
.asset-request-line-head strong::after{content:" " counter(asset-request-item);color:var(--muted)}
.asset-request-line-head strong>.material-symbols-outlined{color:var(--primary);font-size:17px}
.asset-request-line-head .icon-button{height:30px;width:30px}
.asset-request-line-fields{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(210px,1.35fr) minmax(165px,1fr) minmax(135px,.75fr) 90px;padding:12px}
.asset-request-line-fields label{color:var(--muted);display:grid;font-size:10px;font-weight:700;gap:6px;min-width:0}
.asset-request-line-fields .asset-line-reason{grid-column:1/-1}
.asset-request-note textarea{font-family:inherit;line-height:1.5;min-height:82px;padding:10px 11px;resize:vertical}
.asset-request-note .field-caption small{color:var(--muted);font-size:9px;font-weight:500}
:is(#assetRequestModal,#myAssetRequestModal) footer .button{min-width:120px}

@media(max-width:760px){
 :is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal{height:calc(100vh - 16px);max-height:calc(100vh - 16px);width:calc(100vw - 16px)}
 :is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>form{flex:1 1 auto;max-height:none}
 :is(#assetRequestModal,#myAssetRequestModal) .modal-scroll{padding:14px}
 .asset-request-employee{max-width:none}
 .asset-request-line-fields{grid-template-columns:1fr 1fr}
 .asset-request-line-fields .asset-line-reason{grid-column:1/-1}
}
@media(max-width:520px){
 :is(#assetRequestModal,#myAssetRequestModal) .asset-request-modal>header p{display:none}
 .asset-request-items>.form-section-card-head{align-items:flex-start;flex-wrap:wrap}
 .asset-request-items>.form-section-card-head .button{justify-content:center;width:100%}
 .asset-request-line-fields{grid-template-columns:1fr}
 .asset-request-line-fields .asset-line-reason{grid-column:auto}
}

/* Exit Management workspace */
.exit-workspace{padding:12px}
.exit-workspace .module-tabs{margin:-2px -2px 12px;padding:0 2px}
.exit-workspace .module-tabs button{min-height:42px;padding:10px 12px}
.exit-toolbar{gap:8px;grid-template-columns:minmax(280px,1.5fr) minmax(170px,.7fr) minmax(170px,.7fr) 92px auto;margin-bottom:12px;padding:0}
.exit-toolbar .search-field{align-items:center;display:flex;min-width:0;position:relative}
.exit-toolbar .search-field>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;pointer-events:none;position:absolute}
.exit-toolbar .search-field input{padding-left:38px}
.exit-toolbar input,.exit-toolbar select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;min-width:0;outline:0;padding:0 10px;width:100%}
.exit-toolbar input:focus,.exit-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,93,59,.1)}
.exit-toolbar .button{height:40px;min-height:40px}
.exit-management-page #exitTableWrap{border:1px solid var(--line-soft);border-radius:var(--radius);overflow:auto}
.exit-management-page #exitTableWrap table{min-width:860px}
.exit-management-page #exitTableWrap thead th{background:var(--surface-low);border-bottom:1px solid var(--line);height:42px}
.exit-management-page .empty-state{min-height:190px;padding:38px 20px}
.exit-management-page .empty-state>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);display:inline-flex;font-size:22px;height:42px;justify-content:center;width:42px}
.exit-management-page .empty-state h3{color:var(--text);font-size:14px;margin:10px 0 4px}
.exit-management-page .empty-state p{font-size:11px;margin:0}
.exit-management-page #exitPaginationRow{border-top:1px solid var(--line-soft);margin-top:10px;padding:11px 2px 0}
.exit-management-page #exitPaginationText{color:var(--muted);font-size:11px}
.exit-management-page #exitPagination{align-items:center;display:flex;gap:6px}
.exit-management-page #exitPagination .button{min-height:34px}
.exit-management-page #exitPagination .pagination-current{height:34px;min-width:38px}

@media(max-width:1200px){
 .exit-toolbar{grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,.8fr)) 86px auto}
 .exit-toolbar select:nth-of-type(3),.exit-toolbar .button{grid-row:auto}
}
@media(max-width:900px){
 .exit-toolbar{grid-template-columns:1fr 1fr}
 .exit-toolbar .search-field{grid-column:1/-1}
 .exit-toolbar .button{justify-self:end}
}
@media(max-width:620px){
 .exit-workspace{padding:10px}
 .exit-toolbar{grid-template-columns:1fr}
 .exit-toolbar .search-field{grid-column:auto}
 .exit-toolbar .button{justify-self:stretch}
 .exit-management-page #exitPaginationRow{align-items:stretch;flex-direction:column}
 .exit-management-page #exitPagination{justify-content:space-between}
}

/* Asset category modal */
#assetCategoryModal .asset-category-modal{height:auto;max-height:calc(100vh - 32px);width:min(620px,calc(100vw - 32px))}
#assetCategoryModal .asset-category-modal>header{padding:15px 18px}
#assetCategoryModal .asset-category-modal>header>div>div{min-width:0}
#assetCategoryModal .asset-category-modal>header h2{white-space:normal}
#assetCategoryModal .asset-category-modal>header p{color:var(--muted);font-size:10px;line-height:1.4;margin:3px 0 0}
#assetCategoryModal .asset-category-modal>form{flex:0 1 auto;max-height:calc(100vh - 102px)}
#assetCategoryModal .asset-category-modal .modal-scroll{display:block;padding:18px}
#assetCategoryModal .asset-category-form-grid{gap:14px}
#assetCategoryModal .asset-category-form-grid label{color:var(--text);font-weight:700;gap:7px}
#assetCategoryModal .asset-category-form-grid input,#assetCategoryModal .asset-category-form-grid select{border-radius:var(--radius);min-height:42px}
#assetCategoryModal .asset-category-form-grid textarea{border-radius:var(--radius);min-height:96px;padding:11px 12px}
#assetCategoryModal .asset-category-form-grid input:focus,#assetCategoryModal .asset-category-form-grid select:focus,#assetCategoryModal .asset-category-form-grid textarea:focus{box-shadow:0 0 0 3px rgba(11,93,59,.1)}
#assetCategoryModal .asset-category-status small{color:var(--muted);font-size:9px;font-weight:400;line-height:1.45}
#assetCategoryModal .asset-category-modal footer .button{min-width:120px}

@media(max-width:620px){
 #assetCategoryModal .asset-category-modal{max-height:calc(100vh - 16px);width:calc(100vw - 16px)}
 #assetCategoryModal .asset-category-form-grid{grid-template-columns:1fr}
 #assetCategoryModal .asset-category-form-grid .full{grid-column:auto}
 #assetCategoryModal .asset-category-modal .modal-scroll{padding:14px}
}

/* Shared checkbox cards */
.form-grid label.profile-preference-switch,.form-grid label.toggle-field{align-items:flex-start;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;display:flex;gap:11px;min-width:0;padding:12px 14px}
.form-grid label.profile-preference-switch:hover,.form-grid label.toggle-field:hover{background:var(--panel);border-color:var(--primary-dim)}
.form-grid label.profile-preference-switch>input[type=checkbox],.form-grid label.toggle-field>input[type=checkbox]{accent-color:var(--primary);flex:0 0 18px;height:18px;margin:1px 0 0;min-height:18px;padding:0;width:18px}
.form-grid label.profile-preference-switch>span,.form-grid label.toggle-field>span{display:grid;gap:3px;min-width:0}
.form-grid label.profile-preference-switch strong,.form-grid label.toggle-field strong{color:var(--text);font-size:11px;line-height:1.35}
.form-grid label.profile-preference-switch small,.form-grid label.toggle-field small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.45;margin:0}

/* Leave calendar filters */
.leave-calendar-filters{align-items:end;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);gap:8px;padding:9px 10px}
.leave-calendar-filters label{color:var(--text);gap:6px;min-width:190px}
.leave-calendar-filters label>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase}
.leave-calendar-filters select{appearance:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;min-width:190px;outline:0;padding:0 10px;text-transform:none;width:100%}
.leave-calendar-filters select:hover{border-color:#aeb3c7}
.leave-calendar-filters select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,93,59,.1)}

@media(max-width:860px){
 .leave-calendar-filters{align-items:end;display:grid;grid-template-columns:1fr 1fr;width:100%}
 .leave-calendar-filters label{min-width:0}
 .leave-calendar-filters select{min-width:0}
}
@media(max-width:620px){
 .leave-calendar-filters{grid-template-columns:1fr;padding:10px}
}

/* Notifications */
.notifications-page>.page-head{align-items:flex-start}
.notifications-page>.page-head .muted{margin:5px 0 0}
.notifications-workspace{overflow:hidden;padding:0}
.notifications-toolbar{align-items:center;border-bottom:1px solid var(--line-soft);display:grid;gap:14px;grid-template-columns:auto auto minmax(220px,1fr);padding:14px 16px}
.notifications-summary{align-items:center;display:flex;gap:10px;min-width:185px}
.notifications-summary>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;font-size:22px;height:40px;justify-content:center;width:40px}
.notifications-summary strong,.notifications-summary small{display:block}
.notifications-summary strong{color:var(--text);font-size:12px}
.notifications-summary small{color:var(--muted);font-size:10px;margin-top:2px}
.notification-filters{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);display:inline-flex;gap:3px;padding:3px}
.notification-filters button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);display:inline-flex;font:inherit;font-size:11px;font-weight:700;gap:6px;min-height:32px;padding:0 10px}
.notification-filters button:hover{color:var(--text)}
.notification-filters button.active{background:var(--panel);box-shadow:0 1px 3px rgba(15,23,42,.08);color:var(--primary)}
.notification-filters button span{align-items:center;background:var(--surface-mid);border-radius:999px;display:inline-flex;font-size:9px;height:19px;justify-content:center;min-width:19px;padding:0 5px}
.notification-filters button.active span{background:var(--primary-soft)}
.notification-search{align-items:center;display:flex;justify-self:end;max-width:360px;position:relative;width:100%}
.notification-search>.material-symbols-outlined{color:var(--muted);font-size:20px;left:11px;pointer-events:none;position:absolute}
.notification-search input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:40px;outline:0;padding:0 12px 0 38px;width:100%}
.notification-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,93,59,.1)}
.notification-list{display:grid}
.notification-item{align-items:center;background:var(--panel);border-bottom:1px solid var(--line-soft);display:grid;gap:14px;grid-template-columns:42px minmax(0,1fr) 155px auto;padding:14px 16px;position:relative;transition:background .16s ease}
.notification-item:last-child{border-bottom:0}
.notification-item:hover{background:#fbfcfc}
.notification-item.unread{background:linear-gradient(90deg,rgba(221,245,232,.48),rgba(255,255,255,0) 28%)}
.notification-item.unread::before{background:var(--primary);border-radius:0 3px 3px 0;content:"";inset:10px auto 10px 0;position:absolute;width:3px}
.notification-type-icon{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);display:flex;height:40px;justify-content:center;width:40px}
.notification-type-icon>.material-symbols-outlined{font-size:20px}
.notification-type-icon.success{background:#dcf7e7;color:#087044}
.notification-type-icon.warning{background:#fff3d8;color:#8a5b00}
.notification-type-icon.danger{background:var(--danger-soft);color:var(--danger)}
.notification-copy{min-width:0}
.notification-meta{align-items:center;display:flex;gap:8px;margin-bottom:4px}
.notification-category{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.notification-category.success{color:#087044}.notification-category.warning{color:#8a5b00}.notification-category.danger{color:var(--danger)}
.notification-new{align-items:center;color:var(--primary);display:inline-flex;font-size:9px;font-weight:800;gap:4px;text-transform:uppercase}
.notification-new i{background:var(--primary);border-radius:50%;height:6px;width:6px}
.notification-copy h2{color:var(--text);font-size:13px;line-height:1.35;margin:0 0 3px}
.notification-copy p{color:var(--muted);font-size:11px;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-time{text-align:right}
.notification-time time,.notification-time small{display:block}
.notification-time time{color:var(--text);font-size:11px;font-weight:700}
.notification-time small{color:var(--muted);font-size:9px;margin-top:3px}
.notification-action{display:flex;justify-content:flex-end;min-width:102px}
.notification-action .button{min-width:102px}
.notification-read-state{align-items:center;color:var(--muted);display:inline-flex;font-size:10px;font-weight:700;gap:5px;padding:0 10px}
.notification-read-state>.material-symbols-outlined{color:var(--primary);font-size:17px}
.notification-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;min-height:300px;padding:48px 20px;text-align:center}
.notification-empty>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);display:flex;font-size:27px;height:52px;justify-content:center;width:52px}
.notification-empty h3{color:var(--text);font-size:14px;margin:12px 0 4px}
.notification-empty p{font-size:11px;margin:0}
.notifications-footer{align-items:center;background:var(--surface-low);border-top:1px solid var(--line-soft);color:var(--muted);display:flex;font-size:10px;justify-content:space-between;padding:10px 16px}
.notifications-footer small{font-size:9px}

@media(max-width:900px){
 .notifications-toolbar{grid-template-columns:1fr auto}
 .notification-search{grid-column:1/-1;justify-self:stretch;max-width:none}
 .notification-item{grid-template-columns:40px minmax(0,1fr) auto}
 .notification-time{grid-column:2;text-align:left}
 .notification-action{grid-column:3;grid-row:1/3}
}
@media(max-width:620px){
 .notifications-page>.page-head .actions,.notifications-page>.page-head>#markAllRead{width:100%}
 .notifications-page>.page-head>#markAllRead{justify-content:center}
 .notifications-toolbar{align-items:stretch;grid-template-columns:1fr;padding:12px}
 .notification-filters{display:grid;grid-template-columns:repeat(3,1fr)}
 .notification-filters button{justify-content:center;padding:0 6px}
 .notification-search{grid-column:auto}
 .notification-item{align-items:start;gap:10px;grid-template-columns:38px minmax(0,1fr);padding:13px 12px}
 .notification-type-icon{height:36px;width:36px}
 .notification-copy p{white-space:normal}
 .notification-time{grid-column:2}
 .notification-time small{display:none}
 .notification-action{grid-column:2;grid-row:auto;justify-content:flex-start;min-width:0}
 .notification-action .button{min-width:0}
 .notifications-footer{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 12px}
}

/* IT & Support */
.kpi-grid.compact.it-support-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.kpi-grid.compact.it-support-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.kpi-grid.compact.it-support-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.kpi-grid.compact.it-support-kpis{grid-template-columns:1fr}}
.it-support-toolbar{
    align-items:center;
    display:grid;
    gap:10px;
    grid-template-columns:minmax(320px,1fr) minmax(180px,220px) 90px auto;
    margin-bottom:12px;
}
.it-support-toolbar:has(#itPriority:not([hidden])){
    grid-template-columns:minmax(280px,1fr) minmax(170px,210px) minmax(140px,170px) 90px auto;
}
.it-support-toolbar .search-control{
    align-items:center;
    display:flex;
    min-width:0;
    position:relative;
}
.it-support-toolbar .search-control>.material-symbols-outlined{
    color:var(--muted);
    font-size:21px;
    left:12px;
    pointer-events:none;
    position:absolute;
    z-index:1;
}
.it-support-toolbar .search-control input{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    font:inherit;
    font-size:12px;
    height:42px;
    min-width:0;
    padding:0 12px 0 40px;
    width:100%;
}
.it-support-toolbar select{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    font:inherit;
    font-size:12px;
    height:42px;
    min-width:0;
    padding:0 11px;
    width:100%;
}
.it-support-toolbar .search-control input:focus,
.it-support-toolbar select:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(11,93,59,.1);
    outline:0;
}
.it-support-toolbar .button{
    height:42px;
    justify-content:center;
    white-space:nowrap;
}
@media(max-width:1000px){
    .it-support-toolbar{grid-template-columns:minmax(160px,1fr) 90px auto}
    .it-support-toolbar:has(#itPriority:not([hidden])){grid-template-columns:minmax(160px,1fr) minmax(140px,1fr) 90px auto}
    .it-support-toolbar .search-control{grid-column:1/-1}
}
@media(max-width:620px){
    .it-support-toolbar,
    .it-support-toolbar:has(#itPriority:not([hidden])){grid-template-columns:1fr}
    .it-support-toolbar .search-control{grid-column:auto}
    .it-support-toolbar .button{width:100%}
}

/* IT & Support modal standard */
[id^="it"][id$="Modal"].modal-backdrop .modal-card{
    display:flex;
    flex-direction:column;
    height:min(820px,calc(100vh - 36px));
    max-height:calc(100vh - 36px);
    max-width:none;
    overflow:hidden;
    padding:0;
    width:min(900px,calc(100vw - 36px));
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card:not(.wide-modal){
    height:auto;
    width:min(680px,calc(100vw - 36px));
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>header{
    align-items:center;
    background:var(--panel);
    border-bottom:1px solid var(--line);
    display:flex;
    flex:0 0 auto;
    justify-content:space-between;
    padding:14px 18px;
    position:relative;
    z-index:3;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>header>div{
    align-items:center;
    display:flex;
    gap:11px;
    min-width:0;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>header>div>.material-symbols-outlined{
    align-items:center;
    background:var(--primary-soft);
    border-radius:var(--radius-sm);
    color:var(--primary);
    display:flex;
    flex:0 0 38px;
    font-size:21px;
    height:38px;
    justify-content:center;
    width:38px;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>header h2{
    font-size:17px;
    line-height:1.25;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>header p{
    color:var(--muted);
    font-size:10px;
    line-height:1.4;
    margin:2px 0 0;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>header .icon-button{
    flex:0 0 auto;
    margin-left:14px;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:18px;
    scrollbar-gutter:stable;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-scroll>.form-grid{gap:14px}
[id^="it"][id$="Modal"].modal-backdrop .form-grid input,
[id^="it"][id$="Modal"].modal-backdrop .form-grid select{min-height:42px}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>footer{
    align-items:center;
    background:var(--surface-low);
    border-top:1px solid var(--line);
    display:flex;
    flex:0 0 auto;
    gap:8px;
    justify-content:flex-end;
    margin:0;
    padding:12px 18px;
    position:relative;
    z-index:3;
}
[id^="it"][id$="Modal"].modal-backdrop .modal-card>footer .button{min-width:104px}
#itSettingsModal .modal-card>footer{
    gap:10px;
    padding:14px 18px;
}
#itSettingsModal .modal-card>footer .button{
    height:40px;
    min-height:40px;
}
#itSettingsModal .modal-card>footer .button.secondary{min-width:96px}
#itSettingsModal .modal-card>footer .button.primary{min-width:128px}
@media(max-width:620px){
    [id^="it"][id$="Modal"].modal-backdrop .modal-card,
    [id^="it"][id$="Modal"].modal-backdrop .modal-card:not(.wide-modal){
        height:calc(100vh - 16px);
        max-height:calc(100vh - 16px);
        width:calc(100vw - 16px);
    }
    [id^="it"][id$="Modal"].modal-backdrop .modal-card>header{padding:12px 14px}
    [id^="it"][id$="Modal"].modal-backdrop .modal-card>header p{display:none}
    [id^="it"][id$="Modal"].modal-backdrop .modal-scroll{padding:14px}
    [id^="it"][id$="Modal"].modal-backdrop .modal-card>footer{padding:10px 14px}
    #itSettingsModal .modal-card>footer{
        display:grid;
        grid-template-columns:1fr 1fr;
        padding:12px 14px;
    }
    #itSettingsModal .modal-card>footer .button{
        justify-content:center;
        min-width:0;
        width:100%;
    }
}

/* Sales & Marketing CRM */
.crm-page>.page-head{align-items:flex-start}
.crm-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}
.crm-tabs button{align-items:center;display:inline-flex;gap:6px;white-space:nowrap}
.crm-tabs .material-symbols-outlined{font-size:17px}
.crm-dashboard{display:grid;gap:16px}
.crm-dashboard-filters{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(220px,1fr) auto;padding:12px 14px}.crm-dashboard-filter-heading{align-items:center;display:flex;gap:10px;min-width:0}.crm-dashboard-filter-heading>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:20px;height:38px;justify-content:center;width:38px}.crm-dashboard-filter-heading div{display:grid;gap:2px}.crm-dashboard-filter-heading strong{font-size:12px}.crm-dashboard-filter-heading small{color:var(--muted);font-size:9px}.crm-dashboard-filter-controls{align-items:end;display:flex;gap:9px}.crm-dashboard-filter-controls label{display:grid;font-size:9px;font-weight:700;gap:5px}.crm-dashboard-filter-controls input,.crm-dashboard-filter-controls select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:11px;height:42px;min-width:160px;padding:0 10px}.crm-dashboard-filter-controls select{min-width:190px}.crm-dashboard-filter-controls .button{height:42px;justify-content:center;white-space:nowrap}
.crm-dashboard .stats-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}
.crm-dashboard .stats-grid>.kpi-card{min-width:0}
.crm-dashboard-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}
.crm-dashboard-grid .panel{padding:16px}
.crm-stage-chart{display:grid;gap:12px;margin-top:16px}
.crm-chart-row{align-items:center;display:grid;font-size:10px;gap:10px;grid-template-columns:92px minmax(100px,1fr) 145px}
.crm-chart-row>span{font-weight:700}
.crm-chart-row>div{background:var(--surface-mid);border-radius:999px;height:10px;overflow:hidden}
.crm-chart-row i{background:linear-gradient(90deg,var(--primary),#35a574);border-radius:999px;display:block;height:100%}
.crm-chart-row strong{text-align:right}
.crm-trend-chart{align-items:end;display:flex;gap:12px;justify-content:center;min-height:190px;padding:22px 8px 0}
.crm-trend-bar{align-items:center;display:flex;flex:1;flex-direction:column;gap:5px;max-width:54px}
.crm-trend-bar strong{font-size:10px}.crm-trend-bar i{background:linear-gradient(180deg,#4db888,var(--primary));border-radius:6px 6px 2px 2px;display:block;min-height:8px;width:100%}.crm-trend-bar span{color:var(--muted);font-size:8px;white-space:nowrap}
.crm-toolbar{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(320px,1fr) minmax(180px,240px) 110px auto;margin-bottom:12px;padding:12px}
.crm-toolbar .search-control{align-items:center;display:flex;min-width:0;position:relative}
.crm-toolbar .search-control>.material-symbols-outlined{color:var(--muted);font-size:21px;left:12px;pointer-events:none;position:absolute;z-index:1}
.crm-toolbar .search-control input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:12px;height:42px;min-width:0;padding:0 12px 0 40px;width:100%}
.crm-toolbar .search-control input:focus,.crm-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,93,59,.1);outline:0}
.crm-toolbar select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:12px;height:42px;min-width:0;padding:0 11px;width:100%}
.crm-toolbar .button{height:42px;justify-content:center;white-space:nowrap}
.crm-table-panel td small,.crm-table-panel td strong{display:block}.crm-table-panel td small{color:var(--muted);font-size:9px;margin-top:3px}
.crm-overdue-row{background:#fff8f7}
.proposal-items-head{align-items:center;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;margin-top:18px;padding-top:15px}
.proposal-items-head h3{font-size:13px;margin:0}
.proposal-items{display:grid;gap:8px;margin-top:10px}
.proposal-item-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(180px,2fr) 72px 85px 120px 100px 32px}
.proposal-item-row input{min-width:0}.proposal-item-row strong{text-align:right}
.proposal-total{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);display:flex;justify-content:flex-end;gap:18px;margin-top:12px;padding:12px}.proposal-total span{color:var(--muted);font-size:10px;font-weight:700}.proposal-total strong{font-size:16px}
.crm-detail-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.crm-detail-grid>div{background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px}
.crm-detail-grid span,.crm-detail-grid strong{display:block}.crm-detail-grid span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.crm-detail-grid strong{font-size:11px;margin-top:4px;overflow-wrap:anywhere}
.crm-detail-section{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}.crm-detail-section h3{font-size:12px;margin:0 0 8px}.crm-detail-section p{font-size:11px;line-height:1.6;margin:0;white-space:pre-wrap}
.crm-timeline{display:grid;gap:0}.crm-timeline article{display:grid;gap:10px;grid-template-columns:14px 1fr;position:relative}.crm-timeline article:not(:last-child)::before{background:var(--line);content:"";height:100%;left:5px;position:absolute;top:10px;width:1px}.crm-timeline i{background:var(--primary);border:3px solid var(--primary-soft);border-radius:50%;height:11px;margin-top:3px;width:11px;z-index:1}.crm-timeline article>div{padding-bottom:14px}.crm-timeline strong,.crm-timeline small{display:block}.crm-timeline p{margin:3px 0}.crm-timeline small{color:var(--muted);font-size:9px}
.crm-attachment{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:var(--radius);display:inline-flex;font-size:10px;font-weight:700;gap:6px;margin:0 6px 6px 0;padding:8px 10px}.crm-attachment .material-symbols-outlined{font-size:16px}
.crm-upload{align-items:center;display:flex;gap:10px}.crm-upload input{flex:1}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card{display:flex;flex-direction:column;height:min(820px,calc(100vh - 36px));max-height:calc(100vh - 36px);max-width:none;overflow:hidden;padding:0;width:min(900px,calc(100vw - 36px))}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card:not(.wide-modal){height:auto;max-height:calc(100vh - 36px);width:min(680px,calc(100vw - 36px))}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card>header{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;flex:0 0 auto;justify-content:space-between;padding:14px 18px;position:relative;z-index:3}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card>header>div{align-items:center;display:flex;gap:11px;min-width:0}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card>header>div>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);display:flex;flex:0 0 38px;font-size:21px;height:38px;justify-content:center;width:38px}
.crm-modal-heading{display:grid;gap:2px;min-width:0}.crm-modal-heading h2{font-size:17px;line-height:1.25;margin:0}.crm-modal-heading p{color:var(--muted);font-size:10px;line-height:1.4;margin:0}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card>header .icon-button{flex:0 0 auto;margin-left:14px}
[id^="crm"][id$="Modal"].modal-backdrop .modal-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px;scrollbar-gutter:stable}
[id^="crm"][id$="Modal"].modal-backdrop .modal-scroll>.form-grid{gap:14px}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card>footer{align-items:center;background:var(--surface-low);border-top:1px solid var(--line);display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end;margin:0;padding:12px 18px;position:relative;z-index:3}
[id^="crm"][id$="Modal"].modal-backdrop .modal-card>footer .button{min-width:104px}
@media(max-width:620px){[id^="crm"][id$="Modal"].modal-backdrop .modal-card,[id^="crm"][id$="Modal"].modal-backdrop .modal-card:not(.wide-modal){height:calc(100vh - 16px);max-height:calc(100vh - 16px);width:calc(100vw - 16px)}[id^="crm"][id$="Modal"].modal-backdrop .modal-card>header{padding:12px 14px}.crm-modal-heading p{display:none}[id^="crm"][id$="Modal"].modal-backdrop .modal-scroll{padding:14px}[id^="crm"][id$="Modal"].modal-backdrop .modal-card>footer{padding:10px 14px}}
@media(max-width:850px){.crm-dashboard-grid{grid-template-columns:1fr}.crm-toolbar{grid-template-columns:minmax(180px,1fr) 90px auto}.crm-toolbar .search-control{grid-column:1/-1}.crm-detail-grid{grid-template-columns:repeat(2,1fr)}.proposal-item-row{grid-template-columns:minmax(140px,2fr) 65px 80px 100px}.proposal-item-row .item-total{display:none}}
@media(max-width:1000px){.crm-dashboard-filters{align-items:stretch;grid-template-columns:1fr}.crm-dashboard-filter-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.crm-dashboard-filter-controls input,.crm-dashboard-filter-controls select{min-width:0;width:100%}.crm-dashboard-filter-controls .button{align-self:end}}
@media(max-width:620px){.crm-page>.page-head .actions{width:100%}.crm-dashboard-filter-controls{grid-template-columns:1fr 1fr}.crm-dashboard-filter-controls .crm-manager-filter,.crm-dashboard-filter-controls .button{grid-column:1/-1}.crm-dashboard-filter-controls .button{width:100%}.crm-toolbar{grid-template-columns:1fr}.crm-toolbar .search-control{grid-column:auto}.crm-toolbar .button{width:100%}.crm-chart-row{grid-template-columns:75px 1fr}.crm-chart-row strong{grid-column:2}.proposal-item-row{border:1px solid var(--line-soft);border-radius:var(--radius);grid-template-columns:1fr 1fr;padding:8px}.proposal-item-row .item-description{grid-column:1/-1}.crm-detail-grid{grid-template-columns:1fr}.crm-upload{align-items:stretch;flex-direction:column}}

/* Focused CRM: leads, follow-ups, and converted clientele */
.crm-lead-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.crm-lead-toolbar{grid-template-columns:minmax(280px,1fr) minmax(155px,210px) minmax(155px,210px) 90px auto}
.crm-lead-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.crm-dashboard .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.crm-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.crm-dashboard .stats-grid{grid-template-columns:1fr!important}}
.crm-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:5px}
.crm-row-actions .icon-action{height:31px;min-width:31px;padding:0;width:31px}
.crm-row-actions .icon-action .material-symbols-outlined{font-size:17px}
.crm-row-actions .icon-action.success{background:#edf9f2;color:#167848}
.crm-row-actions .icon-action.danger{background:#fff1f0;color:#bf342b}
.crm-lead-page .pagination-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-top:10px;min-height:54px;padding:9px 12px}.crm-lead-page #crmPaginationSummary{color:var(--muted);font-size:11px}.crm-lead-page #crmPagination{align-items:center;display:flex;gap:6px}.crm-lead-page .crm-page-nav{height:34px;justify-content:center;min-width:86px;padding:0 10px}.crm-lead-page .crm-page-nav .material-symbols-outlined{font-size:17px}.crm-lead-page .crm-page-nav:disabled{cursor:not-allowed;opacity:.45}.crm-page-indicator{align-items:center;display:flex;gap:5px}.crm-page-indicator .pagination-current{height:34px;min-width:34px;padding:0 8px}.crm-page-indicator small{color:var(--muted);font-size:10px;white-space:nowrap}
.crm-attention-list{display:grid;gap:7px;margin-top:12px}
.crm-attention-card{align-items:center;background:transparent;border:1px solid var(--line-soft);border-radius:var(--radius);color:inherit;cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px;text-align:left;width:100%}
.crm-attention-card:hover,.crm-attention-card:focus-visible{background:var(--primary-soft);border-color:var(--primary-dim);outline:0}
.crm-attention-card>span{display:grid;gap:3px;min-width:0}.crm-attention-card>span:last-child{justify-items:end}
.crm-attention-card strong{font-size:11px}.crm-attention-card small{color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-attention-icon{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);display:flex!important;height:34px;justify-content:center;width:34px}
.crm-attention-icon.danger{background:#fff0ef;color:#c63830}.crm-attention-icon .material-symbols-outlined{font-size:18px}
.crm-detail-modal.extra-wide-modal{width:min(1080px,calc(100vw - 36px))!important}
.crm-detail-grid>div small{color:var(--muted);display:block;font-size:9px;margin-top:3px}
.crm-section-title{align-items:center;display:flex;justify-content:space-between}.crm-section-title h3{margin-bottom:2px}.crm-section-title p{color:var(--muted);font-size:10px!important}
.crm-followup-timeline{display:grid;gap:10px}
.crm-followup-card{background:var(--panel);border:1px solid var(--line-soft);border-left:3px solid var(--primary);border-radius:var(--radius);display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr);padding:12px}
.crm-followup-card.overdue{background:#fff9f8;border-left-color:#d4473f}
.crm-followup-marker{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);display:flex;height:34px;justify-content:center;width:34px}.crm-followup-marker .material-symbols-outlined{font-size:18px}
.crm-followup-content{min-width:0}.crm-followup-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.crm-followup-head strong,.crm-followup-head small{display:block}.crm-followup-head strong{font-size:12px}.crm-followup-head small{color:var(--muted);font-size:9px;margin-top:3px}
.crm-followup-content>p{font-size:11px;line-height:1.55;margin:9px 0;white-space:pre-wrap}
.crm-outcome{background:var(--surface-low);border-radius:var(--radius-sm);margin:8px 0;padding:9px}.crm-outcome strong{font-size:9px;text-transform:uppercase}.crm-outcome p{font-size:10px;margin:3px 0 0;white-space:pre-wrap}
.crm-followup-actions{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:9px}
.crm-upload-trigger{cursor:pointer}
.crm-attachments{display:grid;gap:5px;margin-top:9px}.crm-attachment-row{align-items:center;display:flex;gap:5px}.crm-attachment-row .crm-attachment{margin:0;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-attachment-row .crm-attachment small{color:var(--muted)}
.crm-history-list{display:grid;gap:7px}.crm-history-card{align-items:start;background:var(--surface-low);border-radius:var(--radius-sm);display:grid;gap:9px;grid-template-columns:auto 1fr;padding:9px}.crm-history-card>.material-symbols-outlined{color:var(--primary);font-size:17px}.crm-history-card strong{font-size:10px}.crm-history-card p{font-size:10px;line-height:1.45;margin:2px 0}.crm-history-card small{color:var(--muted);font-size:8px}
.crm-converted-banner{align-items:center;background:#edf9f2;border:1px solid #bce6cc;border-radius:var(--radius);color:#145c38;display:flex;gap:10px;margin-top:14px;padding:12px}.crm-converted-banner>.material-symbols-outlined{font-size:25px}.crm-converted-banner strong,.crm-converted-banner small{display:block}.crm-converted-banner strong{font-size:11px}.crm-converted-banner small{font-size:9px;margin-top:2px}
.crm-conversion-candidates{display:grid;gap:8px;margin-top:14px}.crm-conversion-candidates h3{font-size:12px;margin:0 0 3px}
.crm-candidate{align-items:center;border:1px solid var(--line-soft);border-radius:var(--radius);cursor:pointer;display:flex!important;gap:10px;padding:10px}.crm-candidate:has(input:checked){background:var(--primary-soft);border-color:var(--primary)}.crm-candidate input{flex:0 0 auto}.crm-candidate span{display:grid;gap:2px}.crm-candidate strong{font-size:11px}.crm-candidate small{color:var(--muted);font-size:9px}
.crm-no-match{align-items:center;background:var(--surface-low);border-radius:var(--radius);display:grid;gap:3px;grid-template-columns:auto 1fr;padding:12px}.crm-no-match>.material-symbols-outlined{color:var(--primary);grid-row:1/3}.crm-no-match strong{font-size:11px}.crm-no-match p{font-size:9px;margin:0}
.crm-conversion-note{display:grid!important;margin-top:14px}.swal-crm-field{display:grid;font-size:11px;font-weight:700;text-align:left}.swal-crm-field .swal2-textarea,.swal-crm-field .swal2-input{margin:5px 0 10px;width:auto}
@media(max-width:900px){.crm-lead-dashboard-grid{grid-template-columns:1fr}.crm-lead-toolbar{grid-template-columns:minmax(180px,1fr) 150px 150px 85px}.crm-lead-toolbar .search-control{grid-column:1/-1}.crm-lead-toolbar .button{grid-column:1/-1}}
@media(max-width:620px){.crm-lead-toolbar{grid-template-columns:1fr}.crm-lead-toolbar .search-control,.crm-lead-toolbar .button{grid-column:auto}.crm-followup-card{grid-template-columns:1fr}.crm-followup-marker{display:none}.crm-followup-head{align-items:flex-start;flex-direction:column}.crm-attention-card{grid-template-columns:auto minmax(0,1fr)}.crm-attention-card>span:last-child{grid-column:2;justify-items:start}.crm-detail-modal.extra-wide-modal{width:calc(100vw - 16px)!important}.crm-lead-page .pagination-row{flex-wrap:wrap;justify-content:center}.crm-lead-page .pagination-row>span:first-child{flex:0 0 100%;text-align:center}.crm-table-panel td.empty-state{left:0;max-width:calc(100vw - 28px);position:sticky}}

/* Maintenance Services */
.maintenance-page>.page-head{align-items:flex-start;margin-bottom:20px}
.maintenance-page>.page-head h1{font-size:30px;letter-spacing:-.035em;margin:4px 0 6px}
.maintenance-page>.page-head .eyebrow{color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.12em}
.maintenance-page>.page-head>.actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.maintenance-kpis{gap:14px;margin-bottom:18px}
.maintenance-kpi{min-height:122px;padding:16px 17px}
.maintenance-kpi-head{align-items:center;display:flex;justify-content:space-between}
.maintenance-kpi-head>span:first-child{color:var(--text);font-size:12px;font-weight:700}
.maintenance-kpi-icon{align-items:center;background:var(--primary-soft);border-radius:10px;color:var(--primary);display:flex!important;font-size:20px!important;height:38px;justify-content:center;width:38px}
.maintenance-kpi.warning .maintenance-kpi-icon{background:#fff3d8;color:#8a5a00}
.maintenance-kpi.success .maintenance-kpi-icon{background:#dcf7e7;color:#087044}
.maintenance-kpi>strong{font-size:26px;margin:8px 0 3px}
.maintenance-workspace{overflow:hidden;padding:0}
.maintenance-toolbar{align-items:end;border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(260px,1.5fr) minmax(125px,.55fr) minmax(145px,.65fr) minmax(155px,.7fr) 142px 142px 86px auto;margin:0;padding:14px 16px}
.maintenance-toolbar .search-control{align-items:center;display:flex;min-width:0;position:relative}
.maintenance-toolbar .search-control>.material-symbols-outlined{color:var(--muted);font-size:20px;left:12px;pointer-events:none;position:absolute}
.maintenance-toolbar .search-control input{padding-left:40px;width:100%}
.maintenance-toolbar input,.maintenance-toolbar select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;height:42px;min-width:0;padding:0 11px;width:100%}
.maintenance-date-filter{display:grid;gap:4px;min-width:0}
.maintenance-date-filter>span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.maintenance-toolbar .button{height:42px;justify-content:center;white-space:nowrap}
.my-maintenance-toolbar{grid-template-columns:minmax(280px,1fr) 190px}
.maintenance-table-wrap{overflow-x:auto}
.maintenance-table{min-width:1040px;table-layout:auto}
.maintenance-table th{background:var(--surface-low);color:var(--text-soft);font-size:10px;letter-spacing:.055em;padding:11px 14px;white-space:nowrap}
.maintenance-table td{padding:14px;vertical-align:middle}
.maintenance-table tbody tr{transition:background .15s ease}
.maintenance-table tbody tr:hover{background:#f8fbf9}
.maintenance-table td strong{display:block;font-size:12px;line-height:1.4}
.maintenance-table td small,.maintenance-table td time{color:var(--muted);display:block;font-size:10px;line-height:1.4;margin-top:3px}
.maintenance-table td small>.material-symbols-outlined{font-size:13px;margin-right:4px;vertical-align:-2px}
.maintenance-primary-cell{min-width:260px}
.maintenance-primary-cell>strong{color:var(--text);font-size:13px!important}
.maintenance-primary-cell>small{color:var(--text-soft)!important;font-size:11px!important;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maintenance-primary-cell>time{font-size:9px!important}
.maintenance-type-cell{align-items:center;display:flex;gap:7px;white-space:nowrap}
.maintenance-type-cell>span:last-child{font-size:11px;font-weight:650}
.maintenance-table td:nth-last-child(-n+3){white-space:nowrap}
.maintenance-table .icon-button{border:1px solid var(--line);border-radius:8px}
.maintenance-table .icon-button:hover{background:var(--primary-soft);border-color:var(--primary-dim);color:var(--primary)}
.maintenance-pagination{background:var(--surface-low);border-top:1px solid var(--line);margin:0;padding:12px 16px}
.maintenance-pagination>span{color:var(--muted);font-size:11px}
.maintenance-pagination .pagination{align-items:center;display:flex;gap:8px}
.maintenance-pagination .button{height:36px;min-width:88px;padding:0 12px}
.maintenance-modal{display:flex;flex-direction:column;max-height:calc(100vh - 36px);max-width:none;overflow:hidden;padding:0;width:min(760px,calc(100vw - 36px))}
.maintenance-modal.wide-modal{width:min(920px,calc(100vw - 36px))}
.maintenance-detail-modal{height:min(860px,calc(100vh - 36px));width:min(980px,calc(100vw - 36px))!important}
.maintenance-modal>header{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;flex:0 0 auto;justify-content:space-between;padding:14px 18px}
.maintenance-modal>header>div{align-items:center;display:flex;gap:11px;min-width:0}
.maintenance-modal>header>div>.material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:10px;color:var(--primary);display:flex;flex:0 0 38px;font-size:21px;height:38px;justify-content:center;width:38px}
.maintenance-modal>header h2{font-size:17px;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maintenance-modal>header p{font-size:10px;margin:2px 0 0}
.maintenance-modal>header .icon-button{flex:0 0 auto;margin-left:12px}
.maintenance-modal>.modal-scroll{background:#f7f9f8;flex:1 1 auto;min-height:0;overflow:auto;padding:18px}
.maintenance-modal>footer{align-items:center;background:var(--panel);border-top:1px solid var(--line);display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:0;padding:12px 18px}
.maintenance-modal>footer .button{min-height:38px}
.maintenance-modal>footer .button:first-child{margin-right:auto}
.maintenance-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}
.maintenance-summary-grid>article{background:var(--panel);border:1px solid var(--line);border-radius:9px;min-width:0;padding:12px}
.maintenance-summary-grid>article>span{color:var(--muted);display:block;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.maintenance-summary-grid>article>strong{display:block;font-size:12px;line-height:1.4;margin-top:5px;overflow-wrap:anywhere}
.maintenance-detail-section{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:15px}
.maintenance-detail-section>h3{align-items:center;border-bottom:1px solid var(--line-soft);display:flex;font-size:13px;gap:8px;margin:0 0 12px;padding-bottom:10px}
.maintenance-detail-section>h3>.material-symbols-outlined{color:var(--primary);font-size:19px}
.maintenance-detail-section>p{color:var(--text-soft);font-size:12px;line-height:1.65;margin:0;white-space:pre-wrap}
.maintenance-detail-columns{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.maintenance-completion-note{background:var(--primary-soft);border-left:3px solid var(--primary);border-radius:7px;margin-top:13px;padding:11px 12px}
.maintenance-completion-note>strong{font-size:11px}
.maintenance-completion-note>p{font-size:11px;line-height:1.55;margin:4px 0 0;white-space:pre-wrap}
.maintenance-empty-block{align-items:center;color:var(--muted);display:flex;gap:9px;min-height:48px}
.maintenance-empty-block>.material-symbols-outlined{font-size:22px}
.maintenance-empty-block p{font-size:11px;margin:0}
.maintenance-link-list{display:grid;gap:8px}
.maintenance-link-list>article,.maintenance-link-list>a{align-items:center;background:var(--surface-low);border:1px solid var(--line-soft);border-radius:8px;color:var(--text);display:flex;gap:9px;justify-content:space-between;padding:10px;text-decoration:none}
.maintenance-link-list>a:hover{border-color:var(--primary-dim)}
.maintenance-link-list>a>.material-symbols-outlined:first-child{color:var(--primary)}
.maintenance-link-list>a>span:nth-child(2),.maintenance-link-list>article>div{flex:1;min-width:0}
.maintenance-link-list strong,.maintenance-link-list small{display:block}
.maintenance-link-list strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maintenance-link-list small{color:var(--muted);font-size:9px;margin-top:2px}
.maintenance-timeline{display:grid}
.maintenance-timeline>article{display:grid;gap:10px;grid-template-columns:15px minmax(0,1fr);position:relative}
.maintenance-timeline>article:not(:last-child):before{border-left:1px solid #bfd2c8;bottom:0;content:"";left:6px;position:absolute;top:12px}
.maintenance-timeline-dot{background:var(--primary);border:3px solid var(--primary-soft);border-radius:50%;height:13px;margin-top:3px;position:relative;width:13px;z-index:1}
.maintenance-timeline>article>div{padding-bottom:14px}
.maintenance-event-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}
.maintenance-event-head strong{font-size:11px}
.maintenance-event-head time{color:var(--muted);font-size:9px;white-space:nowrap}
.maintenance-timeline small{color:var(--primary);display:block;font-size:9px;font-weight:650;margin-top:2px}
.maintenance-timeline p{color:var(--text-soft);font-size:11px;line-height:1.5;margin:5px 0 0;white-space:pre-wrap}
@media(max-width:1150px){.maintenance-toolbar{grid-template-columns:minmax(260px,1fr) repeat(3,minmax(130px,.5fr));}.maintenance-toolbar #mtPerPage,.maintenance-toolbar .button{grid-row:2}.maintenance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.maintenance-page>.page-head{gap:12px}.maintenance-page>.page-head>.actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.maintenance-page>.page-head>.actions .button{justify-content:center}.maintenance-toolbar,.my-maintenance-toolbar{grid-template-columns:1fr 1fr}.maintenance-toolbar .search-control{grid-column:1/-1}.maintenance-toolbar #mtPerPage,.maintenance-toolbar .button{grid-row:auto}.maintenance-kpis{grid-template-columns:1fr 1fr!important}.maintenance-modal,.maintenance-modal.wide-modal,.maintenance-detail-modal{height:calc(100vh - 16px);max-height:calc(100vh - 16px);width:calc(100vw - 16px)!important}.maintenance-modal>header{padding:12px 14px}.maintenance-modal>header p{display:none}.maintenance-modal>.modal-scroll{padding:12px}.maintenance-modal>footer{padding:10px 12px}.maintenance-summary-grid{grid-template-columns:1fr 1fr}.maintenance-detail-columns{grid-template-columns:1fr}.maintenance-modal>footer .button:first-child{margin-right:0}.maintenance-modal>footer .button{flex:1 1 auto}}
@media(max-width:480px){.maintenance-toolbar,.my-maintenance-toolbar,.maintenance-kpis,.maintenance-summary-grid{grid-template-columns:1fr!important}.maintenance-toolbar .search-control{grid-column:auto}.maintenance-pagination{align-items:stretch;flex-direction:column}.maintenance-pagination .pagination{justify-content:space-between}.maintenance-event-head{display:grid;gap:2px}}

/* Knowledge Base */
.sr-only{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.sidebar-user-copy{flex:1;min-width:0}.sidebar-user-copy strong,.sidebar-user-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-help-link{align-items:center;border-radius:999px;color:var(--primary);display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;margin-left:auto;width:36px}.sidebar-help-link:hover,.sidebar-help-link:focus-visible{background:var(--primary-soft);outline:0}.sidebar-help-link:focus-visible{box-shadow:0 0 0 2px var(--primary-dim)}.sidebar-help-link .material-symbols-outlined{font-size:21px}
.context-help-link{color:var(--primary)}.context-help-link.is-contextual{background:var(--primary-soft)}.context-help-link:focus-visible{box-shadow:0 0 0 2px var(--primary-dim);outline:0}
.kb-page{margin:0 auto;max-width:1260px}.kb-home-hero{background:linear-gradient(135deg,#e9f7ef 0%,#f7fbf9 55%,#fff 100%);border:1px solid var(--primary-dim);border-radius:var(--radius-lg);display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(330px,.75fr);margin-bottom:20px;padding:28px}.kb-home-copy p:last-child{font-size:14px;line-height:1.6;margin:8px 0 0;max-width:690px}.kb-search{align-items:center;align-self:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 8px 22px rgba(11,93,59,.08);display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;min-height:50px;padding:0 14px}.kb-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,93,59,.11)}.kb-search>.material-symbols-outlined{color:var(--primary)}.kb-search input{background:transparent;border:0;color:var(--text);font-size:13px;min-width:0;outline:0;width:100%}.kb-search-status{color:var(--muted);font-size:10px;white-space:nowrap}
.kb-search-results{margin-bottom:18px;padding:16px}.kb-result-list{display:grid;gap:8px}.kb-result-card{align-items:center;border:1px solid var(--line-soft);border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px;transition:.18s ease}.kb-result-card:hover,.kb-result-card:focus-visible{background:var(--primary-soft);border-color:var(--primary-dim);outline:0}.kb-result-card>.material-symbols-outlined:first-child{color:var(--primary)}.kb-result-card div{display:grid;gap:3px}.kb-result-card strong{font-size:13px}.kb-result-card p{font-size:11px;line-height:1.45;margin:0}.kb-result-meta{color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.kb-result-empty{align-items:center;color:var(--muted);display:flex;gap:8px;justify-content:center;padding:28px}
.kb-overview-row{align-items:end;display:flex;gap:20px;justify-content:space-between;margin:0 2px 14px}.kb-overview-row p{margin:5px 0 0}.kb-overview-stats{display:flex;gap:8px}.kb-overview-stats span{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:10px;padding:8px 10px}.kb-overview-stats strong{color:var(--primary);font-size:15px;margin-right:4px}.kb-phase-grid,.kb-guide-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.kb-phase-card{align-items:start;display:grid;gap:13px;grid-template-columns:auto minmax(0,1fr) auto;min-height:158px;padding:16px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.kb-phase-card:hover,.kb-phase-card:focus-visible,.kb-guide-card:hover,.kb-guide-card:focus-visible{border-color:var(--primary-dim);box-shadow:0 7px 20px rgba(15,23,42,.08);outline:0;transform:translateY(-2px)}.kb-phase-card.coming-soon{background:var(--surface-low)}.kb-phase-icon,.kb-guide-icon{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;height:42px;justify-content:center;width:42px}.kb-phase-card.coming-soon .kb-phase-icon{background:var(--surface-high);color:var(--muted)}.kb-phase-copy{min-width:0}.kb-phase-number,.kb-module-name{color:var(--primary);display:block;font-size:9px;font-weight:850;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.kb-phase-card h2,.kb-guide-card h2{font-size:15px}.kb-phase-card p,.kb-guide-card p{font-size:11px;line-height:1.5;margin:6px 0 10px}.kb-guide-count{color:var(--muted);font-size:10px;font-weight:700}.kb-card-arrow{align-self:center;color:var(--muted);font-size:19px}
.kb-breadcrumbs{align-items:center;color:var(--muted);display:flex;font-size:10px;gap:4px;margin:0 0 12px}.kb-breadcrumbs a:hover,.kb-breadcrumbs a:focus-visible{color:var(--primary)}.kb-breadcrumbs .material-symbols-outlined{font-size:14px}.kb-guide-card{align-items:start;display:grid;gap:13px;grid-template-columns:auto minmax(0,1fr) auto;min-height:130px;padding:16px;transition:.18s ease}
.kb-state{align-items:center;display:flex;flex-direction:column;gap:9px;justify-content:center;margin:40px auto;max-width:650px;min-height:290px;padding:32px;text-align:center}.kb-state>.material-symbols-outlined{color:var(--primary);font-size:44px}.kb-state h1,.kb-state h2{margin-top:3px}.kb-state p{line-height:1.55;margin:0 0 6px;max-width:480px}
.kb-article-hero{align-items:flex-start;background:linear-gradient(135deg,#fff,#f2faf5);display:flex;gap:20px;justify-content:space-between;margin-bottom:14px;padding:22px}.kb-article-hero>div{min-width:0}.kb-article-hero>div>p:not(.eyebrow){font-size:13px;line-height:1.6;margin:8px 0 11px;max-width:820px}.kb-chip-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.kb-chip{background:var(--primary-soft);border-radius:999px;color:var(--primary);font-size:9px;font-weight:800;padding:5px 8px}.kb-reviewed{align-items:center;color:var(--muted);display:inline-flex;font-size:9px;gap:3px;margin-left:4px}.kb-reviewed .material-symbols-outlined{color:var(--primary);font-size:14px}
.kb-reader-layout{align-items:start;display:grid;gap:14px;grid-template-columns:230px minmax(0,1fr)}.kb-toc{display:grid;gap:10px;padding:14px;position:sticky;top:calc(var(--topbar-height) + 14px)}.kb-toc>strong{font-size:11px;letter-spacing:.04em;text-transform:uppercase}.kb-toc nav{display:grid}.kb-toc nav a{border-left:2px solid var(--line-soft);color:var(--muted);font-size:10px;line-height:1.4;padding:7px 8px}.kb-toc nav a:hover,.kb-toc nav a:focus-visible,.kb-toc nav a.active{border-left-color:var(--primary);color:var(--primary);outline:0}.kb-all-guides-link{align-items:center;border-top:1px solid var(--line-soft);color:var(--primary);display:flex;font-size:10px;font-weight:750;gap:6px;padding-top:10px}.kb-all-guides-link .material-symbols-outlined{font-size:16px}
.kb-article{padding:4px 22px}.kb-article-section{padding:22px 0;scroll-margin-top:calc(var(--topbar-height) + 18px)}.kb-article-section+.kb-article-section{border-top:1px solid var(--line-soft)}.kb-section-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:13px}.kb-section-heading h2{font-size:18px}.kb-section-heading>span{background:var(--surface-low);border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);font-size:9px;font-weight:700;padding:5px 8px;text-align:right}.kb-paragraph{font-size:12px;line-height:1.7;margin:0 0 14px}
.kb-steps{display:grid;gap:12px;list-style:none;margin:0 0 16px;padding:0}.kb-steps li{align-items:flex-start;display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr)}.kb-step-number{align-items:center;background:var(--primary);border-radius:999px;color:#fff;display:flex;flex:0 0 auto;font-size:10px;font-weight:800;height:25px;justify-content:center;margin-top:1px;width:25px}.kb-steps strong{font-size:12px}.kb-steps p{font-size:11px;line-height:1.55;margin:3px 0 0}.kb-checklist{display:grid;gap:9px;list-style:none;margin:0 0 16px;padding:0}.kb-checklist li{align-items:flex-start;display:flex;font-size:11px;gap:8px;line-height:1.55}.kb-checklist .material-symbols-outlined{color:var(--primary);font-size:18px;margin-top:1px}
.kb-note,.kb-example{align-items:flex-start;border:1px solid #bfd3ef;border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);margin:14px 0;padding:12px}.kb-note>.material-symbols-outlined,.kb-example>.material-symbols-outlined{font-size:20px}.kb-note strong,.kb-example strong{font-size:11px}.kb-note p,.kb-example p{font-size:10px;line-height:1.55;margin:3px 0 0}.kb-note.info{background:#f1f7ff;color:#164c86}.kb-note.tip{background:#f1fbf5;border-color:var(--primary-dim);color:#14532d}.kb-note.warning{background:#fff8e8;border-color:#efd390;color:#734d00}.kb-example{background:#f7f3ff;border-color:#d8c8f0;color:#553089}
.kb-table-wrap{border:1px solid var(--line-soft);border-radius:var(--radius);margin:0 0 16px;overflow-x:auto}.kb-table{border-collapse:collapse;min-width:560px;width:100%}.kb-table th{background:var(--surface-low);color:var(--muted);font-size:9px;letter-spacing:.04em;text-align:left;text-transform:uppercase}.kb-table th,.kb-table td{border-bottom:1px solid var(--line-soft);padding:9px 10px;vertical-align:top}.kb-table td{font-size:10px;line-height:1.5}.kb-table tbody tr:last-child td{border-bottom:0}.kb-figure{border:1px solid var(--line-soft);border-radius:var(--radius);margin:15px 0;overflow:hidden}.kb-figure img{display:block;height:auto;max-width:100%;width:100%}.kb-figure figcaption{background:var(--surface-low);color:var(--muted);font-size:9px;padding:8px 10px}
.kb-article-neighbors{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin:14px 0 0 244px}.kb-article-neighbors a{display:grid;gap:6px;padding:12px}.kb-article-neighbors a>span{align-items:center;color:var(--primary);display:flex;font-size:9px;font-weight:800;gap:5px;text-transform:uppercase}.kb-article-neighbors a>span .material-symbols-outlined{font-size:15px}.kb-article-neighbors a strong{font-size:11px}.kb-article-neighbors .next{text-align:right}.kb-article-neighbors .next>span{justify-content:flex-end}
@media(max-width:980px){.kb-home-hero{grid-template-columns:1fr}.kb-reader-layout{grid-template-columns:190px minmax(0,1fr)}.kb-article-neighbors{margin-left:204px}}
@media(max-width:760px){.kb-home-hero{padding:20px}.kb-phase-grid,.kb-guide-grid{grid-template-columns:1fr}.kb-reader-layout{grid-template-columns:1fr}.kb-toc{position:static}.kb-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-article-neighbors{margin-left:0}.kb-overview-row{align-items:flex-start;flex-direction:column}.kb-article-hero{flex-direction:column}.kb-print-button{align-self:flex-start}}
@media(max-width:520px){.kb-home-hero{padding:16px}.kb-overview-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}.kb-phase-card,.kb-guide-card{grid-template-columns:auto minmax(0,1fr);min-height:0}.kb-phase-card>.kb-card-arrow,.kb-guide-card>.kb-card-arrow{display:none}.kb-toc nav{grid-template-columns:1fr}.kb-article{padding:3px 14px}.kb-section-heading{display:grid}.kb-section-heading>span{justify-self:start}.kb-article-neighbors{grid-template-columns:1fr}.kb-search-status{display:none}}
@media print{body{background:#fff}.sidebar,.topbar,.kb-breadcrumbs,.kb-toc,.kb-print-button,.kb-article-neighbors{display:none!important}.main-panel{margin:0;padding:0;width:100%}.kb-page{max-width:none}.kb-article-hero,.kb-article{border:0;box-shadow:none}.kb-article-hero{background:#fff;margin:0;padding:0 0 12px}.kb-reader-layout{display:block}.kb-article{padding:0}.kb-article-section{break-inside:avoid;padding:14px 0}.kb-note,.kb-example,.kb-table-wrap{break-inside:avoid}.kb-chip{border:1px solid #aaa}.kb-section-heading>span{border:1px solid #bbb}.kb-article-hero>div>p:not(.eyebrow),.kb-paragraph,.kb-steps p,.kb-checklist li{color:#222}}

/* Vendor accounts payable workspace */
#psVendorProfileModal .ps-vendor-profile-modal {
    height: min(900px, calc(100vh - 24px));
    max-width: none;
    width: min(1440px, calc(100vw - 24px));
}
#psVendorProfileModal .modal-scroll {
    padding: 20px 22px;
}
#psVendorProfileModal .ps-vendor-profile-filters {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(240px, 1fr) 170px 170px 165px 165px auto;
}
#psVendorProfileModal .ps-vendor-profile-filters > * {
    min-width: 0;
    width: 100%;
}
#psVendorProfileModal .table-panel {
    overflow-x: auto;
}
#psVendorProfileModal .table-panel table {
    min-width: 980px;
}
#psVendorProfileModal .ps-grn-select-cell {
    text-align: center;
    width: 46px;
}
#psVendorProfileModal .ps-grn-select-cell input[type="checkbox"] {
    accent-color: var(--primary);
    cursor: pointer;
    height: 18px;
    margin: 0;
    min-height: 18px;
    padding: 0;
    vertical-align: middle;
    width: 18px;
}
@media (max-width: 1100px) {
    #psVendorProfileModal .ps-vendor-profile-modal {
        height: calc(100vh - 16px);
        width: calc(100vw - 16px);
    }
    #psVendorProfileModal .ps-vendor-profile-filters {
        grid-template-columns: minmax(220px, 1fr) 145px 145px 145px 145px auto;
    }
}
@media (max-width: 880px) {
    #psVendorProfileModal .modal-scroll {
        padding: 16px;
    }
    #psVendorProfileModal .ps-vendor-profile-filters {
        grid-template-columns: minmax(220px, 1fr) 1fr 1fr;
    }
}
@media (max-width: 620px) {
    #psVendorProfileModal .ps-vendor-profile-filters {
        grid-template-columns: 1fr;
    }
    #psVendorProfileModal .table-panel table {
        min-width: 860px;
    }
}

/* Procurement compact modal variants */
#psFormModal .ps-modal.ps-modal-compact {
    height: auto;
    max-height: calc(100vh - 48px);
    width: min(760px, calc(100vw - 32px));
}
#psFormModal .ps-modal.ps-modal-compact .modal-scroll {
    flex: 0 1 auto;
    max-height: calc(100vh - 210px);
    padding: 16px 20px 18px;
}
#psFormModal .ps-modal.ps-modal-compact > form {
    flex: 0 1 auto;
}
#psFormModal .ps-modal.ps-modal-compact .form-grid {
    align-items: start;
    gap: 12px 14px;
}
#psFormModal .ps-modal.ps-modal-compact .ps-category-form {
    align-items: end;
}
#psFormModal .ps-modal.ps-modal-compact > form > footer {
    padding: 12px 20px;
}
.ps-category-manager {
    display: grid;
    gap: 14px;
}
.ps-category-form {
    align-items: end;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px) auto;
}
.ps-category-form-actions {
    align-self: end;
    display: flex;
    justify-content: flex-end;
    padding-bottom: 0;
}
.ps-category-form-actions .button {
    min-height: 44px;
}
.ps-category-list {
    border-top: 1px solid var(--line-soft);
    padding-top: 12px;
}
.ps-category-list .panel-head {
    margin-bottom: 10px;
}
.ps-category-list .table-panel {
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    max-height: 300px;
    overflow: auto;
}
.ps-category-list th:last-child,
.ps-category-list td:last-child {
    text-align: right;
    width: 92px;
}
.ps-category-list td strong,
.ps-category-list td small {
    display: block;
}
.ps-category-list td small {
    color: var(--muted);
    font-size: 9px;
    margin-top: 3px;
}
@media (max-width: 720px) {
    .ps-category-form {
        grid-template-columns: 1fr;
    }
    .ps-category-form-actions {
        justify-content: flex-start;
    }
}

/* Procurement toolbar controls */
.ps-toolbar .search-input {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: flex;
    gap: 8px;
    height: 38px;
    min-width: 0;
    padding: 0 10px;
}
.ps-toolbar .search-input:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
}
.ps-toolbar .search-input > .material-symbols-outlined {
    color: var(--muted);
    flex: 0 0 auto;
    font-size: 20px;
    pointer-events: none;
}
.ps-toolbar .search-input > input {
    background: transparent;
    border: 0;
    color: var(--text);
    flex: 1 1 auto;
    font: inherit;
    font-size: 13px;
    height: 100%;
    min-height: 0;
    min-width: 0;
    outline: 0;
    padding: 0;
    width: 100%;
}
.ps-toolbar select,
.ps-toolbar .button {
    border-radius: var(--radius-sm);
    height: 38px;
    min-height: 38px;
}
.ps-toolbar .button {
    padding-inline: 14px;
}

/* Employee IT Support toolbar */
#myItToolbar {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(280px, 1fr) minmax(170px, 220px);
    margin-bottom: 12px;
}
#myItToolbar .search-control {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: flex;
    gap: 8px;
    height: 40px;
    min-width: 0;
    padding: 0 10px;
}
#myItToolbar .search-control:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
}
#myItToolbar .search-control > .material-symbols-outlined {
    color: var(--muted);
    flex: 0 0 auto;
    font-size: 20px;
    pointer-events: none;
}
#myItToolbar .search-control > input {
    background: transparent;
    border: 0;
    color: var(--text);
    flex: 1 1 auto;
    font: inherit;
    font-size: 13px;
    height: 100%;
    min-height: 0;
    min-width: 0;
    outline: 0;
    padding: 0;
    width: 100%;
}
#myItToolbar select {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--text);
    font: inherit;
    font-size: 13px;
    height: 40px;
    min-height: 40px;
    padding: 0 10px;
    width: 100%;
}
#myItToolbar select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
    outline: 0;
}
@media (max-width: 620px) {
    #myItToolbar {
        grid-template-columns: 1fr;
    }
}

/* Employee IT Support modals */
#myItTicketModal .modal-card,
#myItDetailModal .modal-card {
    display: flex;
    flex-direction: column;
    height: min(760px, calc(100vh - 36px));
    max-height: calc(100vh - 36px);
    max-width: none;
    overflow: hidden;
    padding: 0;
    width: min(860px, calc(100vw - 36px));
}
#myItTicketForm {
    display: flex;
    flex-direction: column;
}
#myItTicketModal .modal-card > header,
#myItDetailModal .modal-card > header {
    align-items: center;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
    display: flex;
    flex: 0 0 auto;
    justify-content: space-between;
    padding: 13px 16px;
    position: relative;
    z-index: 3;
}
#myItTicketModal .modal-card > header > div,
#myItDetailModal .modal-card > header > div {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}
#myItTicketModal .modal-card > header > div > .material-symbols-outlined,
#myItDetailModal .modal-card > header > div > .material-symbols-outlined {
    align-items: center;
    background: var(--primary-soft);
    border-radius: var(--radius-sm);
    color: var(--primary);
    display: flex;
    flex: 0 0 36px;
    font-size: 20px;
    height: 36px;
    justify-content: center;
    width: 36px;
}
#myItTicketModal .modal-card > header h2,
#myItDetailModal .modal-card > header h2 {
    font-size: 17px;
    line-height: 1.25;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#myItTicketModal .modal-card > header .icon-button,
#myItDetailModal .modal-card > header .icon-button {
    flex: 0 0 auto;
    margin-left: 12px;
}
#myItTicketModal .modal-scroll,
#myItDetailModal .modal-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 15px 16px;
    scrollbar-gutter: stable;
}
#myItTicketModal .form-grid {
    align-items: start;
    gap: 12px 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
#myItTicketModal .form-grid .full {
    grid-column: 1 / -1;
}
#myItTicketModal .form-grid label {
    color: var(--muted);
    display: grid;
    font-size: 11px;
    font-weight: 750;
    gap: 6px;
}
#myItTicketModal .form-grid input:not([type="file"]),
#myItTicketModal .form-grid select,
#myItTicketModal .form-grid textarea {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--text);
    font: inherit;
    font-size: 13px;
    outline: 0;
    width: 100%;
}
#myItTicketModal .form-grid input:not([type="file"]),
#myItTicketModal .form-grid select {
    height: 40px;
    padding: 0 11px;
}
#myItTicketModal .form-grid textarea {
    line-height: 1.45;
    min-height: 132px;
    padding: 10px 11px;
    resize: vertical;
}
#myItTicketModal .form-grid input:focus,
#myItTicketModal .form-grid select:focus,
#myItTicketModal .form-grid textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(11, 93, 59, .12);
}
#myItTicketModal .form-grid input[type="file"] {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--text);
    font-size: 12px;
    min-height: 40px;
    padding: 7px 10px;
}
#myItTicketModal .modal-card > footer,
#myItDetailModal .modal-card > footer {
    align-items: center;
    background: var(--surface-low);
    border-top: 1px solid var(--line);
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    justify-content: flex-end;
    margin: 0;
    padding: 12px 16px;
    position: relative;
    z-index: 3;
}
#myItTicketModal .modal-card > footer .button,
#myItDetailModal .modal-card > footer .button {
    min-width: 108px;
}
@media (max-width: 620px) {
    #myItTicketModal .modal-card,
    #myItDetailModal .modal-card {
        height: calc(100vh - 16px);
        max-height: calc(100vh - 16px);
        width: calc(100vw - 16px);
    }
    #myItTicketModal .modal-card > header,
    #myItDetailModal .modal-card > header,
    #myItTicketModal .modal-scroll,
    #myItDetailModal .modal-scroll,
    #myItTicketModal .modal-card > footer,
    #myItDetailModal .modal-card > footer {
        padding-left: 14px;
        padding-right: 14px;
    }
    #myItTicketModal .form-grid {
        grid-template-columns: 1fr;
    }
}
