:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.login-company-logo{width:100%}.app-shell{background:#f5f7fb;grid-template-columns:258px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#c8d5f4;background:#112654;flex-direction:column;height:100vh;padding:1.6rem 1.15rem;display:flex;position:sticky;top:0}.sidebar-brand{color:#fff;cursor:pointer;background:0 0;border:0;align-items:center;gap:.8rem;width:100%;padding:0 .65rem;font-size:1.25rem;font-weight:750;text-decoration:none;display:flex}.sidebar-brand__mark{color:#17366f;background:#fff;border-radius:.78rem;place-items:center;width:2.55rem;height:2.55rem;display:grid;box-shadow:0 8px 25px #0000002e}.sidebar-nav{gap:.35rem;margin-top:3.1rem;display:grid}.sidebar-nav__label{color:#7188b8;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem;padding:0 .8rem;font-size:.7rem;font-weight:700}.nav-item{color:#aebfe4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.85rem;width:100%;min-height:2.9rem;padding:.65rem .8rem;font-size:.92rem;font-weight:550;text-decoration:none;transition:color .16s,background .16s,transform .16s;display:flex}.logo{width:100%;height:100%;display:block}.nav-item:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.nav-item--active{color:#fff;background:#2862d1;box-shadow:0 10px 24px #0414383d}.nav-item__icon{flex:none;width:1.25rem;height:1.25rem}.nav-item__chevron{width:1rem;height:1rem;margin-left:auto;transition:transform .16s}.nav-item__chevron--open{transform:rotate(180deg)}.nav-submenu{border-left:1px solid #ffffff21;gap:.25rem;margin:.15rem 0 .35rem 1.15rem;padding-left:.75rem;display:grid}.nav-subitem{color:#91a7d2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.6rem;align-items:center;gap:.65rem;width:100%;min-height:2.5rem;padding:.55rem .7rem;font-size:.8rem;display:flex}.nav-subitem svg{width:1rem;height:1rem}.nav-subitem:hover,.nav-subitem--active{color:#fff;background:#ffffff1a}.sidebar-help{background:#ffffff0b;border:1px solid #ffffff17;border-radius:.85rem;align-items:center;gap:.75rem;margin-top:auto;padding:.9rem;display:flex}.sidebar-help__icon{color:#fff;background:#ffffff1f;border-radius:50%;place-items:center;width:2rem;height:2rem;font-weight:700;display:grid}.sidebar-help__icon svg{width:1rem;height:1rem}.sidebar-help div{gap:.15rem;display:grid}.sidebar-help strong{color:#fff;font-size:.8rem}.sidebar-help span:last-child{color:#8298c5;font-size:.7rem}.app-main{min-width:0}.topbar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e6eaf1;justify-content:space-between;align-items:center;min-height:82px;padding:1rem clamp(1.25rem,3vw,2.5rem);display:flex;position:sticky;top:0}.topbar__eyebrow{color:#8b96a9;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .2rem;font-size:.67rem;font-weight:700}.topbar h1{color:#1b2942;letter-spacing:-.02em;margin:0;font-size:1.25rem}.topbar__actions{align-items:center;gap:.85rem;display:flex}.icon-button{color:#566278;cursor:pointer;background:#fff;border:1px solid #e0e5ed;border-radius:.75rem;place-items:center;width:2.7rem;height:2.7rem;display:grid;position:relative}.icon-button svg{width:1.15rem;height:1.15rem}.notification-dot{background:#f05252;border:2px solid #fff;border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.5rem;right:.55rem}.profile{border-left:1px solid #e4e8ef;align-items:center;gap:.7rem;padding-left:.9rem;display:flex}.profile__avatar{color:#fff;background:linear-gradient(145deg,#245abe,#183d87);border-radius:.75rem;place-items:center;width:2.65rem;height:2.65rem;font-size:.78rem;font-weight:700;display:grid}.profile__details{gap:.15rem;display:grid}.profile__details strong{color:#29364c;font-size:.82rem}.profile__details small{color:#9099a9;font-size:.68rem}.profile__chevron{color:#8994a6;width:1rem;height:1rem}.dashboard-content{width:100%;max-width:1500px;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem)}.welcome-row{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.section-kicker{color:#2861cf;letter-spacing:.11em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem;font-weight:750}.welcome-row h2{color:#18243b;letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,3vw,2.25rem)}.welcome-row p:last-child{color:#778195;margin:.55rem 0 0}.primary-action{color:#fff;cursor:pointer;background:#245bc2;border:0;border-radius:.72rem;align-items:center;gap:.5rem;min-height:2.9rem;padding:0 1.15rem;font-weight:700;display:flex;box-shadow:0 10px 24px #245bc233}.primary-action svg{width:1rem;height:1rem}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:2rem;display:grid}.summary-card{background:#fff;border:1px solid #e5e9f0;border-radius:1rem;padding:1.35rem;display:grid;box-shadow:0 9px 30px #1f30500b}.summary-card__icon{border-radius:.75rem;place-items:center;width:2.55rem;height:2.55rem;margin-bottom:1.15rem;display:grid}.summary-card__icon svg{width:1.2rem;height:1.2rem}.summary-card__icon--blue{color:#235ac0;background:#eaf1ff}.summary-card__icon--green{color:#218260;background:#e8f8f1}.summary-card__icon--orange{color:#b76819;background:#fff2e3}.summary-card p{color:#737e91;margin:0;font-size:.82rem}.summary-card strong{color:#17233a;letter-spacing:-.04em;margin-top:.45rem;font-size:1.65rem}.summary-card>span{color:#9aa3b2;margin-top:.35rem;font-size:.72rem}.activity-card{background:#fff;border:1px solid #e5e9f0;border-radius:1rem;margin-top:1.2rem;box-shadow:0 9px 30px #1f30500b}.activity-card__header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:1.25rem 1.4rem;display:flex}.activity-card h3{color:#263349;margin:0;font-size:1rem}.activity-card__header p{color:#929bab;margin:.3rem 0 0;font-size:.75rem}.activity-card__header button{color:#245bc2;cursor:pointer;background:0 0;border:0;font-size:.78rem;font-weight:700}.empty-state{text-align:center;align-content:center;place-items:center;min-height:260px;padding:2rem;display:grid}.empty-state>span{color:#8da0c1;background:#f0f4fa;border-radius:1rem;place-items:center;width:3.4rem;height:3.4rem;font-size:1.4rem;display:grid}.empty-state>span svg{width:1.4rem;height:1.4rem}.empty-state h4{color:#38445a;margin:1rem 0 .3rem}.empty-state p{color:#959dab;margin:0;font-size:.8rem}@media (width<=900px){.app-shell{grid-template-columns:86px minmax(0,1fr)}.sidebar{padding:1.4rem .8rem}.sidebar-brand{justify-content:center;padding:0}.sidebar-brand>span:last-child,.sidebar-nav__label,.nav-item>span,.nav-item__chevron,.sidebar-help{display:none}.nav-item{justify-content:center;padding:.7rem}.nav-submenu{border-left:0;margin-left:0;padding-left:0}.nav-subitem{justify-content:center;padding:.6rem}.nav-subitem>span{display:none}.summary-grid{grid-template-columns:1fr}}@media (width<=620px){.app-shell{padding-bottom:72px;display:block}.sidebar{z-index:20;width:100%;height:68px;padding:.55rem .7rem;position:fixed;inset:auto 0 0}.sidebar-brand,.sidebar-nav__label,.sidebar-help{display:none}.sidebar-nav{justify-content:space-around;margin:0;display:flex}.nav-submenu{background:#fff;border:1px solid #dce3ee;border-radius:.75rem;padding:.5rem;position:absolute;bottom:calc(100% + .5rem);left:.7rem;right:.7rem;box-shadow:0 12px 30px #14223c2e}.nav-subitem{color:#41506a;justify-content:flex-start}.nav-subitem>span{display:inline}.nav-item{min-width:2.8rem;min-height:2.8rem}.nav-item:nth-of-type(n+6){display:none}.topbar{min-height:72px}.profile__details,.profile__chevron{display:none}.welcome-row{flex-direction:column;align-items:flex-start}.primary-action{justify-content:center;width:100%}}.main-layout{grid-template-columns:minmax(340px,.9fr) minmax(460px,1.1fr);min-height:100vh;display:grid}.brand-panel{color:#fff;background:radial-gradient(circle at 15% 80%,#64eccb47,#0000 30%),linear-gradient(145deg,#10255c,#2059cb);flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem);display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";border:1px solid #ffffff24;border-radius:50%;width:22rem;height:22rem;position:absolute;top:-8rem;right:-9rem}.brand-mark{color:#1748a6;background:#fff;border-radius:.9rem;place-items:center;width:3rem;height:3rem;font-size:1.45rem;font-weight:700;display:grid;box-shadow:0 12px 30px #00000029}.brand-name{margin:1rem 0 5rem;font-size:1.3rem;font-weight:700}.brand-panel h1{letter-spacing:-.055em;max-width:520px;margin:0;font-size:clamp(2.7rem,5vw,5.2rem);line-height:1.02}.brand-copy{color:#ffffffb8;max-width:430px;margin:1.5rem 0 0;font-size:1.08rem;line-height:1.7}.content-panel,.login-page{place-items:center;display:grid}.content-panel{background:#f7f9fc;padding:2rem}.login-page{width:100%}.login-layout{background:#fff;grid-template-columns:minmax(360px,1fr) minmax(460px,1fr);place-items:stretch stretch;min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:radial-gradient(circle at 12% 88%,#5be0cb52,#0000 32%),radial-gradient(circle at 88% 12%,#6797ff4d,#0000 30%),linear-gradient(145deg,#0d2458 0%,#1748a6 52%,#2563d8 100%);align-items:center;padding:clamp(3rem,7vw,7rem);display:flex;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";border:1px solid #ffffff24;border-radius:50%;position:absolute}.login-brand-panel:before{width:24rem;height:24rem;top:-10rem;right:-10rem}.login-brand-panel:after{width:14rem;height:14rem;bottom:-7rem;left:-5rem}.login-brand-content{z-index:1;gap:clamp(2.5rem,7vh,5rem);max-width:560px;display:grid;position:relative}.login-logo-frame{background:#fff;border:1px solid #ffffff59;border-radius:1.25rem;width:min(100%,330px);padding:1.1rem 1.4rem;box-shadow:0 24px 55px #03123447}.login-company-logo{width:100%;height:auto;display:block}.login-brand-kicker{color:#a9f3e2;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .9rem;font-size:.78rem;font-weight:800}.login-brand-content h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,4.5vw,4.7rem);line-height:1.04}.login-brand-content>div>p:last-child{color:#ffffffc2;max-width:470px;margin:1.35rem 0 0;font-size:1.05rem;line-height:1.75}.login-form-panel{background:#fff;place-items:center;min-width:0;padding:clamp(2rem,6vw,6rem);display:grid}.login-card{width:min(100%,430px);box-shadow:none;background:#fff;border:0;border-radius:0;padding:clamp(2rem,5vw,3.5rem)}.mobile-brand{color:#173d90;align-items:center;gap:.75rem;margin-bottom:2.5rem;font-weight:700;display:none}.mobile-brand img{width:min(100%,220px);height:auto;display:block}.brand-mark--small{color:#fff;background:#1f57c3;border-radius:.7rem;width:2.35rem;height:2.35rem;font-size:1rem}.login-header{margin-bottom:2rem}.eyebrow{color:#2861cf;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .7rem;font-size:.78rem;font-weight:700}.login-header h2{color:#172033;letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,4vw,2.25rem)}.login-header>p:last-child{color:#6a7487;margin:.75rem 0 0;line-height:1.55}.login-form{gap:.65rem;display:grid}.login-form label{color:#384258;margin-top:.55rem;font-size:.88rem;font-weight:600}.login-form input{color:#172033;background:#fbfcfe;border:1px solid #d7deea;border-radius:.75rem;outline:none;width:100%;height:3.25rem;padding:0 1rem;transition:border-color .16s,box-shadow .16s,background .16s}.login-form input::placeholder{color:#a0a9b8}.login-form input:focus{background:#fff;border-color:#2861cf;box-shadow:0 0 0 4px #2861cf1c}.login-form .remember-login-option{color:#4f5b70;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;width:fit-content;margin-top:.75rem;display:inline-flex}.login-form .remember-login-option input{accent-color:#1f57c3;width:1rem;height:1rem;box-shadow:none;cursor:pointer;margin:0}.login-form button{color:#fff;cursor:pointer;background:#1f57c3;border:0;border-radius:.75rem;height:3.25rem;margin-top:1.3rem;font-weight:700;transition:background .16s,transform .16s,box-shadow .16s;box-shadow:0 12px 25px #1f57c340}.login-form button:hover:not(:disabled){background:#1748a6;transform:translateY(-1px);box-shadow:0 14px 30px #1f57c352}.login-form button:disabled{cursor:wait;opacity:.68}.notification{z-index:10;text-align:center;border:1px solid;border-radius:.8rem;width:min(100% - 2rem,430px);padding:.9rem 1.1rem;font-size:.92rem;font-weight:600;position:fixed;top:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #19274324}.notification--success{color:#126744;background:#edfff7;border-color:#9fe1c6}.notification--error{color:#a32929;background:#fff2f2;border-color:#f0b3b3}@media (width<=800px){.main-layout{display:block}.brand-panel{display:none}.content-panel{min-height:100vh;padding:1.25rem}.mobile-brand{display:flex}.login-layout{background:#f7f9fc;display:block}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:1.25rem}}@media (width<=480px){.content-panel{background:#fff;align-items:start;padding:0}.login-card{min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:2rem 1.4rem}.login-form-panel{background:#fff;padding:0}}.master-page{gap:1.25rem;display:grid}.master-page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.master-page-heading h2{color:#172033;margin:.15rem 0 .35rem;font-size:1.55rem}.master-page-heading>div>p:last-child{color:#6a7487;margin:0}.master-page-eyebrow{color:#2861cf;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:700}.primary-action,.secondary-action{min-height:2.65rem;font:inherit;cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-weight:650;display:inline-flex}.primary-action{color:#fff;background:#1f57c3;border:0;box-shadow:0 8px 18px #1f57c333}.primary-action:hover:not(:disabled){background:#1748a6}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.6}.secondary-action{color:#384258;background:#fff;border:1px solid #d7deea}.page-message{border:1px solid;border-radius:.7rem;padding:.8rem 1rem;font-size:.9rem;font-weight:600}.page-message.success{color:#126744;background:#edfff7;border-color:#9fe1c6}.page-message.error{color:#a32929;background:#fff2f2;border-color:#f0b3b3}.master-table-card{background:#fff;border:1px solid #e3e9f2;border-radius:.9rem;overflow:hidden;box-shadow:0 8px 28px #1d335d0f}.master-table-title{color:#2861cf;border-bottom:1px solid #e8edf5;align-items:center;gap:.65rem;padding:1rem 1.2rem;display:flex}.master-table-title h2{color:#263248;margin:0;font-size:1rem}.table-scroll{overflow-x:auto}.payroll-attendance-register-table{white-space:nowrap;min-width:3000px}.payroll-monthly-register-table{white-space:nowrap;min-width:7200px}.payroll-attendance-register-table .payroll-attendance-day{text-align:center;min-width:42px;font-weight:600}.payroll-monthly-attendance-filters{grid-template-columns:minmax(220px,320px) auto;justify-content:start}.post-attendance-actions{align-items:end;gap:.55rem;display:flex}.post-attendance-actions .primary-action,.post-attendance-actions .secondary-action{white-space:nowrap;width:auto;min-height:2.5rem;padding:.55rem .9rem}.monthly-payroll-editable-cell{cursor:cell}.monthly-payroll-cell-input{width:7rem;max-width:100%;font:inherit;border:1px solid #2563eb;border-radius:.4rem;padding:.45rem .55rem}.monthly-payroll-employee-actions{border-top:1px solid #e5eaf2;justify-content:flex-end;padding:1rem 1.2rem;display:flex}.monthly-payroll-employee-actions .primary-action{width:auto;min-height:2.5rem;padding:.55rem 1rem}.master-table{border-collapse:collapse;text-align:left;width:100%}.master-table th{color:#657086;letter-spacing:.04em;text-transform:uppercase;background:#f7f9fc;padding:.85rem 1.2rem;font-size:.76rem}.master-table td{color:#384258;border-top:1px solid #edf0f5;padding:1rem 1.2rem}.master-table th,.master-table td{white-space:nowrap}.empty-table-row td{color:#8993a5;text-align:center;height:8rem}.delete-icon-button{color:#bb3030;cursor:pointer;background:#fff7f7;border:1px solid #f1caca;border-radius:.55rem;place-items:center;width:2.15rem;height:2.15rem;display:inline-grid}.delete-icon-button:hover{background:#ffeded;border-color:#df9999}.table-actions{align-items:center;gap:.45rem;display:flex}.edit-icon-button{color:#2861cf;cursor:pointer;background:#f5f8ff;border:1px solid #cbd9f1;border-radius:.55rem;place-items:center;width:2.15rem;height:2.15rem;display:inline-grid}.edit-icon-button:hover{background:#eaf1ff;border-color:#96b1e1}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f192d7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.entry-modal{background:#fff;border-radius:1rem;width:min(100%,440px);padding:1.35rem;box-shadow:0 24px 70px #0f192d3d}.shift-entry-modal{width:min(100%,720px)}.shift-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}@media (width<=640px){.shift-entry-grid{grid-template-columns:1fr}}.entry-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;display:flex}.entry-modal-header h2{color:#172033;margin:.2rem 0 0;font-size:1.3rem}.entry-modal-header .icon-button{flex:none}.form-field{gap:.5rem;display:grid}.form-field label{color:#384258;font-size:.87rem;font-weight:650}.form-field input{color:#172033;width:100%;height:2.9rem;font:inherit;background:#fbfcfe;border:1px solid #d7deea;border-radius:.65rem;outline:none;padding:0 .9rem}.form-field input:focus{background:#fff;border-color:#2861cf;box-shadow:0 0 0 3px #2861cf1a}.form-field select{color:#172033;width:100%;height:2.9rem;font:inherit;background:#fbfcfe;border:1px solid #d7deea;border-radius:.65rem;outline:none;padding:0 .9rem}.form-field select:focus{background:#fff;border-color:#2861cf;box-shadow:0 0 0 3px #2861cf1a}.form-field-spaced{margin-top:1rem}.attendance-badge{color:#2455aa;background:#eaf1ff;border-radius:999px;justify-content:center;min-width:2.2rem;padding:.25rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.field-hint{color:#7d8798;font-size:.78rem;line-height:1.4}.settings-modal{width:min(100%,920px);max-height:calc(100vh - 2rem);overflow-y:auto}.settings-groups{gap:1rem;display:grid}.settings-group{border:1px solid #e2e8f2;border-radius:.75rem;margin:0;padding:1rem}.settings-group legend{color:#263248;padding:0 .45rem;font-size:.9rem;font-weight:700}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}@media (width<=760px){.settings-grid{grid-template-columns:1fr}}.employee-editor{gap:1.25rem;display:grid}.back-button{color:#2861cf;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-weight:650;display:inline-flex}.employee-tabs{border-bottom:1px solid #dfe6f1;gap:.4rem;display:flex}.employee-tabs button{color:#687287;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.8rem 1.1rem;font-weight:650}.employee-tabs button.active{color:#2861cf;border-color:#2861cf}.employee-form{background:#fff;border:1px solid #e3e9f2;border-radius:.9rem;padding:1.25rem}.employee-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.employee-sections{gap:1.2rem;display:grid}.employee-form-section{background:#fbfcfe;border:1px solid #e4e9f2;border-radius:.8rem;padding:1.1rem}.employee-form-section h3,.salary-panel h3{color:#263248;margin:0 0 1rem;font-size:22px}.employee-section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.employee-section-heading h3{margin:0}.copy-address-button{color:#2861cf;cursor:pointer;background:#f5f8ff;border:1px solid #cbd9f1;border-radius:.55rem;place-items:center;width:2.2rem;height:2.2rem;display:inline-grid}.copy-address-button:hover{background:#eaf1ff;border-color:#96b1e1}.form-field input[readonly]{color:#667085;cursor:not-allowed;background:#f1f4f8}.salary-panel input[type=number],.branch-entry-form input[type=number]{text-align:right}.salary-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.2rem;display:grid}.salary-panel{border:1px solid #e1e7f0;border-radius:.85rem;padding:1.15rem}.salary-panel.earnings{background:#f7fcf9}.salary-panel.deductions{background:#fff9f8}.salary-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.salary-panel .form-field,.salary-panel .form-field label,.salary-panel .form-field input{text-align:left}.salary-panel .form-field input[type=number]{text-align:right}.password-input{position:relative}.password-input input{padding-right:2.8rem}.password-input button{color:#657086;cursor:pointer;background:0 0;border:0;padding:.2rem;display:grid;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.employee-wide{grid-column:span 2}.employee-form-actions{border-top:1px solid #e8edf5;justify-content:flex-end;gap:.7rem;margin-top:1.5rem;padding-top:1.2rem;display:flex}@media (width<=900px){.employee-form-grid,.salary-columns,.salary-field-grid{grid-template-columns:1fr}.employee-wide{grid-column:auto}}.form-field input[aria-invalid=true]{border-color:#d05252}.field-error{color:#b52f2f;margin:0;font-size:.82rem;font-weight:600}.entry-modal-actions{justify-content:flex-end;gap:.7rem;margin-top:1.5rem;display:flex}.danger-action{color:#fff;min-height:2.65rem;font:inherit;cursor:pointer;background:#c73737;border:0;border-radius:.65rem;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-weight:650;display:inline-flex}.danger-action:hover:not(:disabled){background:#a92b2b}.danger-action:disabled{cursor:not-allowed;opacity:.6}.delete-modal{text-align:center}.delete-modal h2{color:#172033;margin:.8rem 0 .5rem}.delete-modal>p{color:#687287;margin:0;line-height:1.55}.delete-modal-icon{color:#bd3030;background:#ffeded;border-radius:50%;place-items:center;width:3rem;height:3rem;margin:0 auto;display:grid}.leave-type-modal{width:min(100%,720px);max-height:calc(100vh - 2rem);overflow-y:auto}.leave-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.leave-form-grid .wide{grid-column:1/-1}.attendance-profile-section{background:#f8faff;border:1px solid #e3e9f2;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.35rem;margin-bottom:1.25rem;padding:1.1rem;display:grid}.attendance-camera-profile{color:#6b7c9d;cursor:pointer;background:#e7edf8;border:3px solid #fff;border-radius:50%;flex:none;place-items:center;width:104px;height:104px;display:grid;position:relative;overflow:visible;box-shadow:0 4px 16px #1f376229}.attendance-camera-profile>svg{width:2rem;height:2rem}.attendance-camera-profile>img{object-fit:cover;border-radius:50%;width:100%;height:100%}.attendance-camera-profile>span{color:#fff;background:#2861cf;border:2px solid #fff;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid;position:absolute;bottom:4px;right:-2px}.attendance-location-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;min-width:0;display:grid}.attendance-location-controls small{grid-column:1/-1}.attendance-location-value{color:#657086;min-height:1.2rem;font-size:.78rem}.attendance-camera-backdrop{z-index:60}.attendance-camera-modal{width:min(100%,620px)}.attendance-camera-view{color:#fff;background:#111827;border-radius:.75rem;place-items:center;min-height:280px;display:grid;position:relative;overflow:hidden}.attendance-camera-view video{object-fit:contain;width:100%;max-height:60vh;display:block}.attendance-camera-view>span{position:absolute}.day-activity-notice{margin:1rem 1.5rem 0}.activity-entry-modal{width:min(100%,900px);max-height:calc(100vh - 2rem);padding:1.75rem;overflow-y:auto}.activity-entry-modal .entry-modal-header{border-bottom:1px solid #e8edf5;margin-bottom:1.6rem;padding-bottom:1.15rem}.activity-entry-modal .entry-modal-header h2{font-size:1.5rem}.activity-entry-modal .attendance-profile-section{grid-template-columns:140px minmax(0,1fr);gap:1.75rem;margin-bottom:1.5rem;padding:1.4rem}.activity-entry-modal .attendance-camera-profile{width:128px;height:128px}.activity-entry-modal .attendance-camera-profile>svg{width:2.4rem;height:2.4rem}.activity-entry-modal .attendance-location-controls{gap:.9rem}.activity-entry-modal .form-field{gap:.6rem}.activity-entry-modal .form-field label{font-size:.9rem}.activity-entry-modal .form-field input,.activity-entry-modal .form-field select{background:#fff;border-radius:.7rem;height:3.25rem;padding-inline:1rem}.activity-entry-modal .form-field textarea{resize:vertical;color:#172033;width:100%;min-height:105px;font:inherit;background:#fff;border:1px solid #d7deea;border-radius:.7rem;outline:none;padding:.9rem 1rem}.activity-entry-modal .form-field textarea:focus{border-color:#2861cf;box-shadow:0 0 0 3px #2861cf1a}.activity-entry-modal .attendance-location-controls>.secondary-action{min-height:3.25rem;padding-inline:1.15rem}.activity-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;display:grid}.activity-form-grid--checkout{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-form-grid .wide{grid-column:1/-1}.activity-entry-form>.entry-modal-actions{border-top:1px solid #e8edf5;margin-top:1.75rem;padding-top:1.25rem}.activity-entry-form>.entry-modal-actions button{min-width:130px;min-height:2.9rem}.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.toggle-field{color:#384258;align-items:center;gap:.65rem;font-size:.88rem;font-weight:600;display:flex}.toggle-field input{accent-color:#2861cf;width:2.4rem;height:1.25rem}@media (width<=600px){.leave-form-grid,.toggle-grid{grid-template-columns:1fr}.leave-form-grid .wide{grid-column:auto}.attendance-profile-section{grid-template-columns:1fr;justify-items:center}.attendance-location-controls{grid-template-columns:1fr;width:100%}.attendance-location-controls small{grid-column:auto}.activity-entry-modal{padding:1.15rem}.activity-entry-modal .attendance-profile-section{grid-template-columns:1fr;gap:1rem}.activity-form-grid,.activity-form-grid--checkout{grid-template-columns:1fr}}.chatbot{z-index:100;flex-direction:column;align-items:flex-end;gap:.85rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.chatbot-launcher{color:#fff;cursor:pointer;background:linear-gradient(145deg,#3478ed,#164ab6);border:0;border-radius:1.15rem;flex:none;place-items:center;width:3.65rem;height:3.65rem;transition:transform .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 14px 30px #1c4dae57}.chatbot-launcher:hover{transform:translateY(-2px);box-shadow:0 17px 34px #1c4dae6b}.chatbot-launcher:focus-visible{outline-offset:3px;outline:3px solid #3075ed4d}.chatbot-launcher svg{width:1.65rem;height:1.65rem}.chatbot-launcher__status{background:#22c55e;border:2px solid #fff;border-radius:50%;width:.85rem;height:.85rem;position:absolute;top:.15rem;right:.1rem}.chatbot-panel{background:#fff;border:1px solid #dce5f2;border-radius:1.15rem;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(390px,100vw - 2rem);height:min(590px,100vh - 7rem);animation:.18s ease-out chatbot-enter;display:grid;overflow:hidden;box-shadow:0 24px 60px #152a5238}@keyframes chatbot-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chatbot-header{color:#fff;background:linear-gradient(125deg,#163c89,#2862d1);align-items:center;gap:.75rem;padding:1rem 1.05rem;display:flex}.chatbot-header__icon{color:#2459bd;background:#fff;border-radius:.8rem;flex:none;place-items:center;width:2.55rem;height:2.55rem;display:grid}.chatbot-header__icon svg{width:1.4rem}.chatbot-header h2{margin:0;font-size:1rem}.chatbot-header p{color:#dbe7ff;align-items:center;gap:.35rem;margin:.2rem 0 0;font-size:.72rem;display:flex}.chatbot-header p span{background:#55e58a;border-radius:50%;width:.45rem;height:.45rem}.chatbot-header>button{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:.55rem;place-items:center;width:2rem;height:2rem;margin-left:auto;display:grid}.chatbot-header>button:hover{background:#ffffff38}.chatbot-header>button svg{width:1rem}.chatbot-messages{scrollbar-width:thin;scrollbar-color:#c5d2e6 transparent;background:#f7f9fd;padding:1rem;overflow-y:auto}.chatbot-welcome{text-align:center;justify-items:center;padding:1.9rem .6rem;display:grid}.chatbot-welcome>span{color:#2862d1;background:#e7efff;border-radius:1rem;place-items:center;width:3rem;height:3rem;display:grid}.chatbot-welcome h3{color:#172033;margin:.85rem 0 .35rem;font-size:1.05rem}.chatbot-welcome p{color:#69758b;max-width:17rem;margin:0;font-size:.8rem;line-height:1.55}.chatbot-welcome button{color:#2459bd;cursor:pointer;background:#fff;border:1px solid #cbdaf5;border-radius:999px;margin-top:1rem;padding:.55rem .8rem;font-size:.75rem;font-weight:700}.chatbot-message{align-items:flex-end;gap:.5rem;margin-bottom:.85rem;display:flex}.chatbot-message--user{justify-content:flex-end}.chatbot-message p{color:#26344d;overflow-wrap:anywhere;white-space:pre-wrap;background:#fff;border-radius:.9rem .9rem .9rem .25rem;max-width:78%;margin:0;padding:.7rem .85rem;font-size:.82rem;line-height:1.5;box-shadow:0 2px 8px #1f315214}.chatbot-message--user p{color:#fff;background:#2862d1;border-radius:.9rem .9rem .25rem}.chatbot-message__avatar{color:#2862d1;background:#e5edff;border-radius:.55rem;flex:none;place-items:center;width:1.8rem;height:1.8rem;display:grid}.chatbot-message__avatar svg{width:1rem}.chatbot-typing{gap:.24rem;display:flex;padding-block:.85rem!important}.chatbot-typing i{background:#8795ac;border-radius:50%;width:.38rem;height:.38rem;animation:1s ease-in-out infinite chatbot-dot}.chatbot-typing i:nth-child(2){animation-delay:.12s}.chatbot-typing i:nth-child(3){animation-delay:.24s}@keyframes chatbot-dot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.chatbot-error{color:#a12828;background:#ffebeb;border-radius:.6rem;margin:.5rem 0;padding:.65rem .75rem;font-size:.75rem}.chatbot-compose{background:#fff;border-top:1px solid #e3e9f2;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;padding:.75rem .85rem .35rem;display:grid}.chatbot-compose input{color:#172033;background:#f8faff;border:1px solid #d5deeb;border-radius:.7rem;outline:none;width:100%;min-width:0;height:2.65rem;padding:0 .8rem;font-size:.82rem}.chatbot-compose input:focus{border-color:#2862d1;box-shadow:0 0 0 3px #2862d11a}.chatbot-compose button{color:#fff;cursor:pointer;background:#2862d1;border:0;border-radius:.7rem;place-items:center;width:2.65rem;height:2.65rem;display:grid}.chatbot-compose button:disabled{cursor:not-allowed;opacity:.5}.chatbot-compose button svg{width:1.1rem}.chatbot-spinner{animation:.8s linear infinite chatbot-spin}@keyframes chatbot-spin{to{transform:rotate(360deg)}}.chatbot-disclaimer{color:#8a94a6;text-align:center;background:#fff;margin:0;padding:.2rem .85rem .6rem;font-size:.62rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.chatbot{bottom:.75rem;right:.75rem}.chatbot-panel{width:calc(100vw - 1.5rem);height:calc(100dvh - 6rem)}.chatbot-launcher{border-radius:1rem;width:3.35rem;height:3.35rem}}@media (prefers-reduced-motion:reduce){.chatbot-panel,.chatbot-typing i,.chatbot-spinner{animation:none}}.employee-import-page{min-width:0}.employee-import-file-input{display:none}.employee-import-card{background:#fff;border:1px solid #d8e8f8;border-radius:1rem;padding:1.25rem;box-shadow:0 4px 24px #0f2d5a12}.employee-import-heading,.employee-import-actions,.employee-import-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.employee-import-heading{justify-content:space-between;align-items:flex-start}.employee-import-heading h2{color:#0f1d2e;margin:.65rem 0 .35rem}.employee-import-heading p{color:#5f7490;margin:0;font-size:.83rem}.employee-import-kicker{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;background:#dbeafe;border-radius:999px;padding:.25rem .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.employee-import-card>.page-message{margin-top:1rem}.employee-import-empty{color:#2563eb;text-align:center;background:#f8fbff;border:1px dashed #bfd3ef;border-radius:.9rem;justify-items:center;gap:.55rem;margin-top:1.1rem;padding:2rem 1.25rem;display:grid}.employee-import-empty span{color:#64748b;font-size:.82rem}.employee-import-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-top:1.1rem;display:grid}.employee-import-summary>div{background:#f8fbff;border:1px solid #dbe7f5;border-radius:.75rem;padding:.75rem .9rem}.employee-import-summary span,.employee-import-summary strong{display:block}.employee-import-summary span{color:#6b85a0;text-transform:uppercase;font-size:.68rem}.employee-import-summary strong{color:#10263f;overflow-wrap:anywhere;margin-top:.3rem;font-size:.85rem}.employee-import-toolbar{justify-content:space-between;margin-top:1rem}.employee-import-toolbar>span{color:#5f7490;font-size:.8rem;font-weight:600}.employee-import-table-wrap{border:1px solid #dbe7f5;border-radius:.75rem;max-height:31rem;margin-top:.85rem;overflow:auto}.employee-import-table{width:max-content;min-width:100%}.employee-import-table th{z-index:1;white-space:nowrap;position:sticky;top:0}.employee-import-table td{white-space:nowrap;text-overflow:ellipsis;max-width:18rem;overflow:hidden}.employee-import-row-invalid{background:#fff7f7}.employee-import-status{white-space:normal;align-items:center;gap:.35rem;max-width:18rem;display:inline-flex}.employee-import-status--imported{color:#15803d}.employee-import-status--failed,.employee-import-row-invalid .employee-import-status{color:#b91c1c}.monthly-attendance-filters{background:#fff;border:1px solid #e3e9f2;border-radius:.9rem;grid-template-columns:minmax(180px,230px) minmax(280px,1fr) auto;align-items:end;gap:1rem;margin-bottom:1.25rem;padding:1.15rem;display:grid}.employee-search-field,.employee-search-input{position:relative}.employee-search-input svg{color:#718096;pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.employee-search-input input{padding-left:2.45rem}.employee-search-options{z-index:20;background:#fff;border:1px solid #d7deea;border-radius:.7rem;max-height:15rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;box-shadow:0 14px 35px #0f192d29}.employee-search-options button{color:#172033;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.45rem;padding:.7rem .75rem}.employee-search-options button:hover{background:#eef4ff}.employee-search-options>span{color:#667085;padding:.7rem}.monthly-attendance-show{min-height:2.9rem}.master-table thead th.attendance-time-header{color:#fff;background:#1d4ed8}.leave-approval-tabs{background:#fff;border:1px solid #dbe5f1;border-radius:12px;gap:.5rem;width:fit-content;margin-bottom:1rem;padding:.35rem;display:flex}.leave-approval-tabs button{color:#52677f;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9px;padding:.65rem 1.1rem;font-weight:700}.leave-approval-tabs button.active{color:#fff;background:#1d4ed8}.leave-approval-placeholder{text-align:center;color:#667085;padding:3rem 1.5rem}.leave-approval-placeholder svg{color:#1d4ed8}.leave-approval-placeholder h3{color:#10263f;margin:.75rem 0 .35rem}.leave-approval-placeholder p{margin:0}.leave-approval-status{color:#166534;background:#dcfce7;border-radius:999px;padding:.25rem .6rem;font-size:.78rem;font-weight:800;display:inline-flex}.leave-approval-actions{white-space:nowrap;gap:.45rem;display:flex}.leave-approval-actions button{color:#fff;cursor:pointer;font:inherit;border:0;border-radius:7px;padding:.45rem .75rem;font-size:.8rem;font-weight:700}.leave-approval-actions button:disabled{cursor:not-allowed;opacity:.55}.leave-approve-button{background:#15803d}.leave-reject-button{background:#dc2626}.regularization-approval-table{min-width:1320px}.rejection-reason-modal{width:min(100%,540px)}.rejection-reason-modal .entry-modal-header p:last-child{color:#667085;margin:.35rem 0 0}.rejection-reason-modal textarea{resize:vertical;width:100%;min-height:120px;font:inherit;border:1px solid #ccd6e3;border-radius:.65rem;padding:.8rem .9rem}.rejection-submit-button{color:#fff;font:inherit;border:0;border-radius:.65rem;padding:.68rem 1rem;font-weight:700}.rejection-submit-button:disabled{cursor:not-allowed;opacity:.55}.leave-request-legend{color:#667085;border-top:1px solid #e7edf5;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.65rem 1.25rem;padding-top:.85rem;font-size:.78rem;display:flex}.leave-request-legend span{align-items:center;gap:.3rem;display:inline-flex}.leave-request-legend strong{color:#1d4ed8;background:#eaf1ff;border-radius:.35rem;padding:.2rem .45rem;font-size:.72rem}.leave-request-modal{width:min(100%,760px);max-height:calc(100vh - 2rem);overflow-y:auto}.leave-request-modal .entry-modal-header p:last-child{color:#667085;margin:.35rem 0 0}.leave-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1.25rem;display:grid}.leave-balance-card{color:#fff;border-radius:.8rem;gap:.25rem;padding:1rem;display:grid;box-shadow:0 8px 20px #0f192d1f}.leave-balance-card--cl{background:linear-gradient(135deg,#6554d9,#4338ca)}.leave-balance-card--pl{background:linear-gradient(135deg,#28a6cf,#087ca7)}.leave-balance-card--sl{background:linear-gradient(135deg,#dc9147,#b96524)}.leave-balance-card span{font-size:.8rem;font-weight:700}.leave-balance-card strong{font-size:1.45rem}.leave-balance-card small{opacity:.85}.leave-request-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.leave-request-fields select,.leave-request-fields textarea{color:#172033;width:100%;font:inherit;background:#fbfcfe;border:1px solid #d7deea;border-radius:.6rem;padding:.75rem .9rem}.leave-request-fields select{height:2.9rem}.leave-request-fields textarea{resize:vertical;min-height:90px}.leave-request-employee,.leave-request-type,.leave-request-reason{grid-column:1/-1}.leave-half-day{color:#384258;align-items:center;gap:.55rem;font-weight:650;display:flex}.leave-total-days{color:#207044;background:#eaf7ef;border-radius:.6rem;justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.leave-total-days strong{font-size:1.1rem}.attendance-regularization-modal{width:min(100%,680px);max-height:calc(100vh - 2rem);overflow-y:auto}.attendance-regularization-modal .entry-modal-header p:last-child{color:#667085;margin:.35rem 0 0}.regularization-shift{color:#174274;background:#eaf3ff;border-radius:.7rem;align-items:center;gap:.65rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.regularization-shift span{text-transform:uppercase;font-size:.78rem;font-weight:700}.regularization-shift strong{font-size:1rem}.regularization-shift small{color:#5b7390;margin-left:auto}.regularization-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.regularization-fields select,.regularization-fields textarea{color:#172033;width:100%;font:inherit;background:#fbfcfe;border:1px solid #d7deea;border-radius:.6rem;padding:.75rem .9rem}.regularization-fields select{height:2.9rem}.regularization-fields textarea{resize:vertical;min-height:100px}.regularization-reason,.regularization-notes{grid-column:1/-1}@media (width<=800px){.monthly-attendance-filters{grid-template-columns:1fr}.monthly-attendance-show{justify-self:start}.leave-balance-grid,.leave-request-fields{grid-template-columns:1fr}.leave-request-employee,.leave-request-type,.leave-request-reason{grid-column:auto}.regularization-fields{grid-template-columns:1fr}.regularization-reason,.regularization-notes{grid-column:auto}.regularization-shift{flex-direction:column;align-items:flex-start}.regularization-shift small{margin-left:0}}@media (width<=600px){.master-page-heading{flex-direction:column;align-items:stretch}.master-page-heading .primary-action{align-self:flex-start}}
