/* Reference UI: matches the supplied All Interface screenshot across every panel. */
:root{--ref-sidebar:#343a40;--ref-sidebar-line:#4b545c;--ref-teal:#17a2b8;--ref-blue:#007bff;--ref-page:#f4f6f9;--ref-line:#dee2e6;--ref-text:#212529;--ref-muted:#6c757d}
html,body{font-family:"Source Sans Pro",Arial,sans-serif!important;color:var(--ref-text)!important}
body:not(.login-page){background:var(--ref-page)!important}
body:not(.login-page) .wrapper{min-height:100vh;background:var(--ref-page)!important}
body:not(.login-page) .content-wrapper{min-height:calc(100vh - 115px)!important;background:var(--ref-page)!important}

/* Header */
body:not(.login-page) .main-header{min-height:57px!important;background:#fff!important;border-bottom:1px solid var(--ref-line)!important;box-shadow:none!important}
body:not(.login-page) .main-header .nav-link{color:#6c757d!important}
body:not(.login-page) .main-header .nav-link:hover{color:#343a40!important}

/* Sidebar and identity */
body:not(.login-page) .main-sidebar,body:not(.login-page) aside.main-sidebar,body:not(.login-page) .sidebar-dark-primary{background:var(--ref-sidebar)!important;background-color:var(--ref-sidebar)!important;box-shadow:0 0 8px rgba(0,0,0,.35)!important}
body:not(.login-page) .brand-link{height:57px!important;display:flex!important;align-items:center!important;padding:8px 16px!important;background:var(--ref-sidebar)!important;border-bottom:1px solid var(--ref-sidebar-line)!important;color:#f4f4f4!important}
body:not(.login-page) .brand-image{display:block!important;width:38px!important;height:38px!important;max-height:38px!important;margin:0 11px 0 0!important;opacity:1!important;border-radius:50%!important;box-shadow:0 2px 5px rgba(0,0,0,.45)!important}
body:not(.login-page) .brand-text{color:#f4f4f4!important;font-size:20px!important;font-weight:300!important;letter-spacing:0!important}
body:not(.login-page) .sidebar{padding:0 8px!important;background:var(--ref-sidebar)!important}
body:not(.login-page) .user-panel{min-height:84px!important;display:flex!important;align-items:center!important;margin:0 0 10px!important;padding:15px 8px!important;border-bottom:1px solid var(--ref-sidebar-line)!important}
body:not(.login-page) .user-panel .image img{width:40px!important;height:40px!important;border:0!important;box-shadow:0 2px 5px rgba(0,0,0,.45)!important}
body:not(.login-page) .user-panel .info{padding-left:12px!important}
body:not(.login-page) .user-panel .info a,body:not(.login-page) .user-panel .info span{color:#f4f4f4!important;font-size:16px!important;font-weight:400!important}
body:not(.login-page) .nav-sidebar .nav-header{color:#c2c7d0!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link{min-height:44px!important;margin:2px 0!important;padding:10px 14px!important;border-radius:0!important;background:transparent!important;color:#c2c7d0!important;font-size:16px!important;font-weight:400!important;box-shadow:none!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link p{color:#c2c7d0!important;font-weight:400!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link .nav-icon{width:24px!important;margin-right:8px!important;color:#c2c7d0!important;font-size:18px!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link:hover p,body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link:hover .nav-icon{color:#fff!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link.active,body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link[aria-current="page"]{background:var(--ref-teal)!important;background-color:var(--ref-teal)!important;color:#fff!important}
body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link.active p,body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link.active .nav-icon,body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link[aria-current="page"] p,body:not(.login-page) .main-sidebar .nav-sidebar>.nav-item>.nav-link[aria-current="page"] .nav-icon{color:#fff!important}
body:not(.login-page) .main-sidebar .nav-sidebar li:has(>a[href="?page=profile"]),body:not(.login-page) .main-sidebar .nav-sidebar li:has(>a[href*="logout=1"]){display:block!important}
body:not(.login-page) .main-sidebar .nav-sidebar a[href*="logout=1"]{display:flex!important}
body:not(.login-page) .main-sidebar .sidebar{position:relative!important;min-height:calc(100vh - 57px)!important;padding-bottom:64px!important}
body:not(.login-page) .main-sidebar .nav-sidebar{padding-bottom:64px!important}
body:not(.login-page) .main-sidebar .panel-logout-item,body:not(.login-page) .main-sidebar .nav-sidebar li:has(>a[href*="logout=1"]){position:absolute!important;left:8px!important;right:8px!important;bottom:12px!important;display:block!important}
body:not(.login-page) .panel-role-icon{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:#e9ecef;color:#343a40;font-size:20px;box-shadow:0 2px 5px rgba(0,0,0,.35)}
body.master-panel .main-header{height:57px!important;min-height:57px!important}
body.master-panel .content-wrapper{background:#f4f6f9!important}
body.master-panel .content-header{padding:15px .5rem!important}
body.master-panel .small-box{border-radius:.25rem!important;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2)!important}
body.master-panel .small-box .inner{padding:10px!important}
body.master-panel .small-box .small-box-footer{display:block!important;padding:3px 0!important;background:rgba(0,0,0,.1)!important;color:rgba(255,255,255,.8)!important;text-align:center!important}
body.master-panel .main-footer{padding:1rem!important;background:#fff!important;border-top:1px solid #dee2e6!important;color:#869099!important}
body.master-panel .main-header .top-live-ticker,body.master-panel .main-header .navbar-nav.ml-auto{display:none!important}
body.master-panel .master-payment-due{color:#000!important;font-size:1.25rem!important;font-weight:700!important;padding-top:5px!important}
body.master-panel .content-header .breadcrumb{display:none!important}
body.master-panel .content>.container-fluid>.d-flex.justify-content-end{display:none!important}

/* Workspace title and breadcrumb */
body:not(.login-page) .content-header{padding:22px 18px 14px!important}
body:not(.login-page) .content-header h1{color:#111!important;font-size:30px!important;font-weight:400!important;line-height:1.2!important}
body:not(.login-page) .content-header .breadcrumb{background:transparent!important;font-size:16px!important}
body:not(.login-page) .content-header .breadcrumb a{color:var(--ref-blue)!important}
body:not(.login-page) .content-wrapper>.content{padding:0 10px 25px!important}

/* Cards */
body:not(.login-page) .card{margin-bottom:20px!important;background:#fff!important;border:0!important;border-radius:4px!important;box-shadow:0 1px 3px rgba(0,0,0,.22)!important;overflow:hidden!important}
body:not(.login-page) .card-header{min-height:47px!important;padding:12px 24px!important;background:#fff!important;color:var(--ref-text)!important;border-bottom:1px solid rgba(0,0,0,.125)!important}
body:not(.login-page) .card-title{font-size:18px!important;font-weight:400!important}
body:not(.login-page) .card-primary:not(.card-outline)>.card-header,body:not(.login-page) .card-info:not(.card-outline)>.card-header{background:var(--ref-blue)!important;background-color:var(--ref-blue)!important;color:#fff!important;border-color:var(--ref-blue)!important}
body:not(.login-page) .card-primary:not(.card-outline)>.card-header *,body:not(.login-page) .card-info:not(.card-outline)>.card-header *{color:#fff!important}
body:not(.login-page) .card-outline.card-primary{border-top:3px solid var(--ref-blue)!important}
body:not(.login-page) .card-body{padding:24px!important;background:#fff!important;color:var(--ref-text)!important}
body:not(.login-page) .card-footer{padding:14px 24px!important;background:#f8f8f8!important;border-top:0!important}

/* Forms, tables and feedback */
body:not(.login-page) label{color:#111!important;font-size:15px!important;font-weight:700!important}
body:not(.login-page) .form-control,body:not(.login-page) .custom-select{min-height:40px!important;background:#fff!important;color:#495057!important;border:1px solid #ced4da!important;border-radius:4px!important;box-shadow:none!important}
body:not(.login-page) .form-control:focus,body:not(.login-page) .custom-select:focus{border-color:#80bdff!important;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)!important}
body:not(.login-page) .btn{border-radius:4px!important;font-weight:400!important;box-shadow:none!important}
body:not(.login-page) .btn-primary,body:not(.login-page) .btn-info{background:var(--ref-blue)!important;background-color:var(--ref-blue)!important;border-color:var(--ref-blue)!important;color:#fff!important}
body:not(.login-page) .btn-primary:hover,body:not(.login-page) .btn-info:hover{background:#0069d9!important;border-color:#0062cc!important}
body:not(.login-page) .btn-success{background:#28a745!important;border-color:#28a745!important;color:#fff!important}
body:not(.login-page) .btn-warning{background:#ffc107!important;border-color:#ffc107!important;color:#212529!important}
body:not(.login-page) .btn-danger{background:#dc3545!important;border-color:#dc3545!important;color:#fff!important}
body:not(.login-page) .alert-danger{background:#dc3545!important;color:#fff!important;border-color:#d32535!important;border-radius:4px!important}
body:not(.login-page) .alert-info{background:#17a2b8!important;color:#fff!important;border-color:#148ea1!important}
body:not(.login-page) .alert-success{background:#28a745!important;color:#fff!important;border-color:#23923d!important}
body:not(.login-page) .table{color:#212529!important;background:#fff!important}
body:not(.login-page) .table thead th{background:#fff!important;color:#212529!important;border-color:#dee2e6!important;font-weight:700!important}
body:not(.login-page) .table td{color:#212529!important;border-color:#dee2e6!important}
body:not(.login-page) .table-hover tbody tr:hover{background:rgba(0,0,0,.045)!important}
body:not(.login-page) .small-box{border-radius:4px!important;box-shadow:0 1px 3px rgba(0,0,0,.2)!important}

/* Footer pinned like the reference */
body:not(.login-page) .main-footer{min-height:58px!important;margin-top:auto!important;padding:18px 18px!important;background:#fff!important;color:#869099!important;border-top:1px solid var(--ref-line)!important;font-size:14px!important}
body:not(.login-page) .main-footer strong{color:#869099!important}
body:not(.login-page) .main-footer strong:after{content:" All rights reserved.";font-weight:400}
body:not(.login-page) .main-footer strong a{color:var(--ref-blue)!important}
body:not(.login-page) .main-footer:after{content:"Version 1.1";float:right;color:#869099;font-weight:700}

/* Standalone developer drawer and utility screens */
body:not(.login-page) #developerHierarchyDrawer{background:#fff!important}
body:not(.login-page) #developerHierarchyShade{background:rgba(0,0,0,.45)!important}
@media(max-width:767px){body:not(.login-page) .content-header h1{font-size:26px!important}body:not(.login-page) .card-body{padding:18px!important}body:not(.login-page) .main-footer:after{display:block;float:none;margin-top:5px}}

/* Dashboard key summary polish */
body:not(.login-page) .dashboard-summary-head{display:flex;align-items:center;justify-content:space-between;margin:2px 0 14px;padding:15px 18px;background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
body:not(.login-page) .dashboard-summary-head h4{font-size:21px;font-weight:600;color:#1f2937}
body:not(.login-page) .dashboard-key-overview .small-box{min-height:126px;border-radius:10px!important;overflow:hidden;box-shadow:0 5px 14px rgba(0,0,0,.12)!important;transition:transform .16s ease,box-shadow .16s ease}
body:not(.login-page) .dashboard-key-overview .small-box:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.16)!important}
body:not(.login-page) .dashboard-key-overview .small-box .inner{padding:16px 18px!important}
body:not(.login-page) .dashboard-key-overview .small-box h3{font-size:32px!important;font-weight:700!important;margin-bottom:2px!important}
body:not(.login-page) .dashboard-key-overview .small-box p{font-size:16px!important;margin:0!important}
body:not(.login-page) .dashboard-key-overview .small-box .icon{top:10px!important;right:13px!important;font-size:58px!important;opacity:.23}
body:not(.login-page) .dashboard-key-overview .small-box .small-box-footer{font-size:13px!important;padding:5px 0!important}
@media(max-width:575px){body:not(.login-page) .dashboard-key-overview .small-box{min-height:112px}body:not(.login-page) .dashboard-key-overview .small-box h3{font-size:27px!important}body:not(.login-page) .dashboard-key-overview .small-box p{font-size:14px!important}body:not(.login-page) .dashboard-key-overview .small-box .icon{font-size:48px!important}}


/* Responsive dashboard grid: four desktop, three tablet, two mobile cards. */
body:not(.login-page) .dashboard-key-overview{
  display:flex!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
  margin-left:-7.5px!important;
  margin-right:-7.5px!important;
  padding:0!important;
}
body:not(.login-page) .dashboard-key-overview > [class*="col-"]{
  flex:0 0 50%!important;
  width:50%!important;
  max-width:50%!important;
  min-width:0!important;
  padding-left:7.5px!important;
  padding-right:7.5px!important;
  margin-bottom:15px!important;
}
body:not(.login-page) .dashboard-key-overview .small-box{
  height:126px!important;
  min-height:126px!important;
  margin-bottom:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.login-page) .dashboard-key-overview .small-box .inner{flex:1 1 auto!important;padding:14px 13px!important;position:relative;z-index:2}
body:not(.login-page) .dashboard-key-overview .small-box h3{font-size:25px!important;line-height:1.15!important;white-space:nowrap!important}
body:not(.login-page) .dashboard-key-overview .small-box p{font-size:13px!important;line-height:1.2!important;margin-right:34px!important}
body:not(.login-page) .dashboard-key-overview .small-box .icon{font-size:47px!important;top:15px!important;right:8px!important}
body:not(.login-page) .dashboard-key-overview .small-box .small-box-footer{margin-top:auto!important;min-height:27px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px 4px!important}
/* Credit must stay visible even when role menus are rebuilt by the hierarchy widget. */
body:not(.login-page) .main-sidebar .nav-sidebar li:has(>a[href="?page=credits"]){display:block!important}
body:not(.login-page) .main-sidebar .nav-sidebar a[href="?page=credits"]{display:flex!important;min-height:44px!important}
@media(min-width:768px){body:not(.login-page) .dashboard-key-overview > [class*="col-"]{flex-basis:33.333333%!important;width:33.333333%!important;max-width:33.333333%!important}}
@media(min-width:1200px){body:not(.login-page) .dashboard-key-overview > [class*="col-"]{flex-basis:25%!important;width:25%!important;max-width:25%!important}}

/* Modern news announcement popup shared by panel dashboards. */
body:not(.login-page) .announcement-modal .modal-dialog{width:min(560px,calc(100% - 24px));max-width:560px}
body:not(.login-page) .announcement-modal .news-modal{border:0!important;border-radius:20px!important;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.38)!important}
body:not(.login-page) .announcement-hero{position:relative;display:flex;gap:16px;align-items:center;padding:24px 52px 23px 24px;background:linear-gradient(135deg,#171b3a 0%,#303760 58%,#4f46e5 100%);color:#fff}
body:not(.login-page) .announcement-icon{flex:0 0 58px;width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);font-size:25px;box-shadow:inset 0 1px rgba(255,255,255,.18)}
body:not(.login-page) .announcement-badge{display:inline-block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:1.2px;color:#fde68a}
body:not(.login-page) .announcement-title{margin:0 0 5px;font-size:22px;line-height:1.25;font-weight:700;color:#fff}
body:not(.login-page) .announcement-date{font-size:12px;color:rgba(255,255,255,.72)}
body:not(.login-page) .announcement-close{position:absolute;right:16px;top:12px;color:#fff!important;opacity:.75!important;text-shadow:none!important;font-size:28px!important;font-weight:400!important}
body:not(.login-page) .announcement-close:hover{opacity:1!important}
body:not(.login-page) .announcement-body{padding:25px 27px!important;background:#fff}
body:not(.login-page) .announcement-message{padding:17px 18px;border:1px solid #e5e7eb;border-left:4px solid #4f46e5;border-radius:10px;background:#f8fafc;color:#334155;font-size:16px;line-height:1.7;white-space:normal;overflow-wrap:anywhere}
body:not(.login-page) .announcement-footer{padding:0 27px 24px!important;border:0!important;background:#fff!important}
body:not(.login-page) .announcement-ok{min-width:116px;border-radius:10px!important;padding:9px 20px!important;font-weight:700!important;background:#303760!important;border-color:#303760!important}
body:not(.login-page) .announcement-modal.show .modal-dialog{animation:announcementIn .24s ease-out}
@keyframes announcementIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:575px){body:not(.login-page) .announcement-hero{padding:20px 43px 19px 18px;gap:12px}body:not(.login-page) .announcement-icon{flex-basis:48px;width:48px;height:48px;border-radius:14px;font-size:21px}body:not(.login-page) .announcement-title{font-size:18px}body:not(.login-page) .announcement-body{padding:18px!important}body:not(.login-page) .announcement-footer{padding:0 18px 18px!important}body:not(.login-page) .announcement-ok{width:100%}}
