.workspace-loading{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(ellipse at 50% 35%,#242528,#101113 65%);color:#efeff1;padding:32px;text-align:center}
.workspace-loading p{margin:0;font-size:1.0625rem;font-weight:500;letter-spacing:.01em}
.relos-loader{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 auto;border:1px solid #898b913b;border-radius:50%;color:#276ef1}
.relos-loader:before{content:"";position:absolute;inset:5px;border:2px solid transparent;border-top-color:currentColor;border-right-color:currentColor;border-radius:50%;animation:relos-orbit 1.15s linear infinite}
.relos-loader>span{width:12px;height:12px;border-radius:3px;background:currentColor;transform:rotate(45deg);animation:relos-core 2.3s ease-in-out infinite}
.relos-loader-small{width:24px;height:24px;border:0}
.relos-loader-small:before{inset:2px;border-width:2px;border-top-color:currentColor;border-right-color:transparent;border-bottom-color:currentColor}
.relos-loader-small>span{width:4px;height:4px;border-radius:50%;animation:none;transform:none}
.loading-status{display:inline-flex;align-items:center;gap:10px;min-height:28px;color:#65666b;font-size:.9375rem;font-weight:500}
.loading-status .relos-loader{color:#000}.btn[aria-busy="true"]{gap:9px;cursor:wait}.btn[aria-busy="true"] .relos-loader{color:currentColor}.btn[aria-busy="true"]:disabled{opacity:.85}
.skeleton{--sk-fill:#e9e9eb;--sk-edge:#ededee;min-width:0}
.sk-surface{position:relative;overflow:hidden;background:#fff;border:1px solid #e4e4e5;border-radius:10px;min-width:0}
.sk-surface:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#ffffff9c 50%,transparent 80%);transform:translateX(-100%);animation:relos-shimmer 1.9s ease-in-out infinite;pointer-events:none}
.sk-line{display:block;max-width:100%;width:55%;height:13px;background:var(--sk-fill);border-radius:4px}
.sk-short{width:35%}.sk-long{width:78%}.sk-value{width:44%;height:32px;margin:26px 0 20px}.sk-heading{height:20px;width:34%;margin:0 0 27px}.sk-badge{width:84px;height:28px;border-radius:6px}.sk-input{display:block;width:100%;height:48px;background:#f3f3f4;border:1px solid var(--sk-edge);border-radius:6px;margin-top:12px}
.sk-stat{padding:24px;min-height:169px}.sk-panel{padding:24px}.sk-panel .sk-table{margin:0 -24px -24px}.sk-table-head,.sk-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid var(--sk-edge)}
.sk-table-head{background:#f8f8f9;padding-top:16px;padding-bottom:16px}.sk-table-head .sk-line{height:10px;width:65%}.sk-row{min-height:91px}.sk-row>div .sk-line+.sk-line{margin-top:12px;height:11px}.sk-row:last-child{border-bottom:0}.sk-row>.sk-short{width:70%}
.sk-followups>div{display:flex;gap:18px;align-items:center;min-height:80px;border-bottom:1px solid var(--sk-edge)}.sk-followups>div:last-child{border:0}.sk-icon{display:block;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:#f0f0f2}
.sk-enquiries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sk-enquiries>div{padding:18px;border:1px solid var(--sk-edge);border-radius:8px}.sk-enquiries .sk-line+.sk-line{margin-top:24px}
.sk-filters{display:flex;align-items:center;gap:16px;padding:24px;border-bottom:1px solid var(--sk-edge)}.sk-search{width:40%;height:48px;background:#f7f7f8;border:1px solid var(--sk-edge)}.sk-control{height:48px;width:170px;background:#f7f7f8;border:1px solid var(--sk-edge)}.sk-button{height:48px;width:100px}.sk-pagination{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-top:1px solid var(--sk-edge)}.sk-pagination>.sk-short{width:80px}.sk-pagination>.sk-control{height:36px;width:150px}
.skeleton>.sk-filters{padding:0;border:0;margin-bottom:24px}.sk-chart>div{display:flex;align-items:center;gap:20px;margin:26px 0}.sk-chart .sk-short{width:45px;flex-shrink:0}.sk-bar{display:block;background:var(--sk-fill);width:var(--sk-bar);height:23px;border-radius:4px}.sk-settings{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:24px}.sk-avatar{display:block;background:var(--sk-fill);width:80px;height:80px;border-radius:50%;margin-bottom:24px}.sk-avatar~.sk-line{margin-top:16px}.sk-fields{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}.sk-fields .sk-short{width:90px}.sk-modal{margin-top:24px}.sk-modal>.sk-surface{border:0;border-radius:0;padding:0}.sk-modal .sk-heading~.sk-long{margin-bottom:28px}
@keyframes relos-orbit{to{transform:rotate(360deg)}}
@keyframes relos-core{50%{opacity:.45;transform:rotate(135deg) scale(.85)}}
@keyframes relos-shimmer{to{transform:translateX(100%)}}
@media(max-width:900px){.page-loading .page-heading{align-items:flex-start;gap:12px}.loading-status{font-size:.875rem}.sk-stat{padding:18px;min-height:151px}.sk-value{height:28px;margin:23px 0 18px}.sk-panel{padding:20px}.sk-panel .sk-table{margin:0 -20px -20px}.sk-enquiries{grid-template-columns:1fr}.sk-settings{grid-template-columns:1fr}.sk-filters{padding:20px;flex-wrap:wrap;gap:12px}.sk-search{width:100%}.sk-control{flex:1;min-width:0}.sk-button{width:95px}.sk-table-head{display:none}.sk-row{grid-template-columns:1fr 1fr;padding:20px;gap:20px 16px;min-height:133px}.sk-row>div{grid-column:1/-1}.sk-row>div .sk-line{width:58%}.sk-row>div .sk-short{width:36%}.sk-row>.sk-short{width:90px;margin-left:auto}.sk-panel .sk-row{min-height:133px}.sk-fields{grid-template-columns:1fr;gap:22px}.sk-pagination{padding:20px}.sk-pagination>.sk-control{flex:none;width:110px}.sk-heading{width:50%}.sk-records{background:transparent;border:0;overflow:hidden}.sk-records>.sk-filters{background:#fff;border:1px solid #e4e4e5;border-radius:12px}.sk-records>.sk-table{display:grid;gap:12px;margin-top:12px}.sk-records .sk-row{background:#fff;border:1px solid #e4e4e5;border-radius:10px}.sk-records>.sk-pagination{background:#fff;border:1px solid #e4e4e5;border-radius:12px;margin-top:12px}.sk-records:after{inset:0;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.relos-loader:before,.relos-loader>span,.sk-surface:after{animation:none}.sk-surface:after{display:none}}
@media print{.workspace-loading,.page-loading,.sk-modal{display:none!important}}
