
:root{
  --anop-navy:#0d2c68;
  --anop-blue:#1d5fe9;
  --anop-sky:#5db2ff;
  --anop-ice:#eff6ff;
  --anop-gold:#f4b000;
  --anop-warm:#f97316;
  --anop-text:#17325f;
  --anop-soft:#6f84a4;
  --anop-surface:#ffffff;
  --anop-border:rgba(20,61,131,.10);
  --anop-shadow:0 18px 42px rgba(13,44,104,.08);
  --anop-shadow-soft:0 10px 26px rgba(20,61,131,.06);
}

body.institutional-final-shell{
  background:
    radial-gradient(circle at 0% 0%, rgba(93,178,255,.12), transparent 24%),
    radial-gradient(circle at 100% 0%, rgba(244,176,0,.06), transparent 18%),
    linear-gradient(180deg,#f6f9ff 0%,#f9fbff 52%,#f4f8ff 100%);
  color:var(--anop-text);
}

.final-shell-grid .app-main-wrap{padding-bottom:22px;}

.app-boot-screen-v5{
  backdrop-filter: blur(8px);
  background:linear-gradient(180deg,rgba(8,30,73,.92),rgba(15,49,112,.90));
}
.app-boot-logo-wrap{box-shadow:0 0 0 10px rgba(255,255,255,.06),0 24px 60px rgba(0,0,0,.24);animation:anopPulse 1.5s ease-in-out infinite;}
.app-boot-title{letter-spacing:-.03em}
.app-boot-subtitle{opacity:.9;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}
@keyframes anopPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

.topbar-anop--final{border-color:rgba(18,57,123,.10)!important;box-shadow:0 16px 38px rgba(13,44,104,.08), inset 0 1px 0 rgba(255,255,255,.92);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,255,.94));}
.topbar-anop--final .topbar-anop__title-wrap--brand{display:flex;flex-direction:column;gap:4px;position:relative;padding-left:0;}
.topbar-anop--final .topbar-anop__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;overflow:hidden;box-shadow:0 8px 18px rgba(13,44,104,.12);border:1px solid rgba(255,255,255,.85);background:#fff;position:absolute;left:-42px;top:2px;}
.topbar-anop--final .topbar-anop__brand-mark img{width:100%;height:100%;object-fit:cover}
.topbar-anop--final .topbar-anop__title{font-size:1.02rem}
.topbar-anop--final .topbar-anop__pill,.topbar-anop--final .topbar-anop__link,.topbar-anop--final .topbar-anop__user{background:rgba(255,255,255,.90)}

.anop-sidebar--final .app-sidebar-inner,
.anop-drawer--final .offcanvas-body,
.anop-drawer--final .offcanvas-header{background:
  radial-gradient(circle at top right, rgba(93,178,255,.10), transparent 18%),
  linear-gradient(180deg,#f1f6ff 0%,#f8fbff 42%,#eef5ff 100%)!important;}
.anop-sidebar--final .anop-brand-logo,
.anop-drawer--final .anop-brand-logo{width:62px;height:62px;min-width:62px;border-radius:20px;box-shadow:0 16px 34px rgba(13,44,104,.14), inset 0 1px 0 rgba(255,255,255,.94)}
.anop-sidebar--final .anop-brand-name,
.anop-drawer--final .offcanvas-title{font-size:1rem;line-height:1.08}
.anop-sidebar--final .anop-brand-sub{font-size:.78rem;font-weight:600;letter-spacing:.03em}
.anop-sidebar--final .anop-nav-link,
.anop-sidebar--final .anop-nav-parent{border-radius:18px;}
.anop-sidebar--final .anop-nav-icon{width:42px;height:42px;min-width:42px;border-radius:15px}
.anop-sidebar--final .anop-nav-label{font-size:.66rem;letter-spacing:.26em}

.content-card,.app-card,.phase-two-surface,.phase-two-kpi-card,.phase-two-big-kpi,.phase-two-alert,.phase-two-goal-card,.phase-two-announcement-card,.phase-two-star-card,.hero-panel,.kpi-card{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,251,255,.95))!important;
  border:1px solid var(--anop-border)!important;
  box-shadow:var(--anop-shadow-soft)!important;
  border-radius:24px!important;
}

