.card{border-radius:15px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,0.20),0 2px 8px rgba(0,0,0,0.08);transition:box-shadow .2s ease,transform .2s ease}
.box{border-radius:15px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,0.20),0 2px 8px rgba(0,0,0,0.08);transition:box-shadow .2s ease,transform .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,0.24),0 4px 16px rgba(0,0,0,0.12)}
.box:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,0.24),0 4px 16px rgba(0,0,0,0.12)}
.modal-content{border-radius:15px}
.modal-window>div{border-radius:15px}
.card-header{border-top-left-radius:15px;border-top-right-radius:15px}
.card-body{border-bottom-left-radius:15px;border-bottom-right-radius:15px}
.mini-stats-table{border-collapse:separate;border-spacing:0 8px}
.mini-stats-table tbody tr{background:#fff;transition:filter .2s ease,transform .2s ease;filter:drop-shadow(0 6px 16px rgba(0,0,0,0.14)) drop-shadow(0 1px 4px rgba(0,0,0,0.08))}
.mini-stats-table tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 10px 24px rgba(0,0,0,0.18)) drop-shadow(0 2px 8px rgba(0,0,0,0.10))}
.mini-stats-table td{padding:6px 10px}
.mini-stats-table tbody tr td:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
.mini-stats-table tbody tr td:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}
body[data-theme="dark"] .card,
body[data-theme="dark"] .box{box-shadow:0 10px 30px rgba(0,0,0,0.45),0 2px 10px rgba(0,0,0,0.25)}
body[data-theme="dark"] .card:hover,
body[data-theme="dark"] .box:hover{box-shadow:0 18px 44px rgba(0,0,0,0.55),0 4px 18px rgba(0,0,0,0.35)}
body[data-theme="dark"] .mini-stats-table tbody tr{background:#3a4149;filter:drop-shadow(0 8px 20px rgba(0,0,0,0.45)) drop-shadow(0 2px 8px rgba(0,0,0,0.30))}
body[data-theme="dark"] .mini-stats-table tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 12px 28px rgba(0,0,0,0.5)) drop-shadow(0 2px 10px rgba(0,0,0,0.3))}
/* navbar & sidenav shadows and sidebar menu effects */
.navbar{box-shadow:0 6px 16px rgba(0,0,0,0.12),0 1px 4px rgba(0,0,0,0.06);transition:box-shadow .2s ease}
.sidenav{box-shadow:6px 0 16px rgba(0,0,0,0.12),1px 0 4px rgba(0,0,0,0.06)}
.sidenav{height:calc(100vh - 51px);overflow-y:auto;overscroll-behavior:contain}
.sidenav .menu{display:block;border-radius:10px;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.sidenav .menu:hover{background-color:rgba(0,0,0,0.06);transform:translateX(2px);box-shadow:0 8px 18px rgba(0,0,0,0.12)}
.sidenav .menu.active{background-color:rgba(0,0,0,0.08);transform:translateX(2px);box-shadow:0 10px 22px rgba(0,0,0,0.14)}
body[data-theme="dark"] .navbar{box-shadow:0 10px 24px rgba(0,0,0,0.45),0 2px 10px rgba(0,0,0,0.30)}
body[data-theme="dark"] .sidenav{box-shadow:8px 0 24px rgba(0,0,0,0.45),2px 0 10px rgba(0,0,0,0.30)}
body[data-theme="dark"] .sidenav .menu:hover{background-color:rgba(255,255,255,0.08);box-shadow:0 10px 24px rgba(0,0,0,0.40)}
body[data-theme="dark"] .sidenav .menu.active{background-color:rgba(255,255,255,0.12);box-shadow:0 12px 28px rgba(0,0,0,0.45)}
.table.table-hover tbody tr{background:#fff;transition:filter .2s ease,transform .2s ease}
.table.table-hover tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 10px 24px rgba(0,0,0,0.18)) drop-shadow(0 2px 8px rgba(0,0,0,0.10))}
.table.table-hover tbody td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
.table.table-hover tbody td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}
body[data-theme="dark"] .table.table-hover tbody tr{background:#3a4149}
body[data-theme="dark"] .table.table-hover tbody tr:hover{filter:drop-shadow(0 12px 28px rgba(0,0,0,0.5)) drop-shadow(0 2px 10px rgba(0,0,0,0.3))}
.box-group-icon{width:auto !important;padding:5px 5px}
.box-group-area{width:auto !important}
#notify{z-index:99999}
/* session select layout */
.sidenav .session-select{display:flex;justify-content:center;align-items:center}
.sidenav .session-select .session-select-wrap{width:100%;max-width:280px;margin:0 auto}
.sidenav .session-select .session-select-input{width:100%}
@media (max-width: 600px){
  .sidenav .session-select .session-select-wrap{max-width:100%}
}
/* hotspot card stats layout: side-by-side on desktop */
@media (min-width: 992px){
  #hotspot-card .card-body{display:flex;gap:0px;align-items:stretch}
  #hotspot-card .card-body .box.box-bordered{flex:1 1 0}
}
/* active item marker in dropdown container */
.sidenav .dropdown-container a.active{font-weight:700}
/* box header styling */
.box.box-bordered .box-header{font-weight:700;padding:0px 0px 5px 5px;border-bottom:1px solid rgba(0,0,0,0.12)}
.box-body{padding-top:5px}
body[data-theme="dark"] .box.box-bordered .box-header{border-bottom-color:rgba(255,255,255,0.15)}
/* clickable stat affordance */
.stat-link{cursor:pointer;text-decoration:none;border-bottom:1px dashed transparent}
.stat-link::after{content:"\f105";font-family:"FontAwesome";margin-left:6px;opacity:.6;transition:transform .15s ease,opacity .15s ease}
.stat-link:hover{border-bottom-color:currentColor}
.stat-link:hover::after{transform:translateX(2px);opacity:1}
.stat-link:focus{outline:2px solid rgba(0,0,0,0.2);outline-offset:2px}
body[data-theme="dark"] .stat-link:focus{outline-color:rgba(255,255,255,0.35)}
/* language loading overlay */
.lang-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999;background:rgba(255,255,255,0.85);color:#000}
.lang-loading .lang-loading-inner{display:flex;flex-direction:column;align-items:center;gap:10px}
.lang-loading .fa-spin{font-size:40px}
body[data-theme="dark"] .lang-loading{background:rgba(0,0,0,0.65);color:#fff}
/* navbar right alignment */
#navbar.navbar{display:flex;align-items:center}
#navbar.navbar .navbar-left{display:flex;align-items:center}
#navbar.navbar .navbar-right{margin-left:auto;display:flex;align-items:center}
#navbar.navbar .navbar-right, #navbar.navbar .navbar-right *{color:#fff}
@media (max-width: 600px){
  #navbar.navbar #cpage{display:none !important}
}
