*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}body{background:#f1f5f9;color:#1e293b;font-family:Inter,Segoe UI,Arial,sans-serif;overflow:hidden}.app-layout{display:flex;height:100vh;overflow:hidden;width:100%}.sidebar-collapsed-state .sidebar{width:70px}.main-content{display:flex;flex-direction:column;height:100vh;margin-left:260px;overflow:hidden;transition:.3s ease;width:calc(100% - 260px)}.sidebar-collapsed-state .main-content{margin-left:70px;width:calc(100% - 70px)}.header{flex-shrink:0}.page-content{background:#f8fafc;flex:1 1;overflow-y:auto;padding:20px}.sidebar{background:#1149cc;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transition:.25s ease;width:260px;z-index:1000}.sidebar-collapsed{width:70px}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:20px}.sidebar-logo{align-items:center;border-bottom:1px solid #ffffff26;display:flex;gap:10px;height:70px;padding:15px}.sidebar-collapsed .sidebar-logo{justify-content:center;padding:10px}.sidebar-logo-icon{align-items:center;background:#4f46e5;border-radius:10px;color:#fff;display:flex;height:38px;justify-content:center;width:38px}.sidebar-logo-title{color:#fff;font-size:17px;font-weight:700}.sidebar-logo-sub{color:#dbeafe;font-size:10px}.sidebar-collapsed .sidebar-logo-sub,.sidebar-collapsed .sidebar-logo-title{display:none}.sidebar-toggle-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;margin-left:auto}.sidebar-collapsed .sidebar-toggle-btn{margin-left:0}.sidebar-item,.sidebar-menu-parent{align-items:center;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:13px;gap:12px;margin:5px 10px;padding:11px 14px;transition:.2s}.sidebar-item:hover,.sidebar-menu-parent:hover{background:#ffffff1f}.sidebar-item.active,.sidebar-menu-parent.active{background:#4f46e5}.sidebar-item-icon,.sidebar-menu-icon{font-size:18px;text-align:center;width:22px}.sidebar-collapsed .sidebar-item,.sidebar-collapsed .sidebar-menu-parent{justify-content:center;padding:12px 0}.sidebar-collapsed .sidebar-menu-arrow,.sidebar-collapsed .sidebar-menu-label{display:none}.sidebar-section-label{color:#dbeafe;font-size:10px;font-weight:700;padding:15px 15px 5px}.sidebar-submenu{background:#00000026;border-radius:10px;margin:0 10px;padding:5px 0}.sidebar-submenu-item{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:9px 15px 9px 32px}.sidebar-submenu-item:hover{background:#ffffff1a}.sidebar-submenu-item.active{background:#4f46e5;border-radius:8px}.sidebar-footer{align-items:center;border-top:1px solid #ffffff26;display:flex;gap:10px;margin-top:auto;padding:15px}.sidebar-footer-avatar{align-items:center;background:#4f46e5;border-radius:50%;color:#fff;display:flex;font-weight:700;height:35px;justify-content:center;width:35px}.sidebar-footer-name{color:#fff;font-size:12px;font-weight:600}.sidebar-footer-role{color:#dbeafe;font-size:10px}.sidebar-collapsed .sidebar-footer{justify-content:center}.sidebar-collapsed .sidebar-footer-info{display:none}@media(max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}}.header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 10px #0000000f;height:64px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;transition:.3s ease;z-index:500}.header,.header-left{align-items:center;display:flex}.header-left{gap:15px}.header-info{display:flex;flex-direction:column}.header-greeting{color:#1e293b;font-size:16px;font-weight:700;line-height:22px}.header-date{color:#64748b;font-size:12px}.header-hamburger-btn{background:#f1f5f9;border:none;border-radius:10px;cursor:pointer;display:none;font-size:20px;height:40px;width:40px}.header-right{align-items:center;display:flex;gap:12px}.header-search{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;height:40px;outline:none;padding:0 15px;width:230px}.header-search:focus{background:#fff;border-color:#6366f1}.header-live-badge{align-items:center;background:#dcfce7;border-radius:20px;color:#15803d;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.header-live-dot{background:#16a34a;border-radius:50%;height:8px;width:8px}.header-icon-wrap{position:relative}.header-icon-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;font-size:18px;height:40px;width:40px}.header-icon-btn:hover{background:#eef2ff}.header-icon-dot{border:2px solid #fff;border-radius:50%;height:9px;position:absolute;right:3px;top:3px;width:9px}.header-icon-dot.red{background:#ef4444}.header-divider{background:#e2e8f0;height:32px;width:1px}.header-profile-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:5px 12px}.header-profile-avatar{align-items:center;background:#6366f1;border-radius:50%;color:#fff;display:flex;font-weight:700;height:34px;justify-content:center;width:34px}.header-profile-info{display:flex;flex-direction:column}.header-profile-name{font-size:12px;font-weight:700}.header-profile-role{color:#6366f1;font-size:11px}.header-profile-arrow{color:#64748b;font-size:10px}.header-dropdown{background:#fff;border-radius:14px;box-shadow:0 15px 40px #00000026;overflow:hidden;position:absolute;right:0;top:50px;width:300px}.header-dropdown-head{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:15px}.header-dropdown-title{font-size:14px;font-weight:700}.header-dropdown-count{background:#fee2e2;border-radius:20px;color:#dc2626;font-size:11px;padding:4px 10px}.header-notif-item{border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:14px}.header-notif-item:hover{background:#f8fafc}.header-view-all{color:#6366f1;font-size:13px;font-weight:600;padding:12px;text-align:center}.header-profile-dropdown{background:#fff;border-radius:15px;box-shadow:0 15px 40px #00000026;overflow:hidden;position:absolute;right:0;top:50px;width:220px}.header-profile-dropdown-head{background:#eef2ff;padding:18px;text-align:center}.header-profile-dropdown-avatar{align-items:center;background:#6366f1;border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;margin:auto;width:50px}.header-profile-dropdown-name{font-weight:700;margin-top:10px}.header-profile-dropdown-role{color:#6366f1;font-size:12px}.header-profile-dropdown-branch{color:#64748b;font-size:11px;margin-top:5px}.header-menu-item{cursor:pointer;display:flex;font-size:13px;gap:10px;padding:13px 16px}.header-menu-item:hover{background:#f8fafc}.header-menu-danger{color:#dc2626}@media(max-width:768px){.header{margin-left:0;padding:0 15px}.header-hamburger-btn{align-items:center;display:flex;justify-content:center}.header-search{width:160px}.header-live-badge,.header-profile-arrow,.header-profile-info{display:none}}@media screen and (max-width:768px){.header{height:auto!important;justify-content:space-between!important;min-height:90px!important;overflow:visible!important;padding:12px!important}.header,.header-left{align-items:center!important;display:flex!important;flex-direction:row!important}.header-left{flex:1 1!important;gap:12px!important;width:auto!important}.header-hamburger-btn{align-items:center!important;border-radius:50%!important;display:flex!important;flex:none!important;font-size:20px!important;height:38px!important;justify-content:center!important;line-height:1!important;margin:0!important;max-width:38px!important;min-width:38px!important;padding:0!important;width:38px!important}.header-info{flex:1 1!important;min-width:0!important}.header-greeting{font-size:15px!important;white-space:normal!important}.header-date{font-size:11px!important;white-space:normal!important}.header-right{display:flex!important;flex:none!important;gap:6px!important;width:auto!important}.header-live-badge,.header-search{display:none!important}.header-icon-wrap{flex:none!important}.header-icon-btn{height:38px!important;width:38px!important}.header-profile-arrow,.header-profile-info{display:none!important}.header-profile-btn{padding:0!important}.header-profile-avatar,.header-profile-btn{height:38px!important;width:38px!important}}.page-container{background:#f8fafc;min-height:100%}.page-subtitle{color:#64748b}.table-card{border-radius:16px;box-shadow:0 8px 25px #0000000f;padding:20px}.table-wrapper{max-height:none;overflow-x:auto;overflow-y:auto;width:100%}.common-table th{background:#f1f5f9;color:#334155;font-size:14px;padding:14px;text-align:left}.common-table td{border-bottom:1px solid #e2e8f0;font-size:14px;padding:14px}.common-table tbody tr:hover{background:#f8fafc}.text-limit{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{align-items:center;display:inline-flex;padding:6px 12px}.status-completed{background:#dbeafe;color:#1d4ed8}.form-card{background:#fff;border-radius:18px;box-shadow:0 5px 20px #0000000f;padding:25px}.form-title{font-size:22px;font-weight:700;margin-bottom:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.form-group{gap:8px}.form-group label{font-size:14px;font-weight:600}.form-control,.form-input,.form-select,.form-textarea{border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:12px 14px;width:100%}.form-control:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.btn{align-items:center;border-radius:6px;display:inline-flex;gap:5px;justify-content:center;line-height:1.2;padding:8px 14px;white-space:nowrap}.btn-primary,.btn-secondary{background:#6366f1}.btn-cancel{background:#e2e8f0;color:#334155}.btn-sm{padding:6px 10px}.filter-container{background:#fff;border-radius:16px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:18px}.search-input{border:1px solid #e2e8f0;border-radius:10px;height:42px;min-width:250px;padding:0 15px}.modal-overlay{background:#0f172a8c}.modal-box{border-radius:18px}.modal-header{padding:20px}.modal-footer{justify-content:flex-end;padding:20px}.dashboard{gap:24px}.dashboard,.dashboard-status{display:flex;flex-direction:column}.dashboard-status{align-items:center;gap:6px;justify-content:center;min-height:60vh;text-align:center}.dashboard-status-icon{font-size:40px;margin-bottom:8px}.dashboard-status-title{color:#6366f1;font-size:16px;font-weight:700}.dashboard-status-title.error{color:#991b1b}.dashboard-status-sub{color:#94a3b8;font-size:13px}.dashboard-retry-btn{background:#4f46e5;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;margin-top:16px;padding:10px 20px}.dashboard-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.dashboard-title{color:#1e293b;font-size:30px;font-weight:800}.dashboard-subtitle{color:#94a3b8;font-size:13px}.month-picker{position:relative}.month-picker-trigger{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:space-between;padding:10px 16px;transition:.25s ease}.month-picker-trigger:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e51f}.month-picker-trigger-arrow{color:#94a3b8;font-size:10px}.month-picker-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 15px 40px #0000001f;padding:16px;position:absolute;right:0;top:calc(100% + 8px);width:290px;z-index:1000}.month-picker-header{align-items:center;background:#eef2ff;border-left:4px solid #4f46e5;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:8px 10px}.month-picker-year{color:#1e293b;font-size:15px;font-weight:700}.month-picker-nav-btn{align-items:center;background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 2px 6px #0f172a0d;color:#475569;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:34px;justify-content:center;transition:all .25s ease;width:34px}.month-picker-nav-btn:hover{background:#4f46e5;border-color:#4f46e5;box-shadow:0 8px 18px #4f46e540;color:#fff;transform:translateY(-2px)}.month-picker-nav-btn:active{transform:scale(.95)}.month-picker-nav-btn:focus{box-shadow:0 0 0 3px #4f46e526;outline:none}.month-picker-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.month-picker-month-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;height:38px;transition:all .25s ease}.month-picker-month-btn:hover{background:#eef2ff;border-color:#4f46e5;color:#4f46e5;transform:translateY(-1px)}.month-picker-month-btn.selected{background:#4f46e5;border-color:#4f46e5;box-shadow:0 6px 14px #4f46e540;color:#fff}.month-picker-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-top:14px;padding-top:14px}.month-picker-footer-label{color:#94a3b8;font-size:12px}.month-picker-clear-btn{background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px;transition:.25s ease}.month-picker-clear-btn:hover{background:#dc2626;color:#fff}.kpi-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi-card{background:#fff;box-shadow:0 10px 30px #0000000f;cursor:pointer;overflow:visible;padding:20px;position:relative;transition:.25s ease}.kpi-card:hover{box-shadow:0 15px 35px #0f172a1f;transform:translateY(-3px)}.kpi-card-bar{background:var(--kpi-color);border-radius:16px 16px 0 0;height:4px;left:0;position:absolute;right:0;top:0}.kpi-card-top{align-items:flex-start;display:flex;justify-content:space-between}.kpi-value{color:#1e293b;font-size:24px;font-weight:800}.kpi-label{color:#94a3b8;font-size:12px;margin-top:4px}.kpi-icon{align-items:center;background:var(--kpi-bg);border-radius:12px;display:flex;font-size:20px;height:44px;justify-content:center;width:44px}.kpi-toggle{color:var(--kpi-color);font-size:11px;font-weight:700;margin-top:12px}.kpi-branch-dropdown{animation:kpiDropdown .2s ease;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 15px 35px #0f172a26;display:flex;flex-direction:column;gap:8px;left:0;padding:12px;position:absolute;top:calc(100% + 10px);width:100%;z-index:100}@keyframes kpiDropdown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.kpi-branch-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;font-size:12px;justify-content:space-between;padding:8px 10px}.kpi-branch-row:hover{background:#eef2ff}.kpi-branch-label{color:#475569;font-weight:600}.kpi-branch-value{color:#1e293b;font-weight:800}.alert-card-outer{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000000f;padding:20px}.alert-title{color:#1e293b;font-size:14px;font-weight:700;margin-bottom:14px}.alert-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.alert-card{align-items:center;border-radius:12px;display:flex;gap:12px;padding:14px}.alert-card.danger{background:#fef2f2}.alert-card.warning{background:#fffbeb}.alert-icon{font-size:22px}.alert-label{color:#94a3b8;font-size:12px}.alert-value{font-size:20px;font-weight:800}.alert-value.danger{color:#dc2626}.alert-value.warning{color:#d97706}.chart-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000000f;padding:20px}.chart-title{color:#1e293b;font-size:14px;font-weight:700;margin-bottom:12px}.chart-year{color:#94a3b8;font-size:12px;font-weight:400}.footer-banner{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:16px;color:#fff;display:flex;justify-content:space-between;padding:24px}.footer-banner-title{font-size:16px;font-weight:800}.footer-banner-sub{color:#fffc;font-size:13px;margin-top:4px}.footer-banner-icon{font-size:32px}.header-menu-normal{color:#1e293b}.header-menu-danger{color:#ef4444}.sidebar-badge-danger{background:#ef4444}.login-page{align-items:flex-start;background:linear-gradient(135deg,#1149cc,#6366f1,#7c3aed);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:45px 20px 30px;width:100%}.login-container{max-width:430px;width:100%}.login-brand{color:#fff;margin-bottom:20px;text-align:center}.login-logo{align-items:center;background:#fff;border-radius:50%;box-shadow:0 15px 35px #00000040;color:#6366f1;display:flex;font-size:34px;font-weight:800;height:70px;justify-content:center;margin:auto;width:70px}.login-brand h1{font-size:25px;font-weight:800;letter-spacing:1px;margin-top:12px}.login-brand p{color:#e0e7ff;font-size:12px;margin-top:4px}.login-card{background:#fff;border-radius:20px;box-shadow:0 25px 60px #00000040;padding:30px}.login-header{margin-bottom:22px;text-align:center}.login-header h2{color:#1e293b;font-size:22px;font-weight:800}.login-header p{color:#64748b;font-size:13px;margin-top:5px}.login-form .form-group{margin-bottom:18px}.login-form label{color:#334155;display:block;font-size:13px;font-weight:700;margin-bottom:7px}.login-form .form-control{border:1px solid #cbd5e1;border-radius:10px;font-size:14px;height:44px;padding:0 14px}.login-form .form-control:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.password-box{position:relative}.password-box .form-control{padding-right:45px}.password-btn{background:none;border:none;cursor:pointer;font-size:17px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.error-banner{background:#fee2e2;border-radius:10px;color:#dc2626;font-size:13px;margin-bottom:18px;padding:10px}.login-card .btn-primary{background:#6366f1;border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:700;height:46px;transition:.25s;width:100%}.login-card .btn-primary:hover{background:#4f46e5;transform:translateY(-2px)}.login-footer{color:#e0e7ff;font-size:12px;margin-top:20px;text-align:center}body:has(.login-page){overflow:auto!important}@media(max-width:480px){.login-page{padding:30px 15px}.login-card{padding:22px}.login-brand h1{font-size:21px}.login-logo{font-size:30px;height:60px;width:60px}}@media(max-height:700px){.login-page{align-items:flex-start}.login-container{margin-bottom:20px;margin-top:10px}}.loading-screen{align-items:center;display:flex;flex-direction:column;gap:15px;height:100vh;justify-content:center}.loader{animation:spin 1s linear infinite;border:5px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:45px;width:45px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.toast{border-radius:12px;bottom:25px;color:#fff;padding:15px 20px;position:fixed;right:25px;z-index:99999}.toast-success{background:#16a34a}.toast-error{background:#dc2626}.pagination{display:flex;gap:8px;justify-content:center;margin-top:20px}.pagination button{background:#fff;border:none;border-radius:10px;cursor:pointer;height:38px;width:38px}.pagination button.active{background:#6366f1;color:#fff}.empty-state{background:#fff;border-radius:18px;padding:50px 20px}.empty-state-icon{font-size:50px}.empty-state-title{font-size:20px;font-weight:700}@media(max-width:992px){.form-grid{grid-template-columns:1fr}.header-search{width:180px}}@media(max-width:768px){body{overflow:hidden}.sidebar{left:0;position:fixed;top:0;transform:translateX(0);z-index:2000}.sidebar-collapsed{transform:translateX(-100%)}.header{height:auto;padding:12px 15px}.header-hamburger-btn{align-items:center;display:flex;justify-content:center}.header-left,.header-right{justify-content:space-between;width:100%}.header-search{width:100%}.page-content{padding:15px}.page-header{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr}}@media(max-width:480px){.login-card{padding:20px}.page-title{font-size:22px}}@media(max-width:768px){#root,body,html{height:100%;overflow-x:hidden;width:100%}.app-layout,body{overflow:hidden}.app-layout{display:block;width:100%}.main-content,.sidebar-collapsed-state .main-content{height:100vh;margin-left:0!important;width:100%!important}.header{margin-left:0!important;width:100%!important}.page-content{overflow-y:auto;padding:15px;width:100%}.dashboard,.dashboard-header-row,.kpi-grid{width:100%}.kpi-grid{grid-template-columns:1fr}.kpi-card{width:100%}}.modal-box.modal-sm{width:420px}.modal-box.modal-lg{width:700px}.modal-close{align-items:center;background:#f1f5f9;border-radius:8px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.modal-close:hover{background:#fee2e2;color:#dc2626}.alert-success{background:#dcfce7;border-radius:10px;color:#15803d;font-size:13px;font-weight:600;margin:0 20px 16px;padding:12px 16px}.info-card{background:#f8fafc;border-radius:12px;margin-bottom:16px;padding:14px 16px}.info-card h4{color:#1e293b;font-size:14px;font-weight:700;margin-bottom:6px}.info-card p{color:#64748b;font-size:12px;margin-top:3px}.badge{align-items:center;background:#eef2ff;border-radius:99px;color:#4f46e5;display:inline-flex;font-size:11px;font-weight:700;margin-left:8px;padding:3px 10px}.form-grid-2{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:992px){.form-grid-2{grid-template-columns:1fr}}.action-dropdown-wrap{display:inline-block;position:relative}.action-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 15px 40px #0f172a26;display:flex;flex-direction:column;gap:3px;min-width:170px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:500}.dropdown-item{background:#0000;border:none;border-radius:8px;color:#334155;cursor:pointer;font-size:13px;font-weight:500;padding:9px 12px;text-align:left}.dropdown-item:hover{background:#f1f5f9}.dropdown-item.danger{color:#dc2626}.dropdown-item.danger:hover{background:#fee2e2}.table-footer{color:#94a3b8;font-size:12px;margin-top:14px;text-align:right}.action-group{display:flex;gap:8px}.service-column{max-width:200px;width:200px}.service-text{word-wrap:break-word;line-height:1.4;overflow-wrap:break-word;white-space:normal}.form-submit-btn{border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;margin-top:10px;padding:12px 25px;width:180px!important}.submit-btn-wrapper,.submit-center{display:flex;justify-content:center}.submit-btn-wrapper{align-items:center;width:100%}.submit-btn-wrapper .form-submit-btn{border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 25px!important;width:180px!important}.invoice-print-wrapper{width:100%}.invoice-box{background:#fff;border:1px solid #eee;box-sizing:border-box;margin:20px auto;padding:30px;width:800px}.logo{margin-bottom:20px;text-align:left}.logo img{height:70px;object-fit:contain;width:250px}.invoice-box h1{font-size:25px;margin:10px 0 20px;text-align:center;text-decoration:underline}.invoice-box h3{font-size:16px;margin:12px 0 8px;text-align:left}.invoice-box h5{font-size:11px;margin-top:15px;text-align:center}.print-table{border-collapse:collapse;margin:10px 0;table-layout:fixed;width:100%}.print-table td,.print-table th{word-wrap:break-word;border:1px solid #ddd;font-size:13px;line-height:1.3;overflow-wrap:break-word;padding:7px 8px;text-align:left;vertical-align:top;white-space:normal}.print-table th{background:#cefad0;color:#000;font-size:14px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.service-details-table tbody tr th{width:28%}.service-details-table tbody tr td{width:72%}.service-terms-row th{vertical-align:top;white-space:normal;width:28%!important}.service-terms-row td{vertical-align:top;width:72%!important}.print-terms{margin:0;padding-left:20px}.print-terms li{line-height:1.3;margin:0 0 3px;padding:0}.report-table td,.report-table th{font-size:12px}.total{font-size:13px;font-weight:700;margin-top:20px}.footer{background:#cefad0;border-top:1px solid #ddd;color:blue;font-size:13px;margin-top:30px;padding:10px;text-align:center}.footer p{margin:4px 0}.buttons{margin-top:20px;text-align:center}.buttons button{background:#0275d8;border:none;border-radius:4px;color:#fff;cursor:pointer;margin:10px 5px;padding:10px 15px}.buttons button:hover{opacity:.9}.no-print{display:block}@media print{@page{size:A4 portrait;margin:0}.header,.main-content>header,.sidebar,.sidebar-container,aside,header,nav{display:none!important}body{background:#fff!important;margin:0!important;padding:0!important}#root{width:100%!important}.app-layout{display:block!important}.main-content,.page-content{margin:0!important;padding:0!important}.invoice-print-wrapper{width:100%!important}.invoice-box{border:none!important;margin:0 auto!important;padding:30px!important;width:800px!important}.no-print{display:none!important}.print-table{table-layout:fixed!important;width:100%!important}.service-details-table tbody tr th{width:28%!important}.service-details-table tbody tr td{width:72%!important}.service-terms-row th{width:28%!important}.service-terms-row td{width:72%!important}.print-terms{margin:0!important;padding-left:20px!important}.print-terms li{margin-bottom:3px!important}}.invoice-print-wrapper{display:block!important;width:100%!important}.invoice-box{border:none!important;box-shadow:none!important;margin:0 auto!important;padding:20px!important;width:800px!important}.modal-overlay{bottom:0;left:0;right:0;top:0;z-index:9999}.modal-box{box-shadow:0 20px 50px #0003;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:500px}.modal-header{border-bottom:1px solid #e2e8f0;padding:18px 22px}.modal-header h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.modal-close{color:#64748b}.modal-body{max-height:65vh;overflow-y:auto;padding:20px}.modal-body .form-input{border:1px solid #cbd5e1;border-radius:8px;font-size:13px;margin-bottom:14px;outline:none;padding:10px 12px;width:100%}.modal-body .form-input:focus{border-color:#4f46e5}.module-title{color:#334155;font-size:13px;font-weight:600;margin-bottom:8px}.module-grid{grid-gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:10px;max-height:220px;overflow-y:auto;padding:10px}.checkbox-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:9px 10px;text-transform:capitalize;transition:.2s}.checkbox-item:hover{background:#eef2ff;border-color:#6366f1}.checkbox-item input{cursor:pointer;height:16px;width:16px}.checkbox-item span{font-weight:500}.modal-body::-webkit-scrollbar,.module-grid::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb,.module-grid::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px}.modal-body::-webkit-scrollbar-track,.module-grid::-webkit-scrollbar-track{background:#f1f5f9}.modal-footer{background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:10px;padding:16px 20px}.modal-footer .btn{border-radius:8px;flex:1 1;font-size:13px;font-weight:600;padding:10px}.table-actions{align-items:center;display:flex;gap:8px}.table-actions .btn{white-space:nowrap}.attendance-summary{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:25px}.attendance-box{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000026;font-weight:600;padding:20px;text-align:center;width:130px}.attendance-box b{display:block;font-size:22px;margin-top:8px}.attendance-present{border-left:5px solid green;color:green}.attendance-absent{border-left:5px solid red;color:red}.attendance-leave{border-left:5px solid orange;color:orange}.attendance-half{border-left:5px solid skyblue;color:skyblue}.attendance-holiday{border-left:5px solid purple;color:purple}.calendar-box{padding:20px;width:100%}.calendar-box,.fc{background:#fff;border-radius:10px}.fc{padding:15px}.fc-toolbar-title{font-size:20px!important;font-weight:600}.fc-button{background:#1149cc!important;border:none!important}.fc-daygrid-event{font-size:12px;padding:3px}.present-event{background:#198754!important;border-color:#198754!important;color:#fff!important}.absent-event{background:#dc3545!important;border-color:#dc3545!important;color:#fff!important}.leave-event{background:#ffc107!important;border-color:#ffc107!important;color:#000!important}.half-event{background:#0dcaf0!important;border-color:#0dcaf0!important;color:#000!important}.holiday-event{background:#6f42c1!important;border-color:#6f42c1!important;color:#fff!important}.badge-success{background:#198754}.badge-danger,.badge-success{border-radius:15px;color:#fff;padding:5px 12px}.badge-danger{background:#dc3545}.badge-warning{background:#ffc107;border-radius:15px;color:#000;padding:5px 12px}.attendance-table td,.attendance-table th{font-size:11px;padding:5px;text-align:center;white-space:nowrap}.legend{border:1px solid #ddd;border-radius:8px;margin:10px 0;padding:10px}.legend span{border-radius:5px;color:#fff;margin:0 5px;padding:3px 8px}.green{background:green;color:#fff}.red{background:red;color:#fff}.orange{background:orange;color:#fff}.skyblue{background:skyblue;color:#fff}.purple{background:purple;color:#fff}.BlueViolet{background:#8a2be2;color:#fff}.form-container .btn-success{margin-top:25px}@media (min-width:1440px){.page-content{margin:0 auto;max-width:1400px}}@media (min-width:769px) and (max-width:1024px){.sidebar{width:220px}.main-content{margin-left:220px;width:calc(100% - 220px)}.sidebar-collapsed-state .main-content{margin-left:70px;width:calc(100% - 70px)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-grid{grid-template-columns:repeat(2,1fr)}.header-search{width:180px}}@media (max-width:900px){.invoice-box{padding:15px;width:100%}.print-table{font-size:12px}.print-table td,.print-table th{padding:6px}}@media (max-width:480px){.fc-header-toolbar{flex-direction:column;gap:10px}.fc-toolbar-title{font-size:16px!important}.fc-button{font-size:12px!important;padding:4px 8px!important}.attendance-table{display:block;overflow-x:auto;white-space:nowrap}.attendance-box-wrapper,.attendance-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.attendance-table td,.attendance-table th{min-width:32px}.legend{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.legend span{margin:2px 4px}.form-actions,.modal-footer{align-items:stretch;flex-direction:column;gap:10px}.form-actions .btn,.modal-footer .btn{margin:0;width:100%}}@media (max-width:480px){div:has(>.btn-primary):has(>.btn-cancel),div:has(>.btn-primary):has(>.btn-secondary){align-items:stretch!important;display:flex!important;flex-direction:column!important;gap:10px!important}div:has(>.btn-primary):has(>.btn-cancel)>.btn,div:has(>.btn-primary):has(>.btn-secondary)>.btn{margin:0!important;width:100%!important}}@media (max-width:768px){.form-card,.page-container,.page-content,body,html{max-width:100%;overflow-x:hidden}}@media (max-width:380px){.page-content{padding:10px}.kpi-value{font-size:20px}.header-greeting{font-size:13px}.modal-box{border-radius:0;max-width:100%;width:100%}}.header-search-wrapper{position:relative}.header-search-dropdown{background:#fff;border-radius:10px;box-shadow:0 8px 25px #00000026;max-height:400px;overflow-y:auto;position:absolute;right:0;top:45px;width:330px;z-index:9999}.header-search-item{border-bottom:1px solid #eee;cursor:pointer;padding:12px 15px}.header-search-item:hover{background:#f5f7ff}.search-location{color:#777;font-size:12px;margin-top:3px}:root{--brand:#4f46e5;--brand-dark:#1149cc;--brand-light:#eef2ff;--accent:#6366f1;--ink:#1e293b;--ink-soft:#64748b;--ink-faint:#94a3b8;--surface:#fff;--surface-alt:#f8fafc;--border:#e2e8f0;--success:#16a34a;--success-bg:#dcfce7;--danger:#dc2626;--danger-bg:#fee2e2;--warning:#d97706;--warning-bg:#fef3c7;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px #0f172a0f,0 1px 1px #0f172a0a;--shadow-md:0 8px 20px #0f172a12,0 2px 6px #0f172a0d;--shadow-lg:0 20px 45px #0f172a1f,0 6px 16px #0f172a0f;--ease:cubic-bezier(.4,0,.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,system-ui,-apple-system,Arial,sans-serif}.page-title{letter-spacing:-.4px}.dashboard-title{letter-spacing:-.6px}.alert-title,.chart-title,.form-title,.modal-header h3,.table-toolbar{letter-spacing:-.1px}h2,h3,h4,h5,h6{color:#1e293b;color:var(--ink)}.dashboard-title,.page-title{color:#1149cc;color:var(--brand-dark)}.info-card h4{color:#4f46e5;color:var(--brand)}.dashboard-subtitle,.login-header p,.page-subtitle{color:#64748b;color:var(--ink-soft)}.alert-card-outer,.attendance-box,.chart-card,.empty-state,.form-card,.kpi-card,.table-card{border:1px solid #e2e8f0b3;box-shadow:0 8px 20px #0f172a12,0 2px 6px #0f172a0d;box-shadow:var(--shadow-md);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.alert-card-outer:hover,.chart-card:hover,.table-card:hover{box-shadow:0 20px 45px #0f172a1f,0 6px 16px #0f172a0f;box-shadow:var(--shadow-lg)}.kpi-card{border-radius:16px;border-radius:var(--radius-lg)}.kpi-icon{box-shadow:inset 0 0 0 1px #0f172a08}.btn{font-weight:600;transition:background-color .2s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:background-color .2s var(--ease),transform .15s var(--ease),box-shadow .2s var(--ease)}.btn:active{transform:translateY(1px) scale(.98)}.btn-primary,.btn-secondary{background:#6366f1;background:var(--accent);box-shadow:0 4px 12px #6366f140}.btn-primary:hover,.btn-secondary:hover{background:#4f46e5;background:var(--brand);box-shadow:0 6px 16px #4f46e552;transform:translateY(-1px)}.btn-success:hover{background:#15803d;box-shadow:0 6px 16px #16a34a47;transform:translateY(-1px)}.btn-danger:hover{background:#b91c1c;box-shadow:0 6px 16px #dc262647;transform:translateY(-1px)}.btn-warning:hover{background:#d97706;box-shadow:0 6px 16px #f59e0b47;transform:translateY(-1px)}.btn-cancel:hover{background:#cbd5e1}.btn:focus-visible,.form-control:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.header-search:focus-visible,.search-input:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.sidebar{box-shadow:4px 0 24px #1149cc26}.sidebar-item,.sidebar-menu-parent{transition:background-color .2s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);transition:background-color .2s var(--ease),transform .15s var(--ease)}.sidebar-item:hover,.sidebar-menu-parent:hover{transform:translateX(2px)}.sidebar-item.active,.sidebar-menu-parent.active{box-shadow:0 4px 12px #0000002e}.sidebar-logo-icon{box-shadow:0 4px 10px #4f46e566}.common-table{border:1px solid #cbd5e1}.common-table th{background:#1149cc;background:var(--brand-dark);border-bottom:2px solid #1149cc;border-bottom:2px solid var(--brand-dark);color:#fff;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.common-table td{border-bottom:1.5px solid #cbd5e1}.common-table tbody tr{transition:background-color .15s cubic-bezier(.4,0,.2,1);transition:background-color .15s var(--ease)}.common-table tbody tr:hover{background:#eef2ff;background:var(--brand-light)}.table-sticky-head thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.status-badge{gap:6px;letter-spacing:.2px}.status-badge:before{background:currentColor;border-radius:50%;content:"";display:inline-block;height:6px;width:6px}@keyframes modalPop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box{animation:modalPop .22s cubic-bezier(.4,0,.2,1);animation:modalPop .22s var(--ease);box-shadow:0 20px 45px #0f172a1f,0 6px 16px #0f172a0f;box-shadow:var(--shadow-lg)}.modal-overlay{animation:kpiDropdown .18s cubic-bezier(.4,0,.2,1);animation:kpiDropdown .18s var(--ease)}.form-control,.form-input,.form-select,.form-textarea{background:#f8fafc;background:var(--surface-alt);transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.form-control:hover,.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#c7d2fe}.login-page{background:radial-gradient(circle at 20% 20%,#ffffff1f,#0000 40%),linear-gradient(135deg,#1149cc,#6366f1,#7c3aed);background:radial-gradient(circle at 20% 20%,#ffffff1f,#0000 40%),linear-gradient(135deg,var(--brand-dark),var(--accent),#7c3aed)}.login-card{box-shadow:0 30px 70px #11173c59}.login-logo{box-shadow:0 15px 35px #00000040,0 0 0 6px #ffffff14}.empty-state-icon{color:#94a3b8;color:var(--ink-faint);margin-bottom:8px}.empty-state-title{color:#1e293b;color:var(--ink)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.section-divider{align-items:center;color:#94a3b8;color:var(--ink-faint);display:flex;font-size:12px;font-weight:700;gap:12px;letter-spacing:.5px;margin:22px 0 16px;text-transform:uppercase}.section-divider:after{background:#e2e8f0;background:var(--border);content:"";flex:1 1;height:1px}.skeleton{animation:skeletonShine 1.4s ease infinite;background:linear-gradient(90deg,#eef2f7 25%,#f6f8fb 37%,#eef2f7 63%);background-size:400% 100%;border-radius:8px;border-radius:var(--radius-sm)}@keyframes skeletonShine{0%{background-position:100% 50%}to{background-position:0 50%}}.page-container,.page-content{animation:pageFade .25s cubic-bezier(.4,0,.2,1);animation:pageFade .25s var(--ease)}@keyframes pageFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-container:has(.table-card form){align-items:center;background:#eef1f8;display:flex;flex-direction:column;gap:0;min-height:calc(100vh - 64px);padding:40px 20px}.page-container:has(.table-card form)>.page-header{align-items:center;background:linear-gradient(135deg,#1149cc,#4f46e5 55%,#7c3aed);border-radius:20px 20px 0 0;display:flex;flex-direction:column;justify-content:center;margin:0;max-width:600px;padding:5px;text-align:center;width:100%}.page-container:has(.table-card form) .page-title{color:#fff;font-size:24px;font-weight:800;letter-spacing:-.5px;line-height:1.3;text-align:center}.page-container:has(.table-card form) .page-subtitle{color:#ffffffd9;font-size:13.5px;line-height:1.5;margin-top:6px;text-align:center}.table-card:has(form){background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#1149cc,#4f46e5,#7c3aed) border-box;border:6px solid #0000;border-radius:0 0 20px 20px;box-shadow:0 25px 50px #1e293b1a,0 6px 16px #1e293b0f;margin:0;max-width:600px;overflow:hidden;padding:0;transition:.3s;width:100%}.table-card:has(form):hover{box-shadow:0 30px 60px #1e293b21,0 8px 20px #1e293b12}.table-card:has(form) form{padding:28px 30px 26px}.table-card:has(form) .form-group{background:#f8fafc;border:1px solid #eef0f4;border-left:3px solid #0000;border-radius:10px;display:flex;flex-direction:column;gap:2px;margin-bottom:6px;padding:6px 12px 8px}.table-card:has(form) .form-group label{color:#64748b;font-size:12.5px;font-weight:700;letter-spacing:.3px;line-height:1.3;margin:0;text-transform:uppercase}.table-card:has(form) .form-input,.table-card:has(form) .form-select,.table-card:has(form) .form-textarea{background:#fff;border:1.5px solid #dbe1ea;border-radius:9px;color:#1e293b;font-size:14.5px;padding:9px 12px;transition:.2s;width:100%}.table-card:has(form) .form-input::placeholder,.table-card:has(form) .form-textarea::placeholder{color:#a3adc2;font-size:14.5px}.table-card:has(form) .form-input:focus,.table-card:has(form) .form-select:focus,.table-card:has(form) .form-textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e524;outline:none}.table-card:has(form) .form-textarea{line-height:1.5;min-height:90px;resize:vertical}.table-card:has(form) .form-grid-2{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:0}.table-card:has(form) .form-grid-2 .form-group{margin-bottom:6px}.table-card:has(form) .btn-primary{background:linear-gradient(135deg,#4f46e5,#1149cc);border:none;border-radius:10px;box-shadow:0 8px 18px #4f46e54d;font-size:14.5px;font-weight:700;letter-spacing:.2px;margin-top:6px;padding:13px;width:100%}.table-card:has(form) .btn-primary:hover:not(:disabled){box-shadow:0 12px 24px #4f46e566;transform:translateY(-2px)}.table-card:has(form) .btn-primary:disabled{cursor:not-allowed;opacity:.7}@media(max-width:768px){.table-card:has(form){border-width:4px}.table-card:has(form) form{padding:20px}.table-card:has(form) .form-grid-2{gap:0;grid-template-columns:1fr}}@media(max-width:600px){.page-container:has(.table-card form){padding:24px 16px}.page-container:has(.table-card form)>.page-header{border-radius:16px 16px 0 0;padding:5px}.page-container:has(.table-card form) .page-title{font-size:20px}}.form-button-group{display:flex;gap:10px;width:100%}.form-button-group .btn{flex:1 1}@media(max-width:600px){.form-button-group{flex-direction:column}}#certificate-print{background:#fff;box-sizing:border-box;color:#000;font-family:Times New Roman,serif;min-height:1120px;padding:25px 45px;width:100%}.certificate-header{align-items:center;border-bottom:5px solid #8fd19e;display:flex;justify-content:flex-start;margin-bottom:20px;padding-bottom:10px}.certificate-logo{width:280px}.license-title{font-size:24px;font-weight:700;margin:15px 0 25px;text-align:center;text-decoration:underline}.info{font-size:18px;line-height:1.6}.info-row{display:flex;justify-content:space-between}.client-name,.subject{font-weight:700}.subject{font-size:28px;margin-bottom:35px;margin-top:45px;text-align:center;text-decoration:underline}.description{font-size:18px;line-height:1.7;margin-bottom:20px}.table1-container{margin-top:20px;width:100%}.certificate-table{border-collapse:collapse;font-size:16px;width:100%}.certificate-table th{background:#8fd19e;padding:8px}.certificate-table td,.certificate-table th{border:1px solid #000;font-weight:700;text-align:center}.certificate-table td{padding:10px}.terms{font-size:17px;line-height:1.6;margin-top:35px}.terms h3{font-size:22px;text-decoration:underline}.other-info{font-size:17px;line-height:1.6;margin-top:20px}.signature-align{display:flex;font-size:18px;justify-content:space-between;margin:70px 50px 0}.sig-column{text-align:center;width:30%}.certificate-footer{font-size:16px;line-height:1.5;margin-top:40px;text-align:center}@media print{@page{size:A4 portrait;margin:10mm}body{margin:0;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}#certificate-print{padding:0;width:100%}footer{bottom:0;position:fixed;width:100%}.address,.info,.table1-container,.terms{page-break-inside:avoid}.signature-align{align-items:flex-start;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;font-size:20px;justify-content:space-between!important;margin:0 50px}.sig-column{width:30%!important}}.print-btn{display:block;margin:20px auto}.page-container{background:#f5f7fb;box-sizing:border-box;min-height:100vh;padding:25px;width:100%}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.page-title{color:#1f2937;font-size:28px;font-weight:700;margin:0}.page-subtitle{color:#6b7280;font-size:14px;margin-top:5px}.table-card{background:#fff;border:1px solid #eef0f5;border-radius:12px;box-shadow:0 4px 15px #00000014;margin-bottom:20px;padding:22px}.section-title{background:linear-gradient(135deg,#6989d9,#3b82f6);border-radius:8px;color:#fff;font-size:18px;font-weight:600;letter-spacing:.3px;margin-bottom:20px;padding:12px 18px}.profile-container{align-items:center;display:flex;gap:25px;padding:10px}.profile-image{background:#f1f1f1;border:4px solid #1149cc;border-radius:50%;height:120px;object-fit:cover;width:120px}.profile-container h2{color:#222;font-size:24px;margin:0 0 10px}.profile-container p{color:#555;font-size:15px;margin:6px 0}.form-grid-2{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;margin-bottom:10px}.form-label{color:#374151;font-size:13px;font-weight:600;margin-bottom:6px}.form-input,.form-select{background:#fff;border:1px solid #d9dee8;border-radius:8px;color:#333;font-size:14px;outline:none;padding:11px 14px;width:100%}.form-input:focus,.form-select:focus{border-color:#1149cc;box-shadow:0 0 0 3px #1149cc1f}.table-toolbar{flex-wrap:wrap}.table-search{width:300px}.table-responsive{overflow-x:auto;width:100%}.common-table{background:#fff;border:2px solid #c5ccda;border-collapse:collapse;width:100%}.common-table thead th{background:linear-gradient(135deg,#1149cc,#2563eb);border:2px solid #9fb3e8;color:#fff;font-size:14px;font-weight:700;padding:14px 16px;text-align:left;white-space:nowrap}.common-table tbody td{border:2px solid #cfd6e4;color:#374151;font-size:14px;padding:14px 16px;vertical-align:middle}.common-table tbody tr:nth-child(2n){background:#f5f8ff}.common-table tbody tr:hover{background:#e1ebff}.common-table tbody td:first-child{font-weight:600}.common-table a{color:#1149cc;font-weight:600;text-decoration:none}.common-table a:hover{text-decoration:underline}.page-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:9px 16px;transition:.3s}.btn:hover{transform:translateY(-2px)}.btn-sm{font-size:13px;padding:7px 12px}.btn-primary{background:#1149cc;color:#fff}.btn-success{background:#16a34a;color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-info{background:#0891b2;color:#fff}.btn-warning{background:#f59e0b;color:#fff}.btn-secondary{color:#fff}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:5px 12px}.status-active{background:#dcfce7;color:#15803d}.status-pending{background:#fef3c7;color:#b45309}.status-danger{background:#fee2e2;color:#dc2626}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.modal-box{background:#fff;border-radius:14px;box-shadow:0 15px 40px #0003;max-width:95%;padding:25px;width:600px}.modal-header{align-items:center;background:#1149cc;border-radius:10px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:22px}.empty-state{color:#6b7280;font-size:16px;padding:40px;text-align:center}.page-loading{color:#555;font-size:18px;padding:50px;text-align:center}@media(max-width:768px){.page-container{padding:15px}.profile-container{flex-direction:column;text-align:center}.form-grid-2{grid-template-columns:1fr}.page-title{font-size:22px}.page-actions{flex-direction:column}.page-actions button{width:100%}.table-card{padding:15px}.table-toolbar{align-items:stretch;flex-direction:column}.table-search{width:100%}.common-table{min-width:800px}}.table-toolbar{align-items:center;display:flex;flex-wrap:nowrap;gap:15px;justify-content:space-between;margin-bottom:20px;width:100%}.table-toolbar .table-search,.table-toolbar input{flex-shrink:0;width:300px}.table-toolbar .page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-left:auto}.table-toolbar .btn{white-space:nowrap}@media(max-width:768px){.table-toolbar{align-items:stretch;flex-direction:column;flex-wrap:wrap}.table-toolbar .table-search,.table-toolbar input{width:100%}.table-toolbar .page-actions{justify-content:flex-start;width:100%}}.expense-print-area{display:none}@media print{@page{size:A4 landscape;margin:10mm}body,html{background:#fff!important;margin:0!important;padding:0!important;width:100%!important}body *{visibility:hidden!important}.expense-print-area,.expense-print-area *{visibility:visible!important}.expense-print-area{background:#fff!important;box-sizing:border-box!important;display:block!important;left:0!important;padding:10px!important;position:absolute!important;top:0!important;width:100%!important}.expense-print-header{display:block!important;margin-bottom:15px!important;text-align:center!important}.expense-print-header h2{color:#000!important;font-size:22px!important;margin:0 0 8px!important}.expense-print-header h4{color:#000!important;font-size:13px!important;margin:0 0 15px!important}.expense-print-table{border-collapse:collapse!important;color:#000!important;font-family:Arial,sans-serif!important;font-size:11px!important;table-layout:auto!important;width:100%!important}.expense-print-table th{background:#1149cc!important;color:#fff!important;font-weight:700!important}.expense-print-table td,.expense-print-table th{border:1px solid #000!important;padding:6px!important;text-align:center!important}.expense-print-table td{background:#fff!important;color:#000!important;vertical-align:middle!important}.expense-print-table tbody tr:nth-child(2n) td{background:#f2f2f2!important}.expense-print-table tfoot th{background:#dcdcdc!important;border:1px solid #000!important;color:#000!important;padding:7px!important}.expense-print-table thead{display:table-header-group!important}.expense-print-table tfoot{display:table-footer-group!important}.expense-print-table tr{break-inside:avoid!important;page-break-inside:avoid!important}}
/*# sourceMappingURL=main.a0c68816.css.map*/