/* Resilify interface foundation. */
:root { color-scheme:light; --hv-bg:#f5f7fa; --hv-panel:#fff; --hv-panel-soft:#f8fafc; --hv-border:#cbd5e1; --hv-border-soft:#e2e8f0; --hv-text:#172033; --hv-muted:#53627a; --hv-muted-2:#64748b; --hv-brand:#2457d6; --hv-brand-2:#1d4ed8; --hv-brand-soft:#edf3ff; --hv-action:#2457d6; --hv-success:#047857; --hv-warning:#92400e; --hv-danger:#b91c1c; --hv-green-bg:#ecfdf5; --hv-green-border:#a7f3d0; --hv-amber-bg:#fffbeb; --hv-amber-border:#fde68a; --hv-red-bg:#fef2f2; --hv-red-border:#fecaca; --hv-blue-border:#bfdbfe; --hv-radius:12px; --hv-radius-lg:18px; --hv-shadow:0 5px 20px rgba(15,23,42,.035); --hv-shadow-subtle:0 1px 3px rgba(15,23,42,.025); --hv-focus:#2563eb; }
html[data-theme="dark"] { color-scheme:dark; --hv-bg:#15181e; --hv-panel:#1d222b; --hv-panel-soft:#252d39; --hv-border:#465165; --hv-border-soft:#303a49; --hv-text:#ecf1fa; --hv-muted:#b0bfd4; --hv-muted-2:#9aacc5; --hv-brand:#9bbcff; --hv-brand-2:#1d4ed8; --hv-brand-soft:#203558; --hv-action:#2457d6; --hv-success:#6ee7b7; --hv-warning:#fcd34d; --hv-danger:#fda4af; --hv-green-bg:#15392f; --hv-green-border:#28614d; --hv-amber-bg:#3b301c; --hv-amber-border:#71532a; --hv-red-bg:#3c2430; --hv-red-border:#75404e; --hv-blue-border:#3c5e8e; --hv-shadow:none; --hv-shadow-subtle:none; --hv-focus:#93b9ff; }

html { background:var(--hv-bg); }
body { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
[hidden] { display:none!important; }
.hv-icon { width:20px; height:20px; flex:none; stroke:currentColor; }

.hv-shell-v2 { display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh; min-height:100dvh; color:var(--hv-text); background:var(--hv-bg); }
.hv-side { position:sticky; top:0; display:flex; flex-direction:column; height:100vh; height:100dvh; padding:26px 16px 18px; overflow:hidden; background:#111827; color:#d4def0; border-right:1px solid rgba(255,255,255,.07); z-index:60; }
.hv-brand { display:flex; align-items:center; gap:11px; padding:0 10px 23px; color:#fff; font-weight:750; font-size:20px; letter-spacing:-.5px; text-decoration:none; }
.hv-brand img { width:36px; height:36px; object-fit:contain; border-radius:10px; }
.hv-tenant { margin:0 2px 24px; padding:12px 13px; border:1px solid #2b3950; border-radius:11px; background:#19253a; color:#dbe6f8; font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.hv-nav { flex:1; min-height:0; overflow-y:auto; padding:0 2px 16px; }
.hv-nav-link { display:flex; align-items:center; gap:11px; min-height:46px; margin-bottom:5px; padding:11px 13px; border:1px solid transparent; border-radius:11px; color:#b9c7dd; font-size:14px; font-weight:600; text-decoration:none; transition:background .15s,color .15s; }
.hv-nav-link:hover { color:#fff; background:#1c2a41; }
.hv-nav-link.is-active { color:#fff; background:#244ca0; border-color:#335dab; }
.hv-nav-heading { padding:24px 13px 10px; font-size:10px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; color:#96a8c4; }

.hv-account { display:flex; flex-wrap:wrap; align-items:center; gap:11px; padding:18px 8px 0; border-top:1px solid #29364c; }
.hv-avatar { display:flex; align-items:center; justify-content:center; flex:none; width:37px; height:37px; border-radius:12px; background:#2a3c5b; color:#e0eaff; font-size:12px; font-weight:700; }
.hv-account>div:not(.hv-avatar) { min-width:0; flex:1; }
.hv-account-name { color:#edf3ff; font-size:13px; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hv-account-role { margin-top:3px; color:#a9bad3; font-size:11px; }
.hv-account a { color:#b9c7dd; }

.hv-workspace { min-width:0; }
.hv-top { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; padding:14px 32px; border-bottom:1px solid var(--hv-border-soft); background:var(--hv-panel); }
.hv-top>div { display:flex; align-items:center; gap:12px; min-width:0; }
.hv-icon-button,.hv-theme-button,.hv-menu-button,.hv-mobile-close { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:9px 12px; color:var(--hv-text); background:var(--hv-panel); border:1px solid var(--hv-border-soft); border-radius:10px; font-size:13px; font-weight:600; cursor:pointer; text-decoration:none; }
.hv-icon-button:hover,.hv-theme-button:hover,.hv-menu-button:hover { background:var(--hv-panel-soft); border-color:var(--hv-border); }
.hv-menu-button,.hv-mobile-close { display:none; }

.hv-main-content { width:100%; padding:30px 32px 48px; }
.hv-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin:0 auto 26px; }
.hv-page-heading { min-width:0; }
.hv-page-heading h1 { font-size:clamp(24px,2vw,30px); line-height:1.25; font-weight:750; letter-spacing:-.035em; color:var(--hv-text); }
.hv-page-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }

.hv-skip { position:fixed; top:12px; left:12px; z-index:100; padding:12px 18px; border-radius:10px; background:var(--hv-action); color:#fff; transform:translateY(-160%); }
.hv-skip:focus { transform:none; }
.hv-overlay { display:none; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--hv-focus); outline-offset:3px; }
.hv-side :focus-visible { outline-color:#b5ceff; }
.hv-main-content:focus { outline:none; }

.hv-shell-v2 :is(.hv-card,.hv-card-flat,.shadow-enterprise,.shadow-subtle) { box-shadow:var(--hv-shadow-subtle); }
.hv-shell-v2 :is(.hv-input,.hv-select,.e-input,.e-select) { background:var(--hv-panel)!important; color:var(--hv-text)!important; border-color:var(--hv-border)!important; }
.hv-shell-v2 :is(.hv-input,.hv-select,.e-input,.e-select):focus { border-color:var(--hv-focus)!important; box-shadow:0 0 0 3px var(--hv-brand-soft)!important; }
.hv-shell-v2 :is(input,select,textarea):is([aria-invalid="true"],.border-red-300) { border-color:var(--hv-danger)!important; }
.hv-shell-v2 :is(.hv-input,.e-input)::placeholder { color:var(--hv-muted-2); opacity:1; }
.hv-shell-v2 :is(button,input,select,textarea):disabled { opacity:.55; cursor:not-allowed; }
.hv-shell-v2 :is(.hv-label,.hv-tab a,.hv-tab button,.hv-code-pill) { color:var(--hv-muted); }
.hv-shell-v2 :is(.hv-pill,.e-pill,.hv-btn-secondary,.hv-alert,.hv-metric,.hv-chart) { color:var(--hv-text); background:var(--hv-panel); border-color:var(--hv-border-soft); }
.hv-shell-v2 :is(.hv-pill,.e-pill,.hv-btn-secondary):hover { color:var(--hv-text); background:var(--hv-panel-soft); border-color:var(--hv-border); }
.hv-shell-v2 :is(.hv-tab,.hv-code-pill,.hv-table th) { background:var(--hv-panel-soft); color:var(--hv-muted); }
.hv-shell-v2 .hv-table tbody tr:hover { background:var(--hv-panel-soft); }

.hv-btn,.e-btn { background:var(--hv-action); color:#fff; }
.hv-btn-primary { background:var(--hv-action); color:#fff; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:9px 15px; border:1px solid transparent; border-radius:12px; font-size:13px; font-weight:650; text-decoration:none; cursor:pointer; }
.hv-shell-v2 :is(.hv-btn,.e-btn,.hv-btn-primary),.hv-shell-v2 .hv-tab .is-active { background:var(--hv-action); color:#fff; }
.hv-shell-v2 :is(.hv-btn,.e-btn,.hv-btn-primary):hover { background:#1d4ed8; }
.hv-shell-v2 .hv-btn-danger { background:#b91c1c; color:#fff; }
.hv-shell-v2 .hv-btn-danger:hover { background:#991b1b; }

.hv-shell-v2 :is(.hv-pill-blue,.hv-icon-box,.hv-alert-info) { background:var(--hv-brand-soft); color:var(--hv-brand); border-color:var(--hv-blue-border); }
.hv-shell-v2 :is(.hv-pill-green,.hv-icon-box-green,.hv-alert-success) { background:var(--hv-green-bg); color:var(--hv-success); border-color:var(--hv-green-border); }
.hv-shell-v2 :is(.hv-pill-amber,.hv-icon-box-amber,.hv-alert-warning) { background:var(--hv-amber-bg); color:var(--hv-warning); border-color:var(--hv-amber-border); }
.hv-shell-v2 :is(.hv-pill-red,.hv-icon-box-red,.hv-alert-danger) { background:var(--hv-red-bg); color:var(--hv-danger); border-color:var(--hv-red-border); }

/* Compatibility for existing page content. */
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.bg-white,.bg-white\/70,.bg-white\/72,.bg-white\/75,.bg-white\/80) { background-color:var(--hv-panel); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.bg-slate-50,.bg-slate-50\/70,.bg-slate-100) { background-color:var(--hv-panel-soft); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.text-slate-950,.text-slate-900,.text-slate-800,.text-slate-700) { color:var(--hv-text); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.text-slate-600,.text-slate-500) { color:var(--hv-muted); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) .text-slate-400 { color:var(--hv-muted-2); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.border-slate-100,.border-slate-200,.border-white\/70) { border-color:var(--hv-border-soft); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) .border-slate-300 { border-color:var(--hv-border); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.hover\:bg-slate-50,.hover\:bg-white):hover { background-color:var(--hv-panel-soft); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.hover\:text-slate-950,.hover\:text-slate-900):hover { color:var(--hv-text); }

html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.bg-emerald-50,.bg-emerald-50\/70,.bg-emerald-100) { background-color:var(--hv-green-bg); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.text-emerald-600,.text-emerald-700,.text-emerald-800) { color:var(--hv-success); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.border-emerald-100,.border-emerald-200) { border-color:var(--hv-green-border); }

html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.bg-amber-50,.bg-amber-100) { background-color:var(--hv-amber-bg); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.text-amber-700,.text-amber-900,.text-amber-950) { color:var(--hv-warning); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.border-amber-100,.border-amber-200) { border-color:var(--hv-amber-border); }

html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.bg-red-50,.bg-red-100) { background-color:var(--hv-red-bg); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.text-red-600,.text-red-700,.text-red-800) { color:var(--hv-danger); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.border-red-200,.border-red-300) { border-color:var(--hv-red-border); }

html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.bg-blue-50,.bg-brand-50) { background-color:var(--hv-brand-soft); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.text-blue-700,.text-blue-900,.text-blue-950,.text-brand-600,.text-brand-700) { color:var(--hv-brand); }
html[data-theme="dark"] :is(.hv-main-content,.hv-page-actions) :is(.border-blue-100,.border-blue-200,.border-brand-100) { border-color:var(--hv-blue-border); }

html[data-theme="dark"] .hv-main-content .hover\:bg-red-100:hover { background-color:#532c3b; }
html[data-theme="dark"] .hv-main-content .hover\:bg-emerald-100:hover { background-color:#204c3d; }
html[data-theme="dark"] .hv-main-content .hover\:bg-brand-50:hover { background-color:var(--hv-brand-soft); }
html[data-theme="dark"] .hv-main-content .hover\:text-brand-700:hover { color:var(--hv-brand); }
html[data-theme="dark"] .hv-main-content .hover\:border-brand-100:hover { border-color:var(--hv-blue-border); }

.hv-main-content :is(.panel-hero,.panel-journal-card,.hv7-hero) { background:linear-gradient(125deg,var(--hv-panel),var(--hv-panel-soft)); border-color:var(--hv-border-soft); }
.hv-main-content :is(.panel-hero,.panel-journal-card)::after { animation:none; opacity:0; }
.hv-main-content :is(.panel-orb,.panel-journal-orb) { animation:none; opacity:.35; }
.hv-main-content .panel-journal-item { background:var(--hv-panel); border-color:var(--hv-border-soft); }
.hv-main-content .panel-journal-item:hover { background:var(--hv-panel-soft); border-color:var(--hv-border); transform:none; box-shadow:var(--hv-shadow); }
.hv-main-content .panel-metric-card:hover { transform:none; box-shadow:var(--hv-shadow); border-color:var(--hv-border); }

.hv-main-content :is(.hv7-card,.hv7-progress-card) { background:var(--hv-panel); border-color:var(--hv-border-soft); box-shadow:var(--hv-shadow-subtle); }
.hv-main-content :is(.hv7-mini,.hv7-error-list li) { background:var(--hv-panel-soft); border-color:var(--hv-border-soft); color:var(--hv-muted); }
.hv-main-content .hv7-note { background:var(--hv-brand-soft); color:var(--hv-muted); }
.hv-main-content .hv7-progress-track { background:var(--hv-border-soft); }
.hv-main-content :is(.hv7-meta-value,.hv7-kpi-value,.hv7-section-title,.hv7-mini-value) { color:var(--hv-text); }
.hv-main-content :is(.hv7-kpi-meta,.hv7-section-subtitle) { color:var(--hv-muted); }
.hv-main-content :is(.hv7-label,.hv7-meta-label) { color:var(--hv-muted-2); }
.hv-main-content .hv7-section-head { border-color:var(--hv-border-soft); }

html[data-theme="dark"] ::-webkit-scrollbar-track { background:var(--hv-bg); }
html[data-theme="dark"] ::-webkit-scrollbar-thumb { background:var(--hv-border); border-color:var(--hv-bg); }

@media (max-width:1023px) {
  .hv-shell-v2 { display:block; }
  .hv-side { position:fixed; inset:0 auto 0 0; width:min(280px,85vw); visibility:hidden; transform:translateX(-100%); transition:transform .2s ease,visibility .2s; }
  .hv-menu-open .hv-side { visibility:visible; transform:translateX(0); }
  body.hv-menu-open { overflow:hidden; }
  .hv-overlay { position:fixed; inset:0; display:block; z-index:50; background:rgba(3,9,19,.58); border:0; }
  .hv-menu-button,.hv-mobile-close { display:inline-flex; }
  .hv-mobile-close { position:absolute; top:23px; right:15px; padding:7px; min-height:34px; color:#dbe6f8; background:#19253a; border-color:#34445d; }
  .hv-brand { padding-right:32px; }
  .hv-top { padding:12px 20px; min-height:64px; }
  .hv-main-content { padding:25px 20px 40px; }
  .hv-page-head { flex-wrap:wrap; gap:16px; margin-bottom:22px; }
}

@media (max-width:540px) {
  .hv-top { padding:10px 16px; gap:8px; }
  .hv-top>div { gap:8px; }
  .hv-main-content { padding:22px 16px 32px; }
  .hv-theme-button { min-width:40px; padding:9px; }
  .hv-theme-button [data-hv-theme-label] { display:none; }
  .hv-page-actions { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .hv-shell-v2 *,.hv-shell-v2 *::before,.hv-shell-v2 *::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

.hv-side .hv-icon-button { background:#19253a; border-color:#34445d; color:#dbe6f8; }
html[data-theme="dark"] .hv-main-content option[style] { color:var(--hv-success)!important; }

/* HV_AMBIENT_V1_BEGIN */
.hv-shell-v2 { isolation:isolate; }

.hv-ambient {
  --hv-grid:rgba(71,99,145,.028);
  --hv-glow-a:rgba(59,110,230,.085);
  --hv-glow-b:rgba(24,165,182,.045);
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  contain:paint;
  pointer-events:none;
  background-image:
    linear-gradient(to right,var(--hv-grid) 1px,transparent 1px),
    linear-gradient(to bottom,var(--hv-grid) 1px,transparent 1px);
  background-size:64px 64px;
}

html[data-theme="dark"] .hv-ambient {
  --hv-grid:rgba(150,175,210,.028);
  --hv-glow-a:rgba(73,123,245,.11);
  --hv-glow-b:rgba(42,160,182,.065);
}

.hv-ambient::before,
.hv-ambient::after {
  content:"";
  position:absolute;
  inset:-12%;
  background-repeat:no-repeat;
  animation:hv-ambient-drift 32s ease-in-out infinite alternate;
}

.hv-ambient::before {
  background-image:
    radial-gradient(ellipse at 20% 18%,var(--hv-glow-a),transparent 58%);
}

.hv-ambient::after {
  background-image:
    radial-gradient(ellipse at 85% 74%,var(--hv-glow-b),transparent 55%);
  animation-duration:43s;
  animation-direction:alternate-reverse;
}

@keyframes hv-ambient-drift {
  from { transform:translate3d(-2%,-1%,0); }
  to { transform:translate3d(3%,2%,0); }
}

@media (prefers-reduced-motion:reduce) {
  .hv-ambient::before,
  .hv-ambient::after {
    animation:none!important;
    transform:none;
  }
}

@media print {
  .hv-ambient { display:none; }
}
/* HV_AMBIENT_V1_END */
