@font-face { font-family:"Manrope"; src:url("../vendor/manrope-latin-variable.woff2") format("woff2"); font-style:normal; font-weight:200 800; font-display:swap; }
/* Keep legal information at the bottom without covering page content. */
html[data-ui-theme] body:has(> .app-legal-footer) {
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
html[data-ui-theme] .app-legal-footer {
  margin-top:auto;
  flex-shrink:0;
  align-self:stretch;
  position:relative;
  z-index:2;
  background:var(--ui-surface);
  color:var(--ui-muted);
  border-color:var(--ui-line);
  align-items:center;
}
html[data-ui-theme] .app-legal-footer-links { flex-wrap:wrap; gap:.5rem; }
html[data-ui-theme] .app-legal-footer-links :is(a,button) {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:24px;
  padding:.125rem .5rem;
  border:1px solid var(--ui-control);
  border-radius:6px;
  color:var(--ui-text);
  background:var(--ui-surface);
  text-decoration:none;
}
html[data-ui-theme] .app-legal-footer-links a:hover { background:var(--ui-soft); }
html[data-ui-theme] .app-legal-footer-links button:disabled {
  color:var(--ui-muted);
  background:var(--ui-soft);
  cursor:not-allowed;
  opacity:1;
}
.app-legal-footer-links :is(svg,i) { width:18px; height:18px; }
html[data-ui-theme] body:is(.login-page,.pin-entry-page):has(> .app-legal-footer) {
  justify-content:flex-start;
  overflow:auto;
  padding:64px 0 0;
}
html[data-ui-theme] body:is(.login-page,.pin-entry-page) > :is(.login-card,.pin-card) {
  flex-shrink:0;
  margin-block:auto;
}
html[data-ui-theme] body:is(.login-page,.pin-entry-page) > .app-legal-footer { margin-top:32px; }
/* Auth layout must not depend on relational selector support or message count. */
html[data-ui-theme] body.login-page.ui-auth-page {
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100dvh;
  align-items:center;
  justify-content:flex-start;
  overflow:auto;
  padding:64px 0 0;
}
html[data-ui-theme] body.login-page.ui-auth-page > .login-card {
  width:min(460px,calc(100% - 32px));
  flex-shrink:0;
  margin-block:auto;
}
html[data-ui-theme] body.login-page.ui-auth-page > .app-legal-footer {
  width:100%;
  align-self:stretch;
  flex-shrink:0;
  margin-top:32px;
}
.ui-auth-notices { width:100%; min-width:0; margin-bottom:20px; }
.ui-auth-notices .alert { margin:0 0 12px; padding:12px 16px; overflow-wrap:anywhere; font-size:.875rem; line-height:1.5; }
.ui-auth-notices .alert:last-child { margin-bottom:0; }
.ui-workspace { --ui-sidebar-width:264px; padding-left:var(--ui-sidebar-width); }
#main-content { min-width:0; max-width:100%; }
.ui-sidebar { position:fixed; inset:0 auto 0 0; width:var(--ui-sidebar-width); background:linear-gradient(180deg,var(--ui-surface) 70%,var(--ui-soft)); color:var(--ui-muted); display:flex; flex-direction:column; z-index:var(--ui-z-navigation,1035); border-right:1px solid var(--ui-line); transition:transform .24s ease, visibility .24s ease; font-family:var(--brand-font-family,"Manrope",sans-serif); letter-spacing:0; }
.ui-nav-child-link { margin-left:20px !important; padding-left:12px; border-left:1px solid var(--ui-line); }
.ui-nav-child-link a { min-height:40px !important; font-size:.75rem !important; font-weight:500 !important; }
.ui-sidebar-brand { padding:28px 22px 24px; display:flex; align-items:center; gap:8px; flex-shrink:0; }
html[data-ui-theme] .ui-sidebar-brand .navbar-brand { margin:0 !important; padding:0; border-radius:0; white-space:normal; min-width:0; background:transparent; }
.ui-sidebar-brand .brand-primary { color:var(--ui-text) !important; font-size:1.1rem; font-weight:800; line-height:1.35; overflow-wrap:anywhere; letter-spacing:0; }
.ui-sidebar-brand .brand-sub { color:var(--ui-muted) !important; font-size:.6875rem; line-height:1.5; margin-top:3px; letter-spacing:0; overflow-wrap:anywhere; }
.ui-sidebar-brand .nav-brand-icon { flex-shrink:0; }
.ui-sidebar > nav { overflow-y:auto; overscroll-behavior:contain; flex:1; min-height:0; padding:0 14px 24px; scrollbar-width:thin; scrollbar-color:var(--ui-line) transparent; }
.ui-nav-list,.ui-nav-children { list-style:none; margin:0; padding:0; }
.ui-nav-section-label { padding:24px 12px 9px; font-size:.625rem; font-weight:800; text-transform:uppercase; color:var(--ui-muted); letter-spacing:0; }
.ui-nav-section-label:first-child { padding-top:4px; }
.ui-nav-list > li:not(.ui-nav-section-label) { margin-bottom:3px; }
html[data-ui-theme] .ui-sidebar :is(nav a,summary,.ui-sidebar-footer a) { color:var(--ui-muted) !important; text-decoration:none; white-space:normal; border-radius:6px; padding:11px 12px; font-size:.8125rem; font-weight:600; line-height:1.5; display:flex; align-items:center; gap:11px; min-height:44px; transition:background-color .16s ease,color .16s ease; position:relative; }
.ui-sidebar :is(a,summary) span { min-width:0; overflow-wrap:anywhere; }
.ui-sidebar :is(svg.lucide,i[data-lucide]) { width:18px; height:18px; flex:0 0 18px; stroke-width:1.7; }
html[data-ui-theme] .ui-sidebar :is(nav a,summary,.ui-sidebar-footer a):hover { background:var(--ui-soft); color:var(--ui-text) !important; }
html[data-ui-theme] .ui-sidebar :is(a,summary,button):focus-visible { outline:2px solid var(--ui-focus); outline-offset:2px; }
html[data-ui-theme] .ui-sidebar :is(a.active,a[aria-current="page"]) { color:var(--ui-text) !important; background:var(--ui-soft) !important; font-weight:800; box-shadow:none; }
.ui-sidebar :is(a.active,a[aria-current="page"])::before { content:""; position:absolute; left:0; top:12px; bottom:12px; width:3px; border-radius:2px; background:var(--ui-action); }
.ui-sidebar :is(a.active,a[aria-current="page"]) .lucide { color:var(--ui-action); }
.ui-nav-group summary { cursor:pointer; list-style:none; }
.ui-nav-group summary::-webkit-details-marker { display:none; }
.ui-sidebar .ui-nav-chevron { margin-left:auto; width:14px !important; height:14px !important; flex-basis:14px !important; transition:transform .2s ease; }
.ui-nav-group[open] > summary .ui-nav-chevron { transform:rotate(90deg); }
html[data-ui-theme] .ui-sidebar .ui-nav-group.is-current > summary { color:var(--ui-text) !important; }
.ui-nav-group.is-current > summary > .lucide:first-child { color:var(--ui-action); }
.ui-nav-children { padding:4px 0 4px 12px; margin:2px 0 8px 20px; border-left:1px solid var(--ui-line); }
html[data-ui-theme] .ui-sidebar .ui-nav-children a { font-size:.75rem; min-height:40px; padding:9px 10px; font-weight:500; }
.ui-sidebar .ui-nav-children .ui-nav-sub-label { display:block; font-size:.625rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ui-muted) !important; padding:10px 8px 3px 6px; list-style:none; }
.ui-nav-group[open] .ui-nav-children { animation:ui-nav-reveal .2s ease both; }
@keyframes ui-nav-reveal { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
.ui-sidebar-footer { border-top:1px solid var(--ui-line); padding:12px 14px; flex-shrink:0; }
.ui-sidebar-footer small { display:block; padding:4px 12px 8px; font-size:.625rem; color:var(--ui-muted); overflow-wrap:anywhere; }
.ui-topbar { height:64px; min-height:64px; position:sticky; top:0; z-index:var(--ui-z-sticky,1030); padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
html[data-ui-theme] .ui-topbar.glass-nav { background:var(--ui-surface) !important; backdrop-filter:none; border-bottom:1px solid var(--ui-line) !important; }
.ui-workspace-label { color:var(--ui-muted); font-size:.8125rem; }
.ui-workspace-label span { color:var(--ui-control); margin:0 10px; }
.ui-topbar .nav-link { color:var(--ui-text); }
.ui-topbar .nav-username { color:var(--ui-text); }
.ui-topbar .nav-userrole { color:var(--ui-muted); }
.ui-topbar .user-avatar-circle { background:var(--ui-info-bg); color:var(--ui-action); }
.ui-topbar .dropdown-menu { max-width:min(340px,calc(100vw - 32px)); }
.ui-nav-toggle,.ui-nav-close { display:none; }
.ui-nav-close { background:transparent; color:var(--ui-text); border:1px solid var(--ui-line); border-radius:6px; min-width:40px; min-height:40px; }
.ui-nav-toggle .lucide { width:20px; height:20px; }
.ui-skip-link { position:fixed; left:16px; top:-100px; background:var(--ui-surface); padding:12px 20px; z-index:var(--ui-z-skip-link, 1200); }
.ui-skip-link:focus { top:12px; }
html[data-ui-theme] .ui-workspace .page-toolbar-strip { position:static; background:transparent; border:0; box-shadow:none; padding-top:28px; }
html[data-ui-theme] .ui-workspace :is(.page-toolbar-strip > div,main.container-fluid) { padding-left:32px !important; padding-right:32px !important; }
html[data-ui-theme] .ui-workspace main.container-fluid { max-width:1600px; margin-inline:auto; }
html[data-ui-theme] .ui-workspace .page-header { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; margin-bottom:0 !important; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
html[data-ui-theme] .ui-workspace .page-header--sticky { position:static; }
html[data-ui-theme] .ui-workspace .page-header p { font-size:.875rem; }
.ui-workspace .page-actions-menu { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
html[data-ui-theme] .ui-workspace .page-actions-menu > :is(a,button,form) { display:inline-flex; align-items:center; }
html[data-ui-theme] .ui-workspace .page-actions-menu > form { margin:0; }
html[data-ui-theme] .ui-workspace .page-actions-menu .dropdown-toggle { min-height:40px; }
html[data-ui-theme] .engagement-vsa-toolbar { min-height:40px; }
html[data-ui-theme] .engagement-section-label { color:var(--ui-text); font-size:.9rem; }
html[data-ui-theme] .engagement-status-row textarea { min-height:72px; resize:vertical; }
html[data-ui-theme] .engagement-status-select select { min-width:150px; }
html[data-ui-theme] .engagement-form textarea[name="summary_notes"] { min-height:150px; resize:vertical; }
html[data-ui-theme] .platform-admin-table { --bs-table-bg:var(--ui-surface); --bs-table-color:var(--ui-text); --bs-table-border-color:var(--ui-line); --bs-table-hover-bg:var(--ui-soft); --bs-table-hover-color:var(--ui-text); }
html[data-ui-theme] .platform-admin-table thead th { color:var(--ui-muted); background:var(--ui-soft); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; }
html[data-ui-theme] .subscription-trend-legend i { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:4px; }
html[data-ui-theme] .subscription-trend-legend .trend-assessments { background:var(--ui-info); }
html[data-ui-theme] .subscription-trend-legend .trend-agents { background:var(--ui-success); }
html[data-ui-theme] .subscription-trend-legend .trend-ips { background:var(--ui-warning); }
html[data-ui-theme] .dashboard-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.ui-portfolio-context { display:flex; gap:10px; flex-wrap:wrap; color:var(--ui-muted); font-size:.8125rem; margin-bottom:20px; }
.ui-portfolio-pill {
  display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:6px 12px;
  color:var(--ui-text); background:var(--ui-surface); border:1px solid var(--ui-line);
  border-radius:999px; text-decoration:none; transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.ui-portfolio-pill strong { color:var(--ui-text); font-size:.95rem; font-variant-numeric:tabular-nums; }
.ui-portfolio-pill span { color:var(--ui-muted); }
.ui-portfolio-pill:hover { color:var(--ui-text); background:var(--ui-info-bg); border-color:var(--ui-action); transform:translateY(-1px); }
.ui-portfolio-pill:focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
.ui-status-edit { margin-top:8px; }
.ui-status-edit summary { color:var(--ui-action); font-size:.8125rem; cursor:pointer; }
.ui-status-edit form { margin-top:8px; }
html[data-ui-theme] .dashboard-scroll-panel { max-height:none; overflow:visible; }
html[data-ui-theme] :is(.notification-center-panel,.help-center-panel,.portal-sos-panel) { background:var(--ui-surface); color:var(--ui-text); border:1px solid var(--ui-line); border-radius:12px; box-shadow:var(--ui-shadow); max-width:calc(100vw - 32px); }
html[data-ui-theme] .help-center-panel { width:min(42rem,calc(100vw - 2rem)); height:min(42rem,calc(100vh - 7rem)); max-height:calc(100vh - 7rem); overflow:hidden; }
html[data-ui-theme] body > :is(.notification-center-panel,.help-center-panel) { position:fixed; z-index:var(--ui-z-notification,1090); }
html[data-ui-theme] body > .help-center-panel { right:auto; }
html[data-ui-theme] body > .notification-center-panel:not(.is-open) { display:none; }
html[data-ui-theme] .help-center-panel .help-center-list { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
html[data-ui-theme] :is(.notification-center-header,.notification-center-footer,.notification-item,.help-center-item,.help-center-search) { background:var(--ui-surface); color:var(--ui-text); border-color:var(--ui-line); }
html[data-ui-theme] :is(.notification-center-toggle,.notification-expand-btn) { background:var(--ui-soft); color:var(--ui-text); border-color:var(--ui-line); min-width:40px; min-height:40px; }
html[data-ui-theme] .notification-modal-fullscreen .modal-dialog { width:min(560px,100vw); margin-left:auto; }
html[data-ui-theme] .notification-modal-fullscreen .modal-content { border-radius:0; }
html[data-ui-theme] .notification-modal-fullscreen .modal-body { flex:1; overflow:auto; }
html[data-ui-theme] .notification-center-panel :is(strong,a),html[data-ui-theme] .help-center-panel :is(strong,a) { color:var(--ui-text); }
html[data-ui-theme] .notification-item-meta { color:var(--ui-muted); }
@media(max-width:767px) { html[data-ui-theme] .help-center-panel { width:calc(100vw - 2rem); height:min(42rem,calc(100dvh - 6rem)); max-height:calc(100dvh - 6rem); } }
.ui-nav-backdrop { position:fixed; inset:0; background:#07112080; z-index:1034; }
html[data-ui-theme] .ui-nav-backdrop { z-index:calc(var(--ui-z-navigation,1035) - 1); }
.ui-drawer-back { margin:0 0 16px; }
@media(min-width:1024px) { .ui-nav-backdrop { display:none; } }
@media(max-width:1279px) { .ui-topbar { padding:0 24px; } html[data-ui-theme] .ui-workspace :is(.page-toolbar-strip > div,main.container-fluid) { padding-left:24px !important; padding-right:24px !important; } }
@media(max-width:1023px) {
  .ui-workspace { padding-left:0; }
  .ui-sidebar { visibility:hidden; transform:translateX(-100%); width:min(300px,calc(100vw - 48px)); }
  .ui-sidebar.is-open { visibility:visible; transform:none; transition:transform .24s ease; }
  .ui-nav-toggle,.ui-nav-close { display:inline-flex; align-items:center; justify-content:center; }
  .ui-nav-close { margin-left:auto; }
  .ui-topbar .ui-theme-control > span { display:none; }
}
@media(max-width:767px) {
  .ui-topbar { padding:0 16px; gap:8px; }
  .ui-workspace-label { display:none; }
  .ui-topbar > div { gap:6px !important; }
  .ui-topbar .ui-theme-control select { max-width:85px; }
  .ui-topbar .nav-link { padding:4px; }
  html[data-ui-theme] .ui-workspace :is(.page-toolbar-strip > div,main.container-fluid) { padding-left:16px !important; padding-right:16px !important; }
  html[data-ui-theme] .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  html[data-ui-theme] .page-actions-menu { width:100%; }
  html[data-ui-theme] .notification-center-panel.is-sheet { position:fixed; left:0; right:0; bottom:0; top:auto; width:100%; max-width:100%; max-height:85dvh; height:auto; border-radius:12px 12px 0 0; }
  html[data-ui-theme] .notification-center-panel.is-sheet .notification-drag-handle { cursor:default; touch-action:auto; }
  html[data-ui-theme] .notification-center-panel.is-sheet .notification-resize-handle,
  html[data-ui-theme] .notification-center-panel.is-sheet #accountNotificationDock { display:none !important; }
}
@media print { .ui-workspace { padding-left:0; } }
@media(prefers-reduced-motion:reduce) { .ui-sidebar,.ui-sidebar * { animation:none !important; transition:none !important; } }
