/* Shared first-paint and dashboard placeholders; no customer data is displayed. */
.sales-loading { width: 100%; max-width: 1600px; margin: 0 auto; color: #192e48; font-family: Arial, sans-serif; box-sizing: border-box; }
.sales-loading h2 { margin: 0 0 8px; font-size: 30px; line-height: 1.2; }
.sales-loading .app-loader-message { display: block; margin-bottom: 24px; color: #68788b; font-size: 14px; }
.sales-loading-toolbar { display: flex; gap: 10px; margin-bottom: 24px; }
.sales-loading-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.sales-loading-panels { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; }
.sales-loading-card { min-width: 0; padding: 22px; border: 1px solid #e0e6ed; border-radius: 11px; background: #fff; }
.sales-loading-bar { display: block; height: 12px; width: 65%; margin-bottom: 16px; border-radius: 5px; background: #e9eef4; animation: sales-loading-pulse 1.8s ease-in-out infinite; }
.sales-loading-value { width: 48%; height: 30px; margin: 22px 0; }
.sales-loading-note { width: 80%; height: 9px; margin-bottom: 0; }
.sales-loading-toolbar .sales-loading-bar { width: 130px; height: 38px; margin: 0; }
.sales-loading-chart { width: 100%; height: 190px; margin: 24px 0 0; }
.sales-loading-row { width: 100%; height: 34px; margin-top: 22px; }
#salesBoot { position: fixed; inset: 0; z-index: 2147483000; overflow: auto; box-sizing: border-box; padding: 32px; background: #f4f6f9; }
#salesBoot .sales-boot-brand { margin: 0 0 40px; font: 700 20px Arial, sans-serif; color: #192e48; }
body:has(#suiteShell:not([hidden])) #salesBoot,
body:has(#loginScreen:not([hidden])) #salesBoot { display: none; }
#salesBootRecovery { font: 14px Arial, sans-serif; color: #53657b; margin-top: 24px; }
#salesBootRecovery a { color: #226cc1; }
@keyframes sales-loading-pulse { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .sales-loading-bar { animation: none; } }
@media (max-width: 900px) { .sales-loading-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  #salesBoot { padding: 24px 16px; }
  .sales-loading h2 { font-size: 25px; }
  .sales-loading-grid { gap: 10px; }
  .sales-loading-card { padding: 16px; }
  .sales-loading-panels { grid-template-columns: 1fr; }
  .sales-loading-toolbar .sales-loading-bar { width: 28%; }
}
