:root{--ux35-z:1500;--ux35-danger:#b42318;--ux35-warning:#9a6700;--ux35-info:#175cd3;--ux35-success:#08704f}
#oiloraRouteProgress{position:fixed;inset:0 0 auto 0;height:3px;z-index:var(--ux35-z);pointer-events:none;overflow:hidden;background:transparent}
#oiloraRouteProgress::after{content:"";display:block;width:42%;height:100%;background:var(--oilora-primary-500,#18ebb0);box-shadow:0 0 18px color-mix(in srgb,var(--oilora-primary-500,#18ebb0) 55%,transparent);animation:ux35-route 1.05s cubic-bezier(.4,0,.2,1) infinite}
@keyframes ux35-route{0%{transform:translateX(240%)}100%{transform:translateX(-340%)}}
#oiloraRouteNotice{position:fixed;inset-inline-end:18px;top:76px;z-index:calc(var(--ux35-z) - 1);display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 12px;border:1px solid var(--oilora-border,#dfe7e3);border-radius:12px;background:color-mix(in srgb,#fff 94%,var(--oilora-primary-50,#effcf7));box-shadow:var(--oilora-shadow-md,0 12px 35px rgba(16,24,20,.12));color:var(--oilora-text-secondary,#405047);font-size:11px;font-weight:800;opacity:0;transform:translateY(-6px);animation:ux35-notice .18s ease forwards}
#oiloraRouteNotice i,.ux35-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--oilora-primary-500,#18ebb0) 22%,#d9e2de);border-top-color:var(--oilora-primary-700,#0e8f69);border-radius:50%;animation:ux35-spin .72s linear infinite;flex:0 0 auto}
@keyframes ux35-spin{to{transform:rotate(360deg)}}@keyframes ux35-notice{to{opacity:1;transform:none}}
html[data-oilora-route-busy="1"] #app{cursor:progress}

.oilora-offline-bar,.ux35-network-banner{position:fixed;inset:0 0 auto 0;z-index:calc(var(--ux35-z) + 10);min-height:38px;padding:8px 18px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff8e8;border-bottom:1px solid #f1d596;color:#6d4c00;font-size:12px;font-weight:800;text-align:center;box-shadow:0 4px 16px rgba(88,64,0,.08)}
.oilora-offline-bar[hidden]{display:none!important}.ux35-network-banner.is-online{background:#ecfdf5;border-color:#b7ebd2;color:#08704f}

.ux35-state{min-height:260px;display:grid;place-items:center;padding:32px 20px;border:1px solid var(--oilora-border,#dfe7e3);border-radius:20px;background:var(--oilora-surface,#fff);text-align:center;box-shadow:var(--oilora-shadow-xs,0 1px 2px rgba(16,24,20,.03))}
.ux35-state__inner{width:min(440px,100%)}.ux35-state__icon{width:56px;height:56px;margin:0 auto 14px;border-radius:17px;display:grid;place-items:center;border:1px solid var(--oilora-border,#dfe7e3);background:var(--oilora-surface-subtle,#f8faf9);font-size:23px;font-weight:900;color:var(--oilora-text-muted,#687970)}
.ux35-state h2,.ux35-state h3{margin:0 0 7px;color:var(--oilora-text,#17211c);font-size:18px;line-height:1.55}.ux35-state p{margin:0 auto;color:var(--oilora-text-muted,#687970);font-size:12px;line-height:1.95;max-width:390px}.ux35-state__meta{margin-top:9px;font-size:10px;color:var(--oilora-text-subtle,#87958e);direction:ltr;overflow-wrap:anywhere}.ux35-state__actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:17px}
.ux35-state--error .ux35-state__icon{background:#fff5f4;border-color:#f0d0cc;color:var(--ux35-danger)}.ux35-state--permission .ux35-state__icon,.ux35-state--locked .ux35-state__icon{background:#fff8ed;border-color:#f1dfbd;color:var(--ux35-warning)}.ux35-state--offline .ux35-state__icon{background:#f3f7fd;border-color:#dbe6f7;color:var(--ux35-info)}.ux35-state--success .ux35-state__icon{background:#eefbf5;border-color:#ccebdc;color:var(--ux35-success)}
.ux35-inline-error{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #efd0cd;border-radius:13px;background:#fff6f5;color:#8f2d26;font-size:12px;line-height:1.8}.ux35-inline-error b{display:block;margin-bottom:1px}.ux35-inline-error button{margin-inline-start:auto}
.ux35-loading{display:grid;gap:12px;padding:18px}.ux35-loading__head{display:flex;align-items:center;gap:10px;color:var(--oilora-text-muted,#687970);font-size:12px;font-weight:800}.ux35-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ux35-skeleton-card{height:104px;border-radius:16px;background:linear-gradient(90deg,var(--oilora-surface-muted,#edf2ef) 25%,#fafcfb 50%,var(--oilora-surface-muted,#edf2ef) 75%);background-size:220% 100%;animation:ux35-shimmer 1.25s linear infinite}.ux35-skeleton-line{height:13px;border-radius:8px;background:var(--oilora-surface-muted,#edf2ef)}.ux35-skeleton-line.wide{width:82%}.ux35-skeleton-line.short{width:48%}@keyframes ux35-shimmer{to{background-position:-220% 0}}

:where(.rbac-denied,.plan-locked-page,.route-not-found,.cp-phase7-error){border:1px solid var(--oilora-border,#dfe7e3)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--oilora-shadow-xs,0 1px 2px rgba(16,24,20,.03))!important}
:where(.rbac-denied,.plan-locked-page,.route-not-found){max-width:760px;margin-inline:auto;padding:34px 26px!important;text-align:center}
:where(.rbac-denied,.plan-locked-page,.route-not-found) p{max-width:580px;margin-inline:auto;line-height:1.95;color:var(--oilora-text-muted,#687970)}

@media(max-width:900px){#oiloraRouteNotice{top:68px;inset-inline:12px;width:max-content;max-width:calc(100vw - 24px)}.ux35-skeleton-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#oiloraRouteNotice{display:none}.ux35-state{min-height:220px;padding:26px 16px;border-radius:16px}.ux35-skeleton-grid{grid-template-columns:1fr}.oilora-offline-bar,.ux35-network-banner{font-size:11px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){#oiloraRouteProgress::after,.ux35-spinner,.ux35-skeleton-card{animation:none!important}.ux35-skeleton-card{background:var(--oilora-surface-muted,#edf2ef)}}
#oiloraRouteStalled{position:fixed;inset:0;z-index:calc(var(--ux35-z) + 20);display:grid;place-items:center;padding:20px;background:rgba(18,29,24,.30);backdrop-filter:blur(5px)}#oiloraRouteStalled .ux35-state{width:min(520px,100%);min-height:0;box-shadow:var(--oilora-shadow-lg,0 24px 70px rgba(16,24,20,.22))}
