/* Layout placeholders follow real data loading; they never impersonate controls. */
.fd-page-skeleton { padding:18px 0 28px; width:100%; color:#a5a5af; }
.fd-page-skeleton *, .fd-page-skeleton *::before { box-sizing:border-box; }
.fd-sk-heading { display:grid; gap:12px; margin-bottom:26px; }
.fd-sk-bar,.fd-sk-avatar,.fd-sk-check,.fd-sk-message,.fd-sk-map,.fd-sk-chart {
  display:block; position:relative; overflow:hidden; background:#ffffff09; border-radius:8px;
}
.fd-sk-bar::after,.fd-sk-avatar::after,.fd-sk-message::after,.fd-sk-map::after,.fd-sk-chart::after {
  content:''; position:absolute; inset:0; background:linear-gradient(100deg,transparent 20%,#ffffff09 50%,transparent 80%);
  transform:translateX(-100%); animation:fd-skeleton-shimmer 1.8s ease-in-out infinite;
}
.fd-sk-bar { height:12px; width:100%; }
.fd-sk-title { width:220px; max-width:65%; height:32px; }
.fd-sk-wide { width:70%; }
.fd-sk-short { width:42%; }
.fd-sk-input { width:100%; height:44px; margin:12px 0; }
.fd-sk-value { width:64px; height:36px; margin:14px 0; }
.fd-sk-button { width:110px; height:44px; margin:18px 0 0 auto; }
.fd-sk-panel { min-width:0; border:1px solid #ffffff0d; border-radius:16px; padding:20px; background:#14171c66; }
.fd-sk-row { display:flex; align-items:center; gap:14px; min-height:78px; border-bottom:1px solid #ffffff08; }
.fd-sk-row:last-child { border-bottom:0; }
.fd-sk-avatar { width:42px; height:42px; border-radius:12px; flex:none; }
.fd-sk-check { width:18px; height:18px; margin-left:auto; flex:none; }
.fd-sk-lines { display:grid; gap:10px; flex:1; }
.fd-sk-columns,.fd-sk-outreach,.fd-sk-schools { display:grid; gap:20px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.fd-sk-outreach { grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); }
.fd-sk-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.fd-sk-workflow-toolbar,.fd-sk-workflow-card { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.fd-sk-workflow-toolbar { margin-bottom:18px; }
.fd-sk-workflow-toolbar > div { display:grid; gap:10px; width:min(58%,300px); }
.fd-sk-workflow-toolbar > .fd-sk-bar { height:42px; width:126px; flex:none; border-radius:10px; }
.fd-sk-workflows > .fd-sk-panel { margin-bottom:14px; padding:16px; }
.fd-sk-usage { display:flex; align-items:center; gap:12px; margin-top:12px; }
.fd-sk-usage > i { width:34px; height:34px; flex:none; border-radius:10px; background:#ffffff09; }
.fd-sk-usage > div { display:grid; gap:8px; flex:1; }
.fd-sk-workflow-filters { display:flex; gap:10px; overflow:hidden; margin:18px 0; }
.fd-sk-filter { width:88px; height:30px; flex:none; border-radius:8px; }
.fd-sk-workflow-card > div { display:grid; gap:9px; flex:1; }
.fd-sk-workflow-card > .fd-sk-short { width:64px; flex:none; }
.fd-sk-workflow-setup { display:grid; gap:22px; }
.fd-sk-workflow-setup section { display:grid; gap:12px; }
.fd-sk-setup-segments,.fd-sk-setup-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.fd-sk-setup-segments .fd-sk-filter { width:auto; height:38px; }
.fd-sk-setup-filters .fd-sk-input { height:40px; margin:0; }
.fd-sk-setup-subject { display:grid; grid-template-columns:56px 1fr; align-items:center; gap:10px; min-height:42px; padding:0 10px; border:1px solid #ffffff0d; border-radius:9px; }
.fd-sk-setup-subject .fd-sk-input { height:20px; margin:0; }
.fd-sk-setup-message { display:grid; align-content:start; gap:12px; min-height:148px; padding:14px; border:1px solid #ffffff0d; border-radius:9px; }
.fd-sk-progress > div > .fd-sk-panel { margin-bottom:20px; }
.fd-sk-field { display:grid; gap:4px; margin:16px 0; }
.fd-sk-message { height:280px; margin-top:16px; }
.fd-sk-map { min-height:380px; }
.fd-sk-map i { position:absolute; width:32px; height:32px; border-radius:50%; background:#ffffff0a; left:22%; top:40%; }
.fd-sk-map i:nth-child(2) { left:44%; top:28%; }
.fd-sk-map i:nth-child(3) { left:60%; top:62%; }
.fd-sk-map i:nth-child(4) { left:75%; top:34%; }
.fd-sk-map i:nth-child(5) { left:82%; top:52%; }
.fd-sk-chart { display:flex; align-items:flex-end; gap:6%; height:220px; padding:20px 6% 0; margin-top:20px; }
.fd-sk-chart i { width:7%; background:#ffffff08; border-radius:6px 6px 0 0; }
.fd-sk-profile > div > .fd-sk-panel { margin-bottom:20px; }
.fd-sk-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
[data-fd-loading] { position:relative!important; min-height:520px; }
[data-fd-loading="stats"],[data-fd-loading="rows"] { min-height:140px; }
[data-fd-loading] > :not(.fd-skeleton-cover) { visibility:hidden!important; }
.fd-skeleton-cover { position:absolute; inset:0; z-index:20; overflow:hidden; pointer-events:none; }
@media(min-width:768px) {
  #pageLeadFinder > .fd-sk-schools-desktop { position:fixed; inset:0 0 0 var(--fd-sidebar-width,0px); }
  .fd-sk-schools-desktop .fd-page-skeleton { padding:0; height:100%; }
  .fd-sk-schools-desktop .fd-sk-school-part { position:absolute; min-height:0; margin:0; overflow:hidden; }
  .fd-sk-schools-desktop .fd-sk-map { border-radius:0; }
  .fd-sk-schools-desktop .fd-sk-panel { border-radius:10px; }
}
@keyframes fd-skeleton-shimmer { to { transform:translateX(100%); } }
@media(max-width:767px) {
  .fd-page-skeleton { padding:16px; }
  .fd-sk-heading { margin-bottom:20px; }
  .fd-sk-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .fd-sk-columns,.fd-sk-outreach,.fd-sk-schools { grid-template-columns:minmax(0,1fr); gap:14px; }
  .fd-sk-outreach > .fd-sk-panel:first-child { display:none; }
  .fd-sk-map { min-height:210px; }
  /* Match Schools' edge-to-edge preview and the cards beneath its toolbar. */
  .fd-page-skeleton.fd-sk-schools { display:block; padding:0; }
  .fd-page-skeleton.fd-sk-schools > div > .fd-sk-heading { display:none; }
  .fd-sk-schools .fd-sk-schools { gap:0; }
  .fd-sk-schools .fd-sk-map {
    order:-1; width:100%; min-height:0; border-radius:0;
    height:var(--ms-map-height, min(calc(60.603vw + 54px), max(0px, calc(100svh - var(--fd-mobile-bottom-space, 100px) - 120px - env(safe-area-inset-top, 0px)))));
  }
  .fd-sk-school-list { min-width:0; padding:0 var(--ms-gutter, 16px) calc(var(--fd-mobile-bottom-space, 100px) + 12px); }
  .fd-sk-school-list .fd-sk-search { display:grid; gap:10px; padding:12px 0 18px; }
  .fd-sk-school-list .fd-sk-input { margin:0; height:46px; border-radius:999px; }
  .fd-sk-schools .fd-sk-panel { padding:0; border:0; background:transparent; }
  .fd-sk-school-list .fd-sk-row { min-height:116px; padding:16px; margin-bottom:10px; border:1px solid #ffffff0d; border-radius:16px; background:#14171c66; }
  .fd-sk-school-list .fd-sk-avatar { width:48px; height:48px; }

  .fd-sk-panel { padding:16px; }
  .fd-sk-chart { height:180px; }
  .fd-page-skeleton.fd-sk-workflows { padding:16px 0 28px; }
  .fd-sk-workflows > div > .fd-sk-heading { margin-bottom:18px; }
  .fd-sk-workflows > div > .fd-sk-heading .fd-sk-title { height:30px; }
  .fd-sk-workflows > div > .fd-sk-heading .fd-sk-wide { width:58%; }
  .fd-sk-workflows > div > .fd-sk-workflows { display:block; }
  .fd-sk-workflows .fd-sk-workflow-card { min-height:82px; padding:14px; }
  .fd-sk-workflows .fd-sk-workflow-card .fd-sk-avatar { width:40px; height:40px; }
  .wf-dialog .fd-page-skeleton.fd-sk-workflowSetup { padding:0; }
  .fd-sk-workflow-setup { gap:18px; }
  .fd-sk-workflow-setup section { gap:10px; }
  .fd-sk-workflow-setup section > .fd-sk-wide:first-child { height:14px; width:60%; }
  .fd-sk-setup-message { min-height:120px; }
}
@media(prefers-reduced-motion:reduce) { .fd-page-skeleton ::after { animation:none!important; } }
