/* AURORA 12.7 / Motion + Analytics — intentionally light and theme-safe.
   All expensive effects are short lived. No continuous scroll-driven animation. */
:root{--aurora-ease:cubic-bezier(.20,.85,.25,1);--aurora-ease-soft:cubic-bezier(.25,.7,.3,1)}
body.admin-surface{--chart-primary:#526df0;--chart-secondary:#42bdbb;--chart-ink:#273855;--chart-muted:#8495aa;--chart-line:#e6ebf5}
body.public-surface{--chart-primary:#5a71ec;--chart-secondary:#54c1d4;--chart-ink:#293953;--chart-muted:#8392a9;--chart-line:#e7ecf6}

/* Delayed app loader — the markup remains hidden when JS is disabled. */
.aurora-boot-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .27s ease,visibility .27s ease;
  background:radial-gradient(circle at 24% 12%,rgba(79,112,225,.13),transparent 42%),
    radial-gradient(circle at 80% 75%,rgba(51,191,204,.11),transparent 38%),rgba(246,249,255,.95)}
html.aurora-boot-visible:not(.aurora-boot-done) .aurora-boot-loader{opacity:1;visibility:visible;pointer-events:auto}
.aurora-boot-card{position:relative;isolation:isolate;width:min(380px,100%);padding:38px 32px 32px;text-align:center;
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(248,251,255,.96));
  border:1px solid rgba(126,149,224,.17);border-radius:30px;
  box-shadow:0 32px 90px rgba(42,65,132,.17),inset 0 1px #fff;overflow:hidden}
.aurora-boot-card::before{content:"";position:absolute;z-index:-1;left:-120px;top:-125px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(118,133,253,.12),transparent 70%)}
.aurora-orbit{position:relative;display:grid;place-items:center;width:114px;height:114px;margin:0 auto 22px}
.aurora-orbit::before,.aurora-orbit::after{content:"";position:absolute;border-radius:50%;inset:3px;border:1.5px solid rgba(87,112,235,.19)}
.aurora-orbit::after{inset:16px;border-style:dashed;border-color:rgba(84,194,205,.22)}
.aurora-orbit-ring{position:absolute;inset:3px;border-radius:50%;border:2px solid transparent;border-top-color:#6378ef;border-right-color:#47c8c3;animation:auroraOrbit 1.45s linear infinite}
.aurora-orbit-mark{display:grid;place-items:center;width:60px;height:60px;border-radius:19px;font-size:27px;font-weight:900;letter-spacing:-.07em;color:#fff;
  background:linear-gradient(145deg,#637af4,#8870ef 53%,#54d1d4);box-shadow:0 13px 26px rgba(92,115,231,.25)}
.aurora-orbit-particle{position:absolute;right:7px;top:15px;width:9px;height:9px;border-radius:50%;background:#66cfc8;box-shadow:0 0 0 6px rgba(102,207,200,.13)}
.aurora-boot-card h2{margin:0;font-size:26px;letter-spacing:-.05em;color:#26375b;font-weight:900}
.aurora-boot-card h2 em{font-size:11px;letter-spacing:.25em;font-weight:850;font-style:normal;color:#647aec;vertical-align:middle;margin-left:7px}
.aurora-boot-card p{margin:10px 0 22px;color:#75859f;font-size:13px;line-height:1.7}
.aurora-loader-track{height:6px;background:#eaf0fc;border-radius:999px;overflow:hidden}
.aurora-loader-track i{display:block;height:100%;width:36%;border-radius:inherit;background:linear-gradient(90deg,#697ced,#53c3cf);
  box-shadow:0 0 12px rgba(87,127,232,.25);animation:auroraProgress 1.6s var(--aurora-ease) infinite}
.aurora-boot-foot{display:block;margin-top:16px;font-size:10px;letter-spacing:.16em;color:#9ca9c1;font-weight:850}
@keyframes auroraOrbit{to{transform:rotate(360deg)}}
@keyframes auroraProgress{0%{transform:translateX(-120%)}50%{transform:translateX(160%)}100%{transform:translateX(365%)}}

/* Professional data surfaces / contrast consistent with both admin and user workspaces. */
:is(body.admin-surface,body.public-surface) .premium-chart-grid{
  gap:16px}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-card{
  position:relative;isolation:isolate;overflow:hidden;padding:22px 22px 18px;
  background:linear-gradient(165deg,#fff 0%,#fcfdff 62%,#f8faff 100%)!important;
  border:1px solid rgba(118,137,194,.16)!important;border-radius:24px!important;
  box-shadow:0 10px 30px rgba(45,65,117,.055),inset 0 1px 0 rgba(255,255,255,.94)!important;
  transition:border-color .26s ease,box-shadow .28s ease,transform .30s var(--aurora-ease)}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-card:before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:5px;
  background:linear-gradient(90deg,#6e83f6,#57c2d6,transparent);opacity:.86}
@media(hover:hover) and (pointer:fine){
 :is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-card:hover{transform:translateY(-3px);box-shadow:0 22px 46px rgba(45,65,117,.11)!important;border-color:rgba(108,130,228,.30)!important}
 :is(body.admin-surface,body.public-surface) .metric-card:hover{transition:transform .27s var(--aurora-ease),box-shadow .27s ease;transform:translateY(-3px)}
}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-title{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-title :is(h2,h3){font-size:18px;line-height:1.3;font-weight:850;letter-spacing:-.025em;color:var(--chart-ink);margin:5px 0 0}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-title span:not(.badge){font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--chart-muted)}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-title .badge{font-size:10px;letter-spacing:.08em;border-radius:999px;padding:8px 11px;background:#eef2ff;color:#5a72ce;border:1px solid #dce5ff}
:is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-host{position:relative;min-width:0;overflow:hidden;width:100%;
  background:linear-gradient(180deg,rgba(246,249,255,.55),rgba(252,253,255,.70))!important;
  border:1px solid rgba(128,148,209,.10);border-radius:17px;padding:8px 4px 4px}
.aurora-data-svg{display:block;width:100%;height:100%;overflow:visible;touch-action:pan-y}
.aurora-gridline{stroke:var(--chart-line);stroke-width:1;stroke-dasharray:3 6}
.aurora-gridline.is-baseline{stroke-dasharray:none;stroke-width:1.25}
.aurora-axis-label{fill:var(--chart-muted);font-size:10px;font-family:Inter,system-ui,'Microsoft YaHei',sans-serif;font-weight:650;font-variant-numeric:tabular-nums}
.aurora-trend-path{fill:none;stroke-width:3.25;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 4px rgba(84,110,226,.10))}
.aurora-area-path{opacity:.95}
.aurora-hover-line{stroke:#90a3cb;stroke-width:1.4;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.aurora-hover-halo{fill:rgba(80,113,236,.13);stroke:rgba(91,116,234,.12);stroke-width:1}
.aurora-hover-dot{fill:#fff;stroke:#5874ec;stroke-width:2.8;vector-effect:non-scaling-stroke}
.aurora-chart-hit{cursor:crosshair;outline:none}
.aurora-chart-hit:focus-visible{stroke:#6077ea;stroke-width:2}
.aurora-bar,.aurora-hbar{cursor:crosshair;filter:drop-shadow(0 3px 3px rgba(81,111,225,.10));transition:opacity .18s ease}
.aurora-bar:hover,.aurora-hbar:hover,.aurora-bar:focus,.aurora-hbar:focus{opacity:.72;outline:none}
.aurora-bar-track{fill:#edf1fa}
.aurora-value-label{fill:#546784;font-size:10px;font-weight:750;font-family:Inter,system-ui,sans-serif}
.aurora-chart-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f8}
.aurora-chart-meta>span{min-width:0;display:flex;align-items:center;gap:6px;justify-content:center;border-radius:10px;padding:6px 7px;background:#f6f8fe}
.aurora-chart-meta small{font-size:10px;font-weight:750;color:#8292aa;white-space:nowrap}.aurora-chart-meta b{font-size:11px;font-variant-numeric:tabular-nums;color:#324e85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aurora-chart-tooltip{position:fixed;top:0;left:0;z-index:10010;min-width:115px;max-width:230px;padding:11px 13px;
  border:1px solid rgba(111,134,213,.16);border-radius:13px;
  background:rgba(29,44,79,.97);color:#f4f7ff;box-shadow:0 15px 36px rgba(29,43,82,.20);
  pointer-events:none;transform:translateZ(0);font-size:12px}
.aurora-chart-tooltip[hidden]{display:none!important}.aurora-chart-tooltip span{display:block;color:#a8badf;font-size:11px;line-height:1.4}.aurora-chart-tooltip strong{display:block;color:#fff;font-size:16px;margin-top:4px;font-variant-numeric:tabular-nums}
.aurora-chart-empty{display:grid;place-items:center;height:100%;font-size:13px;color:#8796ad}
.aurora-donut-layout{display:grid;grid-template-columns:minmax(130px,.86fr) minmax(140px,1fr);gap:12px;align-items:center;width:100%;height:100%;padding:4px}
.aurora-donut-svg{display:block;width:min(100%,186px);height:auto;margin:auto;overflow:visible}
.aurora-donut-track{stroke:#edf1fa;stroke-width:17}
.aurora-donut-segment{stroke-width:17;stroke-linecap:round;cursor:crosshair;transition:stroke-width .2s var(--aurora-ease),opacity .2s ease}
.aurora-donut-segment:hover,.aurora-donut-segment:focus,.aurora-donut-segment.is-active{stroke-width:21;outline:none}
.aurora-donut-total{fill:#253957;font-size:22px;font-weight:900;letter-spacing:-.04em;font-family:Inter,system-ui,sans-serif}
.aurora-donut-caption{fill:#91a0b5;font-size:11px;font-weight:700;font-family:Inter,system-ui,sans-serif}
.aurora-donut-legend{display:grid;gap:6px;max-width:100%}.aurora-donut-legend-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:rgba(246,249,255,.80);font-size:11px;color:#6f8098;min-width:0}
.aurora-donut-legend-row>span{display:flex;align-items:center;gap:7px;min-width:0}.aurora-donut-legend-row i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--legend-color)}
.aurora-donut-legend-row>span>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aurora-donut-legend-row strong{font-weight:850;font-variant-numeric:tabular-nums;color:#334765;white-space:nowrap}
.aurora-chart-enter .aurora-trend-path{stroke-dasharray:var(--aurora-path-length);stroke-dashoffset:var(--aurora-path-length);animation:auroraDraw .85s var(--aurora-ease) forwards}
.aurora-chart-enter .aurora-area-path{animation:auroraFade .7s ease both}
@keyframes auroraDraw{to{stroke-dashoffset:0}}@keyframes auroraFade{from{opacity:0}to{opacity:.95}}

/* Crisp typography and carefully restrained easing. */
:is(body.admin-surface,body.public-surface) :is(.metric-card,.home-pool-card,.public-model-card,.quick-action){transition:transform .28s var(--aurora-ease),box-shadow .28s ease,border-color .28s ease}
:is(body.admin-surface,body.public-surface) :is(.module-heading h2,.chart-title h3,.chart-title h2){text-wrap:balance}
:is(body.admin-surface,body.public-surface) button:focus-visible,
:is(body.admin-surface,body.public-surface) a:focus-visible{outline:2px solid #6d84f2;outline-offset:3px}
.studio-status.loading{position:relative;padding-left:48px!important;min-height:48px;background:linear-gradient(110deg,#f1f4ff,#f3fcff)!important;border:1px solid #dbe7fc!important;color:#4866a4!important}
.studio-status.loading:before{content:"";position:absolute;left:17px;top:50%;width:19px;height:19px;margin-top:-10px;border:2px solid rgba(85,114,239,.20);border-top-color:#6079ed;border-radius:50%;animation:auroraOrbit .8s linear infinite}

@media(max-width:820px){
 :is(body.admin-surface,body.public-surface) .premium-chart-grid{gap:10px}
 :is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-card{padding:14px 12px 12px!important;border-radius:18px!important;box-shadow:0 6px 17px rgba(45,65,117,.05)!important}
 :is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-title{margin-bottom:10px}
 :is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-title :is(h2,h3){font-size:15px!important}
 :is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-host{padding:4px 2px!important;border-radius:13px}
 .aurora-chart-meta{gap:5px;margin-top:9px;padding-top:9px}
 .aurora-chart-meta>span{display:grid;justify-items:center;padding:7px 3px;gap:2px}
 .aurora-chart-meta small{font-size:9px}.aurora-chart-meta b{font-size:10px;max-width:100%}
 .aurora-donut-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:5px;padding:1px}
 .aurora-donut-svg{max-width:150px}.aurora-donut-legend{gap:4px}.aurora-donut-legend-row{padding:7px 6px;font-size:10px}.aurora-donut-legend-row strong{font-size:10px}
 .aurora-boot-card{padding:32px 24px 28px;border-radius:25px}
}
@media(max-width:350px){.aurora-donut-layout{grid-template-columns:1fr}.aurora-donut-svg{max-width:115px}.aurora-chart-meta>span{padding:6px 2px}.aurora-chart-meta b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.aurora-boot-loader,.aurora-boot-loader *,.aurora-chart-enter *,
 :is(body.admin-surface,body.public-surface) .premium-chart-grid .chart-card{animation:none!important;transition:none!important}}
html[data-desktop-motion="off"] .aurora-boot-loader *,html[data-mobile-motion="off"] .aurora-boot-loader *{animation:none!important}
/* Slow navigations may show the same loader on the old page before it leaves. */
html.aurora-nav-loading .aurora-boot-loader{opacity:1;visibility:visible;pointer-events:auto}
