.attendance-shell{display:grid;gap:1rem;max-width:100%}
.attendance-shell h1,.attendance-shell h2,.attendance-shell h3,.attendance-shell p{margin:0}
.hr-hero{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.25rem 1.4rem;border:1px solid var(--stone-200);border-radius:1rem;background:linear-gradient(135deg,#fff 0%,var(--amber-50) 100%);box-shadow:0 1px 2px rgba(28,25,23,.04)}
.hr-kicker{margin-bottom:.2rem;color:var(--amber-700);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.attendance-rule-strip{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.attendance-rule-strip span{display:inline-flex;align-items:center;min-height:1.9rem;padding:.3rem .65rem;border:1px solid #fde68a;border-radius:999px;background:#fff;color:var(--stone-700);font-size:.72rem;font-weight:750;white-space:nowrap}
.attendance-weekly-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--stone-200);border-radius:1rem;background:#fff;box-shadow:0 1px 2px rgba(28,25,23,.04)}
.attendance-weekly-summary>div{display:grid;gap:.2rem;padding:1rem 1.15rem;border-right:1px solid var(--stone-200)}
.attendance-weekly-summary>div:last-child{border-right:0}
.attendance-weekly-summary span{color:var(--stone-500);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.attendance-weekly-summary strong{color:var(--stone-900);font-size:1.35rem;line-height:1.2}
.attendance-weekly-summary small{color:var(--stone-500);font-size:.72rem}
.hr-card{display:grid;align-content:center;gap:.18rem;min-height:6.5rem;padding:1rem 1.1rem;border:1px solid var(--stone-200);border-radius:.9rem;background:#fff;box-shadow:0 1px 2px rgba(28,25,23,.04)}
.hr-card>span{color:var(--stone-500);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hr-card>strong{color:var(--stone-900);font-size:1.2rem;line-height:1.2}
.hr-card>small{color:var(--stone-500);font-size:.72rem}
.attendance-primary-card{border-color:#fcd34d;background:linear-gradient(145deg,#fff 15%,var(--amber-50) 100%)}
.attendance-alert-row{display:flex;align-items:center;gap:.45rem;min-height:1.8rem;flex-wrap:wrap}
.hr-badge{display:inline-flex;align-items:center;padding:.24rem .55rem;border-radius:999px;background:var(--stone-100);color:var(--stone-700);font-size:.7rem;font-weight:800;line-height:1.2}
.hr-badge.ok{background:#dcfce7;color:#166534}.hr-badge.bad{background:#fee2e2;color:#991b1b}.hr-badge.info{background:var(--sky-100);color:var(--sky-700)}
.hr-panel{overflow:hidden;border:1px solid var(--stone-200);border-radius:1rem;background:#fff;box-shadow:0 1px 2px rgba(28,25,23,.04)}
.hr-muted{color:var(--stone-500)}
.attendance-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid #bae6fd;border-radius:.85rem;background:var(--sky-50)}
.attendance-preview-banner strong,.attendance-preview-banner span{display:block}.attendance-preview-banner span{margin-top:.1rem;color:var(--stone-600);font-size:.78rem}.attendance-preview-form{display:flex;align-items:center;gap:.45rem}
.attendance-history-toolbar{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #e7e5e4}.attendance-history-toolbar h2{flex:0 0 auto;font-size:1rem}.attendance-month-nav{display:flex;align-items:center;gap:.65rem;flex:0 0 auto;margin:0;font-size:.76rem}.attendance-inline-filter{display:flex;align-items:center;gap:.45rem;flex:1 0 auto;margin-left:auto}.attendance-inline-filter .input{width:auto;min-width:7rem}.attendance-inline-filter input[type="date"]{min-width:9rem}
.attendance-month-nav a{color:#ef4b37;font-weight:800}
.attendance-row-details summary{color:#ef4b37;font-size:.78rem;font-weight:850;cursor:pointer}
.attendance-detail-grid{position:absolute;right:1.25rem;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(8rem,1fr));gap:.55rem;width:min(44rem,calc(100vw - 4rem));margin-top:.4rem;padding:.75rem;border:1px solid var(--stone-200);border-radius:.55rem;background:#fff;box-shadow:0 16px 34px rgba(28,25,23,.14)}
.attendance-detail-grid span{display:grid;gap:.08rem;padding:.45rem;border-radius:.4rem;background:var(--stone-50)}
.attendance-detail-grid small{color:var(--stone-500);font-size:.66rem;font-weight:800;text-transform:uppercase}
.attendance-detail-grid strong{color:var(--stone-800);font-size:.8rem}
@media(max-width:760px){.attendance-detail-grid{position:static;grid-template-columns:1fr;width:100%;box-shadow:none}.attendance-history-toolbar{align-items:center}.attendance-month-nav{align-items:center}}
.attendance-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}.attendance-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.attendance-table th,.attendance-table td{padding:.72rem .8rem;border-bottom:1px solid #e7e5e4;text-align:left;vertical-align:middle}.attendance-table tbody tr:hover{background:#fafaf9}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table td{font-size:.82rem;white-space:nowrap}.attendance-email,.attendance-required{display:block;margin-top:.15rem;color:#78716c;font-size:.68rem;font-weight:500}.attendance-table .hr-badge{white-space:nowrap}.hr-table-wrap{overflow:auto;background:#fff}
.hr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.hr-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--stone-100)}
@media(max-width:900px){.hr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-hero{align-items:flex-start;flex-direction:column}.attendance-rule-strip{justify-content:flex-start}}
@media(max-width:560px){.attendance-shell{gap:.75rem}.hr-hero{padding:1rem}.hr-hero h1{font-size:1.25rem}.attendance-rule-strip{gap:.3rem}.attendance-rule-strip span{font-size:.67rem}.attendance-weekly-summary{grid-template-columns:1fr}.attendance-weekly-summary>div{border-right:0;border-bottom:1px solid var(--stone-200)}.attendance-weekly-summary>div:last-child{border-bottom:0}.hr-card{min-height:5.6rem;padding:.8rem}.hr-card>strong{font-size:1rem}.attendance-history-toolbar{gap:.75rem;padding:.75rem}.attendance-preview-banner,.attendance-preview-form{align-items:stretch;flex-direction:column}.hr-grid{grid-template-columns:1fr 1fr}}
