/* Hadirva Figma, Page 2. Scoped to employee portal; shared admin CSS is intact. */
/* R31: native dialogs must not live under a collapsed disclosure. */
dialog:not([open]){display:none}
.hv-staff #scrim{display:none!important;pointer-events:none}
.hv-feature-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
.hv-feature-links a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #e8edf6;border-radius:12px;font-size:12px;background:#fff;text-decoration:none}
.hv-feature-links a:hover,.hv-feature-links a:focus-visible{background:#f4f9ff}
.hv-feature-links a span{font-size:18px}
.hv-login,.hv-staff{--hv-blue:#0088ff;--hv-ink:#25282d;--hv-muted:#abafba;--hv-soft:#f4f9ff;--hv-border:#f0f1f5;--primary:#0088ff;font-family:Poppins,sans-serif;color:var(--hv-ink);background:#fff}
.hv-icon{display:inline-block;flex:none;vertical-align:middle;max-width:none}
.hv-login button,.hv-login input,.hv-staff button,.hv-staff input,.hv-staff select,.hv-staff textarea{font-family:inherit}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hv-login main{padding:0}.hv-login-page{width:100%;max-width:393px;margin:0 auto;padding:122px 24px 40px;min-height:100dvh}
.hv-login-page header{text-align:center}.hv-login-page h1{font-size:32px;line-height:40px;font-weight:600;color:var(--hv-blue);margin:0 0 16px}
.hv-login-page header p{font-size:14px;line-height:22px;color:#61677d;margin:0}.hv-login-form{margin-top:98px;display:block}
.hv-login-form>label{display:block;margin:0 0 16px}.hv-login-form input{height:60px;background:#f5f9fe;border:1px solid transparent;border-radius:14px;padding:18px 23px;font-size:16px;box-shadow:none;width:100%;color:#262626;margin:0}
.hv-login-form input:focus{border-color:#3461fd;outline:none}.hv-login-form .password-field{position:relative}.hv-login-form .password-field input{padding-right:60px}.hv-login-form .password-field button{position:absolute;right:12px;top:8px;height:44px;width:44px;padding:10px;background:transparent;border:0;box-shadow:none}
.hv-password-help{font-size:12px;text-align:right;color:#7c8ba0;margin-top:-8px;min-height:28px}.hv-password-help summary{list-style:none;cursor:pointer}.hv-password-help p{line-height:1.65;text-align:left;background:#f5f9fe;padding:12px;border-radius:10px}
.hv-login-submit{height:60px;border-radius:15px;width:100%;margin-top:30px;background:var(--hv-blue);color:#fff;font-weight:500;font-size:16px;border:0;box-shadow:0 12px 24px -16px #72bfff}
.hv-account-help{text-align:center;font-size:14px;color:#3b4054;margin:16px 0 0}.hv-account-help summary{list-style:none;cursor:pointer}.hv-account-help summary span{color:var(--hv-blue)}.hv-account-help p{line-height:1.6;font-size:12px}
.hv-login-existing{margin-top:30px;text-align:center}.hv-login-existing .employee-login-note{display:none}.hv-login-existing .google-login{border:1px solid #e0e4ee;border-radius:14px;height:48px;background:#fff}.hv-login-existing .portal-switch{font-size:11px;color:#7c8ba0}.hv-login-existing .small{font-size:10px}.hv-login-existing .login-divider{margin:14px 0}
.hv-staff .sidebar,.hv-staff #scrim{display:none}.hv-staff .main{margin:0 auto;padding:52px 19px 112px;max-width:720px;min-height:100dvh;width:100%}.hv-staff a{color:var(--hv-blue)}
.hv-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;min-height:43px}.hv-person{display:flex;align-items:center;gap:8px;min-width:0;color:var(--hv-ink)!important;text-decoration:none}.hv-avatar{width:43px;height:43px;object-fit:cover;border-radius:50%;flex:none;background:#a2e2d0}.hv-initial{display:grid;place-items:center;font-size:20px;font-weight:600}.hv-person>span:last-child{display:flex;flex-direction:column;min-width:0}.hv-person small{font-size:10px;color:var(--hv-muted);text-transform:uppercase;line-height:16px}.hv-person strong{font-size:17px;font-weight:600;line-height:21px;overflow-wrap:anywhere}.hv-bell{position:relative;width:33px;height:33px;border:1px solid #e0e4ee;border-radius:50%;display:grid;place-items:center;flex:none}.hv-bell>span{display:flex;flex-direction:column;align-items:center;gap:1px}.hv-bell i:not(:empty){position:absolute;background:#e04c24;border:2px solid #fff;width:8px;height:8px;border-radius:50%;right:6px;top:5px;font-size:0}
.hv-clock-card{height:165px;border-radius:20px;background:#f4f9ff;box-shadow:0 0 5px #0000000d;text-align:center;padding:20px 0 0;overflow:hidden}.hv-clock-card>small{font-size:9.6px;line-height:15px;display:block}.hv-clock{display:block;font-size:39.6px;font-weight:600;line-height:47px;letter-spacing:3px;font-variant-numeric:tabular-nums}.hv-work-status{display:flex;align-items:center;gap:10px;margin:7px 8px 6px;padding:0 12px;height:26px;border-radius:50px;background:linear-gradient(90deg,#fff 67%,transparent);text-align:left}.hv-work-status>span{font-size:9px;white-space:nowrap}.hv-work-status>div{flex:1;display:flex;flex-direction:column;gap:1px}.hv-work-status small{font-size:7px;color:var(--hv-muted)}.hv-work-status progress{width:100%;height:7px;accent-color:var(--hv-blue);border:0;border-radius:20px;background:#fff}.hv-work-status progress::-webkit-progress-bar{background:#fff;border-radius:20px;box-shadow:inset 0 1px 2px #6121ec20}.hv-work-status progress::-webkit-progress-value{background:var(--hv-blue);border-radius:20px}.hv-clock-footer{display:grid;grid-template-columns:repeat(3,1fr);height:44px;background:#1994ff;box-shadow:inset 0 4px 5px #a0a0a059;color:white;padding:5px 5px 3px}.hv-clock-footer small{display:block;font-size:9px;line-height:15px}.hv-clock-footer b{display:block;font-size:15px;line-height:17px;font-weight:600}
.hv-today{display:flex;align-items:center;justify-content:center;gap:4px;min-height:55px;flex-wrap:wrap;padding:8px 0;font-size:14px}.hv-today b{font-size:20px;font-weight:600}.hv-dots{display:flex;gap:3px;align-items:center}.hv-feature-card{border:1px solid #f4f4f5;border-radius:16px;box-shadow:0 0 5px #0000000d;overflow:hidden}.hv-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:17px 16px 8px}.hv-quick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:15px;height:90px;border:1px solid #eeeeee80;box-shadow:0 0 5px #0000000d;color:#000!important;font-size:10px;letter-spacing:.3px;text-decoration:none}.hv-quick-icon{position:relative;width:48px;height:48px;display:block}.hv-quick-icon>span{position:absolute;inset:0;display:grid;place-items:center}.hv-more>summary{text-align:center;list-style:none;font-size:10px;color:var(--hv-muted);cursor:pointer;padding:8px 15px 5px;margin:auto;width:100px;border-radius:30px 30px 0 0;box-shadow:0 0 5px #0000000d}.hv-more .employee-shortcuts{box-shadow:none;border:0;margin:0;grid-template-columns:repeat(3,1fr)}.hv-extra-links{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;padding:12px}
.hv-performance{border-top:1px solid #f5f5f5;padding:7px 20px 8px}.hv-performance h2{text-align:center;font-size:10px;font-weight:500;color:var(--hv-blue);margin:0 0 8px}.hv-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.hv-metric{border:6px solid #f1f3fa;border-top-color:var(--ring);border-right-color:var(--ring);width:61px;height:61px;border-radius:50%;display:grid;place-items:center;margin:auto}.hv-metric.green{--ring:#00c590}.hv-metric.orange{--ring:#ffaa42}.hv-metric.pink{--ring:#ef2e74}.hv-metric.purple{--ring:#5463ff}.hv-metric>div{text-align:center;line-height:12px}.hv-metric b{font-size:16px;font-weight:600}.hv-metric small{font-size:6px}.hv-metric span{display:block;font-size:7px;color:var(--hv-muted);line-height:11px;white-space:nowrap}.hv-metric-help{font-size:8px;color:#7c8ba0;text-align:center;margin-top:3px}.hv-metric-help summary{cursor:pointer;list-style:none}.hv-metric-help p{text-align:left;font-size:10px;line-height:1.7}
.hv-last{margin-top:32px;border-radius:15px;border:1px solid #f5f5f5;box-shadow:0 0 5px #0000000d;overflow:hidden}.hv-last h2{font-weight:500;font-size:10px;color:#596375;margin:0;padding:10px 18px 8px}.hv-last-row{display:flex;align-items:center;gap:12px;min-height:49px;border-top:1px solid #f5f5f5;padding:7px 18px;text-decoration:none;color:var(--hv-ink)!important}.hv-last-row>b{font-size:12px}.hv-last-row>div{flex:1;min-width:0;line-height:14px}.hv-last-row strong{display:block;font-size:11px;color:#596375}.hv-last-row span{font-size:10px;color:var(--hv-blue);font-weight:600}.hv-status{padding:3px 5px;font-size:9px;border-radius:20px;background:#e8f7f1;color:#248a66;white-space:nowrap;font-weight:600}.hv-status.is-late{color:#bd6511;background:#fff3e5}.hv-empty{font-size:11px;padding:0 18px 12px;color:#7c8ba0}.hv-primary-cta{margin-top:12px;min-height:53px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:15px;background:var(--hv-blue);color:#fff!important;font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 14px 30px -18px #0088ff}.hv-primary-cta.checkout{background:#ea1249}.hv-quote{font-size:10px;color:#7c8ba0;text-align:center;margin:16px 0}
.hv-staff .hv-bottom{position:fixed;display:flex;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:720px;right:auto;background:#fff;border-radius:15px 15px 0 0;box-shadow:0 -15px 50px #cde8ff,0 0 5px #0000001a;border:0;padding:10px 0 max(16px,env(safe-area-inset-bottom));height:auto;min-height:81px;z-index:50;justify-content:space-around}.hv-bottom a{display:flex;align-items:center;flex-direction:column;justify-content:flex-start;gap:5px;text-decoration:none;color:var(--hv-muted);flex:1}.hv-bottom small{font-size:8px;font-weight:600;letter-spacing:.5px;line-height:22px}.hv-bottom a.active{color:var(--hv-blue)}
.hv-tools{margin-top:20px;border:1px solid #edf0f5;border-radius:15px;padding:12px;font-size:12px}.hv-tools>summary{cursor:pointer;color:#7c8ba0}.hv-tools .management-tabs{flex-wrap:wrap;white-space:normal}.hv-tools form{margin-top:12px}.hv-attendance-sheet{margin-top:12px;font-size:12px}.hv-attendance-sheet>summary{cursor:pointer;padding:12px;color:#7c8ba0;text-align:center}.hv-attendance-sheet:not([open])>*:not(summary){display:none}.hv-attendance-sheet[open]{position:fixed;inset:0;margin:0 auto;z-index:100;max-width:720px;background:#fff;overflow:auto;padding:40px 19px 40px}.hv-attendance-sheet[open]>summary{display:none}.hv-presence-open{overflow:hidden}.hv-back{width:42px;height:42px;border-radius:50%;border:1px solid #e0e4ee;background:#fff;padding:8px;display:grid;place-items:center}.hv-attendance-sheet>h2{text-align:center;font-size:16px}.hv-presence-person{border-radius:15px;border:1px solid #f5f5f5;padding:12px;margin:20px 0;font-size:12px}.hv-presence-person small{display:block;color:#abafba;font-size:9px;text-transform:uppercase}.hv-presence-person strong{display:block;font-size:15px}.hv-presence-person span{color:#596375}.hv-presence-person p{display:flex;gap:10px;align-items:center;margin:12px 0 0}.hv-staff #attendance-panel{border:0;box-shadow:none;padding:0}.hv-staff .camera-box{max-width:275px;height:275px;margin:20px auto;border-radius:50%;overflow:hidden;border:5px solid #e5e5e5;background:#f4f9ff;aspect-ratio:1}.hv-staff .camera-box video,.hv-staff .camera-box img{width:100%;height:100%;object-fit:cover}.hv-staff .primary{background:#0088ff;border-color:#0088ff;color:#fff}.hv-staff [data-attend=out]{background:#ea1249;color:#fff;border-color:#ea1249}.hv-staff .card{border-radius:16px}.hv-staff button:focus-visible,.hv-staff a:focus-visible,.hv-login button:focus-visible,.hv-login summary:focus-visible{outline:3px solid #3461fd;outline-offset:3px}.hv-staff [hidden]{display:none!important}
.hv-schedule-select{display:flex;gap:8px;margin:12px 0}.hv-schedule-select a{flex:1;text-align:center;background:#fff;border:1px solid #f1f2f4;box-shadow:0 0 5px #0000000d;border-radius:12px;padding:9px 4px;font-size:12px;color:#25282d}.hv-schedule-select a.active{color:#0088ff}.hv-schedule-date{display:flex;align-items:center;justify-content:space-between;border:1px solid #f1f2f4;border-radius:10px;padding:8px;font-size:13px}.hv-schedule-card{margin-top:20px;border-radius:15px;box-shadow:0 0 5px #00000012;border:1px solid #f5f5f5}.hv-schedule-card h2{text-align:center;font-size:10px;font-weight:500;margin:0;padding:6px 0 14px}.hv-schedule-row{display:flex;gap:12px;align-items:center;min-height:93px;padding:15px 18px;border-top:1px solid #f1f2f4}.hv-schedule-row:first-of-type{border-top:0}.hv-date-badge{border:1px solid #abafba;border-radius:10px;width:43px;min-height:44px;text-align:center;line-height:17px;padding:4px;color:#abafba;flex:none}.hv-date-badge strong{display:block;font-size:15px}.hv-date-badge small{font-size:12px}.hv-schedule-row.is-today .hv-date-badge{color:#0088ff;border-color:#0088ff}.hv-schedule-detail{flex:1;font-size:12px;min-width:0}.hv-schedule-detail>small{display:block;font-size:10px;margin-top:4px}.hv-tolerance{white-space:nowrap;color:#ff8800;background:#fff3e5;border-radius:20px;font-size:9px;padding:3px 6px}.hv-calendar-extra{margin-top:18px;font-size:12px}.hv-calendar-extra>summary{cursor:pointer;color:#7c8ba0;padding:12px;text-align:center}
@media(min-width:600px){.hv-staff{background:#f4f9ff}.hv-staff .main{background:#fff;border-left:1px solid #edf2fa;border-right:1px solid #edf2fa;padding-left:40px;padding-right:40px}.hv-quick-grid{gap:20px}.hv-metrics{max-width:420px;margin:auto}.hv-login-page{padding-top:100px}.hv-login{background:#f4f9ff}.hv-login-page{background:#fff;max-width:460px;box-shadow:0 15px 80px #aaccef22}.hv-attendance-sheet[open]{padding:40px}.hv-today{gap:12px}}
@media(max-width:370px){.hv-staff .main{padding-left:12px;padding-right:12px}.hv-person strong{font-size:15px}.hv-today{font-size:12px}.hv-today b{font-size:17px}.hv-performance{padding-left:8px;padding-right:8px}.hv-metrics{gap:5px}.hv-last-row{padding-left:10px;padding-right:10px;gap:7px}.hv-quick-grid{padding-left:10px;padding-right:10px;gap:5px}.hv-wide-only{display:none}}

.hv-schedule-detail .hv-dots{display:inline-flex;vertical-align:middle}
.hv-staff .main{background:#fff}.hv-staff .hv-bottom small{font-size:8px}.hv-staff .hv-back{padding:8px;min-height:42px}.hv-staff .hv-more>summary{font-size:10px;font-weight:400}.hv-staff .hv-metric-help>summary{font-size:8px;font-weight:400}.hv-page-title{font-size:20px;margin:18px 0}

.hv-success{border:0;inset:0;width:100%;height:100dvh;max-width:720px;max-height:none;margin:0 auto;padding:100px 19px 40px;background:#0088ff;color:white;text-align:center;overflow:auto}.hv-success::backdrop{background:#0088ff}.hv-success-symbol{position:relative;width:233px;height:233px;margin:10px auto 64px}.hv-success-symbol>span{position:absolute;inset:0;display:grid;place-items:center}.hv-success h2{font-size:30px;font-weight:600;margin:0 0 22px}.hv-success p{font-size:13px}.hv-success time{display:inline-block;border-radius:30px;padding:10px 15px;background:#ffffff30;font-size:14px}.hv-success .hv-success-thanks{margin:70px 0 18px;line-height:21px}.hv-success a{display:flex;background:white;color:#0088ff;min-height:53px;align-items:center;justify-content:center;border-radius:15px;font-size:14px;font-weight:600}

.hv-camera-stage{margin-top:32px}.hv-camera-stage>p{text-align:center;font-size:12px}.hv-camera-stage .actions{justify-content:center;max-width:300px;margin:0 auto}.hv-camera-stage .actions button{flex:none;min-width:120px}.hv-presence-person .hv-today{font-size:12px;border:1px solid #f5f5f5;border-radius:15px;margin-top:12px}.hv-presence-person .hv-today b{font-size:16px}
/* R32: Figma home disclosure, schedule selector, and attendance states. */
.hv-more:not([open]) .hv-more-open,.hv-more[open] .hv-more-closed{display:none}
.hv-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:16px}
.hv-more-grid a{min-height:72px;justify-content:center;text-align:center;padding:10px 6px;color:var(--hv-ink);border:1px solid #eeeeee80;border-radius:15px;box-shadow:0 0 5px #0000000d;font-size:10px;line-height:17px;letter-spacing:.2px}
.hv-more-grid a span{display:none}.hv-more-grid a:hover{color:var(--hv-blue)}
.hv-more[open]>summary{color:var(--hv-blue);margin-top:4px}
.hv-schedule-top{border:1px solid #f4f4f5;border-radius:15px;box-shadow:0 0 5px #0000000d;padding:9px 9px 10px;margin-top:20px}
.hv-schedule-date{gap:5px;min-height:36px;padding:5px 0;font-size:13px;white-space:nowrap;box-shadow:0 0 5px #0000000d}
.hv-schedule-date>a{min-width:20px;min-height:26px;text-align:center;text-decoration:none;font-size:20px;color:#abafba;line-height:26px}
.hv-schedule-date>a:first-child{margin-right:auto}.hv-schedule-date>a:last-child{margin-left:auto}
.hv-schedule-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}
.hv-schedule-controls>div,.hv-schedule-picker>summary{height:50px;border:1px solid #eeeeee80;border-radius:10px;box-shadow:0 0 5px #0000000d;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:12px;line-height:21px;padding:2px;letter-spacing:.3px}
.hv-schedule-controls b{color:#abafba;font-size:14px;font-weight:600}.hv-schedule-picker{position:relative;min-width:0}.hv-schedule-picker>summary{cursor:pointer;list-style:none}.hv-schedule-picker>summary::-webkit-details-marker{display:none}
.hv-schedule-picker b{color:#0088ff}.hv-schedule-overtime .hv-schedule-picker b{color:#ff9d2c}.hv-schedule-openshift .hv-schedule-picker b{color:#09a79a}
.hv-schedule-picker nav{position:absolute;top:55px;left:0;min-width:140px;padding:5px;background:#fff;border:1px solid #e0e4ee;border-radius:12px;box-shadow:0 6px 20px #25282d15;z-index:20}
.hv-schedule-picker nav a{display:block;padding:10px;font-size:12px;text-decoration:none;border-radius:8px}.hv-schedule-picker nav a:hover{background:#f4f9ff}
.hv-schedule-card{position:relative;margin-top:24px;padding-top:12px}.hv-schedule-card h2{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#fff;min-width:156px;border-radius:0 0 25px 25px;padding:8px 12px;box-shadow:0 2px 4px #00000008;font-size:10px;white-space:nowrap}
.hv-schedule-row{min-height:76px;padding:15px 18px;gap:12px}.hv-schedule-detail>b{font-weight:600;font-size:12px}.hv-schedule-detail>small{margin-top:3px;color:#25282d;font-size:10px}.hv-break-badge{font-size:8px;background:#f4f9ff;color:#8c9aae;border-radius:20px;padding:1px 5px;white-space:nowrap;margin-left:5px}
.hv-schedule-empty{min-height:440px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px}.hv-schedule-empty p{margin:0}
.hv-open-help{font-size:10px;line-height:17px;color:#7c8ba0;margin:16px 4px}
.hv-overtime-create{margin:12px 0 0}.hv-overtime-create>summary{display:flex;justify-content:center;align-items:center;min-height:53px;background:#ff9d2c;color:#fff;border-radius:15px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}.hv-overtime-create>summary::-webkit-details-marker{display:none}
.hv-overtime-create form{display:flex;flex-direction:column;gap:12px;border:1px solid #f1f1f1;padding:18px;margin-top:14px;border-radius:15px}.hv-overtime-create h2{text-align:center;font-size:16px}.hv-overtime-create label{font-size:12px}.hv-overtime-create button{background:#ff9d2c!important;border-color:#ff9d2c!important;min-height:48px}
.hv-schedule-report{display:block;text-align:center;font-size:10px;padding:16px}.hv-request-state{display:inline-block;border-radius:20px;padding:3px 6px;margin-top:6px;font-size:9px;background:#f4f9ff;color:#596375}.hv-request-state.approved{background:#e8f7f1;color:#248a66}.hv-request-state.pending{background:#fff3e5;color:#b97627}
.hv-attendance-sheet[open]{padding-top:52px;padding-bottom:36px}.hv-attendance-sheet .hv-back{margin-left:0;margin-bottom:0}.hv-presence-content{max-width:540px;margin:auto}
.hv-camera-stage{margin-top:30px}.hv-camera-stage .camera-box{margin:0 auto 8px;border:5px solid #e5e5e5;box-shadow:inset 0 0 0 5px #fff}.hv-camera-stage>p{margin:8px 0 0;font-size:11px;line-height:18px}.hv-camera-stage .actions{margin-top:8px;gap:8px}.hv-camera-stage .actions button{font-size:10px;min-height:30px;padding:5px 12px;border-radius:10px}
.hv-presence-person{margin-top:42px;margin-bottom:24px;padding:11px 9px;border-radius:15px;box-shadow:0 0 5px #0000000d}.hv-presence-identity{display:flex;gap:8px;align-items:center;justify-content:space-between}.hv-presence-identity>div{min-width:0;flex:1}.hv-presence-person small{font-size:8px;line-height:12px}.hv-presence-person strong{font-size:14px;line-height:21px;overflow-wrap:anywhere}.hv-presence-person .hv-position{font-size:9px;background:#fff3e5;color:#596375;border-radius:20px;padding:8px 10px;max-width:48%;text-align:center}.hv-presence-person .hv-today{margin-top:12px;font-size:12px;min-height:55px;gap:7px}.hv-presence-person .hv-today b{font-size:14px}.hv-presence-location{padding:0 12px 6px;font-size:11px;line-height:18px}
.hv-presence-submit{margin-top:16px}.hv-presence-submit button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:53px;border-radius:15px;font-weight:600;font-size:14px;flex:1;background:#0088ff;color:#fff}.hv-presence-submit button.checkout{background:#ea1249;border-color:#ea1249}
.hv-presence-options{margin-top:18px;font-size:11px}.hv-presence-options>summary{text-align:center;color:#7c8ba0;cursor:pointer;padding:12px;list-style:none}.hv-presence-options .event-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hv-presence-options button{font-size:11px;min-height:44px}.hv-attendance-sheet .form-grid{margin-top:12px}.hv-attendance-sheet .form-grid label{font-size:11px}.hv-attendance-sheet .small{font-size:10px;line-height:17px}.hv-attendance-sheet #action-status{font-size:12px}
.hv-success{padding:0 19px 40px;display:flex;flex-direction:column;align-items:stretch}.hv-success:not([open]){display:none}.hv-success-symbol{flex:none;margin:141px auto 59px}.hv-success h2{margin:0 0 14px;font-size:30px;line-height:47px}.hv-success>p{font-size:13px;line-height:20px;margin:0 0 8px}.hv-success time{align-self:center;font-size:14px;padding:8px 16px;background:#ffffff30}.hv-success .hv-success-thanks{margin:70px auto 16px;max-width:300px;line-height:20px}.hv-success a{flex:none}
@media(max-width:370px){.hv-schedule-date{font-size:11px;gap:3px}.hv-schedule-controls{gap:6px}.hv-schedule-controls b{font-size:12px}.hv-schedule-controls>div,.hv-schedule-picker>summary{font-size:11px}.hv-schedule-row{padding:15px 10px;gap:8px}.hv-more-grid{padding:12px;gap:7px}.hv-presence-identity{flex-wrap:wrap}.hv-success-symbol{margin-top:90px}.hv-success .hv-success-thanks{margin-top:45px}}
.hv-permission-gate{border:1px solid #e0e4ee;border-radius:20px;padding:24px;width:calc(100% - 32px);max-width:400px;max-height:85dvh;overflow:auto;color:#25282d;font-family:Poppins,sans-serif}.hv-permission-gate::backdrop{background:#25282d70}.hv-permission-gate h2{font-size:18px;margin-top:0}.hv-permission-gate p,.hv-permission-gate li{font-size:12px;line-height:20px}.hv-permission-gate [data-gate-feedback]{color:#596375}.hv-permission-gate .actions{display:flex;gap:10px}.hv-permission-gate button{min-height:44px;border-radius:12px;font-size:12px}
.hv-camera-stage .hv-face-status{font-size:11px;line-height:18px;border-radius:12px;padding:7px 10px;max-width:300px;margin:8px auto;background:#f4f9ff;color:#596375}.hv-camera-stage .hv-face-status.is-ready{background:#e8f7f1;color:#248a66}

/* R34: one shared frame for check-in and check-out, scaled to the reference. */
.hv-attendance-sheet[open]{--hv-u:min(1px,calc(100vw / 393));max-width:393px;padding:calc(52 * var(--hv-u)) calc(19 * var(--hv-u)) calc(60 * var(--hv-u));padding-top:max(calc(52 * var(--hv-u)),env(safe-area-inset-top));padding-bottom:max(calc(60 * var(--hv-u)),env(safe-area-inset-bottom))}
.hv-attendance-sheet .hv-back{width:calc(42 * var(--hv-u));height:calc(42 * var(--hv-u));padding:calc(8 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-content{max-width:none}
.hv-attendance-sheet .hv-camera-stage{position:relative;margin-top:calc(30 * var(--hv-u))}
.hv-attendance-sheet .camera-box{width:calc(275 * var(--hv-u));max-width:100%;height:auto;aspect-ratio:1;margin:0 auto calc(14 * var(--hv-u));border:calc(5 * var(--hv-u)) solid #e5e5e5;box-shadow:none}
.hv-attendance-sheet .camera-box video,.hv-attendance-sheet .camera-box img{display:block;aspect-ratio:1;object-position:center;transform:none}
.hv-attendance-sheet .hv-camera-stage>p:not(.hv-face-status){font-size:calc(13 * var(--hv-u));line-height:calc(20 * var(--hv-u));margin:0;text-align:center;white-space:normal}
.hv-attendance-sheet[data-camera-state="starting"] .hv-camera-stage .actions,
.hv-attendance-sheet[data-camera-state="live"] .hv-camera-stage .actions{display:none}
.hv-attendance-sheet .hv-camera-stage #camera-capture{display:none}
.hv-attendance-sheet .hv-camera-stage .actions button{min-height:44px;font-size:12px}
.hv-attendance-sheet .hv-camera-stage .hv-face-status{position:absolute;top:100%;left:0;right:0;margin:calc(12 * var(--hv-u)) auto 0;padding:0;max-width:100%;font-size:calc(11 * var(--hv-u));line-height:calc(17 * var(--hv-u));background:transparent;border-radius:0;color:#596375}
.hv-attendance-sheet[data-face-state="checking"] .hv-face-status{opacity:0}
.hv-attendance-sheet[data-face-state="ready"] .hv-face-status{color:#248a66}
.hv-attendance-sheet .hv-face-help{position:absolute;top:calc(100% + 34 * var(--hv-u));left:0;right:0;text-align:center;font-size:calc(11 * var(--hv-u));line-height:calc(18 * var(--hv-u));color:#3461fd}
.hv-attendance-sheet .hv-presence-person{margin-top:calc(76 * var(--hv-u));margin-bottom:0;padding:calc(11 * var(--hv-u)) calc(9 * var(--hv-u));border-radius:calc(15 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-identity{flex-wrap:nowrap;gap:calc(8 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-person small{font-size:calc(8 * var(--hv-u));line-height:calc(12 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-person strong{font-size:calc(15 * var(--hv-u));line-height:calc(21 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-person .hv-position{font-size:calc(10 * var(--hv-u));padding:calc(8 * var(--hv-u)) calc(16 * var(--hv-u));max-width:52%;background:#ffd097;color:#25282d;border-radius:30px}
.hv-attendance-sheet .hv-presence-person .hv-today{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;min-height:calc(55 * var(--hv-u));margin-top:calc(12 * var(--hv-u));padding:calc(10 * var(--hv-u)) calc(6 * var(--hv-u));gap:calc(12 * var(--hv-u));font-size:calc(16 * var(--hv-u));line-height:calc(22 * var(--hv-u));border-radius:calc(15 * var(--hv-u))}
.hv-attendance-sheet .hv-shift-time{display:inline-flex;align-items:center;gap:calc(5 * var(--hv-u));white-space:nowrap;color:#25282d}
.hv-attendance-sheet .hv-presence-person .hv-today b{font-size:calc(16 * var(--hv-u));line-height:calc(22 * var(--hv-u));white-space:nowrap}
.hv-attendance-sheet .hv-shift-time .hv-dots{display:inline-flex;align-items:center;gap:3px}
.hv-attendance-sheet .hv-presence-location{padding:0 calc(8 * var(--hv-u)) calc(4 * var(--hv-u));margin-top:calc(12 * var(--hv-u));gap:calc(8 * var(--hv-u));font-size:calc(12 * var(--hv-u));line-height:calc(18 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-location span{color:#25282d}
.hv-attendance-sheet .hv-presence-submit{margin-top:calc(32 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-submit button{height:calc(53 * var(--hv-u));min-height:44px;border-radius:calc(15 * var(--hv-u));font-size:calc(14 * var(--hv-u));gap:calc(8 * var(--hv-u));font-weight:500;padding:0 12px}
.hv-attendance-sheet .hv-presence-options{margin-top:calc(20 * var(--hv-u))}
.hv-attendance-sheet .hv-presence-options>summary{padding:8px;font-size:10px}
.hv-attendance-sheet #attendance-panel .form-grid{margin-top:24px}
.hv-attendance-sheet[data-camera-state="error"] .hv-face-status{position:static;margin-top:12px;font-size:11px}
