.edlink-page-skeleton,.edlink-loading-status{display:none}.edlink-page-loading .edlink-page-skeleton{display:grid}.edlink-page-loading .edlink-loading-status{display:block}.edlink-page-skeleton{--sk-bg:#fff;--sk-fill:#e9edf2;--sk-shine:#ffffffb3;position:fixed;inset:0;z-index:9999;overflow:hidden;background:var(--sk-bg);pointer-events:auto}.dark .edlink-page-skeleton{--sk-bg:#161725;--sk-fill:#2c2e43;--sk-shine:#ffffff0b}.edlink-page-skeleton *{box-sizing:border-box}.sk-block{position:relative;overflow:hidden;background:var(--sk-fill);border-radius:8px}.sk-block:after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--sk-shine),transparent);animation:edlink-shimmer 1.5s ease-in-out infinite}.sk-line{height:12px;width:100%;margin:12px 0}.sk-short{width:55%}.sk-heading{height:32px;width:85%;margin:15px 0}.sk-logo{width:160px;height:48px;margin-bottom:30px}.sk-label{width:85px;height:10px;margin-bottom:9px}.sk-input{height:46px;width:100%;border-radius:12px}.sk-field{margin-top:20px}.sk-button{height:46px;width:100%;margin-top:24px;border-radius:12px}.sk-footer-line{width:65%;margin:25px auto}.skeleton-auth{grid-template-columns:1.1fr .9fr}.sk-cover{height:100%;border-radius:0}.sk-auth-panel{display:flex;align-items:center;justify-content:center;padding:55px 36px}.sk-auth-content{width:100%;max-width:410px}.sk-auth-content>.sk-logo{margin-bottom:30px}.skeleton-landing{display:block!important;padding:25px max(32px,calc((100% - 1120px)/2));background:#f8fafc}.dark .skeleton-landing{background:var(--sk-bg)}html:not(.edlink-page-loading) .skeleton-landing{display:none!important}.sk-nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 24px;background:var(--sk-bg);border-radius:22px}.sk-nav .sk-logo{margin:0;height:36px;width:140px}.sk-nav-links{height:12px;flex:1;max-width:400px}.sk-nav-button{width:110px;height:36px;border-radius:99px}.sk-hero{display:flex;align-items:center;justify-content:center;gap:35px;padding:100px 0 70px}.sk-hero-copy{max-width:570px;width:60%}.sk-hero-copy .sk-line,.sk-hero-copy .sk-heading{margin:20px auto}.sk-hero-copy .sk-heading{height:45px;width:100%}.sk-hero-copy .sk-button{width:170px;margin:32px auto}.sk-hero-person{width:200px;height:300px;border-radius:80px 80px 30px 30px}.sk-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.sk-benefit{height:135px;border-radius:18px}.skeleton-dashboard{grid-template-columns:248px 1fr}.sk-sidebar{padding:28px 24px;border-right:1px solid var(--sk-fill)}.sk-sidebar .sk-line{margin:29px 0;width:85%;height:15px}.sk-workspace{min-width:0}.sk-toolbar{height:80px;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--sk-fill)}.sk-toolbar .sk-heading{width:210px;height:20px;margin:0}.sk-avatar{width:38px;height:38px;border-radius:50%}.sk-dashboard-content{padding:32px}.sk-dashboard-content>.sk-heading{width:260px;max-width:100%}.sk-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:32px 0}.sk-metric{padding:24px;border:1px solid var(--sk-fill);border-radius:16px}.sk-metric .sk-heading{max-width:95px}.sk-table{border:1px solid var(--sk-fill);border-radius:16px;padding:10px 24px}.sk-table-row{height:22px;margin:23px 0}.edlink-skeleton-sr{position:fixed;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes edlink-shimmer{100%{transform:translateX(100%)}}@media(max-width:1023px){.skeleton-dashboard{grid-template-columns:1fr}.sk-sidebar{display:none}.sk-metrics{grid-template-columns:repeat(2,1fr)}.sk-hero-person{width:140px;height:230px}}@media(max-width:767px){.skeleton-auth{grid-template-columns:1fr;grid-template-rows:clamp(80px,15svh,150px) 1fr}.sk-auth-panel{padding:35px 24px;align-items:flex-start}.sk-auth-content{max-width:410px}.sk-auth-content>.sk-logo{margin-bottom:22px}.sk-auth-content>.sk-heading{height:28px}.sk-hero-person{display:none}.skeleton-landing{padding:18px}.sk-nav{padding:12px 16px}.sk-nav-links{display:none}.sk-nav-button{width:70px}.sk-hero{padding:60px 10px 35px}.sk-hero-copy{width:100%}.sk-hero-copy .sk-heading{height:35px}.sk-benefits{grid-template-columns:1fr 1fr;gap:12px}.sk-benefit{height:95px}.sk-dashboard-content{padding:22px 18px}.sk-toolbar{padding:18px}.sk-metrics{gap:12px}.sk-metric{padding:17px}.sk-table{padding:6px 16px}}@media(max-width:767px) and (max-height:760px){.skeleton-auth{grid-template-rows:1fr}.sk-cover{display:none}}@media(prefers-reduced-motion:reduce){.sk-block:after{animation:none;background:none}}

/* Shared skeleton replaces the inline spinning loader in every module. */
.edlink-inline-skeleton{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:2px;vertical-align:middle}
.edlink-inline-skeleton>span{display:block;width:24%;height:65%;border-radius:2px;background:currentColor;opacity:.22;animation:edlink-skeleton-pulse 1.2s ease-in-out infinite}
.edlink-inline-skeleton>span:nth-child(2){height:90%;animation-delay:.15s}.edlink-inline-skeleton>span:nth-child(3){animation-delay:.3s}
@keyframes edlink-skeleton-pulse{0%,100%{opacity:.22}50%{opacity:.65}}
@media(prefers-reduced-motion:reduce){.edlink-inline-skeleton>span{animation:none;opacity:.45}}
@media print{.edlink-page-skeleton,.edlink-loading-status,.edlink-inline-skeleton{display:none!important}}
