.attendance-content{display:grid;gap:18px}.page-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.page-kicker{font-size:9px;letter-spacing:.16em;color:#ad8650;font-weight:900}.page-intro h2{font:800 27px Manrope;margin:7px 0}.page-intro p{margin:0;color:var(--muted);font-size:12px}.intro-actions,.toolbar-actions{display:flex;gap:9px}.primary-action,.secondary-action{border:0;border-radius:11px;padding:11px 14px;font:800 10px DM Sans;cursor:pointer}.primary-action{background:#174b3e;color:white}.secondary-action{background:#fff;border:1px solid var(--line);color:#214b40}.compact{padding:9px 11px}.summary-grid.six{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;display:grid;gap:3px}.summary-card span,.summary-card small{font-size:9px;color:var(--muted)}.summary-card strong{font:800 22px Manrope}.manager-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.session-selector{display:grid;grid-template-columns:1fr 1fr .7fr 1.4fr;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.session-selector label{display:grid;gap:6px}.session-selector label span{font-size:9px;font-weight:800;color:var(--muted)}select,input{min-height:40px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff;font:500 11px DM Sans}.session-state{background:#f6f7f3;border-radius:13px;padding:10px 13px;display:grid;gap:3px}.session-state>span{font-size:8px;font-weight:900;color:#a1763e}.session-state strong{font-size:11px}.session-state small{font-size:9px;color:var(--muted)}.attendance-toolbar{display:flex;justify-content:space-between;gap:12px;margin:15px 0}.search-box{flex:1;max-width:440px;display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;padding-left:11px}.search-box input{border:0;width:100%;outline:0}.bulk-bar{background:#173f35;color:white;border-radius:12px;padding:9px 12px;display:flex;align-items:center;gap:8px;margin-bottom:10px}.bulk-bar button{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:white;border-radius:8px;padding:7px 9px;font-size:9px}.bulk-bar strong{margin-right:auto;font-size:10px}.att-head,.att-row{display:grid;grid-template-columns:30px 1.4fr .8fr .55fr .55fr .75fr .8fr;align-items:center;gap:10px}.att-head{background:#faf9f6;border:1px solid var(--line);border-radius:11px 11px 0 0;padding:10px;font-size:8px;font-weight:900;color:#7a847f;text-transform:uppercase}.att-row{padding:11px 10px;border:1px solid var(--line);border-top:0;font-size:10px}.att-row:last-child{border-radius:0 0 11px 11px}.person strong{display:block}.person span{font-size:9px;color:var(--muted)}.status-pill{display:inline-flex;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:900;background:#eceeea}.status-pill[data-status="HADIR"]{background:#e4f2e9;color:#246347}.status-pill[data-status="LEWAT"]{background:#fff1d8;color:#996414}.status-pill[data-status="TIDAK_HADIR"]{background:#f8e6e3;color:#9b4438}.status-pill[data-status="BELUM"]{background:#eceeea;color:#68716d}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.row-actions button{border:1px solid var(--line);background:white;border-radius:8px;padding:6px 7px;font-size:8px}.history-panel{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.history-log{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid #eeeae2;font-size:9px}.history-log span{color:var(--muted)}.history-empty{padding:20px;text-align:center;color:var(--muted);font-size:10px}.scan-modal{width:min(720px,calc(100% - 24px));max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.scanner-stage{height:380px;background:#0c211c;position:relative;overflow:hidden}.scanner-stage video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;width:210px;height:210px;border:2px solid #f1dfad;border-radius:18px;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px rgba(0,0,0,.22)}.scanner-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;color:white;gap:10px;text-align:center}.scanner-placeholder strong{font-size:50px}.scanner-placeholder span{font-size:10px}.scan-result{margin:14px;padding:12px;border-radius:12px;background:#f5f6f2;display:grid;gap:3px}.scan-result strong{font-size:13px}.scan-result span{font-size:9px;color:var(--muted)}.manual-scan{display:flex;gap:8px;padding:0 14px 14px}.manual-scan input{flex:1}.empty-manager{text-align:center;padding:35px;color:var(--muted)}.empty-manager h3{color:var(--ink)}
@media(max-width:1100px){.summary-grid.six{grid-template-columns:repeat(3,1fr)}.session-selector{grid-template-columns:1fr 1fr}.session-state{grid-column:1/-1}.att-head{display:none}.att-row{grid-template-columns:28px 1fr auto;border-top:1px solid var(--line);border-radius:12px;margin-bottom:8px}.att-row>span:nth-child(3),.att-row>span:nth-child(4),.att-row>span:nth-child(5){display:none}.att-row .row-actions{grid-column:2/-1}}
@media(max-width:650px){.page-intro,.attendance-toolbar{align-items:stretch;flex-direction:column}.intro-actions,.toolbar-actions,.manual-scan{flex-wrap:wrap}.intro-actions>*{flex:1}.summary-grid.six{grid-template-columns:1fr 1fr}.session-selector{grid-template-columns:1fr}.session-state{grid-column:auto}.scanner-stage{height:310px}.manual-scan input{flex-basis:100%}.bulk-bar{overflow:auto}.att-row{grid-template-columns:26px 1fr}.att-row>.status-pill{grid-column:2}.att-row .row-actions{grid-column:2}.summary-card{padding:12px}}
