:root{--v3-bg:#f3f6f7;--v3-card:#fff;--v3-ink:#17232d;--v3-muted:#76838d;--v3-line:#e6ebee;--v3-blue:#173f60;--v3-green:#31a85a;--v3-orange:#f0a516;--v3-red:#e83e53;--v3-task:#20a342;--v3-shadow:0 10px 28px rgba(24,45,58,.08)}
.v3-body{background:var(--v3-bg);color:var(--v3-ink);padding-bottom:88px}.v3-top{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px max(18px,calc((100vw - 1050px)/2));position:sticky;top:0;z-index:30;border-bottom:1px solid var(--v3-line)}.v3-brand{display:flex;align-items:center;gap:10px;color:var(--v3-ink);font-size:1.35rem;font-weight:800;text-decoration:none}.v3-brand img{width:42px;height:42px;border-radius:12px;object-fit:cover}.v3-user{text-align:right;display:flex;flex-direction:column}.v3-user small{color:var(--v3-muted)}.v3-main{max-width:940px;margin:24px auto;padding:0 16px 24px}.v3-card,.v3-clock-card{background:var(--v3-card);border:1px solid var(--v3-line);border-radius:22px;padding:24px;margin:16px 0;box-shadow:var(--v3-shadow)}.v3-clock-card{padding:26px}.v3-clock-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.v3-kicker{text-transform:uppercase;letter-spacing:.09em;color:var(--v3-muted);font-size:.76rem;font-weight:800}.v3-clock-card h1{font-size:2rem;margin:5px 0}.v3-time{text-align:right}.v3-time strong{display:block;font-size:2.1rem}.v3-time small,.v3-current span,.v3-progress-label,.v3-task-row span{color:var(--v3-muted)}.v3-current{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--v3-line)}.v3-current:first-of-type{margin-top:18px}.v3-progress{height:11px;background:#edf1f3;border-radius:999px;overflow:hidden;margin-top:16px}.v3-progress span{display:block;height:100%;background:var(--v3-green);border-radius:999px}.v3-progress-label{display:flex;justify-content:space-between;font-size:.82rem;margin-top:7px}.v3-actions-card h2,.v3-card h2{margin-bottom:16px}.v3-location{padding:13px 14px;background:#eef3f5;border-radius:14px;color:#5c6a73;margin:12px 0}.v3-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.v3-action-stack{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;margin-top:12px}.v3-btn{border:0;border-radius:16px;min-height:54px;padding:13px 18px;font-weight:800;color:#fff;background:var(--v3-blue);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.v3-btn.checkin{background:var(--v3-green)}.v3-btn.break{background:var(--v3-orange);color:#3d2b00}.v3-btn.checkout{background:var(--v3-red)}.v3-btn.task{background:var(--v3-task)}.v3-btn.location{background:#35566e}.v3-btn.primary{background:var(--v3-blue)}.v3-btn.muted{background:#7b8993}.v3-btn.small{min-height:38px;padding:8px 12px;border-radius:10px}.v3-active-break{background:#fff4d9;border:1px solid #f2d98f;border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;margin-bottom:12px}.v3-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.v3-metrics div,.v3-counts div{background:#fff;border:1px solid var(--v3-line);border-radius:18px;padding:20px;text-align:center;box-shadow:var(--v3-shadow)}.v3-metrics strong,.v3-counts strong{font-size:1.7rem;display:block}.v3-metrics span,.v3-counts span{color:var(--v3-muted);font-size:.8rem;font-weight:800;letter-spacing:.05em}.v3-task-row{margin:15px 0}.v3-task-row>div:first-child{display:flex;justify-content:space-between}.v3-bar,.v3-week-bar{height:12px;background:#eef2f4;border-radius:999px;overflow:hidden;margin-top:8px}.v3-bar span,.v3-week-bar i{display:block;height:100%;background:var(--v3-green);border-radius:999px}.v3-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.v3-shortcuts a{background:#fff;border:1px solid var(--v3-line);border-radius:16px;padding:17px;text-align:center;font-weight:800;color:var(--v3-ink);text-decoration:none}.v3-bottom{display:none}.v3-alert{padding:14px 16px;border-radius:14px;margin:12px 0}.v3-alert.ok{background:#e9f7ee;color:#1f733c}.v3-alert.error{background:#fdecec;color:#9f2f35}.v3-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.v3-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v3-week-row{display:grid;grid-template-columns:42px 1fr 84px;gap:12px;align-items:center;margin:13px 0}.v3-week-row strong{text-align:right}.v3-inline{display:grid;grid-template-columns:1fr auto;gap:10px}.v3-task-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--v3-line)}.v3-task-item span{display:flex;flex-direction:column}.v3-task-item small{color:var(--v3-muted)}.v3-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v3-team-card{border:1px solid var(--v3-line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px}.v3-team-card small{color:var(--v3-muted)}.v3-state{align-self:flex-start;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800;background:#eef2f4}.v3-state.in{background:#e7f7ec;color:#237441}.v3-state.on-break{background:#fff3d3;color:#85620c}.v3-state.out{background:#edf0f2;color:#53616a}.v3-pill{background:#eef3f5;border-radius:999px;padding:6px 9px;color:#566670;font-size:.76rem;font-weight:800}
@media(max-width:760px){.v3-top{height:66px;padding:9px 16px}.v3-user strong{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-main{margin:12px auto;padding:0 12px 20px}.v3-card,.v3-clock-card{border-radius:18px;padding:19px;margin:12px 0}.v3-clock-head{align-items:center}.v3-clock-card h1{font-size:1.65rem}.v3-time strong{font-size:1.65rem}.v3-current{font-size:.95rem}.v3-form-grid,.v3-action-stack{grid-template-columns:1fr}.v3-btn{width:100%;min-height:58px;font-size:1.05rem}.v3-metrics{grid-template-columns:repeat(3,1fr);gap:7px}.v3-metrics div{padding:15px 7px}.v3-metrics strong{font-size:1.25rem}.v3-shortcuts{grid-template-columns:1fr 1fr}.v3-team-grid{grid-template-columns:1fr 1fr}.v3-bottom{position:fixed;left:0;right:0;bottom:0;height:76px;background:#fff;border-top:1px solid var(--v3-line);display:grid;grid-template-columns:repeat(5,1fr);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.v3-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a949b;text-decoration:none;font-size:1.25rem;gap:3px}.v3-bottom a small{font-size:.68rem;font-weight:700}.v3-bottom a.active{color:#e58b2a;background:#fff6ed}.v3-counts{gap:7px}.v3-counts div{padding:16px 8px}.v3-counts strong{font-size:1.5rem}}
@media(max-width:430px){.v3-brand span{font-size:1.2rem}.v3-user strong{max-width:120px}.v3-clock-head{flex-direction:column}.v3-time{text-align:left}.v3-metrics{grid-template-columns:1fr 1fr}.v3-metrics div:last-child{grid-column:1/-1}.v3-team-grid{grid-template-columns:1fr}.v3-shortcuts{grid-template-columns:1fr}.v3-section-head{align-items:flex-start;flex-direction:column}}
/* Final release mobile/accessibility additions */
.v3-user{display:flex;align-items:flex-end;gap:.35rem;flex-direction:column}.v3-user .v3-logout{font-size:.82rem;text-decoration:underline}.v3-alert.warn{background:#fff5cc;color:#6b4d00}.v3-record-card,.v3-leave-card{border:1px solid #dfe6eb;border-radius:18px;padding:16px;margin-top:12px;background:#fff}.v3-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 0}.v3-record-grid div{background:#f6f9fb;border-radius:12px;padding:10px}.v3-record-grid dt{font-size:.78rem;color:#667681}.v3-record-grid dd{margin:4px 0 0;font-weight:700}.v3-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v3-balance-grid>div{background:#f6f9fb;padding:14px;border-radius:14px}.v3-balance-grid span,.v3-balance-grid strong{display:block}.v3-menu-list{display:grid;gap:10px}.v3-menu-list a{display:block;padding:16px;border-radius:14px;background:#f1f5f7;font-weight:700;text-decoration:none}.v3-menu-list a.danger{background:#fff0f0;color:#a21919}.v3-login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px}.v3-login{max-width:430px;width:100%;text-align:center}.v3-login img{width:72px;height:72px;border-radius:18px}.v3-login form{text-align:left}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){.v3-record-grid{grid-template-columns:1fr}.v3-balance-grid{grid-template-columns:1fr}.v3-top{padding:.75rem 1rem}.v3-user .v3-logout{display:none}.v3-main{padding-bottom:92px}.v3-inline{display:grid;grid-template-columns:1fr auto;gap:8px}.v3-inline input{min-width:0}.v3-shortcuts{grid-template-columns:1fr 1fr}.v3-shortcuts a:last-child:nth-child(odd){grid-column:1/-1}.v3-counts{grid-template-columns:repeat(2,1fr)}}

/* Final stabilization: accessible clock, navigation and form behavior */
.org-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:128px;padding:8px 14px;border-radius:14px;background:#0b2f4a;color:#fff;border:2px solid #fff;box-shadow:0 0 0 1px #0b2f4a;text-align:center;line-height:1.1}
.org-clock strong{font-size:1.06rem;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#fff}
.org-clock small{margin-top:4px;font-size:.72rem;font-weight:700;color:#fff}
.v3-back{display:inline-flex;align-items:center;gap:6px;margin:4px 0 10px;color:#143a5a;font-weight:800;text-decoration:none;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #d6e0e6}
.v3-back:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.v3-btn:disabled,button:disabled{opacity:.62;cursor:not-allowed}
.desktop-view-button{white-space:nowrap}
#monthHelp{display:block;color:#52636e;margin-top:5px}
.app-footer{text-align:center;padding:20px;color:#52636e}
@media(max-width:760px){.org-clock{min-width:100px;padding:7px 9px}.org-clock strong{font-size:.92rem}.org-clock small{font-size:.64rem}.desktop-view-button{display:none}.v3-top{gap:8px}.v3-user{min-width:0}.v3-user strong{font-size:.86rem}.v3-brand{gap:7px}.v3-brand img{width:38px;height:38px}}
@media(max-width:430px){.org-clock{min-width:86px;padding:6px 7px}.org-clock strong{font-size:.82rem}.org-clock small{font-size:.6rem}.v3-brand span{display:none}.v3-user strong{max-width:90px}.v3-user small{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Final clock polish: wall-clock inspired, high contrast, screen-reader quiet */
.org-clock{display:flex;align-items:center;justify-content:center;min-width:260px;padding:0;background:transparent;border:0;box-shadow:none;color:inherit}
.org-clock-face{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:8px 16px;border-radius:15px;background:#082f49;color:#fff;border:2px solid #f5c451;box-shadow:0 4px 14px rgba(8,47,73,.18), inset 0 0 0 1px rgba(255,255,255,.12);font-variant-numeric:tabular-nums;white-space:nowrap}
.org-clock-icon{font-size:1.1rem;line-height:1;color:#fff}
.org-clock strong{font-size:1.02rem;letter-spacing:.055em;color:#fff;font-weight:800}
.org-clock-sep{font-weight:900;color:#f5c451;font-size:1rem}
.org-clock small{margin:0;font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.01em}
.org-clock-tick{width:7px;height:7px;border-radius:50%;background:#70e39a;box-shadow:0 0 0 2px rgba(112,227,154,.22)}
.org-clock-tick.pulse{animation:hajirClockTick .35s ease-out}
@keyframes hajirClockTick{0%{transform:scale(.72);opacity:.55}45%{transform:scale(1.45);opacity:1}100%{transform:scale(1);opacity:1}}
.office-time-help{display:block;margin:-2px 0 10px;color:#52636e;font-size:.82rem}
.office-time-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.office-time-12{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.office-time-12 select{min-width:0}
@media(max-width:760px){.org-clock{min-width:0}.org-clock-face{gap:6px;min-height:42px;padding:7px 10px;border-radius:13px}.org-clock strong{font-size:.86rem;letter-spacing:.035em}.org-clock small{font-size:.66rem}.org-clock-icon{display:none}.org-clock-tick{width:6px;height:6px}.office-time-row{grid-template-columns:1fr}}
@media(max-width:430px){.org-clock-face{padding:6px 8px;gap:5px}.org-clock strong{font-size:.78rem}.org-clock small{font-size:.58rem}.org-clock-sep{font-size:.8rem}.org-clock-tick{display:none}}
@media(prefers-reduced-motion:reduce){.org-clock-tick.pulse{animation:none!important}}
