.brand-logo{width:50px;height:50px;object-fit:contain;flex:0 0 auto}
.topbar .brand{min-width:350px}
.topbar .brand span{max-width:265px;line-height:1.25;font-size:9px}
.topbar .brand strong{color:#063d78;letter-spacing:.035em}
.login-logo{width:82px;height:82px;object-fit:contain;flex:0 0 auto}
.login-brand{gap:15px!important;margin-bottom:29px!important}
.login-brand strong{font-size:18px;color:#063d78;letter-spacing:.03em}
.login-brand span{font-size:9px!important;line-height:1.35;max-width:230px}
.admin-logo{width:55px;height:55px;object-fit:contain;background:#fff;border-radius:50%;padding:2px;flex:0 0 auto}
.admin-sidebar{background:linear-gradient(180deg,#073f79 0%,#07548c 52%,#167144 100%)!important}
.admin-brand{gap:11px!important}
.admin-brand strong{font-size:14px!important}
.admin-brand span{font-size:8px!important;letter-spacing:.05em}
@media(max-width:900px){.topbar .brand{min-width:0}.topbar .brand span{display:none}}
@media(max-width:620px){.brand-logo{width:43px;height:43px}.topbar .brand strong{font-size:13px}.login-logo{width:70px;height:70px}}

/* Admin workspace: fill the available viewport and keep data comfortably legible. */
.admin-shell{grid-template-columns:260px minmax(0,1fr)}
.admin-main{
  width:100%!important;
  max-width:none!important;
  min-height:100vh;
  margin:0!important;
  padding:clamp(28px,3vw,52px)!important;
  align-self:stretch;
}
.admin-header{margin:0 0 30px!important;align-items:center!important}
.admin-header h1{font-size:clamp(27px,2vw,34px)!important}
.admin-header p{font-size:13px!important;line-height:1.5}
.admin-card{width:100%;padding:clamp(22px,2vw,32px)!important;border-radius:14px!important}
.admin-card-head{margin-bottom:22px!important}
.admin-card h2,.admin-card-head h2{font-size:18px!important}
.admin-grid{gap:20px!important;margin-bottom:28px!important}
.stat-card{min-height:125px;padding:25px!important;border-radius:14px!important;display:flex;flex-direction:column;justify-content:center}
.stat-card span{font-size:12px!important}
.stat-card strong{font-size:30px!important;margin-top:10px!important}
.admin-table{font-size:13px!important;min-width:980px}
.admin-table th{font-size:10px!important;padding:14px 13px!important;white-space:nowrap}
.admin-table td{padding:16px 13px!important;line-height:1.45}
.admin-table td small{font-size:10px;line-height:1.45;margin-top:3px}
.badge{font-size:10px!important;padding:5px 10px!important}
.actions{gap:8px!important;align-items:center;flex-wrap:wrap}
.actions a,.actions button,.small-btn{font-size:10px!important;padding:8px 11px!important;white-space:nowrap}
.actions select{height:32px;min-width:130px;border:1px solid #d5dfdc;border-radius:6px;padding:0 8px}
.filter-row{gap:12px!important}
.filter-row label{font-size:10px!important}
.filter-row input,.filter-row select{height:39px!important;min-width:165px;font-size:11px}
.admin-form{gap:19px!important}
.admin-form label{font-size:13px!important}
.admin-form input,.admin-form select{height:47px!important;font-size:13px}
.admin-form textarea{min-height:110px!important;font-size:13px;line-height:1.55}
.modal-admin-box{width:min(760px,100%)!important;padding:30px!important}
.admin-nav a{padding:13px 14px!important;font-size:12px!important}

@media(min-width:1500px){
  .admin-main{padding-left:clamp(48px,4vw,80px)!important;padding-right:clamp(48px,4vw,80px)!important}
  .admin-table{font-size:14px!important}
  .admin-table td{padding-top:18px!important;padding-bottom:18px!important}
}
@media(max-width:900px){
  .admin-shell{grid-template-columns:1fr}
  .admin-main{min-height:auto;padding:25px 20px!important}
  .admin-table{min-width:850px}
}
@media(max-width:600px){
  .admin-main{padding:20px 14px!important}
  .admin-header{align-items:flex-start!important;flex-direction:column}
  .admin-card{padding:18px 14px!important}
  .stat-card{min-height:105px}
  .filter-row{align-items:stretch}
  .filter-row label,.filter-row input,.filter-row select{width:100%;min-width:0}
}
