*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:#f5f7fb;color:#111827;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:#3f9786;text-decoration:none;transition:all .25s ease}a:hover{color:#2d7a6b}h1{font-size:36px;font-weight:700}h2{font-size:28px;font-weight:600}h3{font-size:22px;font-weight:600}h4{font-size:18px;font-weight:600}h5{font-size:16px;font-weight:600}h6{font-size:14px;font-weight:600}p{color:#6b7280}img{max-width:100%}.text-primary-color{color:#3f9786 !important}.text-secondary-color{color:#fe7551 !important}.text-muted-color{color:#9ca3af !important}.page-wrapper{display:flex;min-height:100vh}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;transition:margin .3s ease;min-width:0}.main-content.sidebar-collapsed{margin-left:72px}@media(max-width: 991.98px){.main-content{margin-left:0}}.content-wrapper{padding:24px;flex:1}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.section-header .section-title{font-size:18px;font-weight:600;color:#111827;margin:0}.page-header{margin-bottom:24px}.page-header .page-title{font-size:22px;font-weight:600;color:#111827;margin-bottom:4px}.page-header .page-subtitle{font-size:14px;color:#6b7280}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fs-12{font-size:12px}.fs-13{font-size:13px}.fs-14{font-size:14px}.fs-18{font-size:18px}.fs-22{font-size:22px}.text-success-custom{color:#22c55e}.text-danger-custom{color:#ef4444}.text-warning-custom{color:#f59e0b}.bg-primary-light{background:#e8f4f2}.bg-secondary-light{background:#fff1ed}.bg-success-light{background:#dcfce7}.bg-danger-light{background:#fee2e2}.bg-warning-light{background:#fef3c7}.bg-info-light{background:#dbeafe}.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:998}.overlay.active{display:block}.sidebar{width:260px;height:100vh;background:#1a2942;position:fixed;top:0;left:0;z-index:999;display:flex;flex-direction:column;transition:width .3s ease}.sidebar::-webkit-scrollbar{width:4px;height:4px}.sidebar::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.sidebar::-webkit-scrollbar-thumb{background:rgba(156,163,175,.4);border-radius:4px}.sidebar{overflow-x:hidden;overflow-y:auto}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-logo .logo-full{display:none}.sidebar.collapsed .sidebar-logo .logo-icon{display:block !important}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-link span{display:none}.sidebar.collapsed .nav-link i{margin-right:0}.sidebar.collapsed .nav-arrow{display:none !important}.sidebar.collapsed .nav-section-title{display:none}.sidebar.collapsed .sidebar-nav .nav-link{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-nav .nav-link:hover .tooltip-label{opacity:1;pointer-events:auto}.sidebar.collapsed .nav-submenu{display:none !important}.sidebar.collapsed .sidebar-footer-info{display:none}.sidebar-logo{padding:20px 16px;border-bottom:1px solid hsla(0,0%,100%,.07);display:flex;align-items:center;gap:10px;min-height:70px}.sidebar-logo .logo-full{height:32px;width:auto}.sidebar-logo .logo-icon{height:32px;width:32px;display:none}.sidebar-nav{flex:1;padding:16px 0}.sidebar-nav .nav-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:hsla(0,0%,100%,.35);padding:16px 16px 6px}.sidebar-nav .nav-item{position:relative;margin:2px 8px}.sidebar-nav .nav-item.has-submenu>.nav-link .nav-arrow{display:inline-flex}.sidebar-nav .nav-item.open>.nav-link{background:hsla(0,0%,100%,.1);color:#fff}.sidebar-nav .nav-item.open>.nav-submenu{display:block}.sidebar-nav .nav-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;color:hsla(0,0%,100%,.65);font-size:14px;font-weight:500;cursor:pointer;transition:all .25s ease;position:relative;white-space:nowrap}.sidebar-nav .nav-link i{font-size:18px;min-width:20px;text-align:center;flex-shrink:0;transition:all .25s ease}.sidebar-nav .nav-link span{flex:1}.sidebar-nav .nav-link .nav-arrow{font-size:14px;transition:transform .2s ease;display:none}.sidebar-nav .nav-link .nav-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#fe7551;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:100px;line-height:1.4;pointer-events:none}.sidebar-nav .nav-link.active .nav-badge{background:rgba(255,255,255,.22);color:#fff}.sidebar-nav .nav-link:hover{background:hsla(0,0%,100%,.08);color:#fff}.sidebar-nav .nav-link.active{background:#3f9786;color:#fff;box-shadow:0 4px 12px rgba(63,151,134,.4)}.sidebar-nav .nav-link.active i{color:#fff}.sidebar-nav .nav-link .tooltip-label{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#111827;color:#fff;font-size:12px;padding:4px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:100}.sidebar-nav .nav-link .tooltip-label::before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid rgba(0,0,0,0);border-right-color:#111827}.sidebar-nav .nav-submenu{display:none;padding:4px 0 4px 38px}.sidebar-nav .nav-submenu .nav-link{font-size:13px;padding:7px 14px;color:hsla(0,0%,100%,.5)}.sidebar-nav .nav-submenu .nav-link::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.sidebar-nav .nav-submenu .nav-link.active{background:rgba(63,151,134,.2);color:rgb(118.1121495327,197.8878504673,182.476635514);box-shadow:none}.sidebar-nav .open>.nav-link .nav-arrow{transform:rotate(90deg)}.sidebar-footer{padding:16px;border-top:1px solid hsla(0,0%,100%,.07)}.sidebar-footer .sidebar-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer;transition:all .25s ease}.sidebar-footer .sidebar-user:hover{background:hsla(0,0%,100%,.08)}.sidebar-footer .sidebar-user .user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#3f9786;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.sidebar-footer .sidebar-user .sidebar-footer-info .user-name{font-size:13px;font-weight:600;color:#fff;line-height:1.3}.sidebar-footer .sidebar-user .sidebar-footer-info .user-role{font-size:11px;color:hsla(0,0%,100%,.45)}.sidebar-footer .sidebar-user .user-menu-icon{margin-left:auto;color:hsla(0,0%,100%,.4);font-size:16px}@media(max-width: 991.98px){.sidebar{left:-260px}.sidebar.mobile-open{left:0}}.sidebar-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);border:none;border-radius:8px;color:#6b7280;font-size:20px;cursor:pointer;transition:all .25s ease}.sidebar-toggle:hover{background:#f5f7fb;color:#3f9786}.topbar{height:70px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:100;gap:16px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.topbar-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.topbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.topbar .search-box{display:flex;align-items:center;gap:10px;background:#f5f7fb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;max-width:280px;width:100%;transition:all .25s ease}.topbar .search-box:focus-within{border-color:#3f9786;background:#fff;box-shadow:0 0 0 3px rgba(63,151,134,.08)}.topbar .search-box i{color:#9ca3af;font-size:16px;flex-shrink:0}.topbar .search-box input{border:none;background:none;outline:none;font-size:14px;color:#111827;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;width:100%}.topbar .search-box input::placeholder{color:#9ca3af}@media(max-width: 767.98px){.topbar .search-box{display:none}}.topbar .topbar-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f5f7fb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:18px;cursor:pointer;transition:all .25s ease;position:relative;text-decoration:none}.topbar .topbar-btn:hover{background:#e8f4f2;border-color:#3f9786;color:#3f9786}.topbar .topbar-btn .badge-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#fe7551;border-radius:50%;border:2px solid #fff}.topbar .topbar-btn .badge-count{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:100px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid #fff}.topbar .user-profile{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .25s ease;position:relative}.topbar .user-profile:hover{background:#f5f7fb}.topbar .user-profile .user-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#3f9786;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}@media(max-width: 767.98px){.topbar .user-profile .user-info{display:none}}.topbar .user-profile .user-info .user-name{font-size:13px;font-weight:600;color:#111827;line-height:1.3}.topbar .user-profile .user-info .user-role{font-size:11px;color:#9ca3af}.topbar .user-profile i.ri-arrow-down-s-line{font-size:16px;color:#9ca3af}@media(max-width: 767.98px){.topbar .user-profile i.ri-arrow-down-s-line{display:none}}.topbar .notif-dropdown,.topbar .profile-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.1);min-width:300px;z-index:200;display:none;overflow:hidden}.topbar .notif-dropdown.show,.topbar .profile-dropdown.show{display:block}.topbar .notif-dropdown .dropdown-header,.topbar .profile-dropdown .dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.topbar .notif-dropdown .dropdown-header .title,.topbar .profile-dropdown .dropdown-header .title{font-size:14px;font-weight:600;color:#111827}.topbar .notif-dropdown .dropdown-header .mark-all,.topbar .profile-dropdown .dropdown-header .mark-all{font-size:12px;color:#3f9786;cursor:pointer}.topbar .notif-dropdown .dropdown-header .mark-all:hover,.topbar .profile-dropdown .dropdown-header .mark-all:hover{text-decoration:underline}.topbar .notif-dropdown .notif-item,.topbar .profile-dropdown .notif-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e5e7eb;transition:all .25s ease;cursor:pointer}.topbar .notif-dropdown .notif-item:hover,.topbar .profile-dropdown .notif-item:hover{background:#f5f7fb}.topbar .notif-dropdown .notif-item:last-child,.topbar .profile-dropdown .notif-item:last-child{border-bottom:none}.topbar .notif-dropdown .notif-item.unread,.topbar .profile-dropdown .notif-item.unread{background:rgba(63,151,134,.03)}.topbar .notif-dropdown .notif-item .notif-icon,.topbar .profile-dropdown .notif-item .notif-icon{width:38px;height:38px;background:#e8f4f2;color:#3f9786;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17.1px;flex-shrink:0;border-radius:50%;font-size:16px}.topbar .notif-dropdown .notif-item .notif-body,.topbar .profile-dropdown .notif-item .notif-body{flex:1;min-width:0}.topbar .notif-dropdown .notif-item .notif-body .notif-text,.topbar .profile-dropdown .notif-item .notif-body .notif-text{font-size:13px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .notif-dropdown .notif-item .notif-body .notif-time,.topbar .profile-dropdown .notif-item .notif-body .notif-time{font-size:11px;color:#9ca3af;margin-top:2px}.topbar .notif-dropdown .notif-item .unread-dot,.topbar .profile-dropdown .notif-item .unread-dot{width:7px;height:7px;background:#3f9786;border-radius:50%;flex-shrink:0}.topbar .notif-dropdown .dropdown-footer,.topbar .profile-dropdown .dropdown-footer{padding:12px;text-align:center;border-top:1px solid #e5e7eb}.topbar .notif-dropdown .dropdown-footer a,.topbar .profile-dropdown .dropdown-footer a{font-size:13px;color:#3f9786;font-weight:500}.topbar .notif-dropdown .dropdown-footer a:hover,.topbar .profile-dropdown .dropdown-footer a:hover{text-decoration:underline}.topbar .profile-dropdown{min-width:200px}.topbar .profile-dropdown .profile-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .25s ease}.topbar .profile-dropdown .profile-item i{font-size:16px;width:18px}.topbar .profile-dropdown .profile-item:hover{background:#f5f7fb;color:#3f9786}.topbar .profile-dropdown .profile-item.danger{color:#ef4444}.topbar .profile-dropdown .profile-item.danger:hover{background:#fee2e2}.topbar .profile-dropdown .profile-user{padding:14px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:10px}.topbar .profile-dropdown .profile-user .pa{width:40px;height:40px;border-radius:50%;background:#3f9786;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:15px}.topbar .profile-dropdown .profile-user .pn{font-size:13px;font-weight:600;color:#111827}.topbar .profile-dropdown .profile-user .pe{font-size:11px;color:#9ca3af}.page-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.page-breadcrumb .breadcrumb-item{display:flex;align-items:center;gap:6px}.page-breadcrumb .breadcrumb-item a{color:#9ca3af}.page-breadcrumb .breadcrumb-item a:hover{color:#3f9786}.page-breadcrumb .breadcrumb-item.active{color:#111827;font-weight:500}.page-breadcrumb .breadcrumb-item::after{content:"/";color:#e5e7eb}.page-breadcrumb .breadcrumb-item:last-child::after{display:none}.card{background:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.04);padding:24px;transition:all .25s ease;margin-bottom:16px}.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;background:transparent;padding-left:0;padding-right:0}.card-header .card-title{font-size:15px;font-weight:600;color:#111827;margin:0}.card-header .card-subtitle{font-size:12px;color:#9ca3af;margin-top:2px}.card-header .card-actions{display:flex;align-items:center;gap:8px}.card-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px;color:#6b7280}.stat-card{background:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.04);padding:24px;transition:all .25s ease;margin-bottom:16px}.stat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}.stat-card-inner{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stat-card-info .stat-label{font-size:14px;color:#6b7280;font-weight:500;margin-bottom:6px}.stat-card-info .stat-value{font-size:28px;font-weight:700;color:#111827;line-height:1.2;margin-bottom:6px}.stat-card-info .stat-change{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500}.stat-card-info .stat-change i{font-size:14px}.stat-card-info .stat-change.up{color:#22c55e}.stat-card-info .stat-change.down{color:#ef4444}.stat-card-info .stat-change span{color:#9ca3af;font-weight:400;font-size:12px}.stat-card-icon{width:52px;height:52px;background:#e8f4f2;color:#3f9786;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:23.4px;flex-shrink:0;border-radius:12px;font-size:22px}.stat-card-icon.primary{background:#e8f4f2;color:#3f9786}.stat-card-icon.secondary{background:#fff1ed;color:#fe7551}.stat-card-icon.success{background:#dcfce7;color:#22c55e}.stat-card-icon.warning{background:#fef3c7;color:#f59e0b}.stat-card-icon.info{background:#dbeafe;color:#3b82f6}.stat-card-icon.danger{background:#fee2e2;color:#ef4444}.stat-card-chart{height:50px;margin-top:8px}.chart-card{background:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.04);padding:24px;margin-bottom:16px}.chart-card .chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.chart-card .chart-header .chart-title{font-size:15px;font-weight:600;color:#111827}.chart-card .chart-header .chart-period{display:flex;align-items:center;gap:6px}.chart-card .chart-header .chart-period .period-btn{padding:4px 12px;font-size:12px;font-weight:500;border-radius:100px;border:1px solid #e5e7eb;background:none;color:#6b7280;cursor:pointer;transition:all .25s ease}.chart-card .chart-header .chart-period .period-btn:hover{border-color:#3f9786;color:#3f9786}.chart-card .chart-header .chart-period .period-btn.active{background:#3f9786;color:#fff;border-color:#3f9786}.chart-card-body{min-height:200px}.chart-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}.chart-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.chart-legend .legend-item .legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.btn-primary-custom{background:#3f9786;color:#fff;border:none;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:500;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:6px;display:inline-flex}.btn-primary-custom:hover{background:#2d7a6b;box-shadow:0 4px 12px rgba(63,151,134,.3)}.btn-primary-custom:active{transform:translateY(1px)}.btn-secondary-custom{background:#fe7551;color:#fff;border:none;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:500;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:6px}.btn-secondary-custom:hover{background:rgb(253.7668571429,84.8262857143,40.4331428571);box-shadow:0 4px 12px rgba(254,117,81,.3)}.btn-outline-custom{background:rgba(0,0,0,0);color:#3f9786;border:1.5px solid #3f9786;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:6px}.btn-outline-custom:hover{background:#3f9786;color:#fff}.btn-ghost{background:#f5f7fb;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:6px}.btn-ghost:hover{border-color:#3f9786;color:#3f9786;background:#e8f4f2}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e5e7eb;background:#f5f7fb;color:#6b7280;cursor:pointer;transition:all .25s ease;font-size:16px}.btn-icon:hover{border-color:#3f9786;color:#3f9786;background:#e8f4f2}.btn-icon.danger:hover{border-color:#ef4444;color:#ef4444;background:#fee2e2}.btn-sm{padding:6px 14px !important;font-size:12px !important}.btn-lg{padding:12px 28px !important;font-size:16px !important}.badge-custom{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;line-height:1.4}.badge-custom.primary{background:#e8f4f2;color:#3f9786}.badge-custom.secondary{background:#fff1ed;color:#fe7551}.badge-custom.success{background:#dcfce7;color:rgb(26.4935064935,153.5064935065,73.2467532468)}.badge-custom.danger{background:#fee2e2;color:hsl(0,84.236453202%,50.1960784314%)}.badge-custom.warning{background:#fef3c7;color:rgb(147.937007874,95.188976378,6.062992126)}.badge-custom.info{background:#dbeafe;color:rgb(11.1512195122,99.1219512195,242.8487804878)}.badge-custom.muted{background:rgb(240.6201117318,241.6368715084,243.3798882682);color:#6b7280}.badge-custom::before{display:none}.badge-custom.dot::before{display:block;content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.alert-custom{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;font-size:14px;border-left:3px solid rgba(0,0,0,0)}.alert-custom .alert-icon{font-size:18px;flex-shrink:0}.alert-custom .alert-content{flex:1}.alert-custom .alert-title{font-weight:600;margin-bottom:2px;font-size:14px}.alert-custom .alert-text{color:inherit;opacity:.85;font-size:13px}.alert-custom .alert-close{margin-left:auto;cursor:pointer;opacity:.6;font-size:16px;transition:all .25s ease}.alert-custom .alert-close:hover{opacity:1}.alert-custom.success{background:#dcfce7;color:rgb(22.7402597403,131.7597402597,62.8701298701);border-color:#22c55e}.alert-custom.danger{background:#fee2e2;color:hsl(0,84.236453202%,45.1960784314%);border-color:#ef4444}.alert-custom.warning{background:#fef3c7;color:rgb(123.4409448819,79.4271653543,5.0590551181);border-color:#f59e0b}.alert-custom.info{background:#dbeafe;color:rgb(10.0317073171,89.1707317073,218.4682926829);border-color:#3b82f6}.tabs-custom{border-bottom:2px solid #e5e7eb;display:flex;align-items:center;gap:0;overflow-x:auto}.tabs-custom::-webkit-scrollbar{width:4px;height:4px}.tabs-custom::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.tabs-custom::-webkit-scrollbar-thumb{background:rgba(156,163,175,.4);border-radius:4px}.tabs-custom .tab-btn{padding:10px 20px;font-size:14px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-2px;cursor:pointer;transition:all .25s ease;white-space:nowrap;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;display:flex;align-items:center;gap:6px}.tabs-custom .tab-btn:hover{color:#3f9786}.tabs-custom .tab-btn.active{color:#3f9786;border-bottom-color:#3f9786;font-weight:600}.tabs-custom .tab-btn .tab-badge{background:#e8f4f2;color:#3f9786;font-size:10px;padding:1px 6px;border-radius:100px}.tab-content-custom{padding-top:16px}.tab-content-custom .tab-pane-custom{display:none}.tab-content-custom .tab-pane-custom.active{display:block}.accordion-custom{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.accordion-custom .accordion-item-custom{border-bottom:1px solid #e5e7eb}.accordion-custom .accordion-item-custom:last-child{border-bottom:none}.accordion-custom .accordion-header-custom{display:flex;align-items:center;justify-content:space-between;padding:16px 16px;cursor:pointer;transition:all .25s ease;background:#fff}.accordion-custom .accordion-header-custom:hover{background:#f5f7fb}.accordion-custom .accordion-header-custom .accordion-title{font-size:14px;font-weight:600;color:#111827}.accordion-custom .accordion-header-custom .accordion-icon{font-size:18px;color:#9ca3af;transition:transform .2s ease}.accordion-custom .accordion-header-custom.open{background:#e8f4f2}.accordion-custom .accordion-header-custom.open .accordion-title{color:#3f9786}.accordion-custom .accordion-header-custom.open .accordion-icon{transform:rotate(180deg);color:#3f9786}.accordion-custom .accordion-body-custom{padding:0 16px;max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:14px;color:#6b7280;line-height:1.7}.accordion-custom .accordion-body-custom.open{max-height:400px;padding:14px 16px}.form-group-custom{margin-bottom:16px}.form-group-custom label{display:block;font-size:13px;font-weight:500;color:#111827;margin-bottom:6px}.form-group-custom label .required{color:#ef4444;margin-left:3px}.input-custom{width:100%;height:42px;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;padding:0 14px;font-size:14px;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#111827;transition:all .25s ease;outline:none}.input-custom::placeholder{color:#9ca3af}.input-custom:focus{border-color:#3f9786;box-shadow:0 0 0 3px rgba(63,151,134,.1)}.input-custom.input-error{border-color:#ef4444}.input-custom.input-success{border-color:#22c55e}.input-group-custom{position:relative}.input-group-custom .input-icon{position:absolute;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px;pointer-events:none}.input-group-custom .input-icon.left{left:12px}.input-group-custom .input-icon.left~.input-custom{padding-left:38px}.input-group-custom .input-icon.right{right:12px}textarea.input-custom{height:auto;padding:10px 14px;resize:vertical;min-height:100px}select.input-custom{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.check-custom{display:flex;gap:10px;cursor:pointer;align-items:flex-start}.check-custom input[type=checkbox],.check-custom input[type=radio]{width:18px;height:18px;border:1.5px solid #e5e7eb;border-radius:4px;appearance:none;background:#fff;cursor:pointer;flex-shrink:0;transition:all .25s ease;position:relative;margin-top:2px}.check-custom input[type=checkbox]:checked,.check-custom input[type=radio]:checked{background:#3f9786;border-color:#3f9786}.check-custom input[type=checkbox]:checked::after,.check-custom input[type=radio]:checked::after{content:"";position:absolute;inset:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.check-custom input[type=radio]{border-radius:50%}.check-custom input[type=radio]:checked::after{background:#fff;border-radius:50%;inset:3px}.check-custom .check-label{font-size:14px;color:#6b7280;line-height:1.5}.check-custom .check-label .sublabel{font-size:12px;color:#9ca3af;display:block}.modal-overlay-custom{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;display:none;padding:16px}.modal-overlay-custom.show{display:flex}.modal-overlay-custom .modal-custom{background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.1);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-overlay-custom .modal-custom::-webkit-scrollbar{width:4px;height:4px}.modal-overlay-custom .modal-custom::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.modal-overlay-custom .modal-custom::-webkit-scrollbar-thumb{background:rgba(156,163,175,.4);border-radius:4px}.modal-overlay-custom .modal-custom{animation:modalIn .25s ease}.modal-overlay-custom .modal-custom.modal-sm{max-width:380px}.modal-overlay-custom .modal-custom.modal-lg{max-width:720px}.modal-overlay-custom .modal-custom.modal-xl{max-width:960px}.modal-overlay-custom .modal-header-custom{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb}.modal-overlay-custom .modal-header-custom .modal-title-custom{font-size:16px;font-weight:600;color:#111827}.modal-overlay-custom .modal-header-custom .modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f5f7fb;color:#9ca3af;cursor:pointer;font-size:18px;border:none;transition:all .25s ease}.modal-overlay-custom .modal-header-custom .modal-close:hover{background:#fee2e2;color:#ef4444}.modal-overlay-custom .modal-body-custom{padding:24px}.modal-overlay-custom .modal-footer-custom{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}@keyframes modalIn{from{opacity:0;transform:translateY(-16px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.pagination-custom{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pagination-custom .page-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .25s ease;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.pagination-custom .page-btn:hover{border-color:#3f9786;color:#3f9786;background:#e8f4f2}.pagination-custom .page-btn.active{background:#3f9786;color:#fff;border-color:#3f9786}.pagination-custom .page-btn.disabled{opacity:.4;pointer-events:none}.activity-feed .activity-item{display:flex;gap:14px;padding-bottom:16px;position:relative}.activity-feed .activity-item:not(:last-child)::before{content:"";position:absolute;left:18px;top:38px;bottom:0;width:1px;background:#e5e7eb}.activity-feed .activity-item .activity-icon{width:36px;height:36px;background:#e8f4f2;color:#3f9786;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16.2px;flex-shrink:0;border-radius:50%;font-size:14px;flex-shrink:0}.activity-feed .activity-item .activity-icon.primary{background:#e8f4f2;color:#3f9786}.activity-feed .activity-item .activity-icon.secondary{background:#fff1ed;color:#fe7551}.activity-feed .activity-item .activity-icon.success{background:#dcfce7;color:#22c55e}.activity-feed .activity-item .activity-icon.warning{background:#fef3c7;color:#f59e0b}.activity-feed .activity-item .activity-icon.danger{background:#fee2e2;color:#ef4444}.activity-feed .activity-item .activity-content{flex:1;padding-top:4px}.activity-feed .activity-item .activity-content .activity-text{font-size:13px;color:#111827;line-height:1.5}.activity-feed .activity-item .activity-content .activity-text strong{font-weight:600}.activity-feed .activity-item .activity-content .activity-time{font-size:11px;color:#9ca3af;margin-top:4px}.progress-custom{background:#e5e7eb;border-radius:100px;height:8px;overflow:hidden}.progress-custom .progress-bar-custom{height:100%;border-radius:100px;background:#3f9786;transition:width .6s ease}.progress-custom .progress-bar-custom.secondary{background:#fe7551}.progress-custom .progress-bar-custom.success{background:#22c55e}.progress-custom .progress-bar-custom.warning{background:#f59e0b}.progress-custom .progress-bar-custom.danger{background:#ef4444}.progress-custom .progress-bar-custom.info{background:#3b82f6}.progress-custom .progress-bar-custom.striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}[data-tooltip]{position:relative;cursor:default}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#111827;color:#fff;font-size:12px;padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:100}[data-tooltip]:hover::after{opacity:1}.dropdown-custom{position:relative;display:inline-block}.dropdown-custom .dropdown-menu-custom{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);min-width:160px;z-index:300;display:none;overflow:hidden}.dropdown-custom .dropdown-menu-custom.show{display:block}.dropdown-custom .dropdown-menu-custom.left{right:auto;left:0}.dropdown-custom .dropdown-menu-custom .dropdown-item-custom{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .25s ease}.dropdown-custom .dropdown-menu-custom .dropdown-item-custom i{font-size:15px;width:16px}.dropdown-custom .dropdown-menu-custom .dropdown-item-custom:hover{background:#f5f7fb;color:#3f9786}.dropdown-custom .dropdown-menu-custom .dropdown-item-custom.danger{color:#ef4444}.dropdown-custom .dropdown-menu-custom .dropdown-item-custom.danger:hover{background:#fee2e2}.dropdown-custom .dropdown-menu-custom .dropdown-divider-custom{height:1px;background:#e5e7eb;margin:4px 0}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#e8f4f2;display:flex;align-items:center;justify-content:center;color:#3f9786;font-weight:600;font-size:14px;flex-shrink:0}.avatar-sm{width:30px;height:30px;font-size:11px}.avatar-lg{width:52px;height:52px;font-size:18px}.avatar-xl{width:72px;height:72px;font-size:24px}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid #fff;margin-left:-10px}.avatar-group .avatar:first-child{margin-left:0}.divider{height:1px;background:#e5e7eb;margin:16px 0}.divider.vertical{width:1px;height:auto;margin:0 16px}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px;text-align:center;gap:16px}.empty-state .empty-icon{font-size:48px;color:#9ca3af;opacity:.5}.empty-state .empty-title{font-size:16px;font-weight:600;color:#6b7280}.empty-state .empty-text{font-size:13px;color:#9ca3af;max-width:280px}.skeleton{background:linear-gradient(90deg, #E5E7EB 25%, rgb(237.647826087, 238.9826086957, 241.652173913) 50%, #E5E7EB 75%);background-size:200% 100%;animation:skeleton-loading 1.4s infinite;border-radius:8px}.skeleton-text{height:14px;border-radius:4px}.skeleton-title{height:20px;width:60%;border-radius:4px}.skeleton-circle{border-radius:50%}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.04);padding:24px;border:1px solid #e5e7eb;padding:0;overflow:hidden}.table-wrapper .table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:10px}.table-wrapper .table-header .table-title{font-size:15px;font-weight:600;color:#111827}.table-wrapper .table-header .table-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-wrapper .table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:10px}.table-wrapper .table-footer .table-info{font-size:13px;color:#9ca3af}.table-search{display:flex;align-items:center;gap:8px;background:#f5f7fb;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px}.table-search i{color:#9ca3af;font-size:15px}.table-search input{border:none;background:none;outline:none;font-size:13px;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#111827;width:180px}.table-search input::placeholder{color:#9ca3af}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:12px 16px;font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;background:#f5f7fb;border-bottom:1px solid #e5e7eb;white-space:nowrap;text-align:left;cursor:pointer;transition:all .25s ease;user-select:none}.data-table thead th:hover{color:#3f9786}.data-table thead th .sort-icon{display:inline-flex;flex-direction:column;margin-left:4px;opacity:.4;font-size:10px;vertical-align:middle}.data-table thead th.sort-asc .sort-icon{opacity:1}.data-table thead th.sort-desc .sort-icon{opacity:1}.data-table tbody tr{border-bottom:1px solid #e5e7eb;transition:all .25s ease}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:rgba(63,151,134,.025)}.data-table tbody tr td{padding:13px 16px;font-size:14px;color:#6b7280;vertical-align:middle}.data-table tbody tr td.td-primary{color:#111827;font-weight:500}.data-table .table-user{display:flex;align-items:center;gap:10px}.data-table .table-user .user-name{font-weight:500;color:#111827;font-size:13px}.data-table .table-user .user-email{font-size:12px;color:#9ca3af}.data-table .table-product{display:flex;align-items:center;gap:10px}.data-table .table-product .product-img{width:38px;height:38px;border-radius:8px;object-fit:cover;background:#f5f7fb;border:1px solid #e5e7eb}.data-table .table-product .product-name{font-weight:500;color:#111827;font-size:13px}.data-table .table-product .product-sku{font-size:11px;color:#9ca3af}.data-table .table-actions{display:flex;align-items:center;gap:6px}.auth-page{min-height:100vh;display:flex}.auth-page .auth-left{flex:1;background:linear-gradient(135deg, #1a2942 0%, #2d7a6b 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px;position:relative;overflow:hidden}.auth-page .auth-left::before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(63,151,134,.2);top:-100px;left:-100px}.auth-page .auth-left::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(254,117,81,.15);bottom:-80px;right:-80px}.auth-page .auth-left .auth-left-content{position:relative;z-index:1;text-align:center;color:#fff;max-width:420px}.auth-page .auth-left .auth-left-content .auth-illustration{font-size:80px;margin-bottom:24px;opacity:.9}.auth-page .auth-left .auth-left-content h2{font-size:26px;font-weight:700;margin-bottom:16px}.auth-page .auth-left .auth-left-content p{font-size:14px;opacity:.75;line-height:1.7;color:hsla(0,0%,100%,.75)}@media(max-width: 991.98px){.auth-page .auth-left{display:none}}.auth-page .auth-right{width:480px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px;background:#fff;overflow-y:auto}@media(max-width: 991.98px){.auth-page .auth-right{width:100%}}@media(max-width: 767.98px){.auth-page .auth-right{padding:24px}}.auth-page .auth-box{width:100%;max-width:400px}.auth-page .auth-logo{text-align:center;margin-bottom:24px}.auth-page .auth-logo img{height:36px}.auth-page .auth-title{font-size:24px;font-weight:700;color:#111827;margin-bottom:6px;text-align:center}.auth-page .auth-subtitle{font-size:14px;color:#9ca3af;text-align:center;margin-bottom:24px}.auth-page .auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0}.auth-page .auth-divider span{font-size:12px;color:#9ca3af;white-space:nowrap}.auth-page .auth-divider::before,.auth-page .auth-divider::after{content:"";flex:1;height:1px;background:#e5e7eb}.auth-page .auth-footer{margin-top:16px;text-align:center;font-size:13px;color:#9ca3af}.auth-page .auth-footer a{color:#3f9786;font-weight:500}.auth-page .auth-footer a:hover{text-decoration:underline}.auth-page .forgot-link{font-size:13px;color:#3f9786;float:right}.auth-page .forgot-link:hover{text-decoration:underline}.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;font-weight:500;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#111827;cursor:pointer;transition:all .25s ease}.social-btn img{width:20px;height:20px}.social-btn:hover{border-color:#3f9786;background:#e8f4f2;color:#3f9786}

