.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-story{background:var(--brand-soft);padding:48px 64px;display:flex;flex-direction:column;justify-content:space-between;gap:60px;min-height:100vh}.auth-story .brand{padding:0;gap:16px}.auth-story .brand img{width:276px}.auth-story .brand small{font-size:9px;letter-spacing:2.6px}.auth-story h1{font-size:43px;line-height:1.35;margin:20px 0;letter-spacing:-1.7px}.auth-story>small{color:var(--muted);font-size:10px}.auth-story>div>p{color:var(--muted)}.auth-content{display:grid;place-items:center;padding:60px 40px}.auth-box{width:100%;max-width:350px}.auth-box h2{font-size:30px;letter-spacing:-1px;margin:12px 0}.auth-box>p{margin-bottom:26px}.auth-lock{width:44px;height:44px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;border-radius:12px;margin-bottom:30px;font-size:22px}.auth-box label{display:block;margin:20px 0 8px;font-size:12px;font-weight:500}.auth-box input{width:100%;margin-top:9px;padding:12px;border-radius:7px}.auth-box .primary{width:100%;margin-top:14px;padding:14px}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;right:5px;top:15px;font-size:10px}.auth-links{text-align:center;padding:14px}.auth-links button{font-size:11px}.auth-footnote{font-size:10px;text-align:center;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;line-height:1.8}.form-error{color:#ad5644;font-size:12px;line-height:1.6;margin:12px 0}.form-error:empty{display:none}.auth-illustration{margin-top:45px;max-width:320px;padding:26px 30px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 30px #040b9c0c;border-left:3px solid var(--brand)}.auth-illustration>div{display:flex;align-items:center;padding:12px 0;gap:15px;font-size:12px;color:var(--brand)}.auth-illustration>div:first-child{display:block;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:10px}.auth-illustration span{display:block}.auth-illustration b{display:block;font:700 19px Manrope;color:var(--ink);margin-top:8px}.auth-illustration i{border-radius:50%;background:var(--brand-soft);display:grid;place-items:center;width:23px;height:23px;font-style:normal}.account-button{display:flex;gap:10px;text-align:left;align-items:center;width:100%;padding:8px 0}.account-button strong{display:block;font-size:12px}.account-button small{display:block;color:var(--muted);font-size:10px;margin-top:5px}#logout{font-size:11px;padding:12px 0}#mobile-account{display:none}.subheading{margin:25px 0 12px}.hint{font-size:10px;margin-top:12px}.draft-note{font-size:11px;color:#8f8061;margin-bottom:20px}.empty{padding:50px;text-align:center}.empty h2{font-size:23px}.empty p{max-width:470px;margin:12px auto 25px}.role-guide{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px;font-size:12px}.payslip-card{max-width:600px;padding:36px}.payslip-card>p{margin:20px 0}.payslip-card>span{font-size:12px;color:var(--muted)}.payslip-card h2{font-size:32px;margin:15px 0 30px}.self-tag{display:inline-block;font-size:9px;color:var(--muted);margin-left:8px}textarea{font:inherit;width:100%;display:block;margin-top:10px;border:1px solid var(--line);border-radius:6px;padding:12px;min-height:90px}.report-legend{font-size:8px;color:var(--muted);margin-top:15px;line-height:1.7}#print{margin-right:8px}.pdf-action{margin-left:6px}.saved{white-space:nowrap}.brand{user-select:none}.auth-box .notice{font-size:12px;line-height:1.8}dialog{max-height:92vh;overflow:auto}.code:disabled{opacity:.85}@media(min-width:761px){.attendance-cell~td{min-width:42px}.table-scroll:has(.attendance-cell) td:first-child,.table-scroll:has(.attendance-cell) th:first-child{position:sticky;left:0;background:#fff;z-index:1}}@media(max-width:900px){.auth-story{padding:40px}.auth-story h1{font-size:34px}}@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:0;padding:24px}.auth-story>div,.auth-story>small{display:none}.auth-story .brand{display:flex}.auth-content{padding:35px 25px}.auth-lock{display:none}.auth-box{max-width:420px}.role-guide{grid-template-columns:1fr}.empty{padding:30px}#mobile-account{display:block;font-size:10px}header>div:last-child{gap:3px}header{padding:0 12px}header span{margin:0 5px}.notice button{float:none;display:block;margin-top:10px}.heading{align-items:flex-start}}@media print{dialog{max-height:none;overflow:visible}dialog .pdf-action{display:none}.report-legend{font-size:8px}}
