/* Loading and service upload presentation, shared by app and admin. */
html{background:var(--color-surface-page,#f6f7fb)}
html[data-theme="dark"]{background:var(--color-surface-page,#11131a)}
.boot{box-sizing:border-box;position:fixed;inset:0;z-index:1000;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100dvh;padding:28px;text-align:center;color:var(--color-text-primary,#24242d);background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--color-brand-primary,#6657dc) 10%,transparent) 0,transparent 48%),var(--color-surface-page,#f6f7fb);isolation:isolate}
html[data-theme="dark"] .boot{color:var(--color-text-primary,#f4f4f7);background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--color-brand-primary,#8b7cf6) 12%,transparent) 0,transparent 48%),var(--color-surface-page,#11131a)}
.boot .boot-logo,.boot .brandmark{box-sizing:border-box;display:grid!important;place-items:center;position:relative;width:88px!important;height:88px!important;margin:0 0 18px!important;border-radius:28px!important;background:linear-gradient(145deg,var(--color-brand-primary,#6657dc),var(--color-brand-primary-strong,#5143c7))!important;color:white!important;box-shadow:0 14px 34px color-mix(in srgb,var(--color-brand-primary,#6657dc) 18%,transparent),inset 0 1px 0 #ffffff45;font:700 44px/1 system-ui}
.boot .boot-logo:after,.boot .brandmark:after{content:"";position:absolute;inset:-12px;border:1px solid color-mix(in srgb,var(--color-brand-primary,#6657dc) 24%,transparent);border-top:2px solid var(--color-brand-primary,#6657dc);border-radius:36px;animation:vista-boot-orbit 3s ease-in-out infinite}
.boot>strong,.boot>b{font-size:22px;letter-spacing:-.4px}.boot>small{min-height:24px;opacity:.7;font-size:13px;max-width:30em;line-height:1.8}
.boot .loader{display:block!important;width:128px!important;height:4px!important;border:0!important;border-radius:6px!important;background:color-mix(in srgb,var(--color-brand-primary,#6657dc) 14%,transparent)!important;overflow:hidden;margin:10px 0;animation:none!important}
.boot .loader:after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:var(--color-brand-primary,#6657dc);animation:vista-boot-progress 1.05s ease-in-out infinite}
@keyframes vista-boot-orbit{50%{transform:rotate(8deg) scale(1.05);opacity:.5}}
@keyframes vista-boot-progress{from{transform:translateX(-140%)}to{transform:translateX(330%)}}
.service-form-panel .service-form-topbar{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;display:flex;justify-content:space-between;padding:0!important;min-height:44px;position:relative}
.service-form-topbar .icon-btn{width:44px;height:44px;border-radius:50%;border:0;box-shadow:none}
.service-upload{border:1px solid var(--color-border-default,#d9e6df);border-radius:20px;overflow:hidden;background:var(--color-surface-card,#fff)}
.service-upload-zone{display:flex!important;position:relative;flex-direction:column;align-items:center;gap:8px;padding:25px 16px!important;min-height:155px;justify-content:center;text-align:center;background:linear-gradient(145deg,#1686760b,transparent);cursor:pointer;border:1px dashed #16867650;border-radius:19px;margin:0!important}
.service-upload-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#16867616;color:#168676;font-size:23px}
.service-upload-zone>b{font-size:14px}.service-upload-zone>small{font-size:12px;opacity:.7;line-height:1.8}
.service-upload-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}
.service-upload-zone:focus-within,.service-upload.is-dragging{outline:2px solid #168676;outline-offset:3px}
.service-upload-file{display:flex;align-items:center;gap:12px;padding:12px;border-top:1px solid #16867618;min-width:0}
.service-upload-preview{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;overflow:hidden;background:#16867612;color:#168676}
.service-upload-preview img{width:100%;height:100%;object-fit:cover}.service-upload-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.service-upload-info b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:start}.service-upload-info small{font-size:11px;opacity:.65}.service-upload-file button{flex:none;width:36px;height:36px}.service-upload progress{width:calc(100% - 24px);height:5px;accent-color:#168676;margin:10px 12px}.service-upload progress[hidden]{display:none}
html[data-theme="dark"] .service-upload{background:#1a2c26;border-color:#304a3e}
@media(prefers-reduced-motion:reduce){.boot *,.boot :after{animation:none!important}}