/* ============================================================
   PanelPro – Dark Mode, Badge Fix & Mobile Improvements
   ============================================================ */

/* ---- Sidebar Badge Fix (hide in collapsed state) ---- */
.sidebar.collapsed .nav-badge { display: none; }

/* ---- Mobile Sidebar Toggle ---- */
@media(max-width: 991.98px) {
  .sidebar-toggle { display: flex !important; }
}

/* ---- Mobile Responsive Improvements ---- */
@media(max-width: 767.98px) {
  .content-wrapper { padding: 16px; }
  .topbar { padding: 0 12px; }
  .stat-card { padding: 16px; }
  .stat-card-info .stat-value { font-size: 22px; }
  .chart-card { padding: 16px; }
  .table-wrapper .table-header { padding: 12px 16px; }
  .table-wrapper .table-footer { padding: 10px 16px; }
  .data-table tbody tr td { padding: 10px 12px; font-size: 13px; }
  .data-table thead th { padding: 10px 12px; }
  .page-header { margin-bottom: 16px; }
  .row.g-3 { --bs-gutter-x: 12px; --bs-gutter-y: 12px; }
  .card { padding: 16px; }
  .modal-overlay-custom { padding: 12px; }
  .modal-overlay-custom .modal-custom { max-height: 95vh; }
}

