.sofl-loading-spinner { display:inline-block; flex:0 0 auto; width:1em; height:1em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; vertical-align:middle; animation:sofl-loading-spin .8s linear infinite; }
.sofl-loading-button:disabled, .sofl-loading-button[aria-disabled="true"] { opacity:.9; }
.sofl-loading-button { position:relative; cursor:wait; }
.sofl-loading-original { display:inline-flex; align-items:center; gap:inherit; visibility:hidden; }
.sofl-loading-indicator { position:absolute; inset:0; justify-content:center; display:inline-flex; align-items:center; gap:.5em; margin-left:.45em; }
.sofl-loading-relabel .sofl-loading-original { position:absolute; visibility:hidden; pointer-events:none; }
.sofl-loading-relabel .sofl-loading-indicator { position:relative; inset:auto; margin-left:0; }
.sofl-loading-section { min-height:2.5rem; }
.sofl-loading-section-feedback { position:absolute; inset:0; z-index:8; overflow:hidden; pointer-events:none; border-radius:inherit; }
.sofl-loading-status { position:absolute; z-index:1; top:.65rem; right:.65rem; display:flex; align-items:center; gap:.5rem; max-width:calc(100% - 1.3rem); padding:.45rem .75rem; border:1px solid rgba(201,152,47,.3); border-radius:8px; background:#fffcf4; color:#0b1f3a; font-size:.8rem; box-shadow:0 4px 14px rgba(15,23,42,.08); }
.sofl-loading-status .sofl-loading-spinner { color:#a67c2f; }
.sofl-loading-skeletons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-content:start; min-height:100%; padding:3.25rem .5rem .5rem; background:rgba(255,255,255,.88); }
.sofl-loading-skeleton { display:flex; flex-direction:column; gap:1rem; min-height:180px; padding:1.25rem; border:1px solid #e5e7eb; border-radius:12px; background:#fff; }
.sofl-loading-skeleton span { display:block; height:14px; border-radius:5px; background:linear-gradient(90deg,#efede7 25%,#faf8f1 50%,#efede7 75%); background-size:200% 100%; animation:sofl-loading-shimmer 1.5s ease-in-out infinite; }
.sofl-loading-skeleton span:first-child { width:60%; }.sofl-loading-skeleton span:last-child { width:80%; margin-top:auto; }
.sofl-loading-skeletons-table { grid-template-columns:1fr; gap:.6rem; }.sofl-loading-skeletons-table .sofl-loading-skeleton { min-height:40px; flex-direction:row; padding:.75rem; }
.sofl-loading-skeletons-statistics .sofl-loading-skeleton { min-height:100px; }
.sofl-loading-skeletons-video .sofl-loading-skeleton span:first-child { width:100%; height:90px; }
.sofl-loading-page { position:fixed; top:0; left:0; width:100%; height:3px; z-index:1090; background:rgba(11,31,58,.1); pointer-events:none; overflow:hidden; }
.sofl-loading-page-track { display:block; height:100%; width:35%; background:#bb8c2b; animation:sofl-loading-page 1.2s ease-in-out infinite; }
.sofl-loading-page-public { height:100%; background:rgba(255,255,255,.78); }
.sofl-loading-page-public .sofl-loading-page-track { height:3px; }
.sofl-loading-page-feedback { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; align-items:center; gap:12px; padding:20px 28px; border:1px solid #eadcbd; border-radius:14px; background:#fffdf7; color:#08264c; font:600 16px/1.5 Inter,Arial,sans-serif; box-shadow:0 12px 40px #08264c14; }
.sofl-loading-page-feedback .sofl-loading-spinner { width:28px; height:28px; color:#bb8c2b; border-width:3px; }
.sofl-loading-overlay { position:fixed; inset:0; z-index:1100; display:grid; place-items:center; padding:1rem; background:rgba(6,19,40,.76); }
.sofl-loading-overlay-panel { display:flex; align-items:center; gap:.8rem; max-width:420px; padding:1.25rem 1.5rem; border:1px solid rgba(201,152,47,.4); border-radius:14px; background:#fffdf7; color:#0b1f3a; box-shadow:0 20px 60px rgba(0,0,0,.2); }
.sofl-loading-overlay .sofl-loading-spinner { color:#a67c2f; width:1.4em; height:1.4em; }
@keyframes sofl-loading-spin { to { transform:rotate(360deg); } }
@keyframes sofl-loading-shimmer { to { background-position:-200% 0; } }
@keyframes sofl-loading-page { from { transform:translateX(-100%); } to { transform:translateX(385%); } }
@media(max-width:575.98px) { .sofl-loading-skeletons { grid-template-columns:1fr !important; }.sofl-loading-skeleton:nth-child(n+2){display:none;} }
@media(prefers-reduced-motion:reduce) { .sofl-loading-spinner,.sofl-loading-skeleton span,.sofl-loading-page-track { animation:none; }.sofl-loading-page-track { width:100%; } }


.sofl-loading-section :is(.dataTables_processing,.dt-processing) { display:none !important; }
