/* fixes.css — Anquist Portal Theme (matches website palette) */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap');

:root {
  /* Anquist palette */
  --text:      #0D2035;
  --text-2:    rgba(13,32,53,0.6);
  --text-3:    rgba(13,32,53,0.4);
  --surface:   #ffffff;
  --surface2:  #E6F7F7;
  --border:    rgba(0,174,172,0.15);
  --gold:      #00AEAC;
  --primary:   #00AEAC;
  --teal:      #00AEAC;
  --teal-dark: #008A88;
  --navy:      #1B3A5C;
  --navy-deep: #0D2035;
  --red:       #D94040;
  --green:     #1A9E6E;
  --green-light: rgba(26,158,110,0.12);
  --red-light:   rgba(217,64,64,0.10);
  --nav-h:     58px;
  --topbar-h:  58px;
  --fnav-topbar-h: 58px;
}

body { background: #F2F8F8 !important; font-family: 'Plus Jakarta Sans','DM Sans',sans-serif !important; color: #0D2035 !important; }
input, select, textarea, button { font-family: 'Plus Jakarta Sans','DM Sans',sans-serif !important; }

/* ── TOPBAR ─── */
.fnav-topbar {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(0,174,172,0.15) !important;
  backdrop-filter: blur(16px) !important;
}

/* ── FLOATING DOCK ─── */
.fnav-dock {
  background: #1B3A5C !important;
  border: 1px solid rgba(0,174,172,0.25) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  box-shadow: 0 8px 32px rgba(13,32,53,0.25) !important;
}
.fnav-btn { border-radius: 0 !important; color: rgba(255,255,255,0.85) !important; }
.fnav-btn svg { opacity: 1 !important; }
.fnav-btn:hover { background: rgba(0,174,172,0.15) !important; color: #fff !important; transform: none !important; }
.fnav-btn.fnav-active { background: #00AEAC !important; color: #fff !important; box-shadow: none !important; }
.fnav-btn::after { border-radius: 0 !important; background: #0D2035 !important; }
.fnav-menu-btn { background: #00AEAC !important; border-radius: 0 !important; box-shadow: none !important; }
.fnav-menu-btn:hover { background: #008A88 !important; }

/* ── FLY-OUT PANEL ─── */
.fnav-panel {
  background: #ffffff !important;
  border: 1px solid rgba(0,174,172,0.2) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  box-shadow: 0 12px 40px rgba(13,32,53,0.15) !important;
}
.fnav-panel-av { border-radius: 0 !important; background: #1B3A5C !important; }
.fnav-panel-item { border-radius: 0 !important; }
.fnav-panel-item:hover { background: #E6F7F7 !important; color: #0D2035 !important; }
.fnav-panel-item.fnav-active { background: #00AEAC !important; color: #fff !important; }
.fnav-panel-signout { border-radius: 0 !important; }
.fnav-panel-signout:hover { background: rgba(217,64,64,0.08) !important; color: #D94040 !important; }
.fnav-notif-btn { border-radius: 0 !important; background: #E6F7F7 !important; border: 1px solid rgba(0,174,172,0.2) !important; }
.fnav-notif-btn:hover { background: #fff !important; }
.fnav-clock-btn { border-radius: 0 !important; }
.fnav-live-clock { border-radius: 0 !important; background: #E6F7F7 !important; border: 1px solid rgba(0,174,172,0.2) !important; color: #0D2035 !important; }
.fnav-dock-badge { border: 1.5px solid #1B3A5C !important; }

/* ── FLASH / STATUS ─── */
.flash-ok      { background: rgba(26,158,110,0.08); border: 1.5px solid rgba(26,158,110,0.25); color: #1A9E6E; padding: 10px 14px; font-size: 11px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .06em; }
.flash-err     { background: rgba(217,64,64,0.08);  border: 1.5px solid rgba(217,64,64,0.25);  color: #D94040; padding: 10px 14px; font-size: 11px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .06em; }
.flash-error   { background: rgba(217,64,64,0.08);  border: 1.5px solid rgba(217,64,64,0.25);  color: #D94040; padding: 10px 14px; font-size: 11px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .06em; }
.flash-warning { background: rgba(0,174,172,0.08);  border: 1.5px solid rgba(0,174,172,0.25);  color: #00AEAC; padding: 10px 14px; font-size: 11px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .06em; }
.spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(0,174,172,0.2); border-top-color: #00AEAC; border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Page backgrounds */
.page-body { background: transparent !important; }

/* Card resets */
.stat-card { border-radius: 0 !important; }
.badge { border-radius: 0 !important; }
.card  { border-radius: 0 !important; }
