html, body, body.vesta-app-body { height: 100%; }
body.vesta-app-body { overflow: hidden; }
.vesta-app-shell { display: block; height: 100vh; height: 100dvh; overflow: hidden; position: relative; }
.vesta-app-shell__main { min-width: 0; height: 100vh; height: 100dvh; margin-left: var(--vesta-sidebar-w); display: flex; flex-direction: column; overflow: hidden; transition: margin-left .22s ease; }
.vesta-app-shell.is-sidebar-collapsed .vesta-app-shell__main { margin-left: var(--vesta-sidebar-w-collapsed); }
.vesta-page-shell { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: calc(var(--vesta-page-padding) + 4px) var(--vesta-page-padding) var(--vesta-page-padding); }
.vesta-page-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:24px; }
.vesta-page-header__content { display:flex; gap:16px; align-items:flex-start; }
.vesta-page-header__icon { width:48px; height:48px; border-radius:14px; background:var(--vesta-surface); border:1px solid var(--vesta-border); display:grid; place-items:center; }
.vesta-page-header h1 { margin:0 0 5px; font-size:20px; line-height:1.25; font-weight:650; letter-spacing:-.02em; }
.vesta-page-header p { margin:0; color:var(--vesta-text-2); font-size:13px; line-height:1.45; }
.vesta-section { margin-bottom:24px; }
.vesta-section__title-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.vesta-section__title-row h3 { margin:0; font-size:18px; }
.vesta-dashboard-grid { display:grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .85fr); gap:18px; }
.vesta-dashboard-grid__main { display:grid; gap:12px; }
.vesta-utility-rail { display:grid; gap:16px; align-content:start; }
.vesta-dashboard-banner { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 20px; background:linear-gradient(135deg,#ffffff 0%,#faf7f1 100%); border:1px solid var(--vesta-border); border-radius:var(--vesta-radius-lg); margin-bottom:24px; }
.vesta-dashboard-banner h2 { margin:3px 0 6px; font-size:20px; font-weight:650; letter-spacing:-.02em; }
.vesta-dashboard-banner p, .vesta-eyebrow { margin:0; color:var(--vesta-text-2); }
.vesta-eyebrow { display:inline-block; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--vesta-accent); }
@media (max-width: 1023px) {
  body.vesta-app-body { overflow: hidden; }
  .vesta-app-shell__main { margin-left: 0; }
  .vesta-page-shell { padding: 16px; }
  .vesta-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .vesta-page-shell { padding: 12px; }
  .vesta-page-header { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 16px; }
  .vesta-page-header__content { gap: 12px; }
  .vesta-page-header__icon { width: 42px; height: 42px; border-radius: 12px; }
  .vesta-page-header h1 { font-size: 20px; }
  .vesta-dashboard-banner { flex-direction: column; align-items: stretch; padding: 18px; margin-bottom: 16px; }
  .vesta-dashboard-banner h2 { font-size: 20px; }
}


.vesta-mobile-quick-actions { display:none; }

@media (max-width: 767px) {
  .vesta-mobile-quick-actions { display:block; margin-bottom:16px; }
  .vesta-utility-rail .vesta-utility-rail__quick-actions { display:none; }
  .vesta-dashboard-grid__main { order: 2; }
  .vesta-utility-rail { order: 3; }
}

@media (max-width: 767px) {
  :root {
    --vesta-mobile-safe-top: max(18px, env(safe-area-inset-top, 0px));
    --vesta-topbar-mobile-row-h: 60px;
    --vesta-topbar-mobile-extra: 12px;
    --vesta-topbar-mobile-total: calc(var(--vesta-mobile-safe-top) + var(--vesta-topbar-mobile-row-h) + var(--vesta-topbar-mobile-extra));
  }
  .vesta-app-shell, .vesta-app-shell__main {
    height: 100vh;
    height: 100dvh;
  }
  .vesta-app-shell__main {
    padding-top: var(--vesta-topbar-mobile-total);
  }
  .vesta-page-shell {
    padding-top: 12px;
  }
}

/* HSP v1.8.6.92 - Topbar notification bell dropdown */
.vesta-notification-wrap{position:relative;display:inline-flex;align-items:center}
.vesta-notification-bell{position:relative}
.vesta-notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:750;line-height:18px;text-align:center;box-shadow:0 6px 14px rgba(239,68,68,.25)}
.vesta-notification-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid var(--vesta-border,#e9e7e2);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.16);z-index:99999;overflow:hidden}
.vesta-notification-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--vesta-border,#e9e7e2)}
.vesta-notification-panel__head strong{font-size:15px;color:var(--vesta-text-primary,#111827)}
.vesta-notification-panel__head button{border:0;background:transparent;color:#c97832;font-weight:700;cursor:pointer;font-size:12px}
.vesta-notification-panel__list{max-height:360px;overflow:auto;padding:8px}
.vesta-notification-item{display:block;padding:12px;border-radius:14px;text-decoration:none;color:inherit;border:1px solid transparent;cursor:pointer}
.vesta-notification-item:hover{background:#faf7f1;border-color:#f2dfcc}
.vesta-notification-item.is-unread{background:#fff7ed;border-color:#fed7aa}
.vesta-notification-item strong{display:block;font-size:13px;margin-bottom:4px;color:#111827}
.vesta-notification-item p{margin:0 0 6px;color:#4b5563;font-size:12px;line-height:1.35}
.vesta-notification-item small{color:#9ca3af;font-size:11px}
.vesta-notification-panel__all{display:block;padding:12px 16px;text-align:center;border-top:1px solid var(--vesta-border,#e9e7e2);color:#c97832;font-weight:750;text-decoration:none;font-size:13px}
@media (max-width:767px){.vesta-notification-panel{position:fixed;right:12px;left:12px;top:72px;width:auto}}
