.site-loader{display:none!important}
.workspace-skeleton{display:none;box-sizing:border-box;padding:18px 28px 32px;gap:20px;max-width:100%}
.site-loading .workspace-skeleton{display:grid}
.site-loading #main-content{visibility:hidden;height:0;overflow:hidden}
.skeleton-summary,.skeleton-card{border:1px solid var(--line,#e9e6f3);border-radius:24px;background:var(--surface,#fff);padding:24px;display:grid;gap:16px;box-sizing:border-box;min-width:0}
.skeleton-summary{min-height:170px;grid-template-columns:80px minmax(0,1fr);align-items:center}
.skeleton-circle{width:80px;height:80px;border-radius:50%;grid-row:1/4}
.skeleton-lines{display:grid;gap:16px}
.skeleton-line{height:13px;border-radius:7px;width:85%}
.skeleton-line:nth-child(2){width:64%;height:22px}
.skeleton-line:last-child{width:45%}
.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.skeleton-card{min-height:210px;align-content:start;gap:22px}
.skeleton-circle,.skeleton-line,.content-is-loading::after,.section-loading::before{background:linear-gradient(100deg,var(--line,#eeebf5) 20%,var(--surface,#fff) 45%,var(--line,#eeebf5) 70%);background-size:250% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}
.skeleton-card>.skeleton-line:first-child{width:44px;height:44px;border-radius:14px}
.content-is-loading{position:relative;min-height:320px}
.content-is-loading>*{visibility:hidden}
.content-is-loading::after{content:'';position:absolute;inset:16px;border-radius:20px;opacity:.65}
.section-loading{display:flex;align-items:center;gap:12px;padding:12px 18px;color:var(--muted);font-size:12px;line-height:1.5}
.section-loading::before{content:'';width:70px;height:10px;border-radius:5px;flex-shrink:0}
.section-loading.has-error{flex-wrap:wrap}
.section-loading.has-error::before{display:none}
.content-reveal{animation:content-reveal .24s ease-out both}
@keyframes skeleton-shimmer{from{background-position:150% 0}to{background-position:-100% 0}}
@keyframes content-reveal{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace-skeleton{padding:12px 14px 28px;gap:18px}.skeleton-grid{grid-template-columns:minmax(0,1fr);gap:18px}.skeleton-summary{grid-template-columns:64px minmax(0,1fr);padding:20px;min-height:150px}.skeleton-circle{width:64px;height:64px}.skeleton-card{min-height:190px}}
@media(prefers-reduced-motion:reduce){.skeleton-circle,.skeleton-line,.content-is-loading::after,.section-loading::before,.content-reveal{animation:none!important}}

/* Page-shaped placeholders mirror the real content instead of repeating one grid. */
.workspace-skeleton{padding:0 16px 28px}
.sk-content{display:grid;gap:20px;min-width:0}
.workspace-skeleton>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sk-surface{display:grid;gap:16px;min-width:0;box-sizing:border-box;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 3px 14px #21113d04}
.sk-bar,.sk-avatar,.sk-folder{display:block;background:linear-gradient(100deg,var(--line) 20%,var(--surface) 45%,var(--line) 70%);background-size:250% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:7px;flex-shrink:0}
.sk-bar{height:12px;width:85%;max-width:100%}
.sk-bar:nth-child(2n){width:62%}.sk-bar:nth-child(3n){width:74%}
.sk-avatar{width:64px;height:64px;border-radius:50%}.sk-folder{width:44px;height:44px;border-radius:12px}
.sk-dashboard-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:20px}
.sk-welcome{grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:190px}.sk-welcome>div{display:grid;gap:20px}
.sk-date{min-height:190px;align-content:center;gap:22px}
.sk-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sk-metrics>.sk-surface{min-height:155px}.sk-metrics .sk-bar:nth-child(2){height:32px;width:28%}
.sk-dashboard-bottom{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:20px}
.sk-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sk-gallery-card{min-height:240px;align-content:start;gap:24px}
[data-skeleton-page=employees] .sk-gallery-card{align-items:center;justify-items:center;min-height:280px}
.sk-card-foot{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:18px;width:100%;margin-top:4px}.sk-card-foot .sk-bar{height:10px;max-width:36%}
.sk-register{padding:0;overflow:hidden}.sk-table{display:grid;min-width:0;width:100%}
.sk-table-head,.sk-table-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:24px;min-height:60px;padding:0 20px;border-bottom:1px solid var(--line)}
.sk-table-head{min-height:50px;background:color-mix(in srgb,var(--line) 35%,var(--surface))}.sk-table-row:last-child{border-bottom:0}.sk-table-head .sk-bar{height:10px}
.sk-group{padding:0;overflow:hidden}.sk-group-title{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:20px;border-bottom:1px solid var(--line)}.sk-group-title .sk-bar:first-child{width:30%}.sk-group-title .sk-bar:last-child{width:12%}
.sk-tabs{display:flex;gap:12px;max-width:260px;padding:10px;border-radius:14px;background:var(--surface)}.sk-tabs .sk-bar{width:65px;height:28px}
.sk-gantt{display:grid;grid-template-columns:30% minmax(0,1fr);gap:0;min-height:480px;padding:0;overflow:hidden}
.sk-gantt-names{display:grid;align-content:start;gap:43px;padding:28px 18px;border-right:1px solid var(--line)}
.sk-gantt-timeline{display:grid;align-content:start;gap:39px;padding:28px 16px;background:repeating-linear-gradient(to right,transparent 0,transparent 59px,var(--line) 60px)}.sk-gantt-timeline .sk-bar{height:20px}.sk-gantt-timeline .sk-bar:nth-child(2n){margin-left:18%;width:48%}.sk-gantt-timeline .sk-bar:nth-child(3n){margin-left:30%;width:55%}
.sk-expense-total{grid-template-columns:minmax(0,1fr) 180px;align-items:center;min-height:150px}.sk-expense-total>div{display:grid;gap:20px}.sk-expense-total .sk-total{height:40px;width:100%}
.sk-expense-row{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:86px}.sk-expense-row .sk-bar:first-child{width:40%}.sk-expense-row .sk-bar:last-child{width:18%}
.sk-profile{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:20px}.sk-profile-card{justify-items:center;align-content:start;gap:28px}.sk-profile-fields{min-height:420px;gap:28px}.sk-profile-fields .sk-bar{height:24px}
.sk-settings{display:grid;gap:20px;max-width:900px;min-width:0}.sk-settings>.sk-surface{min-height:180px}.sk-swatches{display:flex;gap:14px;min-width:0}.sk-swatches .sk-bar{height:54px;width:auto;min-width:0;flex:1 1 0;border-radius:12px}
.site-loading .auth-card{visibility:hidden;position:absolute;pointer-events:none}.auth-page .workspace-skeleton{width:min(440px,100%);padding:20px}.sk-auth{min-height:400px;padding:32px;gap:24px}.sk-auth>.sk-bar:nth-last-child(-n+3){height:42px;width:100%}
@media(max-width:1100px){.sk-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace-skeleton{padding:0 14px 24px}.sk-content{gap:16px}.sk-gallery,.sk-dashboard-top,.sk-dashboard-bottom,.sk-profile{grid-template-columns:minmax(0,1fr)}.sk-metrics{gap:10px}.sk-metrics>.sk-surface{padding:14px;min-height:130px}.sk-date{min-height:110px}.sk-table-head,.sk-table-row{gap:14px;padding:0 14px;min-height:55px}.sk-gallery-card{min-height:220px}.sk-expense-total{grid-template-columns:minmax(0,1fr) 100px}.sk-gantt{grid-template-columns:38% minmax(0,1fr);min-height:400px}.sk-profile-card{min-height:200px}}
@media(prefers-reduced-motion:reduce){.sk-bar,.sk-avatar,.sk-folder{animation:none}}
