/* Attendance owns its density. Scoped overrides also neutralize the legacy shell’s important typography and button padding rules. */
body.app-ready main #hrAttendancePage.page{min-width:0;max-width:100%;overflow-x:hidden}
#bcpAttendance{display:block;width:100%;max-width:100%;min-width:0;color:#283c54;padding:2px 0 12px!important;box-sizing:border-box}
#bcpAttendance *,#bcpAttendanceDialog *{box-sizing:border-box}
#bcpAttendance [hidden],#bcpAttendance[hidden],#bcpAttendanceDialog [hidden]{display:none!important}
#bcpAttendance button,#bcpAttendanceDialog button{font-family:inherit;cursor:pointer;border:1px solid #d7e0eb;background:#fff;color:#305775;border-radius:7px!important;box-shadow:none!important;font-size:12px!important;font-weight:600!important;padding:8px 12px!important;line-height:1.4!important;margin:0;min-height:34px;white-space:normal}
#bcpAttendance button:disabled,#bcpAttendanceDialog button:disabled{opacity:.5;cursor:default}
#bcpAttendance :focus-visible,#bcpAttendanceDialog :focus-visible{outline:2px solid #397fc6;outline-offset:3px}
#bcpAttendance button.att-primary,#bcpAttendanceDialog button.att-primary{background:#194e7c;border-color:#194e7c;color:#fff}
#bcpAttendance .att-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:0!important;background:transparent;color:#283c54;position:static;top:auto;z-index:auto;border:0;box-shadow:none!important;min-height:0}
#bcpAttendance .att-heading{min-width:0}
#bcpAttendance h2{font-size:23px!important;line-height:1.25!important;color:#173a5e;letter-spacing:-.35px!important;margin:0 0 4px!important}
#bcpAttendance .att-head p{margin:0;font-size:12px!important;line-height:1.5!important;color:#708095}
#bcpAttendance .att-head-actions{display:flex;gap:8px;flex-wrap:wrap}
#bcpAttendance .att-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #dce5ee;margin-bottom:12px;flex-wrap:wrap}
#bcpAttendance .att-tabs{display:flex;gap:22px;flex-wrap:wrap;min-width:0}
#bcpAttendance .att-tabs button{position:relative;border:0;border-radius:0!important;background:transparent;padding:8px 1px 11px!important;color:#6a7c91;box-shadow:none!important;font-size:13px!important;min-height:36px}
#bcpAttendance .att-tabs button[aria-selected=true]{color:#205987;box-shadow:inset 0 -3px #3274aa!important}
#bcpAttendance .att-tabs button span{display:inline-block;border-radius:5px!important;background:#fff0cf;color:#9c6a1c;padding:1px 6px!important;font-size:11px!important;margin-left:4px}
#bcpAttendance .att-rules{border:0;background:transparent;color:#5d7188;font-weight:500!important;padding:8px 0!important}
#bcpAttendance .att-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
#bcpAttendance .att-kpi{display:flex;gap:11px;align-items:center;border:1px solid #e1e7ef;border-radius:9px!important;background:#fff;padding:13px 15px!important;min-width:0;min-height:72px;box-shadow:none!important}
#bcpAttendance .att-kpi-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px!important;background:#eaf6f1;color:#34846a}
#bcpAttendance .att-kpi-icon.bad{background:#fbefef;color:#bc6266}#bcpAttendance .att-kpi-icon.warn{background:#fff5df;color:#b58a36}
#bcpAttendance .att-kpi-icon svg{width:21px;height:21px}
#bcpAttendance .att-kpi>div{min-width:0;flex:1}#bcpAttendance .att-kpi>div>span{font-size:12px!important;font-weight:600!important;color:#526a83;line-height:1.35!important;display:block}
#bcpAttendance .att-kpi strong{display:block;flex:none;font-size:25px!important;line-height:1.2!important;font-weight:650!important;color:#233d59;margin:0;font-variant-numeric:tabular-nums}
#bcpAttendance .att-kpi small{font-size:10px!important;color:#8491a2;line-height:1.4!important;display:block;margin-top:4px}
#bcpAttendance .att-filters{display:grid;grid-template-columns:182px minmax(136px,.85fr) minmax(125px,1fr) minmax(170px,1.1fr) minmax(145px,1.1fr) auto;align-items:end;gap:10px;margin-bottom:13px;padding:12px!important;background:#fff;border:1px solid #e1e7ef;border-radius:9px!important}
#bcpAttendance .att-period-field{display:flex;flex-direction:column;gap:5px;min-width:0}
#bcpAttendance .att-period-field>span{font-size:11px!important;font-weight:500!important;color:#718196;line-height:1.4!important}
#bcpAttendance .att-filters>button{height:36px}
#bcpAttendance .att-filters input,#bcpAttendance .att-filters select{height:36px}
#bcpAttendance .att-period{display:flex;height:36px;border:1px solid #d9e2ec;border-radius:7px!important;padding:3px!important;background:#edf2f7;min-width:0}
#bcpAttendance .att-period button{flex:1;border:0;background:transparent;color:#74849a;padding:3px 9px!important;min-height:28px;border-radius:4px!important;font-weight:500!important}
#bcpAttendance .att-period button[aria-pressed=true]{background:#fff;color:#244d74;box-shadow:0 1px 3px #16345715!important}
#bcpAttendance label,#bcpAttendanceDialog label{display:flex;flex-direction:column;gap:5px;font-size:11px!important;color:#718196;font-weight:500!important;min-width:0;margin:0;line-height:1.4!important}
#bcpAttendance input,#bcpAttendance select,#bcpAttendanceDialog input,#bcpAttendanceDialog select,#bcpAttendanceDialog textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #d7e1ec;border-radius:6px!important;background:#fff;color:#314964;box-shadow:none!important;font-family:inherit;font-size:12px!important;line-height:1.4!important;padding:8px 10px!important;margin:0;min-height:36px;box-sizing:border-box}
#bcpAttendance input::placeholder,#bcpAttendanceDialog input::placeholder,#bcpAttendanceDialog textarea::placeholder{color:#9ba7b6}
#bcpAttendance .att-context{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#60758c;font-size:12px!important;margin:0 0 11px}
#bcpAttendance .att-source{font-size:11px!important;color:#7b899b}
#bcpAttendance .att-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;border:1px solid #e0e7ef;border-radius:9px!important;background:#fff}
body.app-ready main #hrAttendancePage.page .att-table{width:100%;min-width:880px!important;border-collapse:separate;border-spacing:0;table-layout:auto!important;margin:0}
body.app-ready main #hrAttendancePage.page .att-table th,body.app-ready main #hrAttendancePage.page .att-table td{font-size:12px!important;padding:12px 14px!important;line-height:1.45!important;text-align:left;vertical-align:middle;white-space:normal;max-width:220px;overflow-wrap:anywhere;border:0;border-bottom:1px solid #e9eef4;color:#455970}
body.app-ready main #hrAttendancePage.page .att-table th{font-size:10px!important;letter-spacing:.035em;text-transform:uppercase;font-weight:650!important;color:#6f8095;background:#f5f8fc;white-space:nowrap;padding-top:11px!important;padding-bottom:11px!important}
body.app-ready main #hrAttendancePage.page .att-table td:first-child{min-width:170px}
body.app-ready main #hrAttendancePage.page .att-table td.att-time{font-variant-numeric:tabular-nums;white-space:nowrap}
body.app-ready main #hrAttendancePage.page .att-table tbody tr:nth-child(even) td{background:#fafcfe}
body.app-ready main #hrAttendancePage.page .att-table tr:last-child td{border-bottom:0}
#bcpAttendance .att-table strong{color:#294560;font-size:12px!important;font-weight:600!important}
#bcpAttendance .att-table small{display:block;color:#8a96a6;font-size:10px!important;line-height:1.4!important;margin-top:3px}
#bcpAttendance .att-table td:last-child{min-width:92px}
#bcpAttendance .att-table button{border-color:#dce6f0;color:#376b9a;font-size:11px!important;padding:5px 11px!important;min-height:29px;white-space:nowrap}
#bcpAttendance .att-type{color:#75869a;font-size:11px!important}
#bcpAttendance .att-badge,#bcpAttendanceDialog .att-badge{display:inline-block;border-radius:5px!important;padding:4px 8px!important;font-size:10px!important;font-weight:600!important;line-height:1.4!important;color:#6e7f91;background:#edf2f7;white-space:normal}
#bcpAttendance .att-badge.live,#bcpAttendance .att-badge.good,#bcpAttendanceDialog .att-badge.live,#bcpAttendanceDialog .att-badge.good{background:#eaf6ef;color:#468769}
#bcpAttendance .att-badge.warn,#bcpAttendanceDialog .att-badge.warn{background:#fff4dd;color:#a27727}
#bcpAttendance .att-badge.bad,#bcpAttendanceDialog .att-badge.bad{background:#fbeef0;color:#b2606c}
#bcpAttendance .att-excluded{opacity:.7}
body.app-ready main #hrAttendancePage.page .att-table td.att-empty{padding:42px 20px!important;text-align:center;max-width:none}
#bcpAttendance .att-empty p{margin:7px auto 0;font-size:12px!important;color:#8391a2}
#bcpAttendance .att-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0!important;color:#7e8c9d;font-size:11px!important}
#bcpAttendance .att-footer>div{display:flex;gap:12px;align-items:center}
#bcpAttendance .att-footer button{font-size:11px!important;padding:5px 11px!important;min-height:29px}
#bcpAttendance .att-note{font-size:11px!important;color:#8995a6;line-height:1.6!important;margin:5px 0 0;max-width:100%}
#bcpAttendance .att-summary-note{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid #dae5f0;border-radius:8px!important;background:#f0f6fb;padding:14px 16px!important;margin-bottom:14px;color:#42627f}
#bcpAttendance .att-summary-note>div{flex:1;min-width:200px}#bcpAttendance .att-summary-note strong{font-size:12px!important}#bcpAttendance .att-summary-note p{font-size:12px!important;line-height:1.5!important;margin:5px 0 0}
#bcpAttendanceDialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-width:680px;max-height:calc(100dvh - 24px);margin:auto;padding:0!important;overflow:auto;border:1px solid #dce5ef;border-radius:13px!important;background:#fff;color:#334e68;box-shadow:0 20px 70px #132f4b40!important}
#bcpAttendanceDialog::backdrop{background:#172d4580}
#bcpAttendanceDialog header{background:#fff;color:#334e68;position:static;top:auto;z-index:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px!important;border-bottom:1px solid #e5ebf2}
#bcpAttendanceDialog header span{font-size:10px!important;font-weight:650!important;letter-spacing:.08em;color:#7c8ba0}#bcpAttendanceDialog h2{font-size:21px!important;line-height:1.3!important;margin:5px 0 0;color:#294b6f;overflow-wrap:anywhere}
#bcpAttendanceDialog header button{font-size:22px!important;padding:2px 10px!important}
#bcpAttendanceDialog .att-dialog-body{padding:18px 22px!important}
#bcpAttendanceDialog fieldset{border:0;padding:0!important;margin:0;min-width:0}
#bcpAttendanceDialog fieldset:disabled{opacity:.75}
#bcpAttendanceDialog .att-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#bcpAttendanceDialog .att-wide{grid-column:1/-1}
#bcpAttendanceDialog label{font-size:12px!important}
#bcpAttendanceDialog input,#bcpAttendanceDialog select,#bcpAttendanceDialog textarea{font-size:13px!important}
#bcpAttendanceDialog textarea{resize:vertical}
#bcpAttendanceDialog .att-check{flex-direction:row;align-items:center;align-self:center;line-height:1.5!important}
#bcpAttendanceDialog .att-check input{width:17px;height:17px;min-height:17px;flex:none;accent-color:#1d629e}
#bcpAttendanceDialog .att-dialog-note{font-size:12px!important;line-height:1.6!important;color:#6f8296;margin:0 0 16px}
#bcpAttendanceDialog #attHoursPreview{margin-top:14px;margin-bottom:0}
#bcpAttendanceDialog footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #e5ebf2;padding:14px 22px!important;font-size:12px!important}
#bcpAttendanceDialog #attSaveError{flex-basis:100%;color:#a34545;font-size:12px!important;line-height:1.6!important;margin:0;overflow-wrap:anywhere}
#bcpAttendanceDialog #attSaveError:empty{display:none}
#bcpAttendanceDialog .att-rule-list section+section{border-top:1px solid #e5ebf2;margin-top:16px;padding-top:16px}
#bcpAttendanceDialog h3{font-size:14px!important;margin:9px 0;color:#335c7e}
#bcpAttendanceDialog .att-rule-list p{font-size:13px!important;line-height:1.7!important;margin:5px 0;color:#698095}
#bcpAttendanceDialog .att-history{font-size:12px!important;border-top:1px solid #e3eaf2;margin-top:17px;padding-top:15px;color:#5f7891}
#bcpAttendanceDialog .att-history summary{cursor:pointer}#bcpAttendanceDialog .att-history ol{padding-left:20px}#bcpAttendanceDialog .att-history li{margin:12px 0;overflow-wrap:anywhere}#bcpAttendanceDialog .att-history p{margin:4px 0}#bcpAttendanceDialog .att-history small{color:#8192a4}
@media(max-width:1200px){#bcpAttendance .att-filters{grid-template-columns:repeat(3,minmax(0,1fr))}#bcpAttendance .att-kpi{padding:12px!important;gap:9px}}
@media(max-width:700px){
 #bcpAttendance .att-kpis{gap:8px}
 #bcpAttendance .att-kpi{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px!important;gap:7px;min-height:0}
 #bcpAttendance .att-kpi-icon{width:28px;height:28px;border-radius:7px!important}
 #bcpAttendance .att-kpi-icon svg{width:19px;height:19px}
 #bcpAttendance .att-kpi>div{grid-column:1/-1;grid-row:2}
 #bcpAttendance .att-kpi strong{grid-column:2;grid-row:1;font-size:23px!important}
 #bcpAttendance .att-kpi>div>span{font-size:11px!important}
 #bcpAttendance .att-kpi small{font-size:10px!important}
 #bcpAttendance .att-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px!important}
 #bcpAttendance .att-period-field{grid-column:1/-1}
 #bcpAttendance .att-search{grid-column:1/-1}
 #bcpAttendance .att-tabs{gap:14px}
 #bcpAttendance .att-nav{gap:4px}
 #bcpAttendance .att-rules{margin-bottom:6px}
 #bcpAttendance .att-head{gap:12px}
 #bcpAttendance .att-head-actions{width:100%}
 #bcpAttendance .att-head-actions button{flex:1}
 #bcpAttendanceDialog .att-form-grid{grid-template-columns:1fr}
 #bcpAttendanceDialog header,#bcpAttendanceDialog .att-dialog-body,#bcpAttendanceDialog footer{padding:15px!important}
}
@media(max-width:450px){#bcpAttendance .att-kpi-icon{display:none}#bcpAttendance .att-kpi strong{grid-column:1/-1;justify-self:start}}
@media(pointer:coarse),(max-width:767px){
 #bcpAttendance button,#bcpAttendance .att-table button,#bcpAttendance .att-footer button,#bcpAttendance .att-period button,#bcpAttendanceDialog button{min-height:44px}
 #bcpAttendance .att-period{height:52px}
 #bcpAttendance .att-filters>button,#bcpAttendance .att-filters input,#bcpAttendance .att-filters select{height:52px}
 #bcpAttendance input,#bcpAttendance select,#bcpAttendanceDialog input,#bcpAttendanceDialog select,#bcpAttendanceDialog textarea{font-size:16px!important;min-height:44px}
 body.app-ready main #hrAttendancePage.page .att-table td{font-size:14px!important}
 #bcpAttendance .att-table strong{font-size:14px!important}
 #bcpAttendance .att-table small,#bcpAttendance .att-type,#bcpAttendance .att-badge{font-size:12px!important}
 #bcpAttendanceDialog .att-check input{min-height:20px;height:20px;width:20px}
}
