/* ServiceTooly UI repair layer: shared shell, cards, actions, and responsive admin navigation. */
:root {
  --ui-blue: #0b75bb;
  --ui-blue-dark: #123b63;
  --ui-line: #d7e5ee;
  --ui-shadow: 0 10px 28px rgba(16,42,67,.09);
  --ui-shadow-hover: 0 16px 38px rgba(16,42,67,.14);
}
main h1, main h2, main h3, main h4,
.content h1, .content h2, .content h3, .content h4,
.dashboard-content h1, .dashboard-content h2, .dashboard-content h3,
.page-content h1, .page-content h2, .page-content h3 {
  color: var(--ui-blue-dark);
  font-weight: 850;
  letter-spacing: -.015em;
}
.card, .panel, .content-panel, .dashboard-card, .stat-card,
.kpi-card, .form-card, .section-card, .admin-section-card,
.settings-card, .workspace-card, .table-wrap, .table-container {
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 18px;
  box-shadow: var(--ui-shadow);
}
.card, .panel, .content-panel, .dashboard-card, .stat-card,
.kpi-card, .form-card, .section-card, .settings-card, .workspace-card {
  padding: clamp(16px, 2.2vw, 24px);
}
.card:hover, .panel:hover, .dashboard-card:hover, .stat-card:hover,
.kpi-card:hover, .form-card:hover, .section-card:hover {
  border-color: #b8d5e7;
  box-shadow: var(--ui-shadow-hover);
}
.btn, button, input[type=submit], input[type=button] {
  min-height: 42px;
  border-radius: 10px;
  box-shadow: 0 5px 14px rgba(16,42,67,.12);
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.btn:hover, button:hover, input[type=submit]:hover, input[type=button]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(16,42,67,.16);
}
.btn.secondary, button.secondary {
  box-shadow: 0 3px 10px rgba(16,42,67,.08);
}
.top {
  box-shadow: 0 4px 18px rgba(16,42,67,.08);
}
.desktop-primary-nav {
  display: flex;
  align-items: center;
  min-width: 0;
  position: relative;
}
.super-admin-nav { margin-left: auto; }
.admin-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 142px;
  padding: 10px 14px;
  background: #fff;
  color: var(--ui-blue-dark);
  border: 1px solid #b8d5e7;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(16,42,67,.08);
}
.admin-menu-trigger:hover, .admin-menu-trigger[aria-expanded="true"] {
  background: #eef8ff;
  color: var(--ui-blue);
}
.admin-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 1000;
  width: min(780px, calc(100vw - 24px));
  max-height: min(72vh, 620px);
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 12px;
  background: #fff;
  border: 1px solid #c5dbe9;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(16,42,67,.2);
}
.admin-menu[hidden] { display: none !important; }
.admin-menu a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 10px;
  color: var(--ui-blue-dark);
  text-decoration: none;
  font-weight: 750;
  border: 1px solid transparent;
  border-radius: 9px;
}
.admin-menu a:hover, .admin-menu a:focus-visible {
  color: var(--ui-blue);
  background: #eef8ff;
  border-color: #c5e4f7;
}
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}
.profile-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: auto;
  padding: 8px 10px;
  color: var(--ui-blue-dark);
  background: #fff;
  border: 1px solid var(--ui-line);
  box-shadow: 0 3px 10px rgba(16,42,67,.06);
}
.profile-trigger .avatar {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e4f3fd;
  color: var(--ui-blue);
  font-weight: 900;
}
@media (max-width: 1180px) {
  .admin-menu {
    position: fixed;
    top: 68px;
    right: 12px;
    width: min(780px, calc(100vw - 24px));
  }
}
@media (max-width: 720px) {
  .admin-menu {
    top: 60px;
    left: 12px;
    right: 12px;
    width: auto;
    grid-template-columns: 1fr;
    max-height: calc(100dvh - 78px);
  }
  .admin-menu-trigger { min-width: 46px; padding: 10px; }
  .admin-menu-trigger span { display: none; }
  .profile-name { display: none; }
  .header-actions { gap: 5px; }
  .card, .panel, .content-panel, .dashboard-card, .stat-card,
  .kpi-card, .form-card, .section-card, .settings-card, .workspace-card {
    border-radius: 14px;
    padding: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn, button, input[type=submit], input[type=button] { transition: none; }
}


/* v48.24.5 header containment: keep the shell one row and the Super Admin menu out of document flow. */
.app-header.top {
  position: sticky !important;
  top: 0 !important;
  z-index: 3000 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  min-height: 68px !important;
  height: auto !important;
  overflow: visible !important;
}
.app-header.top > .brand,
.app-header.top > .desktop-primary-nav,
.app-header.top > .header-actions {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}
.app-header.top > .desktop-primary-nav {
  margin-left: auto !important;
}
.app-header.top > .header-actions {
  margin-left: 12px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
.app-header.top > .admin-menu:not([hidden]) {
  position: fixed !important;
  top: 78px !important;
  right: 20px !important;
  left: auto !important;
  z-index: 4000 !important;
  display: grid !important;
  width: min(980px, calc(100vw - 40px)) !important;
  max-height: min(74vh, 700px) !important;
  overflow: auto !important;
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid #c5dbe9 !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 52px rgba(16,42,67,.24) !important;
}
.app-header.top > .admin-menu[hidden] { display: none !important; }
@media (max-width: 900px) {
  .app-header.top {
    flex-wrap: wrap !important;
  }
  .app-header.top > .header-actions {
    margin-left: auto !important;
  }
  .app-header.top > .admin-menu:not([hidden]) {
    top: 72px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - 86px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  .app-header.top {
    min-height: 60px !important;
  }
  .app-header.top > .admin-menu:not([hidden]) {
    top: 64px !important;
    right: 8px !important;
    left: 8px !important;
    grid-template-columns: 1fr !important;
  }
}


/* v48.24.6 compact account menu overlay: opening Menu must not resize the header. */
@media (max-width: 900px) {
  .app-header.top > .top-links[data-top-menu].is-open,
  .app-header.top > #account-menu.is-open {
    position: fixed !important;
    top: 72px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    z-index: 4000 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: calc(100dvh - 88px) !important;
    overflow: auto !important;
    padding: 12px !important;
    background: #fff !important;
    border: 1px solid #c5dbe9 !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 52px rgba(16,42,67,.24) !important;
  }
}
@media (max-width: 560px) {
  .app-header.top > .top-links[data-top-menu].is-open,
  .app-header.top > #account-menu.is-open {
    top: 64px !important;
    left: 8px !important;
    right: 8px !important;
    grid-template-columns: 1fr !important;
    max-height: calc(100dvh - 78px) !important;
  }
}


/* v48.24.7 mobile shell stabilization */
.ai-quick-launch{display:flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important;margin:0!important}
.ai-launch-btn,.ai-launch-btn span{writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;text-align:center!important}
.ai-launch-btn{width:auto!important;min-width:102px!important;max-width:none!important;flex:0 0 auto!important;overflow:visible!important}
.admin-kpi-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:12px!important;margin:16px 0 22px!important}
.admin-kpi{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;min-width:0!important;padding:16px!important;background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;box-shadow:var(--ui-shadow)!important;text-decoration:none!important;color:var(--ui-blue-dark)!important}
.admin-kpi span,.admin-kpi strong,.admin-kpi small{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
.admin-kpi span{font-weight:750!important;color:#365b79!important}.admin-kpi strong{font-size:clamp(1.25rem,4vw,1.7rem)!important;line-height:1.1!important}.admin-kpi small{color:#627d98!important;line-height:1.35!important}
.admin-command-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:clamp(18px,3vw,28px)!important;margin-bottom:16px!important;background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:18px!important;box-shadow:var(--ui-shadow)!important}
.admin-command-hero>div{min-width:0!important}.command-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;flex:0 0 auto!important}
.control-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important;margin:18px 0!important}
.control-card{display:block!important;min-width:0!important;padding:18px!important;background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;box-shadow:var(--ui-shadow)!important;text-decoration:none!important;color:var(--ui-blue-dark)!important}
.control-card h2{margin:0 0 8px!important;color:var(--ui-blue-dark)!important;font-size:1.15rem!important}.control-card p{margin:0 0 12px!important;color:#486581!important}.control-card span{font-weight:800!important;color:var(--ui-blue)!important}
@media(max-width:720px){.app-header.top{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;min-height:0!important}.app-header.top>.brand{flex:1 1 100%!important;min-width:0!important;display:flex!important;align-items:center!important}.app-header.top>.desktop-primary-nav{display:none!important}.app-header.top>.header-actions{flex:1 1 100%!important;width:100%!important;min-width:0!important;margin:0!important;justify-content:flex-start!important;align-items:center!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:none!important;padding:2px 0 4px!important}.app-header.top>.header-actions::-webkit-scrollbar{display:none!important}.app-header.top>.header-actions>*,.app-header.top>.header-actions form{flex:0 0 auto!important}.app-header.top .hc-header-help,.app-header.top .profile-trigger,.app-header.top .top-menu-toggle,.app-header.top .header-icon-btn,.app-header.top .language-switcher{min-height:44px!important}.app-header.top .profile-name{display:inline!important;max-width:120px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.app-header.top .top-menu-toggle{min-width:82px!important;width:auto!important}.ai-launch-btn{min-width:102px!important;height:44px!important;padding:10px 12px!important}.admin-command-hero{display:block!important}.command-actions{display:grid!important;grid-template-columns:1fr!important;margin-top:14px!important}.command-actions .btn{width:100%!important}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.admin-kpi{padding:13px!important;border-radius:14px!important}.control-grid{grid-template-columns:1fr!important;gap:12px!important}}
@media(max-width:420px){.app-header.top .profile-name{display:none!important}.admin-kpi-grid{grid-template-columns:1fr!important}}