@media(max-width: 480px) {
  .content-wrapper { padding: 12px; }
  .topbar { padding: 0 8px; gap: 6px; }
  .stat-card-info .stat-value { font-size: 20px; }
  .page-header .page-title { font-size: 18px; }
  .chart-card .chart-header { flex-direction: column; align-items: flex-start; gap: 8px; }
  .tabs-custom .tab-btn { padding: 8px 12px; font-size: 13px; }
}

/* ---- Language option active state ---- */
.lang-option.active { color: #3f9786 !important; font-weight: 600; }
.lang-option.active::after { content: '✓'; margin-left: auto; font-size: 12px; }
.lang-option { display: flex; align-items: center; }

/* ---- Dark Mode ---- */
[data-theme="dark"] body { background: #0f172a; color: #e2e8f0; }
[data-theme="dark"] p { color: #94a3b8; }
[data-theme="dark"] a { color: #5eead4; }
[data-theme="dark"] a:hover { color: #2dd4bf; }
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6 { color: #f1f5f9; }

/* Topbar */
[data-theme="dark"] .topbar { background: #1e293b; border-color: #334155; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
[data-theme="dark"] .topbar .search-box { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .topbar .search-box:focus-within { background: #1e293b; border-color: #3f9786; }
[data-theme="dark"] .topbar .search-box input { color: #e2e8f0; }
[data-theme="dark"] .topbar .search-box i { color: #64748b; }
[data-theme="dark"] .topbar .topbar-btn { background: #0f172a; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .topbar .topbar-btn:hover { background: #134e4a; border-color: #3f9786; color: #5eead4; }
[data-theme="dark"] .topbar .topbar-btn .badge-dot { border-color: #1e293b; }
[data-theme="dark"] .topbar .topbar-btn .badge-count { border-color: #1e293b; }
[data-theme="dark"] .topbar .user-profile:hover { background: #0f172a; }
[data-theme="dark"] .topbar .user-profile .user-info .user-name { color: #f1f5f9; }
[data-theme="dark"] .topbar .user-profile i.ri-arrow-down-s-line { color: #64748b; }
[data-theme="dark"] .topbar .notif-dropdown,
[data-theme="dark"] .topbar .profile-dropdown { background: #1e293b; border-color: #334155; box-shadow: 0 12px 32px rgba(0,0,0,.4); }
[data-theme="dark"] .topbar .notif-dropdown .dropdown-header,
[data-theme="dark"] .topbar .profile-dropdown .dropdown-header { border-color: #334155; }
[data-theme="dark"] .topbar .notif-dropdown .dropdown-header .title,
[data-theme="dark"] .topbar .profile-dropdown .dropdown-header .title { color: #f1f5f9; }
[data-theme="dark"] .topbar .notif-dropdown .notif-item,
[data-theme="dark"] .topbar .profile-dropdown .notif-item { border-color: #334155; }
[data-theme="dark"] .topbar .notif-dropdown .notif-item:hover,
[data-theme="dark"] .topbar .profile-dropdown .notif-item:hover { background: #0f172a; }
[data-theme="dark"] .topbar .notif-dropdown .notif-item .notif-body .notif-text { color: #e2e8f0; }
[data-theme="dark"] .topbar .notif-dropdown .dropdown-footer,
[data-theme="dark"] .topbar .profile-dropdown .dropdown-footer { border-color: #334155; }
[data-theme="dark"] .topbar .profile-dropdown .profile-item { color: #94a3b8; }
[data-theme="dark"] .topbar .profile-dropdown .profile-item:hover { background: #0f172a; color: #5eead4; }
[data-theme="dark"] .topbar .profile-dropdown .profile-item.danger { color: #f87171; }
[data-theme="dark"] .topbar .profile-dropdown .profile-item.danger:hover { background: rgba(239,68,68,.1); }
[data-theme="dark"] .topbar .profile-dropdown .profile-user { border-color: #334155; }
[data-theme="dark"] .topbar .profile-dropdown .profile-user .pn { color: #f1f5f9; }

/* Sidebar toggle */
[data-theme="dark"] .sidebar-toggle { color: #94a3b8; }
[data-theme="dark"] .sidebar-toggle:hover { background: #0f172a; color: #5eead4; }

/* Page / Section headers */
[data-theme="dark"] .page-header .page-title { color: #f1f5f9; }
[data-theme="dark"] .page-header .page-subtitle { color: #94a3b8; }
[data-theme="dark"] .section-header .section-title { color: #f1f5f9; }
[data-theme="dark"] .page-breadcrumb .breadcrumb-item a { color: #64748b; }
[data-theme="dark"] .page-breadcrumb .breadcrumb-item.active { color: #e2e8f0; }

/* Cards */
[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .chart-card,
[data-theme="dark"] .table-wrapper { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.3); }
[data-theme="dark"] .stat-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.3); transform: translateY(-2px); }
[data-theme="dark"] .card-header .card-title,
[data-theme="dark"] .chart-card .chart-header .chart-title { color: #f1f5f9; }
[data-theme="dark"] .card-header .card-subtitle { color: #64748b; }
[data-theme="dark"] .card-footer { border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .stat-card-info .stat-label { color: #94a3b8; }
[data-theme="dark"] .stat-card-info .stat-value { color: #f1f5f9; }
[data-theme="dark"] .chart-card .chart-header .chart-period .period-btn { border-color: #334155; color: #94a3b8; background: transparent; }
[data-theme="dark"] .chart-card .chart-header .chart-period .period-btn:hover { border-color: #3f9786; color: #5eead4; }
[data-theme="dark"] .chart-legend .legend-item { color: #94a3b8; }

/* Tables */
[data-theme="dark"] .table-wrapper .table-header { border-color: #334155; }
[data-theme="dark"] .table-wrapper .table-header .table-title { color: #f1f5f9; }
[data-theme="dark"] .table-wrapper .table-footer { border-color: #334155; }
[data-theme="dark"] .table-wrapper .table-footer .table-info { color: #64748b; }
[data-theme="dark"] .table-search { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .table-search input { color: #e2e8f0; }
[data-theme="dark"] .data-table thead th { background: #0f172a; border-color: #334155; color: #64748b; }
[data-theme="dark"] .data-table thead th:hover { color: #5eead4; }
[data-theme="dark"] .data-table tbody tr { border-color: #334155; }
[data-theme="dark"] .data-table tbody tr:hover { background: rgba(63,151,134,.06); }
[data-theme="dark"] .data-table tbody tr td { color: #94a3b8; }
[data-theme="dark"] .data-table tbody tr td.td-primary { color: #e2e8f0; }
[data-theme="dark"] .data-table .table-user .user-name { color: #e2e8f0; }
[data-theme="dark"] .data-table .table-product .product-name { color: #e2e8f0; }
[data-theme="dark"] .data-table .table-product .product-img { background: #0f172a; border-color: #334155; }

/* Forms */
[data-theme="dark"] .input-custom { background: #0f172a; border-color: #334155; color: #e2e8f0; }
[data-theme="dark"] .input-custom:focus { border-color: #3f9786; box-shadow: 0 0 0 3px rgba(63,151,134,.15); }
[data-theme="dark"] .input-custom::placeholder { color: #475569; }
[data-theme="dark"] .form-group-custom label { color: #e2e8f0; }
[data-theme="dark"] select.input-custom { background-color: #0f172a; }
[data-theme="dark"] .check-custom input[type="checkbox"],
[data-theme="dark"] .check-custom input[type="radio"] { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .check-custom .check-label { color: #94a3b8; }
[data-theme="dark"] .check-custom .check-label .sublabel { color: #64748b; }

/* Buttons */
[data-theme="dark"] .btn-ghost { background: #0f172a; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .btn-ghost:hover { border-color: #3f9786; color: #5eead4; background: #134e4a; }
[data-theme="dark"] .btn-icon { background: #0f172a; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .btn-icon:hover { border-color: #3f9786; color: #5eead4; background: #134e4a; }
[data-theme="dark"] .btn-icon.danger:hover { border-color: #ef4444; color: #f87171; background: rgba(239,68,68,.1); }
[data-theme="dark"] .btn-outline-custom { color: #5eead4; border-color: #5eead4; }
[data-theme="dark"] .btn-outline-custom:hover { background: #5eead4; color: #0f172a; }

/* Modals */
[data-theme="dark"] .modal-overlay-custom .modal-custom { background: #1e293b; }
[data-theme="dark"] .modal-overlay-custom .modal-header-custom { border-color: #334155; }
[data-theme="dark"] .modal-overlay-custom .modal-header-custom .modal-title-custom { color: #f1f5f9; }
[data-theme="dark"] .modal-overlay-custom .modal-header-custom .modal-close { background: #0f172a; color: #94a3b8; }
[data-theme="dark"] .modal-overlay-custom .modal-header-custom .modal-close:hover { background: rgba(239,68,68,.1); color: #f87171; }
[data-theme="dark"] .modal-overlay-custom .modal-body-custom { color: #e2e8f0; }
[data-theme="dark"] .modal-overlay-custom .modal-footer-custom { border-color: #334155; }

/* Accordions */
[data-theme="dark"] .accordion-custom { border-color: #334155; }
[data-theme="dark"] .accordion-custom .accordion-item-custom { border-color: #334155; }
[data-theme="dark"] .accordion-custom .accordion-header-custom { background: #1e293b; }
[data-theme="dark"] .accordion-custom .accordion-header-custom:hover { background: #0f172a; }
[data-theme="dark"] .accordion-custom .accordion-header-custom .accordion-title { color: #e2e8f0; }
[data-theme="dark"] .accordion-custom .accordion-header-custom.open { background: #134e4a; }
[data-theme="dark"] .accordion-custom .accordion-header-custom.open .accordion-title { color: #5eead4; }
[data-theme="dark"] .accordion-custom .accordion-body-custom { color: #94a3b8; }

/* Tabs */
[data-theme="dark"] .tabs-custom { border-color: #334155; }
[data-theme="dark"] .tabs-custom .tab-btn { color: #64748b; }
[data-theme="dark"] .tabs-custom .tab-btn:hover { color: #5eead4; }
[data-theme="dark"] .tabs-custom .tab-btn.active { color: #5eead4; border-bottom-color: #5eead4; }
[data-theme="dark"] .tabs-custom .tab-btn .tab-badge { background: rgba(63,151,134,.2); color: #5eead4; }

/* Activity Feed */
[data-theme="dark"] .activity-feed .activity-item::before { background: #334155; }
[data-theme="dark"] .activity-feed .activity-item .activity-content .activity-text { color: #e2e8f0; }
[data-theme="dark"] .activity-feed .activity-item .activity-content .activity-text strong { color: #f1f5f9; }

/* Dropdown menus (table actions) */
[data-theme="dark"] .dropdown-custom .dropdown-menu-custom { background: #1e293b; border-color: #334155; box-shadow: 0 4px 16px rgba(0,0,0,.3); }
[data-theme="dark"] .dropdown-custom .dropdown-menu-custom .dropdown-item-custom { color: #94a3b8; }
[data-theme="dark"] .dropdown-custom .dropdown-menu-custom .dropdown-item-custom:hover { background: #0f172a; color: #5eead4; }
[data-theme="dark"] .dropdown-custom .dropdown-menu-custom .dropdown-item-custom.danger { color: #f87171; }
[data-theme="dark"] .dropdown-custom .dropdown-menu-custom .dropdown-item-custom.danger:hover { background: rgba(239,68,68,.1); }
[data-theme="dark"] .dropdown-custom .dropdown-menu-custom .dropdown-divider-custom { background: #334155; }

/* Pagination */
[data-theme="dark"] .pagination-custom .page-btn { background: #1e293b; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .pagination-custom .page-btn:hover { border-color: #3f9786; color: #5eead4; background: #134e4a; }
[data-theme="dark"] .pagination-custom .page-btn.active { background: #3f9786; border-color: #3f9786; color: #fff; }

/* Progress */
[data-theme="dark"] .progress-custom { background: #334155; }

/* Badges – muted variant */
[data-theme="dark"] .badge-custom.muted { background: #334155; color: #94a3b8; }

/* Skeleton */
[data-theme="dark"] .skeleton { background: linear-gradient(90deg,#1e293b 25%,#334155 50%,#1e293b 75%); background-size: 200% 100%; }

/* Divider */
[data-theme="dark"] .divider { background: #334155; }

/* Background utility overrides */
[data-theme="dark"] .bg-primary-light { background: rgba(63,151,134,.15) !important; }
[data-theme="dark"] .bg-secondary-light { background: rgba(254,117,81,.15) !important; }
[data-theme="dark"] .bg-success-light { background: rgba(34,197,94,.15) !important; }
[data-theme="dark"] .bg-danger-light { background: rgba(239,68,68,.15) !important; }
[data-theme="dark"] .bg-warning-light { background: rgba(245,158,11,.15) !important; }
[data-theme="dark"] .bg-info-light { background: rgba(59,130,246,.15) !important; }

/* Icon boxes in dark mode */
[data-theme="dark"] .stat-card-icon.primary { background: rgba(63,151,134,.15); }
[data-theme="dark"] .stat-card-icon.secondary { background: rgba(254,117,81,.15); }
[data-theme="dark"] .stat-card-icon.success { background: rgba(34,197,94,.15); }
[data-theme="dark"] .stat-card-icon.warning { background: rgba(245,158,11,.15); }
[data-theme="dark"] .stat-card-icon.info { background: rgba(59,130,246,.15); }
[data-theme="dark"] .stat-card-icon.danger { background: rgba(239,68,68,.15); }

/* Activity icon boxes */
[data-theme="dark"] .activity-icon.primary { background: rgba(63,151,134,.15); }
[data-theme="dark"] .activity-icon.secondary { background: rgba(254,117,81,.15); }
[data-theme="dark"] .activity-icon.success { background: rgba(34,197,94,.15); }
[data-theme="dark"] .activity-icon.warning { background: rgba(245,158,11,.15); }
[data-theme="dark"] .activity-icon.danger { background: rgba(239,68,68,.15); }

/* Toast in dark mode */
[data-theme="dark"] #toastContainer > div {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

/* Alert dark mode adjustments */
[data-theme="dark"] .alert-custom.success { background: rgba(34,197,94,.12); }
[data-theme="dark"] .alert-custom.danger { background: rgba(239,68,68,.12); }
[data-theme="dark"] .alert-custom.warning { background: rgba(245,158,11,.12); }
[data-theme="dark"] .alert-custom.info { background: rgba(59,130,246,.12); }

/* Table search tools in dark mode */
[data-theme="dark"] .table-tools .btn-ghost { background: #0f172a; border-color: #334155; color: #94a3b8; }

/* Overlay (already semi-transparent, fine as-is) */

/* Auth pages dark mode */
[data-theme="dark"] .auth-page .auth-right { background: #1e293b; }
[data-theme="dark"] .auth-page .auth-title { color: #f1f5f9; }
[data-theme="dark"] .auth-page .auth-subtitle { color: #94a3b8; }
[data-theme="dark"] .auth-page .auth-footer { color: #64748b; }
[data-theme="dark"] .social-btn { background: #0f172a; border-color: #334155; color: #e2e8f0; }
[data-theme="dark"] .social-btn:hover { border-color: #3f9786; background: #134e4a; color: #5eead4; }

/* Ensure chart backgrounds work in dark mode */
[data-theme="dark"] .apexcharts-canvas { background: transparent !important; }
[data-theme="dark"] .apexcharts-tooltip { background: #1e293b !important; border-color: #334155 !important; color: #e2e8f0 !important; }
[data-theme="dark"] .apexcharts-tooltip-title { background: #0f172a !important; border-color: #334155 !important; color: #f1f5f9 !important; }
[data-theme="dark"] .apexcharts-xaxistooltip { background: #1e293b !important; border-color: #334155 !important; color: #e2e8f0 !important; }
[data-theme="dark"] .apexcharts-legend-text { color: #94a3b8 !important; }
[data-theme="dark"] .apexcharts-text { fill: #94a3b8 !important; }
[data-theme="dark"] .apexcharts-gridline { stroke: #334155 !important; }

/* ---- Calendar Page Styles ---- */
.calendar-wrapper { background: #fff; border-radius: 12px; border: 1px solid #e5e7eb; overflow: hidden; }
.calendar-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid #e5e7eb; flex-wrap: wrap; gap: 10px; }
.calendar-header .cal-title { font-size: 16px; font-weight: 600; color: #111827; }
.calendar-nav { display: flex; align-items: center; gap: 8px; }
.calendar-nav .cal-nav-btn { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; color: #6b7280; cursor: pointer; transition: all .2s; font-size: 16px; }
.calendar-nav .cal-nav-btn:hover { border-color: #3f9786; color: #3f9786; background: #e8f4f2; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.calendar-grid .cal-day-header { padding: 10px; text-align: center; font-size: 12px; font-weight: 600; color: #9ca3af; text-transform: uppercase; border-bottom: 1px solid #e5e7eb; background: #f5f7fb; }
.calendar-grid .cal-day { min-height: 100px; padding: 8px; border-right: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; position: relative; transition: background .15s; }
.calendar-grid .cal-day:nth-child(7n) { border-right: none; }
.calendar-grid .cal-day:hover { background: #f9fafb; }
.calendar-grid .cal-day .day-num { font-size: 13px; font-weight: 500; color: #374151; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.calendar-grid .cal-day.today .day-num { background: #3f9786; color: #fff; }
.calendar-grid .cal-day.other-month .day-num { color: #d1d5db; }
.cal-event { font-size: 11px; padding: 2px 6px; border-radius: 4px; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; font-weight: 500; }
.cal-event.primary { background: #e8f4f2; color: #3f9786; }
.cal-event.secondary { background: #fff1ed; color: #fe7551; }
.cal-event.warning { background: #fef3c7; color: #d97706; }
.cal-event.info { background: #dbeafe; color: #2563eb; }
.cal-event.danger { background: #fee2e2; color: #dc2626; }
[data-theme="dark"] .calendar-wrapper { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .calendar-header { border-color: #334155; }
[data-theme="dark"] .calendar-header .cal-title { color: #f1f5f9; }
[data-theme="dark"] .calendar-nav .cal-nav-btn { background: #0f172a; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .calendar-nav .cal-nav-btn:hover { border-color: #3f9786; color: #5eead4; background: #134e4a; }
[data-theme="dark"] .calendar-grid .cal-day-header { background: #0f172a; border-color: #334155; color: #64748b; }
[data-theme="dark"] .calendar-grid .cal-day { border-color: #334155; }
[data-theme="dark"] .calendar-grid .cal-day:hover { background: #0f172a; }
[data-theme="dark"] .calendar-grid .cal-day .day-num { color: #e2e8f0; }
[data-theme="dark"] .calendar-grid .cal-day.other-month .day-num { color: #334155; }

/* ---- Kanban Page Styles ---- */
.kanban-board { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 16px; }
.kanban-board::-webkit-scrollbar { height: 6px; }
.kanban-board::-webkit-scrollbar-track { background: transparent; }
.kanban-board::-webkit-scrollbar-thumb { background: rgba(156,163,175,.4); border-radius: 4px; }
.kanban-col { min-width: 280px; width: 280px; flex-shrink: 0; }
.kanban-col-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-radius: 10px 10px 0 0; font-size: 13px; font-weight: 600; }
.kanban-col-header .col-count { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; }
.kanban-col-body { background: #f5f7fb; border-radius: 0 0 10px 10px; padding: 12px; min-height: 400px; display: flex; flex-direction: column; gap: 10px; }
.kanban-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 14px; cursor: grab; transition: all .2s; box-shadow: 0 2px 6px rgba(0,0,0,.04); }
.kanban-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); transform: translateY(-1px); }
.kanban-card:active { cursor: grabbing; }
.kanban-card .card-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.kanban-card .card-title { font-size: 13px; font-weight: 600; color: #111827; margin-bottom: 8px; line-height: 1.4; }
.kanban-card .card-desc { font-size: 12px; color: #6b7280; margin-bottom: 10px; line-height: 1.5; }
.kanban-card .card-footer-k { display: flex; align-items: center; justify-content: space-between; }
.kanban-card .card-footer-k .card-due { font-size: 11px; color: #9ca3af; display: flex; align-items: center; gap: 4px; }
.kanban-card .card-footer-k .card-due.overdue { color: #ef4444; }
.kanban-card .card-footer-k .card-avatars { display: flex; }
.kanban-card .card-footer-k .card-avatars .mini-av { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #fff; margin-left: -6px; background: #3f9786; color: #fff; font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.kanban-card .card-footer-k .card-avatars .mini-av:first-child { margin-left: 0; }
[data-theme="dark"] .kanban-col-body { background: #0f172a; }
[data-theme="dark"] .kanban-card { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .kanban-card .card-title { color: #f1f5f9; }
[data-theme="dark"] .kanban-card .card-desc { color: #94a3b8; }
[data-theme="dark"] .kanban-card .card-footer-k .card-due { color: #64748b; }
[data-theme="dark"] .kanban-card .card-footer-k .card-avatars .mini-av { border-color: #1e293b; }

/* ---- Chat Page Styles ---- */
.chat-wrapper { display: flex; height: calc(100vh - 70px - 48px); gap: 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.chat-sidebar { width: 300px; border-right: 1px solid #e5e7eb; display: flex; flex-direction: column; flex-shrink: 0; }
.chat-sidebar-header { padding: 16px; border-bottom: 1px solid #e5e7eb; }
.chat-sidebar-header h6 { font-size: 15px; font-weight: 600; color: #111827; margin: 0 0 12px; }
.chat-search { display: flex; align-items: center; gap: 8px; background: #f5f7fb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 7px 12px; }
.chat-search i { color: #9ca3af; font-size: 15px; }
.chat-search input { border: none; background: none; outline: none; font-size: 13px; font-family: inherit; color: #111827; width: 100%; }
.chat-list { flex: 1; overflow-y: auto; }
.chat-item { display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; transition: background .15s; border-bottom: 1px solid #f3f4f6; position: relative; }
.chat-item:hover { background: #f9fafb; }
.chat-item.active { background: #e8f4f2; }
.chat-item .chat-av { width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 15px; color: #fff; position: relative; }
.chat-item .chat-av .online-dot { position: absolute; bottom: 1px; right: 1px; width: 10px; height: 10px; border-radius: 50%; background: #22c55e; border: 2px solid #fff; }
.chat-item .chat-info { flex: 1; min-width: 0; }
.chat-item .chat-info .chat-name { font-size: 13px; font-weight: 600; color: #111827; margin-bottom: 2px; }
.chat-item .chat-info .chat-preview { font-size: 12px; color: #9ca3af; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-item .chat-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; }
.chat-item .chat-meta .chat-time { font-size: 11px; color: #9ca3af; }
.chat-item .chat-meta .chat-unread { width: 18px; height: 18px; border-radius: 50%; background: #3f9786; color: #fff; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.chat-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.chat-main-header { padding: 14px 20px; border-bottom: 1px solid #e5e7eb; display: flex; align-items: center; justify-content: space-between; }
.chat-main-header .chat-user { display: flex; align-items: center; gap: 10px; }
.chat-main-header .chat-user .chat-user-av { width: 38px; height: 38px; border-radius: 50%; background: #3f9786; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; }
.chat-main-header .chat-user .chat-user-name { font-size: 14px; font-weight: 600; color: #111827; }
.chat-main-header .chat-user .chat-user-status { font-size: 12px; color: #22c55e; }
.chat-main-header .chat-actions { display: flex; gap: 6px; }
.chat-messages { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.chat-msg { display: flex; gap: 10px; max-width: 70%; }
.chat-msg.sent { margin-left: auto; flex-direction: row-reverse; }
.chat-msg .msg-av { width: 32px; height: 32px; border-radius: 50%; background: #3f9786; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.chat-msg .msg-content .msg-bubble { padding: 10px 14px; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.chat-msg.received .msg-bubble { background: #f5f7fb; color: #374151; border-bottom-left-radius: 4px; }
.chat-msg.sent .msg-bubble { background: #3f9786; color: #fff; border-bottom-right-radius: 4px; }
.chat-msg .msg-content .msg-time { font-size: 10px; color: #9ca3af; margin-top: 4px; }
.chat-msg.sent .msg-content .msg-time { text-align: right; }
.chat-input { padding: 16px 20px; border-top: 1px solid #e5e7eb; display: flex; align-items: center; gap: 10px; }
.chat-input input { flex: 1; border: 1.5px solid #e5e7eb; border-radius: 24px; padding: 10px 16px; font-size: 14px; font-family: inherit; color: #111827; background: #f5f7fb; outline: none; transition: all .2s; }
.chat-input input:focus { border-color: #3f9786; background: #fff; }
.chat-input .send-btn { width: 40px; height: 40px; border-radius: 50%; background: #3f9786; color: #fff; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 16px; transition: all .2s; }
.chat-input .send-btn:hover { background: #2d7a6b; }
@media(max-width: 767.98px) {
  .chat-wrapper { height: calc(100vh - 70px - 32px); flex-direction: column; }
  .chat-sidebar { width: 100%; height: 240px; border-right: none; border-bottom: 1px solid #e5e7eb; }
}
[data-theme="dark"] .chat-wrapper { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .chat-sidebar { border-color: #334155; }
[data-theme="dark"] .chat-sidebar-header { border-color: #334155; }
[data-theme="dark"] .chat-sidebar-header h6 { color: #f1f5f9; }
[data-theme="dark"] .chat-search { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .chat-search input { color: #e2e8f0; }
[data-theme="dark"] .chat-item { border-color: #1e293b; }
[data-theme="dark"] .chat-item:hover { background: #0f172a; }
[data-theme="dark"] .chat-item.active { background: #134e4a; }
[data-theme="dark"] .chat-item .chat-info .chat-name { color: #f1f5f9; }
[data-theme="dark"] .chat-item .chat-av .online-dot { border-color: #1e293b; }
[data-theme="dark"] .chat-main-header { border-color: #334155; }
[data-theme="dark"] .chat-main-header .chat-user .chat-user-name { color: #f1f5f9; }
[data-theme="dark"] .chat-msg.received .msg-bubble { background: #0f172a; color: #e2e8f0; }
[data-theme="dark"] .chat-input { border-color: #334155; }
[data-theme="dark"] .chat-input input { background: #0f172a; border-color: #334155; color: #e2e8f0; }
[data-theme="dark"] .chat-input input:focus { background: #1e293b; }

/* ---- Pricing Page Styles ---- */
.pricing-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 32px; text-align: center; transition: all .25s; position: relative; overflow: hidden; }
.pricing-card.featured { border-color: #3f9786; box-shadow: 0 12px 40px rgba(63,151,134,.15); }
.pricing-card.featured::before { content: 'Popular'; position: absolute; top: 16px; right: -24px; background: #3f9786; color: #fff; font-size: 11px; font-weight: 600; padding: 4px 32px; transform: rotate(45deg); }
.pricing-card .plan-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 24px; }
.pricing-card .plan-name { font-size: 16px; font-weight: 700; color: #111827; margin-bottom: 4px; }
.pricing-card .plan-desc { font-size: 13px; color: #9ca3af; margin-bottom: 20px; }
.pricing-card .plan-price { margin-bottom: 24px; }
.pricing-card .plan-price .price { font-size: 44px; font-weight: 700; color: #111827; line-height: 1; }
.pricing-card .plan-price .currency { font-size: 20px; font-weight: 600; vertical-align: super; }
.pricing-card .plan-price .period { font-size: 14px; color: #9ca3af; }
.pricing-card .plan-features { list-style: none; text-align: left; margin-bottom: 28px; display: flex; flex-direction: column; gap: 10px; }
.pricing-card .plan-features li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #374151; }
.pricing-card .plan-features li i { font-size: 16px; flex-shrink: 0; }
.pricing-card .plan-features li.disabled { color: #d1d5db; }
[data-theme="dark"] .pricing-card { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .pricing-card .plan-name { color: #f1f5f9; }
[data-theme="dark"] .pricing-card .plan-price .price { color: #f1f5f9; }
[data-theme="dark"] .pricing-card .plan-features li { color: #94a3b8; }
[data-theme="dark"] .pricing-card.featured { border-color: #3f9786; }

/* ---- Profile Page Styles ---- */
.profile-cover { height: 160px; background: linear-gradient(135deg,#1a2942 0%,#2d7a6b 100%); border-radius: 12px 12px 0 0; position: relative; }
.profile-header { background: #fff; border: 1px solid #e5e7eb; border-radius: 0 0 12px 12px; padding: 0 24px 24px; margin-bottom: 20px; }
.profile-header .profile-avatar { width: 88px; height: 88px; border-radius: 50%; background: #3f9786; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 32px; font-weight: 700; border: 4px solid #fff; margin-top: -44px; position: relative; z-index: 1; }
.profile-header .profile-info { padding-top: 12px; }
.profile-header .profile-info .profile-name { font-size: 20px; font-weight: 700; color: #111827; margin-bottom: 4px; }
.profile-header .profile-info .profile-role { font-size: 13px; color: #9ca3af; margin-bottom: 12px; }
.profile-header .profile-info .profile-stats { display: flex; gap: 24px; }
.profile-header .profile-info .profile-stats .stat { text-align: center; }
.profile-header .profile-info .profile-stats .stat .num { font-size: 18px; font-weight: 700; color: #111827; }
.profile-header .profile-info .profile-stats .stat .lbl { font-size: 11px; color: #9ca3af; }
[data-theme="dark"] .profile-header { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .profile-header .profile-avatar { border-color: #1e293b; }
[data-theme="dark"] .profile-header .profile-info .profile-name { color: #f1f5f9; }
[data-theme="dark"] .profile-header .profile-info .profile-stats .stat .num { color: #f1f5f9; }

/* ---- 404 / Maintenance Page Styles ---- */
.error-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding: 40px; background: #f5f7fb; }
.error-page .error-code { font-size: 120px; font-weight: 800; color: #3f9786; line-height: 1; margin-bottom: 8px; opacity: .15; }
.error-page .error-title { font-size: 28px; font-weight: 700; color: #111827; margin-bottom: 12px; }
.error-page .error-text { font-size: 15px; color: #6b7280; max-width: 400px; line-height: 1.7; margin-bottom: 32px; }
[data-theme="dark"] .error-page { background: #0f172a; }
[data-theme="dark"] .error-page .error-title { color: #f1f5f9; }
[data-theme="dark"] .error-page .error-text { color: #94a3b8; }

/* ---- Knowledge Base / Documentation Styles ---- */
.kb-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 20px; transition: all .2s; cursor: pointer; }
.kb-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); transform: translateY(-2px); border-color: #3f9786; }
.kb-card .kb-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 12px; }
.kb-card .kb-title { font-size: 14px; font-weight: 600; color: #111827; margin-bottom: 4px; }
.kb-card .kb-count { font-size: 12px; color: #9ca3af; }
[data-theme="dark"] .kb-card { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .kb-card .kb-title { color: #f1f5f9; }
[data-theme="dark"] .kb-card:hover { border-color: #3f9786; }

/* ---- Changelog Styles ---- */
.changelog-item { display: flex; gap: 20px; padding-bottom: 32px; position: relative; }
.changelog-item::before { content: ''; position: absolute; left: 19px; top: 40px; bottom: 0; width: 2px; background: #e5e7eb; }
.changelog-item:last-child::before { display: none; }
.changelog-item .changelog-dot { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; z-index: 1; }
.changelog-item .changelog-body { flex: 1; }
.changelog-item .changelog-version { font-size: 16px; font-weight: 700; color: #111827; margin-bottom: 4px; }
.changelog-item .changelog-date { font-size: 12px; color: #9ca3af; margin-bottom: 12px; }
.changelog-item .changelog-changes { display: flex; flex-direction: column; gap: 6px; }
.changelog-item .changelog-changes .change { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #6b7280; }
.changelog-item .changelog-changes .change i { font-size: 14px; margin-top: 1px; flex-shrink: 0; }
[data-theme="dark"] .changelog-item::before { background: #334155; }
[data-theme="dark"] .changelog-item .changelog-version { color: #f1f5f9; }
[data-theme="dark"] .changelog-item .changelog-changes .change { color: #94a3b8; }

/* ---- Map Page Styles ---- */
#mapContainer { height: 500px; border-radius: 12px; overflow: hidden; border: 1px solid #e5e7eb; z-index: 1; }
[data-theme="dark"] #mapContainer { border-color: #334155; }

/* ---- Documentation Styles ---- */
.docs-layout { display: flex; gap: 24px; }
.docs-sidebar { width: 240px; flex-shrink: 0; position: sticky; top: calc(70px + 24px); height: fit-content; }
.docs-sidebar .docs-nav-section { margin-bottom: 20px; }
.docs-sidebar .docs-nav-section .docs-nav-title { font-size: 11px; font-weight: 600; color: #9ca3af; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; padding: 0 8px; }
.docs-sidebar .docs-nav-section .docs-nav-link { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 6px; font-size: 13px; color: #6b7280; cursor: pointer; transition: all .15s; text-decoration: none; }
.docs-sidebar .docs-nav-section .docs-nav-link:hover { background: #f5f7fb; color: #3f9786; }
.docs-sidebar .docs-nav-section .docs-nav-link.active { background: #e8f4f2; color: #3f9786; font-weight: 500; }
.docs-content { flex: 1; min-width: 0; }
.docs-content h2 { font-size: 22px; font-weight: 700; color: #111827; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #e5e7eb; }
.docs-content h3 { font-size: 16px; font-weight: 600; color: #111827; margin: 20px 0 8px; }
.docs-content p { color: #6b7280; font-size: 14px; line-height: 1.75; margin-bottom: 12px; }
.docs-content pre { background: #1a2942; color: #e2e8f0; padding: 20px; border-radius: 10px; font-size: 13px; overflow-x: auto; margin: 12px 0; line-height: 1.6; }
.docs-content code { background: #f5f7fb; color: #3f9786; padding: 2px 6px; border-radius: 4px; font-size: 12px; font-family: 'Courier New', monospace; }
.docs-content pre code { background: none; color: inherit; padding: 0; font-size: 13px; }
@media(max-width: 767.98px) { .docs-layout { flex-direction: column; } .docs-sidebar { width: 100%; position: static; } }
[data-theme="dark"] .docs-sidebar .docs-nav-section .docs-nav-link:hover { background: #0f172a; }
[data-theme="dark"] .docs-sidebar .docs-nav-section .docs-nav-link.active { background: #134e4a; }
[data-theme="dark"] .docs-content h2 { color: #f1f5f9; border-color: #334155; }
[data-theme="dark"] .docs-content h3 { color: #e2e8f0; }
[data-theme="dark"] .docs-content p { color: #94a3b8; }
[data-theme="dark"] .docs-content code { background: #334155; color: #5eead4; }
.search-box input:focus{outline:none;box-shadow:none;}

/* ---- Card / chart-card border & card-header override ---- */
.card { border: none !important; }
.chart-card { border: none !important; }
.stat-card { border: none !important; }
/* Override Bootstrap card-header background + horizontal padding */
.card-header, .card > .card-header { background: transparent !important; padding-left: 0 !important; padding-right: 0 !important; border-bottom: none !important; }

/* ---- Notifications page: notif-item in main content needs flex ---- */
.content-wrapper .notif-item { display: flex; align-items: flex-start; gap: 12px; border-bottom: 1px solid #E5E7EB; transition: background .2s; }
.content-wrapper .notif-item:last-child { border-bottom: none; }
.content-wrapper .notif-item:hover { background: #f5f7fb; }
.content-wrapper .notif-item.unread { background: rgba(63,151,134,.03); }
.content-wrapper .notif-item .unread-dot { width: 8px; height: 8px; background: #3f9786; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }

/* ---- Button theme override for Bootstrap btn-primary ---- */
.btn-primary { background-color: #3F9786 !important; border-color: #3F9786 !important; color: #fff !important; }
.btn-primary:hover { background-color: #2d7a6b !important; border-color: #2d7a6b !important; }
.btn-primary:focus { box-shadow: 0 0 0 0.25rem rgba(63,151,134,.35) !important; }
.btn-outline-secondary { border-color: #e5e7eb !important; color: #6b7280 !important; }
.btn-outline-secondary:hover { background: #f5f7fb !important; border-color: #3F9786 !important; color: #3F9786 !important; }
