
/* v2.2.15 Live Logs CSS-only/admin-render clamp. Prevent raw selfie images from expanding the page. */
.vesta-live-attendance-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:14px!important;align-items:stretch!important;}
.vesta-live-attendance-person{display:flex!important;align-items:center!important;gap:12px!important;padding:12px!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.04)!important;min-height:104px!important;overflow:hidden!important;}
.vesta-live-attendance-photo{width:88px!important;height:88px!important;min-width:88px!important;max-width:88px!important;min-height:88px!important;max-height:88px!important;flex:0 0 88px!important;border-radius:16px!important;overflow:hidden!important;background:#f1f5f9!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;}
.vesta-live-attendance-photo img{width:88px!important;height:88px!important;min-width:88px!important;max-width:88px!important;min-height:88px!important;max-height:88px!important;object-fit:cover!important;display:block!important;border-radius:16px!important;}
.vesta-live-attendance-info{min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.vesta-live-attendance-info strong{font-size:14px!important;color:#0f172a!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:190px!important;}
.vesta-live-attendance-info span,.vesta-live-attendance-info small{font-size:12px!important;color:#64748b!important;line-height:1.25!important;}
.vesta-live-attendance-meta{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;}
.vesta-live-status{border-radius:999px!important;padding:3px 8px!important;background:#eef2ff!important;color:#3730a3!important;font-weight:800!important;font-size:11px!important;line-height:1.2!important;}
.vesta-live-status--early,.vesta-live-status--on_time{background:#dcfce7!important;color:#166534!important;}
.vesta-live-status--late{background:#ffedd5!important;color:#9a3412!important;}
@media(max-width:640px){.vesta-live-attendance-grid{grid-template-columns:1fr!important}.vesta-live-attendance-photo,.vesta-live-attendance-photo img{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;min-height:72px!important;max-height:72px!important;flex-basis:72px!important}}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: var(--vesta-font); font-size: 12px; line-height: 1.42; color: var(--vesta-text); background: var(--vesta-app-bg); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; height: auto; }
body.vesta-auth-body, body.vesta-app-body { background: var(--vesta-app-bg); }
body, body.vesta-auth-body, body.vesta-app-body, .vesta-app-shell, .vesta-app-shell *, .vesta-page-shell, .vesta-page-shell *, .vesta-auth-shell, .vesta-auth-shell * { font-family: var(--vesta-font) !important; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

.vesta-icon{width:18px;height:18px;display:block;stroke-width:1.85}.vesta-icon--feature{width:20px;height:20px}.vesta-icon--action{width:20px;height:20px}.vesta-icon--empty{width:24px;height:24px}.vesta-icon--sidebar{width:18px;height:18px}.vesta-icon--control{width:18px;height:18px}

.vesta-inline-alert{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(16,24,40,.08);border-radius:12px;background:#f8fafc}
.vesta-inline-alert--error{background:#fef2f2;border-color:rgba(185,28,28,.18)}
.vesta-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.vesta-form-field{display:flex;flex-direction:column;gap:6px}
.vesta-form-field input,.vesta-form-field select{width:100%;padding:10px 12px;border:1px solid rgba(15,23,42,.12);border-radius:10px;background:#fff}
.vesta-form-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.vesta-help-text{font-size:12px;opacity:.7}

.vesta-page-shell p,.vesta-page-shell li,.vesta-page-shell td,.vesta-page-shell th,.vesta-page-shell label,.vesta-page-shell input,.vesta-page-shell select,.vesta-page-shell textarea,.vesta-page-shell button{font-size:12px;}
.vesta-page-shell h2{font-size:14px;}
.vesta-page-shell h3{font-size:12px;}
.vesta-help-text{font-size:10.5px;}
.vesta-list-clean{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.vesta-list-clean li{margin:0;}
.vesta-page-grid{display:grid;gap:12px;}
.vesta-page-grid--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.vesta-page-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.vesta-page-grid--cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.vesta-compact-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
@media (max-width: 900px){.vesta-page-grid--two,.vesta-page-grid--three{grid-template-columns:1fr;}}

.vesta-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}.vesta-filter-grid .vesta-form-actions{margin-top:0}.vesta-card--tight .vesta-card__body{padding:12px 14px}.vesta-qr-download-card{display:grid;gap:10px;justify-items:center}.vesta-kpi-card small{display:block;line-height:1.35}.vesta-table td code,.vesta-help-text code{font-size:12px}@media (max-width:980px){.vesta-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:640px){.vesta-filter-grid{grid-template-columns:1fr;}}

.vesta-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.vesta-summary-list div{padding:10px 12px;border:1px solid var(--vesta-divider);border-radius:12px;background:#fff;}
.vesta-summary-list span{display:block;font-size:10.5px;color:var(--vesta-text-2);margin-bottom:4px;}
.vesta-summary-list strong{font-size:14px;}
.vesta-page-grid--balanced{align-items:start;}
@media (max-width:767px){.vesta-summary-list{grid-template-columns:1fr;}}

.vesta-qr-page .vesta-card__body{padding-top:18px;padding-bottom:20px}.vesta-qr-page code{font-size:11px;word-break:break-all}.vesta-table--logs th,.vesta-table--logs td{white-space:nowrap}.vesta-dashboard-banner h2{font-size:16px;margin:0 0 4px}.vesta-dashboard-banner p{margin:0;font-size:12px;color:var(--vesta-text-2)}.vesta-kpi-card__value{font-size:24px}.vesta-kpi-card__label{font-size:11px}.vesta-table thead th{font-size:11px}.vesta-table tbody td{font-size:12px}.vesta-card__header h3{font-size:13px}.vesta-page-header__title{font-size:15px}.vesta-page-header__subtitle{font-size:12px}@media print{body.vesta-app-body *{visibility:hidden!important}.vesta-print-only-qr,.vesta-print-only-qr *{visibility:visible!important}.vesta-print-only-qr{position:absolute;left:0;top:0;width:100%;margin:0!important;padding:0!important}.vesta-qr-actions,.vesta-topbar,.vesta-sidebar,.vesta-page-header,.vesta-help-text{display:none!important}}

.vesta-staff-status-pill{font-family:var(--vesta-font)!important;font-weight:700;letter-spacing:.01em;}

/* Admin attendance security thumbnails: strict compact view-only sizing. */
.vesta-table--logs td .vesta-admin-selfie-thumb{display:inline-flex!important;align-items:center!important;gap:6px!important;text-decoration:none!important;font-weight:700!important;font-size:12px!important;line-height:1!important;color:#475569!important;vertical-align:middle!important;white-space:nowrap!important;}
.vesta-table--logs td .vesta-admin-selfie-thumb img{width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important;min-height:50px!important;max-height:50px!important;object-fit:cover!important;border-radius:12px!important;border:1px solid rgba(15,23,42,.12)!important;background:#f1f5f9!important;display:block!important;}
.vesta-table--logs td .vesta-security-cell{display:flex!important;align-items:center!important;gap:8px!important;max-width:210px!important;min-width:0!important;}
.vesta-table--logs td .vesta-security-meta{display:flex!important;flex-direction:column!important;gap:2px!important;font-size:11px!important;line-height:1.25!important;color:#64748b!important;min-width:0!important;}
.vesta-table--logs td .vesta-security-meta span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.vesta-table--logs td:nth-child(11){width:220px!important;max-width:220px!important;}

/* v2.2.9 hard clamp for admin attendance log selfie thumbnails */
.vesta-table--logs th:nth-child(11), .vesta-table--logs td:nth-child(11){width:120px!important;max-width:120px!important;min-width:110px!important;overflow:hidden!important;vertical-align:middle!important;}
.vesta-table--logs .vesta-security-cell{display:flex!important;align-items:center!important;gap:8px!important;max-width:120px!important;overflow:hidden!important;}
.vesta-table--logs .vesta-admin-selfie-thumb{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:50px!important;height:50px!important;max-width:50px!important;min-width:50px!important;overflow:hidden!important;line-height:1!important;}
.vesta-table--logs .vesta-admin-selfie-thumb img{width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important;min-height:50px!important;max-height:50px!important;object-fit:cover!important;border-radius:10px!important;display:block!important;}
.vesta-table--logs .vesta-security-meta{font-size:10px!important;line-height:1.25!important;max-width:58px!important;color:#64748b!important;overflow:hidden!important;}
.vesta-table--logs .vesta-security-meta span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
