
/* 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}}


/* Admin-only security visibility: small read-only selfie evidence, no engine changes. */
.vesta-live-attendance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.vesta-live-attendance-person{display:flex;gap:12px;align-items:center;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);min-width:0;}
.vesta-live-attendance-photo{width:76px;height:76px;border-radius:16px;overflow:hidden;flex:0 0 76px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#64748b;font-size:12px;font-weight:700;}
.vesta-live-attendance-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.vesta-live-attendance-info{min-width:0;display:flex;flex-direction:column;gap:4px;}
.vesta-live-attendance-info strong{font-size:14px;color:#0f172a;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vesta-live-attendance-info span,.vesta-live-attendance-info small{font-size:12px;color:#64748b;line-height:1.25;}
.vesta-live-attendance-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.vesta-live-status{border-radius:999px;padding:3px 8px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:11px!important;}
.vesta-live-status--early,.vesta-live-status--on_time{background:#dcfce7;color:#166534;}
.vesta-live-status--late{background:#ffedd5;color:#9a3412;}
.vesta-admin-selfie-thumb{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:800;color:#0f172a;}
.vesta-admin-selfie-thumb img{width:42px;height:42px;object-fit:cover;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#f1f5f9;display:block;}
@media (max-width:640px){.vesta-live-attendance-grid{grid-template-columns:1fr}.vesta-live-attendance-photo{width:64px;height:64px;flex-basis:64px}}

/* 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;}

/* ==========================================================================\n   Staff Dashboard UI v3.8.13\n   Dashboard-scoped visual layer. No other user or management route is altered.\n   ========================================================================== */
body.vesta-dashboard-user-ui {
  --vud-orange:#f36b0a;
  --vud-orange-dark:#d95800;
  --vud-ink:#111827;
  --vud-muted:#5f6d83;
  --vud-line:#e9e5df;
  --vud-surface:#ffffff;
  --vud-bg:#faf9f7;
}
body.vesta-dashboard-user-ui .vesta-page-shell{background:var(--vud-bg);padding:20px 24px 32px;}
body.vesta-dashboard-user-ui .vesta-user-dashboard{display:flex;flex-direction:column;gap:16px;max-width:1600px;margin:0 auto;}

/* Dashboard-only shell refinement */
body.vesta-dashboard-user-ui .vesta-sidebar{background:linear-gradient(180deg,#101722 0%,#0b111a 100%);}
body.vesta-dashboard-user-ui .vesta-sidebar__brand{padding-top:24px;padding-bottom:22px;}
body.vesta-dashboard-user-ui .vesta-sidebar__logo-mark{background:linear-gradient(145deg,#ff8a22,#f05a00);border-radius:14px;box-shadow:0 8px 20px rgba(239,98,12,.2);}
body.vesta-dashboard-user-ui .vesta-sidebar__item{border-radius:10px;min-height:44px;}
body.vesta-dashboard-user-ui .vesta-sidebar__item.is-active{background:linear-gradient(90deg,rgba(244,105,12,.19),rgba(244,105,12,.09));color:#fff;}
body.vesta-dashboard-user-ui .vesta-sidebar__item.is-active .vesta-icon{color:var(--vud-orange);}
body.vesta-dashboard-user-ui .vesta-topbar{background:rgba(255,255,255,.97);border-bottom:1px solid #ece9e5;}
body.vesta-dashboard-user-ui .vesta-topbar__title-wrap .vesta-breadcrumb{display:none;}
body.vesta-dashboard-user-ui .vesta-topbar__title{font-size:20px;font-weight:800;color:var(--vud-ink);}
body.vesta-dashboard-user-ui .vesta-search{border-radius:999px;background:#fff;border:1px solid #e8e5e0;box-shadow:none;}
body.vesta-dashboard-user-ui .vesta-user-chip{border:0;background:transparent;padding-right:2px;}
body.vesta-dashboard-user-ui .vesta-topbar__create{display:none;}

/* Hero */
.vesta-user-dashboard__hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.72fr) minmax(280px,.76fr);align-items:center;gap:22px;min-height:154px;padding:24px 28px;background:linear-gradient(110deg,#fff 0%,#fffdf9 58%,#fff1e2 100%);border:1px solid #eee8e1;border-radius:18px;overflow:hidden;box-shadow:0 2px 5px rgba(15,23,42,.025);}
.vesta-user-dashboard__hero:after{content:"";position:absolute;right:-60px;bottom:-95px;width:380px;height:180px;border-radius:50%;background:repeating-radial-gradient(ellipse at center,rgba(243,107,10,.075) 0 2px,transparent 3px 9px);opacity:.6;transform:rotate(-7deg);pointer-events:none;}
.vesta-user-dashboard__welcome,.vesta-user-dashboard__status-card,.vesta-user-dashboard__clock-card{position:relative;z-index:1;}
.vesta-user-dashboard__welcome h1{margin:0 0 8px;font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.025em;color:var(--vud-ink);}
.vesta-user-dashboard__welcome p{margin:0;color:#506078;font-size:14px;}
.vesta-user-dashboard__date-row{display:flex;align-items:center;gap:14px;margin-top:22px;font-size:13px;color:#263247;}
.vesta-user-dashboard__date-row span{display:flex;align-items:center;gap:8px;}
.vesta-user-dashboard__date-row .vesta-icon{width:17px;height:17px;color:var(--vud-orange);}
.vesta-user-dashboard__date-row i{width:1px;height:18px;background:#ded9d2;}
.vesta-user-dashboard__date-row b{font-weight:600;}
.vesta-user-dashboard__status-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:18px 22px;background:rgba(255,255,255,.78);border:1px solid #ece5de;border-radius:15px;backdrop-filter:blur(4px);}
.vesta-user-dashboard__status-card>span{font-size:12px;color:#667085;margin-bottom:7px;}
.vesta-user-dashboard__status-card>strong{font-size:20px;line-height:1.15;font-weight:800;color:#243146;}
.vesta-user-dashboard__status-card>strong.is-late,.vesta-user-dashboard__clock-card span.is-late{color:#d33d21;}
.vesta-user-dashboard__status-card>strong.is-early,.vesta-user-dashboard__clock-card span.is-early{color:#16844e;}
.vesta-user-dashboard__status-card>small{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:#425067;}
.vesta-user-dashboard__status-card>small i{width:8px;height:8px;border-radius:50%;background:var(--vud-orange);box-shadow:0 0 0 4px rgba(243,107,10,.1);}
.vesta-user-dashboard__clock-card{display:flex;align-items:center;justify-content:flex-end;gap:18px;}
.vesta-user-dashboard__clock-icon{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.82);border:1px solid #f1e5d8;color:var(--vud-orange);}
.vesta-user-dashboard__clock-icon .vesta-icon{width:42px;height:42px;}
.vesta-user-dashboard__clock-card>div:last-child{display:flex;flex-direction:column;min-width:145px;}
.vesta-user-dashboard__clock-card strong{font-size:35px;line-height:1;font-weight:850;letter-spacing:-.025em;color:var(--vud-ink);white-space:nowrap;}
.vesta-user-dashboard__clock-card span{margin-top:9px;font-size:14px;font-weight:700;color:#475569;}

/* Metric strip */
.vesta-user-dashboard__metrics{margin:0;}
body.vesta-dashboard-user-ui .vesta-user-dashboard__metrics .vesta-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
body.vesta-dashboard-user-ui .vesta-user-metric-card{position:relative;min-height:122px;padding:17px 16px;border:1px solid var(--vud-line);border-radius:15px;background:#fff;box-shadow:0 2px 4px rgba(15,23,42,.02);overflow:hidden;}
body.vesta-dashboard-user-ui .vesta-user-metric-card .vesta-kpi-card__label{font-size:12px;color:#5d6980;}
body.vesta-dashboard-user-ui .vesta-user-metric-card .vesta-kpi-card__value{display:block;margin-top:13px;font-size:25px;line-height:1;font-weight:500;color:#111827;}
body.vesta-dashboard-user-ui .vesta-user-metric-card small{display:block;margin-top:12px;padding-right:40px;font-size:10.5px;color:#58657a;}
body.vesta-dashboard-user-ui .vesta-user-metric-card__icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:39px;height:39px;border-radius:11px;}
body.vesta-dashboard-user-ui .vesta-user-metric-card__icon .vesta-icon{width:21px;height:21px;}
body.vesta-dashboard-user-ui .vesta-user-metric-card__icon.is-green{background:#eafaf0;color:#16a05d;}body.vesta-dashboard-user-ui .vesta-user-metric-card__icon.is-blue{background:#eef4ff;color:#3274e8;}body.vesta-dashboard-user-ui .vesta-user-metric-card__icon.is-orange{background:#fff2e8;color:#ef650b;}body.vesta-dashboard-user-ui .vesta-user-metric-card__icon.is-violet{background:#f3efff;color:#7650e8;}body.vesta-dashboard-user-ui .vesta-user-metric-card__icon.is-red{background:#fff0ef;color:#e6483e;}

/* Scan call to action */
.vesta-user-dashboard__scan-card{display:grid;grid-template-columns:minmax(330px,1fr) minmax(470px,1.25fr);align-items:center;gap:24px;padding:18px 22px;background:#fff;border:1.5px solid #ff9552;border-radius:16px;box-shadow:0 2px 5px rgba(15,23,42,.02);}
.vesta-user-dashboard__scan-copy{display:flex;align-items:center;gap:20px;}
.vesta-user-dashboard__scan-icon{display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;border-radius:15px;background:linear-gradient(145deg,#ff8840,#f05a00);color:#fff;box-shadow:0 10px 24px rgba(238,95,9,.18);}
.vesta-user-dashboard__scan-icon .vesta-icon{width:31px;height:31px;}
.vesta-user-dashboard__scan-copy h2{margin:0 0 5px;font-size:19px;font-weight:800;color:var(--vud-ink);}
.vesta-user-dashboard__scan-copy p{margin:0;max-width:400px;font-size:12.5px;line-height:1.45;color:#536178;}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0;}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;width:auto;min-height:46px;padding:0 22px;border-radius:11px;font-size:13px;font-weight:750;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button--primary{min-width:250px;background:linear-gradient(180deg,#ff7611 0%,#ed6406 100%);border-color:#e75e03;color:#fff;box-shadow:0 7px 16px rgba(224,89,0,.22),inset 0 1px 0 rgba(255,255,255,.22);}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button--secondary{min-width:190px;background:#fff;color:#121826;border:1px solid #d5d8de;box-shadow:0 3px 9px rgba(15,23,42,.07);cursor:pointer;}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button:hover{transform:translateY(-1px);}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button--primary:hover{box-shadow:0 9px 20px rgba(224,89,0,.28),inset 0 1px 0 rgba(255,255,255,.22);}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button--secondary:hover{border-color:#f07a2a;background:#fffaf6;box-shadow:0 6px 14px rgba(15,23,42,.09);}
body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button:active{transform:translateY(1px);box-shadow:none;}
.vesta-user-dashboard__scan-result{grid-column:1/-1;margin-top:-10px;font-size:10.5px;color:#7a8493;display:none;}

/* Today / schedule / summary cards */
.vesta-user-dashboard__today-grid{display:grid;grid-template-columns:1.1fr .92fr 1fr;gap:14px;}
.vesta-user-dashboard__detail-card{display:flex;flex-direction:column;min-height:248px;padding:18px;background:#fff;border:1px solid var(--vud-line);border-radius:16px;box-shadow:0 2px 5px rgba(15,23,42,.025);}
.vesta-user-dashboard__detail-card header{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.vesta-user-dashboard__detail-card header>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;}.vesta-user-dashboard__detail-card header>span.is-orange{background:#fff3ea;color:#f36b0a;}.vesta-user-dashboard__detail-card header>span.is-green{background:#eafaf0;color:#1a9d5d;}
.vesta-user-dashboard__detail-card header .vesta-icon{width:17px;height:17px;}
.vesta-user-dashboard__detail-card h2{margin:0;font-size:15px;font-weight:800;color:#171c25;}
.vesta-user-dashboard__detail-card dl{display:flex;flex-direction:column;gap:13px;margin:0;}
.vesta-user-dashboard__detail-card dl>div{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;}
.vesta-user-dashboard__detail-card dt,.vesta-user-dashboard__detail-card dd{margin:0;font-size:12px;line-height:1.35;}
.vesta-user-dashboard__detail-card dt{color:#273142;}.vesta-user-dashboard__detail-card dd{color:#344158;text-align:right;font-weight:500;}.vesta-user-dashboard__detail-card dd.is-danger{color:#c82821;font-weight:650;}
.vesta-user-dashboard__detail-card dl.is-schedule dt:before{content:"";display:inline-block;width:4px;height:4px;margin:0 10px 2px 0;border-radius:50%;background:#f36b0a;}
.vesta-user-dashboard__notice{display:flex;align-items:flex-start;gap:8px;margin-top:auto;padding:10px 12px;border-radius:9px;background:#f5f7fa;color:#536178;font-size:10.5px;line-height:1.35;}.vesta-user-dashboard__notice.is-warning{background:#fff3e8;color:#5f4d42;}.vesta-user-dashboard__notice.is-info{background:#eef4ff;color:#52647d;}.vesta-user-dashboard__notice .vesta-icon{width:16px;height:16px;flex:0 0 16px;color:#e7670e;}.vesta-user-dashboard__notice.is-info .vesta-icon{color:#557ab6;}

/* Performance widget, only while embedded on the redesigned staff dashboard */
body.vesta-dashboard-user-ui .performance-dashboard-widget{margin:0;padding:16px 18px 18px;border:1px solid var(--vud-line);border-radius:16px;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.025);}
body.vesta-dashboard-user-ui .performance-dashboard-widget__heading{margin-bottom:14px;align-items:center;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__heading .performance-eyebrow{font-size:10px;letter-spacing:.09em;color:var(--vud-orange);}
body.vesta-dashboard-user-ui .performance-dashboard-widget__heading h2{font-size:17px;margin:2px 0 2px;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__heading p{font-size:11px;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__heading .vesta-button{min-height:38px;padding:0 16px;border-radius:9px;color:#e85f05;border-color:#eee1d6;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__stats{gap:12px;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__stats article{min-height:106px;padding:14px;border-radius:13px;border-color:#ebe7e2;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__stats article span{font-size:11px;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__stats article strong{font-size:24px;margin-top:8px;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__stats article small{font-size:10px;margin-top:9px;}
body.vesta-dashboard-user-ui .performance-dashboard-widget__body{display:none;}

@media (max-width:1280px){
  .vesta-user-dashboard__hero{grid-template-columns:1.2fr .8fr;}.vesta-user-dashboard__clock-card{display:none;}
  body.vesta-dashboard-user-ui .vesta-user-dashboard__metrics .vesta-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  .vesta-user-dashboard__scan-card{grid-template-columns:1fr;}.vesta-user-dashboard__today-grid{grid-template-columns:1fr 1fr;}.vesta-user-dashboard__detail-card:last-child{grid-column:1/-1;min-height:auto;}
}
@media (max-width:820px){
  body.vesta-dashboard-user-ui .vesta-page-shell{padding:14px 12px 28px;}
  .vesta-user-dashboard{gap:12px;}
  .vesta-user-dashboard__hero{grid-template-columns:1fr;padding:20px;min-height:0;}.vesta-user-dashboard__status-card{min-height:105px;}
  .vesta-user-dashboard__welcome h1{font-size:22px;}.vesta-user-dashboard__date-row{flex-wrap:wrap;margin-top:16px;}.vesta-user-dashboard__date-row i{display:none;}
  body.vesta-dashboard-user-ui .vesta-user-dashboard__metrics .vesta-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions{justify-content:stretch;flex-direction:column;align-items:stretch;}body.vesta-dashboard-user-ui .vesta-user-dashboard__scan-actions .vesta-button{width:100%;min-width:0;}.vesta-user-dashboard__today-grid{grid-template-columns:1fr;}.vesta-user-dashboard__detail-card:last-child{grid-column:auto;}
}
@media (max-width:520px){
  body.vesta-dashboard-user-ui .vesta-user-dashboard__metrics .vesta-kpi-strip{grid-template-columns:1fr 1fr;}
  body.vesta-dashboard-user-ui .vesta-user-metric-card{min-height:112px;padding:14px 13px;}body.vesta-dashboard-user-ui .vesta-user-metric-card__icon{width:34px;height:34px;right:11px;top:50%;transform:translateY(-50%);}
  .vesta-user-dashboard__scan-card{padding:16px;}.vesta-user-dashboard__scan-copy{align-items:flex-start;gap:13px;}.vesta-user-dashboard__scan-icon{width:48px;height:48px;flex-basis:48px;border-radius:12px;}.vesta-user-dashboard__scan-icon .vesta-icon{width:25px;height:25px;}.vesta-user-dashboard__scan-copy h2{font-size:16px;}
}