.app-card-header,.phase-two-surface-head{padding-bottom:14px;border-bottom:1px solid rgba(13,44,104,.06);margin-bottom:16px}
.app-card-title,.section-title,.phase-two-hero-title,.hero-panel__title{color:var(--anop-text)!important;letter-spacing:-.025em}
.app-card-subtitle,.hero-panel__text,.phase-two-hero-text,.text-secondary,.small.text-secondary{color:var(--anop-soft)!important}

.phase-ten-dashboard .phase-two-hero{background:linear-gradient(135deg, rgba(10,44,104,.98), rgba(29,95,233,.92));border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 48px rgba(13,44,104,.18)}
.phase-ten-dashboard .phase-two-hero-title,
.phase-ten-dashboard .phase-two-hero-text,
.phase-ten-dashboard .phase-two-kicker,
.phase-ten-dashboard .phase-two-hero-stat-label,
.phase-ten-dashboard .phase-two-hero-stat-value{color:#fff!important}
.phase-ten-dashboard .phase-two-hero-strip{gap:10px}
.phase-ten-dashboard .phase-two-hero-stat{background:rgba(255,255,255,.10);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.10);border-radius:18px}
.phase-ten-dashboard .phase-two-hero-side{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.10));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12)}
.phase-ten-dashboard .phase-two-kpi-card,.phase-ten-dashboard .phase-two-big-kpi{position:relative;overflow:hidden}
.phase-ten-dashboard .phase-two-kpi-card::after,.phase-ten-dashboard .phase-two-big-kpi::after,.phase-ten-profile .app-card::after,.phase-ten-maps .content-card::after{content:'';position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;background:radial-gradient(circle,rgba(93,178,255,.15),transparent 62%);pointer-events:none}
.phase-ten-dashboard .phase-two-star-card{border-radius:22px;overflow:hidden;position:relative}
.phase-ten-dashboard .phase-two-star-icon{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--anop-gold),var(--anop-warm));box-shadow:0 12px 24px rgba(244,176,0,.22)}
.phase-ten-dashboard .phase-two-star-track,.phase-ten-dashboard .phase-two-star-track span{border-radius:999px}
.phase-ten-dashboard .phase-two-star-track{background:#edf4ff}
.phase-ten-dashboard .phase-two-star-track span{background:linear-gradient(90deg,var(--anop-navy),var(--anop-blue),var(--anop-gold))}

.phase-ten-profile .profile-avatar-lg{background:linear-gradient(135deg,var(--anop-navy),var(--anop-blue),var(--anop-sky));box-shadow:0 20px 42px rgba(13,44,104,.18);border:4px solid rgba(255,255,255,.95)}
.phase-ten-profile .badge.text-bg-primary-subtle{background:rgba(29,95,233,.10)!important;color:var(--anop-navy)!important;border-color:rgba(29,95,233,.16)!important}
.phase-ten-profile .permission-chip{background:rgba(255,255,255,.88);border:1px solid rgba(13,44,104,.08);box-shadow:0 8px 18px rgba(13,44,104,.04)}
.phase-ten-profile .mini-info-row{padding:10px 12px;border-radius:16px;background:rgba(241,246,255,.72);border:1px solid rgba(13,44,104,.06)}

.phase-ten-maps .map-placeholder{background:linear-gradient(135deg,rgba(13,44,104,.95),rgba(29,95,233,.90));color:#fff;border-radius:24px;padding:28px;border:1px solid rgba(255,255,255,.10);box-shadow:0 20px 46px rgba(13,44,104,.16)}
.phase-ten-maps .map-placeholder .small{color:rgba(255,255,255,.78)!important}
.phase-ten-maps .visitation-point-card,.phase-ten-maps .ranking-row{border-radius:20px;border:1px solid rgba(13,44,104,.08);background:rgba(255,255,255,.86);box-shadow:0 10px 24px rgba(13,44,104,.05)}
.phase-ten-maps .progress{height:10px;border-radius:999px;background:#e9f2ff}
.phase-ten-maps .progress-bar{background:linear-gradient(90deg,var(--anop-navy),var(--anop-blue),var(--anop-sky))}

.modal-content,.offcanvas{border:none;border-radius:28px;box-shadow:0 24px 60px rgba(13,44,104,.22);overflow:hidden}
.modal-header,.offcanvas-header{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,255,.95));border-bottom:1px solid rgba(13,44,104,.08)}
.modal-footer{border-top:1px solid rgba(13,44,104,.06)}
.modal-backdrop.show,.offcanvas-backdrop.show{opacity:.58}

.btn-primary{background:linear-gradient(135deg,var(--anop-navy),var(--anop-blue));border-color:transparent;box-shadow:0 12px 22px rgba(29,95,233,.18)}
.btn-primary:hover{background:linear-gradient(135deg,#0b2558,#144fc8);border-color:transparent}
.btn-outline-primary{color:var(--anop-blue);border-color:rgba(29,95,233,.22)}
.btn-outline-primary:hover{background:rgba(29,95,233,.08);color:#123b92;border-color:rgba(29,95,233,.30)}

.table.app-table thead th,.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#7d91b3;border-bottom-color:rgba(13,44,104,.08)}
.table.app-table tbody tr,.table tbody tr{border-color:rgba(13,44,104,.06)}
.table.app-table tbody tr:hover,.table tbody tr:hover{background:rgba(241,246,255,.56)}

@media (max-width: 1199.98px){
  .topbar-anop--final .topbar-anop__brand-mark{display:none}
}
@media (max-width: 991.98px){
  .topbar-anop--final{padding:12px 14px}
  .phase-ten-dashboard .phase-two-hero{padding:22px}
  .content-card,.app-card,.hero-panel{border-radius:22px!important}
}


.app-main-content--final{position:relative}
.app-main-container--final{max-width:1680px;margin-inline:auto}
.mobile-bottom-nav-final{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid rgba(13,44,104,.08);box-shadow:0 -14px 34px rgba(13,44,104,.08)}
.mobile-bottom-nav-final .mobile-bottom-link{transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.mobile-bottom-nav-final .mobile-bottom-link:hover,
.mobile-bottom-nav-final .mobile-bottom-link.is-active{transform:translateY(-1px);box-shadow:0 10px 18px rgba(13,44,104,.10)}
.table-responsive-final{position:relative;border-radius:22px;overflow:auto;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.95));border:1px solid rgba(13,44,104,.08);box-shadow:0 12px 28px rgba(13,44,104,.06)}
.table-responsive-final table{margin-bottom:0}
.table-responsive-final::after{content:'';position:sticky;right:0;display:block;width:18px;height:100%;margin-left:auto;top:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.78));pointer-events:none}
.form-control,.form-select,.form-check-input{border-color:rgba(13,44,104,.12);box-shadow:none}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:rgba(29,95,233,.40);box-shadow:0 0 0 .25rem rgba(29,95,233,.12)}
.btn.is-loading{pointer-events:none;opacity:.92}
.error-request-id{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid rgba(13,44,104,.10);box-shadow:0 8px 18px rgba(13,44,104,.05);font-size:.82rem;color:var(--anop-text)}
.phase-ten-error-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,251,255,.95))!important;border:1px solid rgba(13,44,104,.08)!important;box-shadow:0 18px 40px rgba(13,44,104,.10)!important;border-radius:28px!important}
.phase10-inline-toast{animation:phase10ToastIn .22s ease}
@keyframes phase10ToastIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .app-boot-logo-wrap,
  .phase10-inline-toast,
  .mobile-bottom-nav-final .mobile-bottom-link,
  .mobile-bottom-nav-final .mobile-bottom-link:hover,
  .mobile-bottom-nav-final .mobile-bottom-link.is-active{animation:none!important;transition:none!important;transform:none!important}
}
