/* Shared layout language for pending reads; never applied to completed/empty/error content. */
.vc-loading{--vc-sk-fill:color-mix(in srgb,var(--line,#dfe3e8) 75%,var(--surface,#fff));--vc-sk-paper:var(--surface,#fff);--vc-sk-line:var(--line,#e0e4e9);box-sizing:border-box;min-width:0;width:100%;padding:clamp(16px,2.5vw,28px);color:var(--text-soft,#66717e)}
.vc-loading *{box-sizing:border-box;min-width:0}
.vc-loading-label{font:500 13px/1.6 Inter,system-ui,sans-serif;margin:0 0 22px;text-wrap:pretty}
.vc-skeleton{display:grid;gap:22px;width:100%;pointer-events:none;user-select:none}
.vc-skeleton-block{display:block;position:relative;overflow:hidden;background:var(--vc-sk-fill,#e9edf1);height:12px;border-radius:5px;width:100%}
.vc-skeleton-block::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 15%,#ffffff65 50%,transparent 85%);transform:translateX(-100%)}
.vc-skeleton-block--title{height:28px;width:58%;max-width:410px;border-radius:7px}
.vc-skeleton-block--short{width:42%;max-width:210px;height:10px}
.vc-skeleton-block--avatar{width:42px;height:42px;border-radius:12px;flex:none}
.vc-skeleton-block--button{width:76px;height:32px;border-radius:8px;justify-self:end}
.vc-skeleton-block--field{height:46px;border-radius:9px}
.vc-skeleton-heading{display:grid;gap:12px;max-width:660px;padding:4px 0 8px}
.vc-skeleton-heading>.vc-skeleton-block--line{width:76%}
.vc-skeleton-copy{display:grid;gap:10px;width:100%;max-width:470px;align-content:center}
.vc-skeleton-row{display:grid;grid-template-columns:42px minmax(0,1fr) 76px;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--vc-sk-line,#e0e4e9)}
.vc-skeleton-list{padding:0 20px;border:1px solid var(--vc-sk-line,#e0e4e9);border-radius:14px;background:var(--vc-sk-paper,#fff)}
.vc-skeleton-list>.vc-skeleton-row:last-child{border-bottom:0}
.vc-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vc-skeleton-card{display:grid;align-content:start;gap:20px;padding:24px;border:1px solid var(--vc-sk-line,#e0e4e9);border-radius:14px;background:var(--vc-sk-paper,#fff);min-height:155px}
.vc-skeleton-card .vc-skeleton-block--title{width:54%;height:30px}
.vc-skeleton-profile{display:flex;align-items:center;gap:24px;padding:12px 0}
.vc-skeleton-profile>.vc-skeleton-block--avatar{width:88px;height:88px;border-radius:22px}
.vc-skeleton-profile>.vc-skeleton-heading{flex:1}
.vc-skeleton-form{display:grid;gap:24px;max-width:720px}.vc-skeleton-form>div{display:grid;gap:10px}
.vc-skeleton-chart{display:flex;align-items:flex-end;gap:clamp(10px,3vw,30px);height:210px;padding:24px 20px 0;border-bottom:1px solid var(--vc-sk-line,#e0e4e9)}
.vc-skeleton-chart>.vc-skeleton-block{flex:1;border-radius:5px 5px 0 0}
.vcs-nav .vc-loading{padding:8px 0}.vcs-nav .vc-loading-label{margin-bottom:12px;font-size:12px}.vcs-nav .vc-skeleton{gap:0}.vcs-nav .vc-skeleton-row{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:12px 4px;border:0}.vcs-nav .vc-skeleton-block--avatar{width:22px;height:22px;border-radius:5px}.vcs-nav .vc-skeleton-row>.vc-skeleton-block--button,.vcs-nav .vc-skeleton-copy>.vc-skeleton-block--short{display:none}
@media(prefers-reduced-motion:no-preference){.vc-skeleton-block::after{animation:vc-skeleton-sweep 1.8s ease-in-out 3}.vc-skeleton-row:nth-child(2) .vc-skeleton-block::after{animation-delay:100ms}.vc-skeleton-row:nth-child(3) .vc-skeleton-block::after{animation-delay:200ms}}
@keyframes vc-skeleton-sweep{to{transform:translateX(100%)}}
@media(max-width:600px){.vc-loading{padding:20px 16px}.vc-skeleton{gap:18px}.vc-skeleton-grid{grid-template-columns:1fr}.vc-skeleton-card{min-height:126px;padding:20px;gap:16px}.vc-skeleton-row{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:18px 0}.vc-skeleton-row>.vc-skeleton-block--button{display:none}.vc-skeleton-row>.vc-skeleton-block--avatar{width:38px;height:38px}.vc-skeleton-list{padding:0 16px}.vc-skeleton-block--title{width:78%;height:25px}.vc-skeleton-profile{gap:18px}.vc-skeleton-profile>.vc-skeleton-block--avatar{width:64px;height:64px;border-radius:16px}.vc-skeleton-chart{height:180px}}
[data-theme="dark"] .vc-skeleton-block::after{background:linear-gradient(100deg,transparent 15%,#ffffff0d 50%,transparent 85%)}
@media(forced-colors:active){.vc-skeleton-block{background:CanvasText;opacity:.15}.vc-skeleton-block::after{display:none}}
@media(prefers-reduced-motion:reduce){.vc-skeleton-block::after{animation:none;display:none}}

/* Route layouts use the same shape during shell startup and the first read. */
.vc-skeleton-strip { display:flex; flex-wrap:wrap; gap:10px; }
.vc-skeleton-strip > .vc-skeleton-block--field { flex:1 1 96px; }
.vc-skeleton-split, .vc-skeleton-home > .vc-skeleton-list { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr); gap:28px; }
.vc-skeleton-home { display:grid; gap:24px; }
.vc-skeleton-home > .vc-skeleton-list { align-items:center; min-height:116px; }
.vc-skeleton-home .vc-skeleton-split > div:first-child { display:grid; align-content:start; gap:18px; }
.vc-skeleton-mailbox { display:grid; grid-template-columns:minmax(150px,1fr) minmax(200px,2fr) minmax(0,3fr); min-height:420px; }
.vc-skeleton-mailbox > div, .vc-skeleton--status-list > div, .vc-skeleton--directory > .vc-skeleton-list, .vc-skeleton--flowchart > .vc-skeleton-list { padding-top:18px; }
.vc-skeleton-mailbox > div:first-child, .vc-skeleton--flowchart > .vc-skeleton-list { display:grid; align-content:start; gap:20px; padding-bottom:18px; }
.vc-skeleton-flow, .vc-skeleton-media { display:grid; gap:12px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.vc-skeleton-flow > .vc-skeleton-card { min-height:105px; padding:16px; gap:10px; }
.vc-skeleton-media > div { overflow:hidden; padding-bottom:14px; border-radius:12px; background:var(--vc-sk-paper,var(--surface,#fff)); }
.vc-skeleton-media > div > .vc-skeleton-block { height:auto; aspect-ratio:16/9; border-radius:0; }
.vc-skeleton-media .vc-skeleton-copy { padding:14px 12px 0; }

@media(max-width:760px) {
  .vc-skeleton-split, .vc-skeleton-home > .vc-skeleton-list, .vc-skeleton-mailbox, .vc-skeleton-flow { grid-template-columns:minmax(0,1fr); }
  .vc-skeleton-mailbox > div:not(:nth-child(2)) { display:none; }
  .vc-skeleton-media { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.vc-skeleton-people-map { display:grid; justify-items:center; gap:28px; }
.vc-skeleton-people-map .vc-skeleton-card { min-height:92px; width:min(180px,100%); gap:10px; padding:14px; }
.vc-skeleton-branches { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; width:100%; }
