.sidebar{z-index:1050;width:250px;height:100vh;box-shadow:none;background-color:#0a1d4b;border:none;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:72px}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:12px}.sidebar.collapsed .bottom-illustration{display:none}.sidebar .logo-section{background-color:#fff;border-bottom:none;flex-shrink:0;align-items:center;gap:12px;height:70px;padding:0 20px;display:flex}.sidebar .logo-section .logo-icon{color:#fff;background-color:#1657ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.sidebar .logo-section .logo-text{color:#09172a;white-space:nowrap;font-size:17px;font-weight:700}.sidebar .nav-section{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:6px;min-height:0;padding:20px 12px;display:flex;overflow-y:auto}.sidebar .nav-section .divider{background-color:#ffffff14;height:1px;margin:16px 8px}.sidebar .nav-section .nav-item{color:#94a3b8;cursor:pointer;border-radius:10px;align-items:center;gap:14px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.sidebar .nav-section .nav-item:hover{color:#fff;background-color:#122b68}.sidebar .nav-section .nav-item:hover .nav-icon{filter:brightness(0)invert()}.sidebar .nav-section .nav-item.active{color:#fff;background-color:#1657ff;font-weight:600;box-shadow:0 4px 12px #1657ff59}.sidebar .nav-section .nav-item.active .nav-icon{filter:brightness(0)invert()}.sidebar .nav-section .nav-item .nav-icon{flex-shrink:0;font-size:18px;transition:filter .2s,opacity .2s}.sidebar .nav-section .bottom-illustration{justify-content:center;align-items:center;width:100%;margin-top:12px;padding:16px 4px 8px;display:flex}.sidebar .nav-section .bottom-illustration .truck-graphic{object-fit:contain;border-radius:10px;width:100%;max-width:218px;height:auto;transition:all .3s}.sidebar-mobile-backdrop{backdrop-filter:blur(3px);z-index:1040;background-color:#0f172a80;display:block;position:fixed;inset:0}@media (width<=1024px){.main-wrapper{margin-left:0!important}.header{left:0!important}.sidebar{transform:translate(-100%)}.sidebar.mobileOpen{transform:translate(0);box-shadow:8px 0 24px #0000004d;width:250px!important}}.header{z-index:900;background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:70px;padding:0 24px;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:250px;right:0}.header.collapsed{left:72px}.header .header-left{flex:1;align-items:center;gap:16px;display:flex}.header .toggle-btn{color:#64748b;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:22px;display:flex}.header .toggle-btn:hover{color:#0f172a;background-color:#f1f5f9}.header .search-container{width:100%;max-width:440px;position:relative}.header .search-container .search-input{color:#334155;background-color:#fff;border:1px solid #dbe2ea;border-radius:8px;width:100%;height:40px;padding:8px 40px 8px 16px;font-size:13px;font-weight:400}.header .search-container .search-input::placeholder{color:#94a3b8}.header .search-container .search-input:focus{border-color:#1657ff;box-shadow:0 0 0 3px #1657ff1a}.header .search-container .search-icon{color:#94a3b8;pointer-events:none;font-size:17px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.header .header-right{align-items:center;gap:16px;display:flex;position:relative}.header .header-right .notif-btn{color:#64748b;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex;position:relative}.header .header-right .notif-btn:hover{color:#1657ff;background-color:#f1f5f9}.header .header-right .notif-btn .bell-icon{font-size:22px}.header .header-right .notif-btn .badge-counter{color:#fff;background-color:#ef4444;border:2px solid #fff;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;right:-2px}.header .header-right .header-divider{background-color:#e2e8f0;width:1px;height:28px;margin:0 4px}.header .header-right .profile-wrapper{cursor:pointer;align-items:center;gap:12px;display:flex}.header .header-right .profile-wrapper .user-info{text-align:right;flex-direction:column;display:flex}.header .header-right .profile-wrapper .user-info .user-name{color:#0f172a;font-size:14px;font-weight:700;line-height:1.2}.header .header-right .profile-wrapper .user-info .user-role{color:#64748b;font-size:12px;font-weight:400}.header .header-right .profile-wrapper .avatar{object-fit:cover;border:2.5px solid #1657ff;border-radius:50%;width:40px;height:40px;box-shadow:0 0 0 2px #1657ff26}.notif-panel{z-index:1000;background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;width:360px;position:absolute;top:54px;right:0;overflow:hidden;box-shadow:0 16px 40px -6px #0f172a29,0 6px 16px -4px #0f172a14}.notif-panel .notif-header{background-color:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.notif-panel .notif-header .title-area{align-items:center;gap:8px;display:flex}.notif-panel .notif-header .title-area .title{color:#0f172a;font-size:15px;font-weight:700}.notif-panel .notif-header .title-area .unread-badge{color:#1657ff;background-color:#eef4ff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.notif-panel .notif-header .mark-btn{color:#1657ff;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600;transition:color .15s}.notif-panel .notif-header .mark-btn:hover{color:#0043e0;text-decoration:underline}.notif-panel .notif-list{max-height:350px;overflow-y:auto}.notif-panel .notif-list .notif-item{cursor:pointer;border-bottom:1px solid #f8fafc;align-items:flex-start;gap:14px;padding:14px 20px;transition:all .2s;display:flex}.notif-panel .notif-list .notif-item:hover{background-color:#f8fafc}.notif-panel .notif-list .notif-item.unread{background-color:#f0f7ff}.notif-panel .notif-list .notif-item .notif-icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.notif-panel .notif-list .notif-item .notif-icon-box.success{color:#16a34a;background-color:#dcfce7}.notif-panel .notif-list .notif-item .notif-icon-box.warning{color:#d97706;background-color:#fef3c7}.notif-panel .notif-list .notif-item .notif-icon-box.info{color:#0284c7;background-color:#e0f2fe}.notif-panel .notif-list .notif-item .notif-icon-box.system{color:#9333ea;background-color:#f3e8ff}.notif-panel .notif-list .notif-item .notif-body{flex:1}.notif-panel .notif-list .notif-item .notif-body .notif-title-row{justify-content:space-between;align-items:center;display:flex}.notif-panel .notif-list .notif-item .notif-body .notif-title-row .notif-title{color:#0f172a;font-size:13px;font-weight:600}.notif-panel .notif-list .notif-item .notif-body .notif-title-row .unread-dot{background-color:#1657ff;border-radius:50%;width:7px;height:7px}.notif-panel .notif-list .notif-item .notif-body .notif-msg{color:#475569;margin-top:3px;font-size:12px;line-height:1.4}.notif-panel .notif-list .notif-item .notif-body .notif-time{color:#94a3b8;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:500;display:flex}.notif-panel .notif-footer{text-align:center;background-color:#f8fafc;border-top:1px solid #f1f5f9;padding:12px 20px}.notif-panel .notif-footer .view-all-btn{color:#1657ff;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.notif-panel .notif-footer .view-all-btn:hover{text-decoration:underline}.profile-dropdown-panel{z-index:1000;background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;width:260px;padding:16px;display:flex;position:absolute;top:54px;right:0;box-shadow:0 16px 40px -6px #0f172a29,0 6px 16px -4px #0f172a14}.profile-dropdown-panel .user-profile-header{align-items:center;gap:12px;display:flex}.profile-dropdown-panel .user-profile-header .dropdown-avatar{object-fit:cover;border:2px solid #1657ff;border-radius:50%;width:40px;height:40px}.profile-dropdown-panel .user-profile-header .user-details{flex-direction:column;display:flex}.profile-dropdown-panel .user-profile-header .user-details .name{color:#0f172a;font-size:14px;font-weight:700}.profile-dropdown-panel .user-profile-header .user-details .email{color:#64748b;word-break:break-all;font-size:11.5px}.profile-dropdown-panel .dropdown-divider{background-color:#f1f5f9;height:1px;margin:2px 0}.profile-dropdown-panel .dropdown-menu-list{flex-direction:column;gap:4px;display:flex}.profile-dropdown-panel .dropdown-menu-list .dropdown-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;font-size:13px;font-weight:600;transition:all .15s;display:flex}.profile-dropdown-panel .dropdown-menu-list .dropdown-item.logout-btn{color:#ef4444}.logout-modal-overlay{backdrop-filter:blur(4px);z-index:9999;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.logout-modal-overlay .logout-modal{text-align:center;background-color:#fff;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:28px 24px;display:flex;box-shadow:0 20px 50px #0f172a38}.logout-modal-overlay .logout-modal .logout-icon-box{color:#ef4444;background-color:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:26px;display:flex}.logout-modal-overlay .logout-modal h3{color:#0f172a;margin-bottom:8px;font-size:18px;font-weight:700}.logout-modal-overlay .logout-modal p{color:#64748b;margin-bottom:24px;font-size:13.5px;line-height:1.5}.logout-modal-overlay .logout-modal .logout-actions{gap:12px;width:100%;display:flex}.logout-modal-overlay .logout-modal .logout-actions .btn-cancel{color:#475569;cursor:pointer;background-color:#f1f5f9;border:none;border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:600;transition:background .15s}.logout-modal-overlay .logout-modal .logout-actions .btn-cancel:hover{background-color:#e2e8f0}.logout-modal-overlay .logout-modal .logout-actions .btn-logout-confirm{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:600;transition:background .15s}.logout-modal-overlay .logout-modal .logout-actions .btn-logout-confirm:hover{background-color:#dc2626}.dashboard-container{flex-direction:column;gap:24px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header .title{color:#0f172a;font-size:24px;font-weight:700}.page-header .date-filter-wrapper{position:relative}.page-header .date-filter{color:#1e293b;cursor:pointer;background-color:#fff;border:1px solid #f1f5f9;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.page-header .date-filter:hover{color:#1657ff;border-color:#1657ff}.page-header .date-popover-custom{z-index:80;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:450px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #0f172a29}@media (width<=640px){.page-header .date-popover-custom{width:320px;padding:16px;right:-10px}}.page-header .date-popover-custom .picker-header-title{text-align:center;color:#0f172a;font-size:16px;font-weight:500}.page-header .date-popover-custom .months-container{gap:14px;display:flex}@media (width<=640px){.page-header .date-popover-custom .months-container{flex-direction:column;gap:16px}}.page-header .date-popover-custom .month-block{flex:1}.page-header .date-popover-custom .month-block .month-nav-header{justify-content:space-between;align-items:center;height:32px;margin-bottom:12px;display:flex}.page-header .date-popover-custom .month-block .month-nav-header .month-title{color:#0f172a;font-size:15px;font-weight:500}.page-header .date-popover-custom .month-block .month-nav-header .nav-arrow-btn{color:#475569;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:background .15s;display:flex}.page-header .date-popover-custom .month-block .month-nav-header .nav-arrow-btn:hover{color:#0f172a;background-color:#f1f5f9}.page-header .date-popover-custom .month-block .week-days-row{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.page-header .date-popover-custom .month-block .week-days-row .week-day{color:#64748b;padding:4px 0;font-size:12.5px;font-weight:600}.page-header .date-popover-custom .month-block .days-grid{grid-template-columns:repeat(7,1fr);row-gap:4px;display:grid}.page-header .date-popover-custom .month-block .days-grid .day-cell{aspect-ratio:1;color:#1e293b;cursor:pointer;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .15s;display:flex}.page-header .date-popover-custom .month-block .days-grid .day-cell.outside{color:#cbd5e1}.page-header .date-popover-custom .month-block .days-grid .day-cell:hover:not(.outside){background-color:#f1f5f9}.page-header .date-popover-custom .month-block .days-grid .day-cell.selected-start,.page-header .date-popover-custom .month-block .days-grid .day-cell.selected-end{font-weight:700;color:#fff!important;background-color:#1657ff!important}.page-header .date-popover-custom .month-block .days-grid .day-cell.in-range{color:#1e293b;background-color:#eff5ff;border-radius:0}.page-header .date-popover-custom .picker-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;display:flex}.page-header .date-popover-custom .picker-footer .btn-clear{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600;transition:all .15s}.page-header .date-popover-custom .picker-footer .btn-clear:hover{background:#f8fafc;border-color:#94a3b8}.page-header .date-popover-custom .picker-footer .btn-ok{color:#fff;cursor:pointer;background:#1657ff;border:none;border-radius:8px;padding:5px 15px;font-size:13px;font-weight:600;transition:background .15s}.page-header .date-popover-custom .picker-footer .btn-ok:hover{background:#0043e0}.page-header .btn-primary{color:#fff;background-color:#1657ff;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .2s;display:flex}.page-header .btn-primary:hover{background-color:#0043e0}.stats-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}@media (width<=1400px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}.stat-card{background-color:#fff;border:1px solid #eef2f6;border-radius:16px;flex-direction:column;padding:10px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px #00000005}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stat-card .icon-box{border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.stat-card .icon-box.blue{color:#1657ff;background-color:#eff5ff}.stat-card .icon-box.green{color:#10b981;background-color:#eaf8f0}.stat-card .icon-box.orange{color:#f97316;background-color:#fff4e5}.stat-card .icon-box.red{color:#ef4444;background-color:#fdeef0}.stat-card .icon-box.purple{color:#a855f7;background-color:#f5edff}.stat-card .icon-box.teal{color:#06b6d4;background-color:#e6faf7}.stat-card .content{flex-direction:column;margin-top:14px;display:flex}.stat-card .content .label{color:#64748b;font-size:14px;font-weight:400}.stat-card .content .value{color:#1e293b;margin-top:4px;font-size:24px;font-weight:700;line-height:1.2}.stat-card .trend{flex-wrap:wrap;align-items:center;gap:4px;margin-top:12px;font-size:13px;display:flex}.stat-card .trend.up{color:#10b981}.stat-card .trend.up .trend-val{font-weight:600}.stat-card .trend.down{color:#ef4444}.stat-card .trend.down .trend-val{font-weight:600}.stat-card .trend .trend-arrow{font-size:14px}.stat-card .trend .period{color:#94a3b8;margin-left:2px;font-size:14px;font-weight:400}.charts-grid{grid-template-columns:3.8fr 6.2fr;gap:24px;display:grid}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}.chart-card{background-color:#fff;border:1px solid #eef2f6;border-radius:16px;flex-direction:column;height:100%;min-height:400px;padding:24px;display:flex;box-shadow:0 2px 4px #00000005}.chart-card .card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.chart-card .card-header .title{color:#0f172a;font-size:18px;font-weight:700}.chart-card .card-header .chart-filter-btn{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;display:flex}.chart-card .card-header .chart-filter-btn:hover{color:#334155;border-color:#cbd5e1}.chart-card .chart-container{flex:1;justify-content:center;align-items:center;width:100%;margin:8px 0;display:flex;position:relative}.chart-card .pie-center-text{text-align:center;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chart-card .pie-center-text .total-val{color:#0f172a;font-size:26px;font-weight:700;line-height:1}.chart-card .pie-center-text .total-lbl{color:#94a3b8;letter-spacing:.5px;margin-top:4px;font-size:11px;font-weight:700}.chart-card .custom-legend{flex-direction:column;gap:14px;margin-top:20px;display:flex}.chart-card .custom-legend .legend-item{justify-content:space-between;align-items:center;font-size:14px;display:flex}.chart-card .custom-legend .legend-item .lbl-grp{align-items:center;gap:10px;display:flex}.chart-card .custom-legend .legend-item .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.chart-card .custom-legend .legend-item .name{color:#64748b;font-weight:500}.chart-card .custom-legend .legend-item .val-grp{align-items:center;gap:6px;display:flex}.chart-card .custom-legend .legend-item .val{color:#0f172a;font-size:15px;font-weight:700}.chart-card .custom-legend .legend-item .pct{color:#94a3b8;font-size:14px;font-weight:400}.table-container{background-color:#fff;border:1px solid #f1f5f9;border-radius:12px;width:100%;overflow:hidden}.table-container .table-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.table-container .table-header .title{color:#0f172a;font-size:16px;font-weight:600}.table-container .table-wrapper{width:100%;overflow-x:auto}.table-container table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.table-container table thead{background-color:#f8fafc;border-bottom:1px solid #f1f5f9}.table-container table thead th{color:#64748b;text-transform:uppercase;letter-spacing:.5px;padding:14px 20px;font-size:11px;font-weight:700}.table-container table tbody tr{border-bottom:1px solid #f1f5f9}.table-container table tbody tr:hover{background-color:#f8fafc}.table-container table tbody tr td{color:#1e293b;padding:14px 20px}.table-container table tbody tr td.dc-link{color:#1657ff;cursor:pointer;font-weight:600}.table-container table tbody tr td.dc-link:hover{text-decoration:underline}.table-container table tbody tr td.dc-no{color:#0052ea;font-weight:600}.table-container table tbody tr td.bold{font-weight:600}.badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge .dot{display:none!important}.badge.completed,.badge.delivered{color:#16a34a;background-color:#dcfce7;border:1px solid #bbf7d0}.badge.in-progress,.badge.processing{white-space:nowrap;color:#ea580c;background-color:#ffedd5;border:1px solid #fed7aa;justify-content:center;align-items:center;display:inline-flex}.badge.pending,.badge.cancelled{color:#dc2626;background-color:#fee2e2;border:1px solid #fecaca}.badge.open{color:#2563eb;background-color:#eff6ff;border:1px solid #bfdbfe}.badge.draft,.badge.created{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.badge.active{color:#16a34a;background-color:#dcfce7;border:1px solid #bbf7d0}.badge.inactive{color:#dc2626;background-color:#fee2e2;border:1px solid #fecaca}.pagination-container{color:#64748b;background-color:#fff;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;font-size:12px;display:flex}.pagination-container .controls{align-items:center;gap:6px;display:flex}.pagination-container .controls .page-btn{color:#1e293b;background-color:#fff;border:1px solid #f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.pagination-container .controls .page-btn:hover:not(:disabled):not(.active){color:#1657ff;background-color:#f8fafc;border-color:#1657ff}.pagination-container .controls .page-btn.active{color:#fff;background-color:#1657ff;border-color:#1657ff;font-weight:600}.pagination-container .controls .page-btn.active:hover{color:#fff}.pagination-container .controls .page-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay,.modal-backdrop{backdrop-filter:blur(4px);z-index:1100;background-color:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.login-page{box-sizing:border-box;background:linear-gradient(135deg,#071638 0%,#0a1d4b 50%,#0e2766 100%);flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:100vh;padding:40px 24px;display:flex;position:relative;overflow-y:auto}.login-page .login-container{background:#fff;border-radius:24px;grid-template-columns:1fr 1fr;width:100%;max-width:1060px;margin:auto 0;animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInScale;display:grid;overflow:hidden;box-shadow:0 25px 60px #00000059,0 0 0 1px #ffffff1a}@media (width<=900px){.login-page .login-container{grid-template-columns:1fr;max-width:480px;margin:20px auto}}.login-page .login-branding{color:#fff;background:linear-gradient(160deg,#0a1d4b 0%,#0d276b 100%);flex-direction:column;justify-content:space-between;padding:44px;display:flex;position:relative;overflow:hidden}@media (width<=900px){.login-page .login-branding{display:none}}.login-page .login-branding:before{content:"";pointer-events:none;background:radial-gradient(circle,#1657ff40 0%,#1657ff00 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-100px}.login-page .login-branding .brand-header{align-items:center;gap:14px;display:flex}.login-page .login-branding .brand-header .brand-logo{background:#1657ff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 8px 16px #1657ff66}.login-page .login-branding .brand-header .brand-logo img{object-fit:contain;width:24px;height:20px}.login-page .login-branding .brand-header .brand-title-group{flex-direction:column;display:flex}.login-page .login-branding .brand-header .brand-title-group .brand-name{color:#fff;letter-spacing:-.3px;font-size:20px;font-weight:700;line-height:1.1}.login-page .login-branding .brand-header .brand-title-group .brand-tagline{color:#94a3b8;font-size:12px;font-weight:500}.login-page .login-branding .branding-hero{margin-top:24px}.login-page .login-branding .branding-hero h3{color:#fff;margin-bottom:12px;font-size:22px;font-weight:700;line-height:1.3}.login-page .login-branding .branding-hero p{color:#cbd5e1;font-size:13.5px;line-height:1.6}.login-page .login-branding .branding-illustration-wrapper{justify-content:center;align-items:center;margin:20px 0;display:flex}.login-page .login-branding .branding-illustration-wrapper .branding-illustration{filter:drop-shadow(0 10px 20px #0000004d);width:100%;max-width:260px;height:auto;transition:transform .3s}.login-page .login-branding .branding-illustration-wrapper .branding-illustration:hover{transform:translateY(-4px)}.login-page .login-branding .branding-footer{border-top:1px solid #ffffff14;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:16px;display:flex}.login-page .login-branding .branding-footer .feature-pill{color:#e2e8f0;background:#ffffff12;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:500;display:inline-flex}.login-page .login-branding .branding-footer .feature-pill .pill-icon{color:#10b981;font-size:13px}.login-page .login-form-wrapper{background:#fff;justify-content:center;align-items:center;padding:50px 44px;display:flex}@media (width<=600px){.login-page .login-form-wrapper{padding:36px 24px}}.login-page .login-form-wrapper .login-form-card{width:100%;max-width:380px}.login-page .login-form-wrapper .login-form-card .form-header{margin-bottom:10px}.login-page .login-form-wrapper .login-form-card .form-header h1{color:#0f172a;letter-spacing:-.4px;margin-bottom:6px;font-size:26px;font-weight:700}.login-page .login-form-wrapper .login-form-card .form-header p{color:#64748b;font-size:13.5px}.login-page .login-form-wrapper .login-form-card .login-error-alert{color:#ef4444;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:10px 14px;font-size:13px;font-weight:500;animation:.2s fadeIn}.login-page .login-form-wrapper .login-form-card .login-form,.login-page .login-form-wrapper .login-form-card .login-form .form-group{flex-direction:column;gap:6px;display:flex}.login-page .login-form-wrapper .login-form-card .login-form .form-group label{color:#334155;font-size:12.5px;font-weight:600}.login-page .login-form-wrapper .login-form-card .login-form .form-group .label-row{justify-content:space-between;align-items:center;display:flex}.login-page .login-form-wrapper .login-form-card .login-form .form-group .label-row .forgot-link{color:#1657ff;font-size:12px;font-weight:600;transition:color .2s}.login-page .login-form-wrapper .login-form-card .login-form .form-group .label-row .forgot-link:hover{color:#0043e0;text-decoration:underline}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon{align-items:center;display:flex;position:relative}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon .input-icon{color:#94a3b8;pointer-events:none;font-size:17px;transition:color .2s;position:absolute;left:14px}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon input{color:#0f172a;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;width:100%;height:44px;padding:10px 42px;font-size:13.5px;transition:all .2s}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon input::placeholder{color:#94a3b8}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon input:focus{background:#fff;border-color:#1657ff;box-shadow:0 0 0 3.5px #1657ff1f}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon input:focus+.input-icon,.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon input:focus~.input-icon{color:#1657ff}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon .toggle-password{color:#94a3b8;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:16px;transition:color .2s;display:flex;position:absolute;right:12px}.login-page .login-form-wrapper .login-form-card .login-form .form-group .input-with-icon .toggle-password:hover{color:#334155}.login-page .login-form-wrapper .login-form-card .login-form .form-options{justify-content:space-between;align-items:center;display:flex}.login-page .login-form-wrapper .login-form-card .login-form .form-options .checkbox-container{cursor:pointer;user-select:none;align-items:center;gap:8px;display:flex;position:relative}.login-page .login-form-wrapper .login-form-card .login-form .form-options .checkbox-container input[type=checkbox]{accent-color:#1657ff;cursor:pointer;border-radius:4px;width:16px;height:16px}.login-page .login-form-wrapper .login-form-card .login-form .form-options .checkbox-container .checkbox-label{color:#475569;font-size:13px;font-weight:500}.login-page .login-form-wrapper .login-form-card .login-form .login-btn{color:#fff;background:linear-gradient(135deg,#1657ff 0%,#0043e0 100%);border-radius:10px;justify-content:center;align-items:center;gap:8px;height:46px;margin-top:4px;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 6px 20px #1657ff4d}.login-page .login-form-wrapper .login-form-card .login-form .login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #1657ff66}.login-page .login-form-wrapper .login-form-card .login-form .login-btn:active:not(:disabled){transform:translateY(0)}.login-page .login-form-wrapper .login-form-card .login-form .login-btn:disabled{opacity:.7;cursor:not-allowed}.login-page .login-form-wrapper .login-form-card .login-form .login-btn .btn-icon{font-size:16px;transition:transform .2s}.login-page .login-form-wrapper .login-form-card .login-form .login-btn:hover .btn-icon{transform:translate(3px)}.login-page .login-form-wrapper .login-form-card .login-form .login-btn .spinner-loader{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.login-page .login-form-wrapper .login-form-card .auth-switch-prompt{color:#64748b;text-align:center;margin-top:24px;font-size:13.5px;font-weight:500}.login-page .login-form-wrapper .login-form-card .auth-switch-prompt .auth-switch-link{color:#1657ff;margin-left:4px;font-weight:600;transition:color .2s}.login-page .login-form-wrapper .login-form-card .auth-switch-prompt .auth-switch-link:hover{color:#0043e0;text-decoration:underline}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.users-container{flex-direction:column;gap:24px;width:100%;display:flex}.users-card{background-color:#fff;border:1px solid #eef2f6;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 2px 4px #00000005}.users-card .users-card-header{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex}.users-card .users-card-header .card-title-section{align-items:center;gap:12px;display:flex}.users-card .users-card-header .card-title-section .title{color:#0f172a;font-size:18px;font-weight:700}.users-card .users-card-header .header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.users-card .users-card-header .header-actions .search-box-wrapper{align-items:center;width:260px;display:flex;position:relative}.users-card .users-card-header .header-actions .search-box-wrapper .search-icon{color:#94a3b8;pointer-events:none;z-index:1;font-size:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.users-card .users-card-header .header-actions .search-box-wrapper .search-input{color:#1e293b;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;height:38px;padding:0 32px 0 36px;font-size:13px;transition:all .2s}.users-card .users-card-header .header-actions .search-box-wrapper .search-input:focus{border-color:#1657ff;box-shadow:0 0 0 3px #1657ff1a}.users-card .users-card-header .header-actions .search-box-wrapper .search-input::placeholder{color:#94a3b8}.users-card .users-card-header .header-actions .search-box-wrapper .clear-search-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:3px;transition:color .15s,background-color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.users-card .users-card-header .header-actions .search-box-wrapper .clear-search-btn:hover{color:#475569;background-color:#f1f5f9}.users-card .users-card-header .header-actions .btn-create-user{color:#fff;cursor:pointer;background-color:#1657ff;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:background-color .2s,transform .1s;display:flex;box-shadow:0 2px 6px #1657ff40}.users-card .users-card-header .header-actions .btn-create-user:hover{background-color:#0043e0;transform:translateY(-1px)}.users-card .users-card-header .header-actions .btn-create-user:active{transform:translateY(0)}.users-card .table-responsive{width:100%;overflow-x:auto}.users-card .users-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.users-card .users-table thead{background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.users-card .users-table thead th{color:#64748b;text-transform:none;letter-spacing:.2px;white-space:nowrap;padding:14px 20px;font-size:12px;font-weight:700}.users-card .users-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.users-card .users-table tbody tr:hover{background-color:#f8fafc}.users-card .users-table tbody tr td{color:#334155;vertical-align:middle;white-space:nowrap;padding:10px 20px}.users-card .users-table .name-text{color:#0f172a;font-weight:600}.users-card .users-table .emp-id-text{color:#0f172a;font-family:monospace;font-weight:600}.users-card .users-table .pill-branch{white-space:nowrap;color:#1d4ed8;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;justify-content:center;align-items:center;padding:3px 12px;font-size:12px;font-weight:500;display:inline-flex}.users-card .users-table .pill-role{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:3px 12px;font-size:12px;font-weight:500;display:inline-flex}.users-card .users-table .pill-role.role-employee{color:#7e22ce;background-color:#f3e8ff;border:1px solid #e9d5ff}.users-card .users-table .pill-role.role-admin{color:#a21caf;background-color:#fae8ff;border:1px solid #f5d0fe}.users-card .users-table .pill-role.role-unassigned{color:#64748b;background-color:#f1f5f9;border:1px solid #e2e8f0}.users-card .users-table .pill-role.role-other{color:#0369a1;background-color:#e0f2fe;border:1px solid #bae6fd}.users-card .empty-users-state{text-align:center;color:#64748b;padding:48px 24px}.users-card .empty-users-state .empty-icon{color:#cbd5e1;margin-bottom:12px;font-size:40px}.users-card .empty-users-state h4{color:#1e293b;margin-bottom:4px;font-size:16px;font-weight:600}.users-card .empty-users-state p{color:#94a3b8;font-size:13px}.user-modal-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=640px){.user-modal-grid{grid-template-columns:1fr}}.user-modal-grid .form-group-full{grid-column:1/-1}.modal-form-group{flex-direction:column;gap:6px;display:flex}.modal-form-group label{color:#1e293b;font-size:13px;font-weight:600}.modal-form-group .modal-input-wrapper{align-items:center;display:flex;position:relative}.modal-form-group .modal-input-wrapper .input-icon{color:#94a3b8;pointer-events:none;font-size:16px;position:absolute;left:12px}.modal-form-group .modal-input-wrapper input,.modal-form-group .modal-input-wrapper select{color:#0f172a;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:8px 14px 8px 36px;font-size:13.5px;transition:all .2s}.modal-form-group .modal-input-wrapper input:focus,.modal-form-group .modal-input-wrapper select:focus{border-color:#1657ff;outline:none;box-shadow:0 0 0 3px #1657ff1f}.modal-form-group .field-error-msg{color:#dc2626;margin-top:4px;font-size:11.5px;font-weight:500;display:block}.modal-footer{background-color:#f8fafc;border-top:1px solid #e2e8f0;border-bottom-right-radius:16px;border-bottom-left-radius:16px;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.modal-footer .btn-modal-cancel{color:#475569;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:13.5px;font-weight:600;transition:all .15s}.modal-footer .btn-modal-cancel:hover{color:#1e293b;background-color:#f1f5f9;border-color:#94a3b8}.modal-footer .btn-modal-submit{color:#fff;cursor:pointer;background-color:#1657ff;border:none;border-radius:8px;padding:7px 12px;font-size:13.5px;font-weight:600;transition:all .15s;box-shadow:0 4px 12px #1657ff40}.modal-footer .btn-modal-submit:hover{background-color:#0043e0;transform:translateY(-1px);box-shadow:0 6px 16px #1657ff59}.modal-footer .btn-modal-submit:active{transform:translateY(0)}.modal-footer .btn-modal-submit:disabled{opacity:.7;cursor:not-allowed}.modal-overlay,.modal-backdrop{backdrop-filter:blur(4px);width:100vw;height:100vh;padding:16px;position:fixed;inset:0;overflow-y:auto;z-index:999999!important;background-color:#0f172aa6!important;justify-content:center!important;align-items:center!important;display:flex!important}.modal-card,.modal-content{background-color:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:640px;max-height:calc(100vh - 32px);margin:auto;display:flex;overflow:hidden;box-shadow:0 20px 40px #0003}.modal-card form,.modal-content form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-card .modal-header,.modal-content .modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 24px;display:flex}.modal-card .modal-header .title,.modal-content .modal-header .title{color:#0f172a;font-size:18px;font-weight:700}.modal-card .modal-header .close-btn,.modal-content .modal-header .close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:20px}.modal-card .modal-header .close-btn:hover,.modal-content .modal-header .close-btn:hover{color:#0f172a}.modal-card .modal-body,.modal-content .modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:18px;overflow-y:auto}.modal-card .modal-footer,.modal-content .modal-footer{background-color:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.user-toast-alert{color:#15803d;background-color:#dcfce7;border:1px solid #86efac;border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:500;animation:.3s fadeIn;display:flex}*{box-sizing:border-box;margin:0;padding:0}html,body{color:#1e293b;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;background-color:#f8fafc;width:100%;height:auto;min-height:100%;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;overflow-x:hidden;overflow-y:auto!important}#root{flex-direction:column;width:100%;height:auto;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.btn-primary{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:background-color .2s,opacity .2s,transform .1s;display:inline-flex;box-shadow:0 2px 6px #1657ff40;color:#fff!important;background-color:#1657ff!important;border:none!important}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #1657ff59;background-color:#0043e0!important}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-outline{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;color:#334155!important;background-color:#fff!important;border:1px solid #cbd5e1!important}.btn-outline:hover:not(:disabled){background-color:#f8fafc!important;border-color:#94a3b8!important}.btn-outline:disabled{opacity:.65;cursor:not-allowed}input,select,textarea{outline:none;font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{background-color:#f8fafc;width:100%;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.main-wrapper{flex-direction:column;flex:1;width:calc(100% - 250px);min-height:100vh;margin-left:250px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex}.main-wrapper.collapsed{width:calc(100% - 72px);margin-left:72px}@media (width<=1024px){.main-wrapper{width:100%!important;margin-left:0!important}}.content-area{flex:1;width:100%;max-width:1600px;padding:94px 28px 24px}.footer{color:#64748b;background-color:#fff;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 28px;font-size:12px;display:flex}.footer .links{gap:16px;display:flex}.footer .links a:hover{color:#1657ff}@keyframes dcSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dcPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-box{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 40%,#f1f5f9 65%) 0 0/300% 100%;border-radius:6px;animation:1.5s ease-in-out infinite shimmer;display:inline-block}.badge{white-space:nowrap!important;border-style:solid!important;border-width:1px!important;justify-content:center!important;align-items:center!important;display:inline-flex!important}.badge.in-progress,.badge-in-progress,[class*=in-progress]{white-space:nowrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important}
