/* Safira Corporate CMS V4.22.0 — total admin header and layout repair */
:root{
  --v422-navy:#0f2f4b;
  --v422-blue:#176ab2;
  --v422-blue-soft:#edf6fd;
  --v422-line:#d8e4ed;
  --v422-muted:#6f8294;
  --v422-danger:#d84b43;
  --v422-header:#f4f7fb;
}

/* Ensure every SVG icon is visible even when old/cached rules conflict. */
.admin-body .icon,
.admin-body .admin-action-icon{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  color:inherit!important;
  line-height:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.admin-body .icon svg,
.admin-body .admin-action-icon svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Header */
.admin-top{
  min-height:86px!important;
  padding:13px 26px!important;
  background:rgba(244,247,251,.98)!important;
  border-bottom:1px solid #dce6ee!important;
  box-shadow:0 2px 10px rgba(18,50,76,.035)!important;
  position:sticky!important;
  top:0!important;
  z-index:120!important;
}
.admin-top-left{gap:14px!important;overflow:hidden}
.admin-top-actions{display:flex!important;align-items:center!important;gap:9px!important;flex:0 0 auto!important}
.admin-header-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  border:1px solid var(--v422-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--v422-navy)!important;
  box-shadow:0 3px 10px rgba(20,53,80,.045)!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
  opacity:1!important;
}
.admin-header-action:hover{
  border-color:#a8bfd1!important;
  background:#fbfdff!important;
  color:#075b9e!important;
  box-shadow:0 6px 18px rgba(20,72,110,.09)!important;
}
.admin-header-action:focus-visible{
  outline:3px solid rgba(23,106,178,.2)!important;
  outline-offset:2px!important;
}
.admin-search-trigger{
  width:auto!important;
  min-width:154px!important;
  padding:0 11px!important;
  font-size:12px!important;
  font-weight:750!important;
}
.admin-search-trigger .admin-action-icon{color:#24516f!important}
.admin-search-trigger .admin-action-label{display:inline!important;white-space:nowrap!important}
.admin-search-trigger kbd{
  display:inline-flex!important;
  align-items:center!important;
  height:23px!important;
  padding:0 7px!important;
  border:1px solid #dbe5ed!important;
  border-radius:7px!important;
  background:#f1f5f8!important;
  color:#718293!important;
  font:700 9px/1 var(--admin-font)!important;
  white-space:nowrap!important;
}
.admin-notification{
  position:relative!important;
  width:auto!important;
  min-width:118px!important;
  padding:0 13px!important;
}
.admin-notification .admin-action-icon{color:#315b79!important}
.admin-notification .admin-action-label{display:inline!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}
.admin-notification-count{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  display:grid!important;
  place-items:center!important;
  min-width:21px!important;
  height:21px!important;
  padding:0 5px!important;
  border:2px solid var(--v422-header)!important;
  border-radius:999px!important;
  background:var(--v422-danger)!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
}
.admin-profile-menu{position:relative!important;display:block!important;min-width:0!important}
.admin-profile-trigger{
  width:auto!important;
  min-width:190px!important;
  max-width:250px!important;
  padding:4px 10px 4px 5px!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.admin-avatar{
  position:relative!important;
  display:block!important;
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:11px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#0b68ad,#4259bd)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important;
}
.admin-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.admin-avatar small{
  display:none!important;
}
.admin-profile-copy{display:grid!important;min-width:0!important;line-height:1.15!important}
.admin-profile-copy strong{font-size:12px!important;color:#173651!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.admin-profile-copy small{font-size:9px!important;color:#7c8d9d!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.profile-chevron{
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  margin-left:auto!important;
  color:#6f8293!important;
}
.profile-chevron .icon{width:15px!important;height:15px!important}
.admin-profile-trigger[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)!important}
.admin-profile-dropdown{top:calc(100% + 10px)!important;min-width:230px!important}

/* Mobile menu button must never render as an empty white square. */
.admin-mobile-toggle{
  display:none!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:0!important;
  border:1px solid var(--v422-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--v422-navy)!important;
  box-shadow:0 2px 7px rgba(22,53,80,.04)!important;
}
.admin-mobile-toggle .admin-action-icon{width:21px!important;height:21px!important;color:#173d5c!important}

/* Make all top action states visibly different from empty placeholders. */
.admin-top-actions button:empty,
.admin-top-actions a:empty{display:none!important}

/* General admin density and alignment repair. */
.admin-content-shell{padding-top:22px!important}
.admin-panel-head h2{line-height:1.25!important}
.admin-panel-head p{line-height:1.5!important}
.admin-body input,
.admin-body select,
.admin-body textarea{
  color:#173651!important;
  background-color:#fff!important;
}
.admin-body input::placeholder,
.admin-body textarea::placeholder{color:#8b9aaa!important;opacity:1!important}
.admin-body select{background-position:right 12px center!important}
.table-wrap{border:1px solid #e1e9ef!important;background:#fff!important}

/* Responsive behavior: collapse labels only when space is genuinely limited. */
@media(max-width:1180px){
  .admin-search-trigger{min-width:44px!important;width:44px!important;padding:0!important}
  .admin-search-trigger .admin-action-label,.admin-search-trigger kbd{display:none!important}
  .admin-notification{min-width:44px!important;width:44px!important;padding:0!important}
  .admin-notification .admin-action-label{display:none!important}
  .admin-profile-trigger{min-width:46px!important;width:46px!important;padding:4px!important;justify-content:center!important}
  .admin-profile-copy,.profile-chevron{display:none!important}
}
@media(max-width:980px){
  .admin-mobile-toggle{display:inline-grid!important}
  .admin-top{padding:11px 16px!important;min-height:74px!important}
  .admin-page-heading{max-width:calc(100vw - 190px)!important}
  .admin-top-actions{gap:7px!important}
}
@media(max-width:720px){
  .admin-top{padding:9px 11px!important;gap:8px!important}
  .admin-page-heading{max-width:calc(100vw - 177px)!important}
  .admin-top h1{font-size:18px!important}
  .admin-search-trigger{display:none!important}
  .admin-notification,.admin-profile-trigger,.admin-mobile-toggle{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  .admin-avatar{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:9px!important}
}
@media(max-width:480px){
  .admin-profile-menu{display:block!important}
  .admin-page-heading{max-width:calc(100vw - 142px)!important}
  .admin-notification{display:none!important}
  .admin-top-actions{gap:6px!important}
  .admin-mobile-toggle,.admin-profile-trigger{width:40px!important;min-width:40px!important}
}

/* Security profile photo editor */
.profile-security-grid{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.1fr) minmax(360px,1.2fr)!important;align-items:start!important}
.profile-photo-panel{min-width:0!important}
.profile-photo-editor{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e0e8ef;border-radius:13px;background:#f8fbfd;margin-bottom:14px}
.profile-photo-editor>img{width:64px;height:64px;object-fit:cover;border-radius:17px;box-shadow:0 8px 20px rgba(15,65,102,.12)}
.profile-photo-editor>div{display:grid;min-width:0}.profile-photo-editor strong{font-size:14px;color:#173651;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-photo-editor small{font-size:10px;color:#7c8d9e;margin-top:4px}
.profile-photo-form{display:grid;gap:10px}.profile-photo-form input[type=file]{padding:8px!important;height:auto!important}.profile-photo-form .btn,.profile-photo-remove .btn{width:100%}
.profile-photo-remove{margin-top:8px}
@media(max-width:1280px){.profile-security-grid{grid-template-columns:1fr 1fr!important}.profile-security-grid>.admin-panel:last-child{grid-column:1/-1}}
@media(max-width:780px){.profile-security-grid{grid-template-columns:1fr!important}.profile-security-grid>.admin-panel:last-child{grid-column:auto}}

/* Neutralize the legacy rule that styled every notification child as a badge. */
.admin-notification > .admin-action-icon,
.admin-notification > .admin-action-label{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}
.admin-notification > .admin-action-icon{width:20px!important;height:20px!important;display:inline-grid!important}
.admin-notification > .admin-action-label{display:inline!important;font-size:11px!important;font-weight:800!important}
@media(max-width:1180px){.admin-notification > .admin-action-label{display:none!important}}
@media(max-width:480px){
  .admin-notification{display:inline-flex!important}
  .admin-page-heading{max-width:calc(100vw - 190px)!important}
}
