.ezatt-header{background:#fff;border-bottom:1px solid #e5eaf2;justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex}.ezatt-header-left,.ezatt-header-right{align-items:center;gap:24px;display:flex}.ezatt-user-box{align-items:center;gap:10px;display:flex}.ezatt-profile-img{object-fit:cover;border:1px solid #e5eaf2;border-radius:50%;width:38px;height:38px}.ezatt-user-box strong{color:#111827;font-size:14px;display:block}.ezatt-user-box span{color:#7b8496;margin-top:2px;font-size:12px;display:block}.ezatt-alarm-link{border-left:1px solid #eef1f6;border-right:1px solid #eef1f6;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.ezatt-alarm-link img{object-fit:contain;width:24px;height:24px}.ezatt-alarm-link span{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:flex;position:absolute;top:8px;right:4px}.ezatt-logout-btn{color:#fff;background:#4b67a8;border:0;border-radius:0;height:36px;padding:0 18px;font-weight:700;transition:background .2s}.ezatt-logout-btn:hover{background:#3c558f}.ezatt-auth-links{align-items:center;gap:12px;display:flex}.ezatt-auth-links a{font-weight:700}.ezatt-header-brand{color:#111827;align-items:center;gap:12px;font-size:22px;font-weight:900;display:flex}.ezatt-header-logo-mark{color:#fff;background:linear-gradient(135deg,#0f5bff,#13d6c3);border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:900;display:flex}.ezatt-top-nav{display:none}.ezatt-header{z-index:20;position:sticky;top:0}.ezatt-notification-wrap{position:relative}.ezatt-alarm-link{cursor:pointer;background:#fff;border-top:0;border-bottom:0}.ezatt-notification-dropdown{z-index:50;background:#fff;border:1px solid #e3e9f3;border-radius:8px;width:360px;position:absolute;top:52px;right:0;overflow:hidden;box-shadow:0 14px 30px #0f172a1f}.notification-dropdown-head{border-bottom:1px solid #edf1f7;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.notification-dropdown-head strong{color:#111827;font-size:15px}.notification-dropdown-head small{color:#94a3b8;font-size:12px}.notification-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.notification-item{text-align:left;background:#eff6ff;border:0;border-bottom:1px solid #edf1f7;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;display:flex}.notification-item.read{background:#fff}.notification-item strong{color:#111827;margin-bottom:6px;font-size:14px;display:block}.notification-item p{color:#64748b;max-height:38px;margin:0;font-size:13px;line-height:1.5;overflow:hidden}.notification-item em{color:#0f5bff;flex-shrink:0;font-size:11px;font-style:normal;font-weight:900}.notification-empty{color:#64748b;text-align:center;padding:26px 18px;font-size:14px}.notification-more{color:#0f5bff;background:#f8fafc;border:0;border-top:1px solid #edf1f7;border-radius:0;width:100%;height:44px;font-weight:800}.notification-more:hover{background:#eef4ff}.ezatt-layout{background:#f3f6fb;min-height:100vh;display:flex}.ezatt-layout-body{flex:1;min-width:0}.ezatt-main{background:#f3f6fb;min-height:calc(100vh - 78px);padding:36px 48px}.ezatt-auth-layout{background:#fff;min-height:100vh}.ezatt-auth-main{max-width:960px;margin:0 auto;padding:32px 16px}.ezatt-sidebar{color:#fff;background:#151f46;flex-shrink:0;align-self:flex-start;width:240px;height:100vh;position:sticky;top:0;overflow-y:auto}.ezatt-sidebar-logo span{font-size:22px;font-weight:900}.ezatt-sidebar-section{padding-top:28px}.ezatt-sidebar-nav{flex-direction:column;display:flex}.ezatt-sidebar-link{color:#aeb9d8;border-left:4px solid #0000;align-items:center;gap:12px;height:58px;padding:0 24px;font-size:15px;font-weight:700;display:flex}.ezatt-sidebar-link:hover{color:#fff;background:#1d2a5c}.ezatt-sidebar-link.active{color:#fff;background:#0f5bff;border-left-color:#fff}.ezatt-sidebar-icon{text-align:center;width:22px;font-size:17px}.ezatt-sidebar-nav.top{padding-top:28px}.ezatt-sidebar-group{color:#aeb9d8}.ezatt-sidebar-group-title{color:#aeb9d8;align-items:center;gap:12px;height:58px;padding:0 24px;font-size:15px;font-weight:800;display:flex}.ezatt-sidebar-subnav{background:#101936;padding:4px 0 10px}.ezatt-sidebar-sublink{color:#8fa0c7;border-left:4px solid #0000;align-items:center;height:38px;padding:0 24px 0 58px;font-size:14px;font-weight:700;display:flex}.ezatt-sidebar-sublink:hover{color:#fff;background:#1d2a5c}.ezatt-sidebar-sublink.active{color:#fff;background:#0f5bff;border-left-color:#fff}.ezatt-sidebar-group-title{color:#aeb9d8;cursor:pointer;background:0 0;border:0;border-left:4px solid #0000;border-radius:0;justify-content:space-between;align-items:center;width:100%;height:58px;padding:0 24px;font-size:15px;font-weight:800;display:flex}.ezatt-sidebar-group-title:hover,.ezatt-sidebar-group-title.open{color:#fff;background:#1d2a5c}.ezatt-sidebar-group-left{align-items:center;gap:12px;display:flex}.ezatt-sidebar-arrow{font-size:16px;font-weight:900}.main-page{flex-direction:column;gap:24px;min-height:100vh;display:flex}.main-hero{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:64px 56px}.main-hero-content{flex-direction:column;justify-content:center;display:flex}.main-logo-row{color:#111827;align-items:center;gap:12px;margin-bottom:28px;font-size:24px;font-weight:900;display:flex}.main-logo-mark{color:#fff;background:linear-gradient(135deg,#0f5bff,#13d6c3);border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:flex}.main-hero h1{color:#111827;letter-spacing:-.04em;margin:0 0 18px;font-size:40px;line-height:1.25}.main-hero p{color:#64748b;max-width:760px;margin:0;font-size:16px;line-height:1.8}.main-action-row{gap:12px;margin-top:32px;display:flex}.main-btn{border-radius:4px;justify-content:center;align-items:center;min-width:120px;height:42px;padding:0 18px;font-weight:800;display:inline-flex}.main-btn.primary{color:#fff;background:#0f5bff}.main-btn.secondary{color:#334155;background:#e8eef8}.main-hero-card{color:#fff;background:#151f46;border-radius:8px;padding:26px}.main-feature-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.main-feature-card{background:#f8fafc;border:1px solid #e3e9f3;border-radius:6px;padding:22px}.main-feature-card strong{color:#111827;margin-bottom:10px;font-size:16px;display:block}.main-feature-card p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.main-section{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:32px}.main-section-title{margin-bottom:22px}.main-section-title h2{color:#111827;margin:0 0 8px;font-size:22px;font-weight:900}.main-section-title p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.main-stack-list{flex-wrap:wrap;gap:10px;display:flex}.main-stack-list span{color:#0f5bff;background:#eef4ff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800}.main-footer{color:#64748b;text-align:center;padding:18px;font-size:13px}@media (width<=1100px){.main-feature-grid{grid-template-columns:1fr}.main-hero{padding:40px 32px}.main-hero h1{font-size:32px}}.mypage-dashboard{flex-direction:column;gap:24px;display:flex}.dashboard-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:18px 20px;font-weight:700}.dashboard-hero{background:#fff;border:1px solid #e3e9f3;border-radius:6px;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.hero-user{align-items:center;gap:20px;display:flex}.hero-user img{object-fit:cover;border:1px solid #e3e9f3;border-radius:50%;width:72px;height:72px}.hero-date{color:#0f5bff;margin:0 0 6px;font-size:13px;font-weight:800}.hero-user h2{color:#111827;margin:0 0 8px;font-size:24px}.hero-user span{color:#64748b;font-size:14px}.hero-action{align-items:center;gap:12px;display:flex}.dashboard-status{color:#374151;background:#f3f4f6;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800}.dashboard-status.WORKING{color:#1d4ed8;background:#dbeafe}.dashboard-status.COMPLETED{color:#166534;background:#dcfce7}.dashboard-status.ABSENT{color:#991b1b;background:#fee2e2}.hero-action button{color:#fff;background:#0f5bff;border:0;border-radius:4px;padding:10px 18px;font-weight:800}.hero-action button.dark{background:#151f46}.summary-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;display:grid}.summary-card-v2{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:22px}.summary-card-v2 span{color:#64748b;margin-bottom:12px;font-size:13px;font-weight:800;display:block}.summary-card-v2 strong{color:#111827;margin-bottom:8px;font-size:26px;display:block}.summary-card-v2 p{color:#94a3b8;margin:0;font-size:12px}.dashboard-two-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dashboard-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:24px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-head h3{margin:0 0 6px;font-size:18px}.panel-head p{color:#64748b;margin:0;font-size:13px}.panel-head a{color:#0f5bff;background:#eef4ff;border-radius:4px;padding:7px 12px;font-size:13px;font-weight:800}.leave-summary-box{border:1px solid #edf1f7;grid-template-columns:repeat(3,1fr);display:grid}.leave-summary-box div{border-right:1px solid #edf1f7;padding:18px}.leave-summary-box div:last-child{border-right:0}.leave-summary-box span,.month-summary-list span{color:#64748b;margin-bottom:8px;font-size:13px;display:block}.leave-summary-box strong,.month-summary-list strong{color:#111827;font-size:22px}.leave-summary-box .blue{color:#0f5bff}.month-summary-list{flex-direction:column;gap:10px;display:flex}.month-summary-list div{border:1px solid #edf1f7;border-radius:4px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.empty-message{color:#64748b;background:#f8fafc;border:1px dashed #dbe3ef;border-radius:6px;padding:22px;font-size:14px}.quick-action-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.quick-action-grid a{color:#111827;background:#f8fafc;border:1px solid #e3e9f3;border-radius:6px;padding:16px;font-weight:800}.quick-action-grid a:hover{color:#fff;background:#0f5bff;border-color:#0f5bff}.recent-list{flex-direction:column;gap:10px;display:flex}.recent-item{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #edf1f7;border-radius:4px;justify-content:space-between;gap:16px;width:100%;padding:14px 16px;display:flex}.recent-item:hover{background:#eef4ff;border-color:#0f5bff}.recent-item strong{color:#111827;margin-bottom:6px;font-size:14px;display:block}.recent-item p{color:#64748b;margin:0;font-size:13px}.recent-item span{color:#94a3b8;flex-shrink:0;font-size:12px}.recent-item.read{opacity:.65}@media (width<=1100px){.summary-grid,.dashboard-two-column{grid-template-columns:1fr}.dashboard-hero{flex-direction:column;align-items:flex-start}}.correction-page{flex-direction:column;gap:22px;display:flex}.correction-page-header{background:#fff;border:1px solid #e3e9f3;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 30px;display:flex}.correction-page-header h2{color:#111827;margin:0 0 8px;font-size:24px}.correction-page-header p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.correction-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:24px}.correction-filter-form{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end;gap:14px;display:grid}.correction-form-field label{color:#475569;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.correction-form-field input,.correction-form-field select,.correction-form-field textarea{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d7dfeb;border-radius:4px;width:100%;padding:10px 12px}.correction-form-field textarea{resize:vertical;min-height:120px;line-height:1.6}.correction-button-row{align-items:center;gap:8px;display:flex}.correction-btn{color:#334155;background:#e8eef8;border:0;border-radius:4px;padding:10px 16px;font-weight:800}.correction-btn.primary{color:#fff;background:#0f5bff}.correction-btn.dark{color:#fff;background:#151f46}.correction-btn.danger{color:#b91c1c;background:#fee2e2}.correction-toolbar{justify-content:space-between;align-items:center;display:flex}.correction-total{color:#475569;font-size:14px}.correction-total strong{color:#0f5bff}.correction-table-wrap{background:#fff;border:1px solid #e3e9f3;border-radius:6px;overflow:hidden}.correction-table{border-collapse:collapse;width:100%;font-size:13px}.correction-table th{color:#334155;text-align:center;background:#f8fafc;border-bottom:1px solid #e3e9f3;padding:13px 12px;font-weight:800}.correction-table td{color:#111827;text-align:center;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:13px 12px}.correction-table tr:last-child td{border-bottom:0}.correction-reason-cell{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden;text-align:left!important}.correction-empty{text-align:center;color:#64748b;padding:34px}.correction-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:16px 18px;font-weight:700}.correction-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:16px 18px;font-weight:700}.correction-status{border-radius:999px;justify-content:center;min-width:64px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.correction-status.PENDING{color:#92400e;background:#fef3c7}.correction-status.APPROVED{color:#166534;background:#dcfce7}.correction-status.REJECTED{color:#b91c1c;background:#fee2e2}.correction-status.CANCELED{color:#475569;background:#f1f5f9}.correction-pagination{justify-content:center;align-items:center;gap:14px;display:flex}.correction-pagination span{color:#475569;font-weight:700}.correction-form{flex-direction:column;gap:16px;max-width:720px;display:flex}.correction-detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.correction-info-item{background:#f8fafc;border:1px solid #edf1f7;border-radius:4px;padding:16px}.correction-info-item span{color:#64748b;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.correction-info-item strong{color:#111827;font-size:15px;line-height:1.6}.correction-text-box{color:#111827;white-space:pre-wrap;background:#f8fafc;border:1px solid #edf1f7;border-radius:4px;padding:16px;line-height:1.7}.correction-button-row.center{justify-content:center}.correction-btn:disabled{opacity:.45;cursor:not-allowed}.correction-filter-form.admin{grid-template-columns:1fr 1fr 1.3fr 1fr 1fr auto}.correction-detail-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.correction-detail-title h3{color:#111827;margin:0 0 6px;font-size:18px}.correction-detail-title p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.correction-review-box{margin-top:16px}.correction-button-row.review{justify-content:flex-start;margin-top:16px}@media (width<=1400px){.correction-filter-form.admin{grid-template-columns:repeat(3,1fr)}}@media (width<=1200px){.correction-filter-form{grid-template-columns:repeat(2,1fr)}}.notification-page{flex-direction:column;gap:22px;display:flex}.notification-page-header{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:26px 30px}.notification-page-header h2{color:#111827;margin:0 0 8px;font-size:24px;font-weight:800}.notification-page-header p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.notification-filter-panel,.notification-list-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:24px}.notification-filter-row{flex-wrap:wrap;gap:8px;display:flex}.notification-filter-btn{color:#334155;background:#e8eef8;border:0;border-radius:4px;padding:10px 16px;font-weight:800}.notification-filter-btn.active{color:#fff;background:#0f5bff}.notification-page-list{flex-direction:column;gap:12px;display:flex}.notification-page-item{text-align:left;background:#fff;border:1px solid #e5eaf2;border-radius:6px;width:100%;padding:18px}.notification-page-item.unread{background:#eff6ff;border-color:#93c5fd}.notification-page-item:hover{border-color:#0f5bff}.notification-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.notification-badge-wrap{align-items:center;gap:8px;display:flex}.notification-type-badge{text-align:center;color:#374151;background:#f3f4f6;border-radius:999px;min-width:84px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-block}.notification-type-badge.APPROVED,.notification-type-badge.ANNUAL_LEAVE_APPROVED,.notification-type-badge.ATTENDANCE_CORRECTION_APPROVED{color:#166534;background:#dcfce7}.notification-type-badge.REJECTED,.notification-type-badge.ANNUAL_LEAVE_REJECTED,.notification-type-badge.ATTENDANCE_CORRECTION_REJECTED{color:#b91c1c;background:#fee2e2}.notification-new-badge{color:#2563eb;font-size:12px;font-weight:900}.notification-date{color:#6b7280;font-size:13px}.notification-page-item-title{color:#111827;margin-bottom:8px;font-size:16px;font-weight:800}.notification-page-item-content{color:#4b5563;font-size:14px;line-height:1.6}.notification-loading,.notification-empty,.notification-error{color:#64748b;margin:0;font-size:14px}.notification-error{color:#b91c1c;font-weight:700}.ezatt-leave-page{color:#111827;flex-direction:column;gap:22px;display:flex}.leave-title-row{background:#fff;border:1px solid #e3e9f3;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:0;padding:26px 30px;display:flex}.leave-title-row h2{color:#111827;margin:0 0 8px;font-size:24px;font-weight:800}.leave-title-row p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.leave-card-section{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:0;display:grid}.summary-icon{background:#edf3ff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.summary-card{background:#fff;border:1px solid #e3e9f3;border-radius:6px;align-items:center;gap:16px;padding:22px;display:flex}.summary-card p{color:#666;margin:0 0 8px;font-size:13px}.summary-card strong{font-size:28px}.summary-card strong span{color:#333;margin-left:4px;font-size:14px}.summary-card .blue{color:#1f7bf2}.summary-card .orange{color:#f2a100}.leave-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px;margin-bottom:0;overflow:hidden}.panel-title{color:#111827;border-bottom:1px solid #e5eaf2;padding:16px 20px;font-weight:800}.panel-title.blue{color:#111827}.panel-head{border-bottom:1px solid #e5e9f0;justify-content:space-between;align-items:center;display:flex}.panel-head .panel-title{border-bottom:0}.panel-head select{border:1px solid #ccd3dd;border-radius:4px;height:34px;margin-right:16px;padding:0 10px}.leave-form-row{border-bottom:1px solid #edf0f5;padding:14px 18px;position:relative}.leave-form-row label,.leave-form-grid label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.radio-group{gap:32px;display:flex}.radio-group label{align-items:center;gap:6px;font-weight:400;display:flex}.leave-form-grid{border-bottom:1px solid #edf0f5;grid-template-columns:1fr 1fr;gap:24px;padding:14px 18px;display:grid}.leave-form-grid input,.leave-form-row textarea,.admin-grant-grid input{box-sizing:border-box;border:1px solid #ccd3dd;border-radius:4px;width:100%;padding:10px}.leave-form-row textarea{resize:none;height:72px}.text-count{color:#999;font-size:12px;position:absolute;bottom:22px;right:30px}.button-row{justify-content:center;gap:12px;padding:14px;display:flex}.btn-primary,.btn-secondary,.btn-mini{cursor:pointer;background:#fff;border:1px solid #ccd3dd;border-radius:4px;padding:8px 18px}.btn-primary{color:#fff;background:#0f5bff;border-color:#0f5bff;font-weight:800}.btn-secondary{color:#334155;background:#e8eef8;border-color:#e8eef8;font-weight:800}.btn-mini{cursor:pointer;color:#1e293b;background:#e8eef8;border:0;border-radius:4px;padding:8px 12px;font-weight:800}.btn-mini.primary{color:#fff;background:#1f7bf2;border-color:#1f7bf2}.btn-mini.danger{color:#b91c1c;background:#fee2e2}.leave-table{border-collapse:collapse;width:100%;font-size:13px}.leave-table th{background:#f7f9fc;border-bottom:1px solid #dfe4ec;padding:11px;font-weight:700}.leave-table td{text-align:center;border-bottom:1px solid #edf0f5;padding:11px}.empty-row{color:#888;padding:30px!important}.type-badge,.status-badge{border-radius:999px;min-width:54px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block}.type-badge.FULL_DAY{color:#1f7bf2;background:#e8f1ff}.type-badge.AM_HALF,.type-badge.PM_HALF{color:#e89400;background:#fff2d9}.status-badge.PENDING{color:#1f7bf2;background:#ddecff}.status-badge.APPROVED{color:#12a66a;background:#dff8ec}.status-badge.REJECTED{color:#e34b4b;background:#ffe2e2}.status-badge.CANCELED{color:#666;background:#eee}.inline-buttons{justify-content:center;gap:6px;display:flex}.admin-grant-grid{grid-template-columns:1fr 1fr 1fr 100px;gap:10px;padding:18px;display:grid}.detail-grid{border-bottom:1px solid #edf0f5;grid-template-columns:repeat(4,1fr);gap:0;display:grid}.detail-item{border-bottom:1px solid #edf0f5;border-right:1px solid #edf0f5;padding:16px 18px}.detail-item span{color:#777;margin-bottom:8px;font-size:12px;display:block}.detail-item strong{color:#222;font-size:14px}.detail-block{border-bottom:1px solid #edf0f5;padding:18px}.detail-block strong{margin-bottom:10px;font-size:14px;display:block}.detail-block p{color:#444;margin:0;line-height:1.6}.period-col{white-space:nowrap;min-width:170px}.action-col{white-space:nowrap;min-width:150px}.inline-buttons.nowrap{white-space:nowrap;flex-wrap:nowrap}.leave-table th,.leave-table td{vertical-align:middle}.pagination{border-top:1px solid #edf0f5;justify-content:center;gap:6px;padding:16px;display:flex}.page-btn{cursor:pointer;background:#fff;border:1px solid #ccd3dd;border-radius:4px;min-width:34px;height:32px}.page-btn.active{color:#fff;background:#1f7bf2;border-color:#1f7bf2;font-weight:700}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn:hover:not(:disabled){background:#f1f5fb}.leave-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:16px 18px;font-weight:700}.calendar-controls{align-items:center;gap:10px;margin-right:16px;display:flex}.calendar-controls strong{text-align:center;color:#111827;min-width:120px;font-size:14px}.leave-calendar{padding:18px}.leave-calendar-weekdays{background:#f8fafc;border:1px solid #e3e9f3;border-bottom:0;grid-template-columns:repeat(7,1fr);display:grid}.leave-calendar-weekdays div{text-align:center;color:#475569;padding:11px 0;font-size:13px;font-weight:800}.leave-calendar-grid{border-top:1px solid #e3e9f3;border-left:1px solid #e3e9f3;grid-template-columns:repeat(7,1fr);display:grid}.leave-calendar-day{background:#fff;border-bottom:1px solid #e3e9f3;border-right:1px solid #e3e9f3;min-height:96px;position:relative;overflow:hidden}.leave-calendar-day.muted{color:#94a3b8;background:#f8fafc}.leave-calendar-day.saturday .day-number{color:#2563eb}.leave-calendar-day.sunday .day-number,.leave-calendar-day.holiday .day-number,.leave-calendar-day.saturday.holiday .day-number{color:#dc2626}.calendar-day-content{z-index:2;flex-direction:column;gap:6px;padding:10px;display:flex;position:relative}.full-fill{opacity:.45;background:#dbeafe;position:absolute;inset:0}.half-fill{opacity:.5;background:#bfdbfe;height:50%;position:absolute;left:0;right:0}.half-fill.top{top:0}.half-fill.bottom{bottom:0}.calendar-day-top{align-items:center;gap:6px;display:flex}.day-number{color:#111827;font-size:13px;font-weight:800}.holiday-text{color:#dc2626;white-space:nowrap;font-size:11px;font-weight:700}.leave-text{color:#60a5fa;margin-top:auto;padding-top:18px;font-size:11px;font-weight:700;line-height:1.4}@media (width<=900px){.leave-calendar-day{min-height:72px}}@media (width<=1100px){.leave-card-section{grid-template-columns:repeat(2,1fr)}.leave-form-grid,.admin-grant-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}.admin-dashboard{flex-direction:column;gap:22px;display:flex}.admin-page-header{background:#fff;border:1px solid #e3e9f3;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 30px;display:flex}.admin-page-header h2{color:#111827;margin:0 0 8px;font-size:24px;font-weight:800}.admin-page-header p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.admin-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:16px 18px;font-weight:700}.admin-summary-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;display:grid}.admin-summary-card{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:22px}.admin-summary-card span{color:#64748b;margin-bottom:12px;font-size:13px;font-weight:800;display:block}.admin-summary-card strong{color:#111827;margin-bottom:8px;font-size:28px;display:block}.admin-summary-card p{color:#94a3b8;margin:0;font-size:12px}.admin-two-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:24px}.admin-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-panel-head h3{color:#111827;margin:0 0 6px;font-size:18px}.admin-panel-head p{color:#64748b;margin:0;font-size:13px}.admin-panel-link{color:#0f5bff;background:#eef4ff;border-radius:4px;padding:7px 12px;font-size:13px;font-weight:800}.admin-placeholder{color:#64748b;background:#f8fafc;border:1px dashed #dbe3ef;border-radius:6px;padding:22px;font-size:14px;line-height:1.6}.admin-placeholder strong{color:#0f5bff}.admin-quick-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.admin-quick-card{background:#f8fafc;border:1px solid #e3e9f3;border-radius:6px;align-items:flex-start;gap:14px;padding:18px;transition:all .2s;display:flex}.admin-quick-card:hover{background:#eef4ff;border-color:#0f5bff}.admin-quick-card>span{font-size:22px}.admin-quick-card strong{color:#111827;margin-bottom:8px;font-size:15px;display:block}.admin-quick-card p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.admin-simple-list{flex-direction:column;gap:10px;display:flex}.admin-simple-item{background:#f8fafc;border:1px solid #edf1f7;border-radius:4px;padding:14px 16px;display:block}.admin-simple-item:hover{background:#eef4ff;border-color:#0f5bff}.admin-simple-item strong{color:#111827;margin-bottom:6px;font-size:14px;display:block}.admin-simple-item p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.admin-history-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-history-status{text-align:center;border-radius:999px;flex-shrink:0;min-width:48px;padding:5px 9px;font-size:12px;font-weight:800}.admin-history-status.APPROVED{color:#166534;background:#dcfce7}.admin-history-status.REJECTED{color:#b91c1c;background:#fee2e2}.admin-simple-item small{color:#94a3b8;margin-top:8px;font-size:12px;display:block}@media (width<=1200px){.admin-summary-grid,.admin-two-column,.admin-quick-grid{grid-template-columns:1fr}}.admin-user-page{flex-direction:column;gap:22px;display:flex}.admin-user-header{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:26px 30px}.admin-user-header h2{color:#111827;margin:0 0 8px;font-size:24px;font-weight:800}.admin-user-header p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.admin-user-panel,.admin-user-table-wrap,.admin-user-edit-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px}.admin-user-panel{padding:24px}.admin-user-filter{grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;gap:14px;display:grid}.admin-user-field label{color:#475569;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.admin-user-field input,.admin-user-field select{color:#111827;background:#fff;border:1px solid #d7dfeb;border-radius:4px;width:100%;height:40px;padding:0 12px}.admin-user-field input:disabled,.admin-user-field select:disabled{color:#94a3b8;background:#f1f5f9}.admin-user-button-row{align-items:center;gap:8px;display:flex}.admin-user-btn{color:#334155;background:#e8eef8;border:0;border-radius:4px;padding:10px 16px;font-weight:800}.admin-user-btn.primary{color:#fff;background:#0f5bff}.admin-user-btn.small{padding:8px 12px;font-size:13px}.admin-user-btn:disabled{opacity:.45;cursor:not-allowed}.admin-user-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.admin-user-table-wrap{overflow:hidden}.admin-user-table-head{color:#475569;border-bottom:1px solid #e5eaf2;padding:16px 20px;font-size:14px}.admin-user-table-head strong{color:#0f5bff}.admin-user-table{border-collapse:collapse;width:100%;font-size:13px}.admin-user-table th{color:#334155;text-align:center;background:#f8fafc;border-bottom:1px solid #e3e9f3;padding:13px 12px;font-weight:800}.admin-user-table td{color:#111827;text-align:center;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:13px 12px}.admin-user-table tr:last-child td{border-bottom:0}.admin-user-empty{text-align:center;color:#64748b;padding:34px}.admin-user-edit-panel{flex-direction:column;gap:16px;padding:24px;display:flex;position:sticky;top:100px}.admin-user-edit-head h3{color:#111827;margin:0 0 6px;font-size:18px}.admin-user-edit-head p{color:#64748b;margin:0;font-size:13px}.admin-user-status{border-radius:999px;justify-content:center;min-width:70px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.admin-user-status.PENDING{color:#92400e;background:#fef3c7}.admin-user-status.ACTIVE{color:#166534;background:#dcfce7}.admin-user-status.REJECTED{color:#b91c1c;background:#fee2e2}.admin-user-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:16px 18px;font-weight:700}.admin-user-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:16px 18px;font-weight:700}@media (width<=1300px){.admin-user-layout{grid-template-columns:1fr}.admin-user-edit-panel{position:static}}@media (width<=900px){.admin-user-filter{grid-template-columns:1fr}.admin-user-button-row{justify-content:flex-start}}*{box-sizing:border-box}body{color:#111827;background-color:#fff;margin:0;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 14px}input{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.attendance-month-page{padding:24px}.month-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.month-summary{grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-bottom:20px;display:grid}.summary-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:16px}.summary-title{color:#666;margin-bottom:8px;font-size:14px;display:block}.attendance-table{border-collapse:collapse;background:#fff;width:100%}.attendance-table th,.attendance-table td{text-align:center;border:1px solid #ddd;padding:12px}.status-badge{border-radius:999px;min-width:88px;padding:6px 10px;font-size:13px;display:inline-block}.status-badge.before-work{background:#f3f4f6}.status-badge.missing{background:#fee2e2}.status-badge.warning{background:#fef3c7}.status-badge.working{background:#dbeafe}.status-badge.completed{background:#dcfce7}.error-text{color:red}.notification-item{cursor:pointer}.notification-item:hover{background:#f7faff}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.common-page-header{background:#fff;border:1px solid #e3e9f3;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 30px;display:flex}.common-page-header h2{color:#111827;margin:0 0 8px;font-size:24px;font-weight:800}.common-page-header p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.common-panel{background:#fff;border:1px solid #e3e9f3;border-radius:6px;padding:24px}.common-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.common-panel-head h3{color:#111827;margin:0 0 6px;font-size:18px}.common-panel-head p{color:#64748b;margin:0;font-size:13px}.common-empty{text-align:center;color:#64748b;padding:34px}.common-status-badge{color:#475569;background:#f1f5f9;border-radius:999px;justify-content:center;min-width:64px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.common-status-badge.PENDING,.common-status-badge.BEFORE_WORK{color:#92400e;background:#fef3c7}.common-status-badge.APPROVED,.common-status-badge.ACTIVE,.common-status-badge.COMPLETED{color:#166534;background:#dcfce7}.common-status-badge.REJECTED,.common-status-badge.ABSENT{color:#b91c1c;background:#fee2e2}.common-status-badge.WORKING{color:#1d4ed8;background:#dbeafe}.common-status-badge.CANCELED{color:#475569;background:#f1f5f9}
