/* ─── Google Fonts ──────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600&display=swap');

/* ─── Design Tokens — Industrial Vanguard ───────────────────── */
:root {
  /* Primary palette — deep industrial navy */
  --blnq-primary:          #003369;
  --blnq-primary-dark:     #002754;
  --blnq-primary-container:#0a4a8f;
  --blnq-primary-light:    #d8e3fb;   /* surface-container-highest */

  /* Accent */
  --blnq-orange:           #F4821F;
  --blnq-orange-light:     #fff3e8;
  --blnq-cyan:             #34b7f1;
  --blnq-green:            #2ED573;
  --blnq-green-dark:       #1db954;

  /* Tertiary — trust/verified */
  --blnq-tertiary:         #003c27;
  --blnq-tertiary-fixed:   #6ffbbe;
  --blnq-on-tertiary-fixed:#002113;

  /* Surfaces — tonal hierarchy */
  --blnq-surface:          #f9f9ff;   /* base floor */
  --blnq-surface-low:      #f0f3ff;   /* secondary areas */
  --blnq-surface-high:     #d8e3fb;   /* active / nested panels */

  /* Text */
  --blnq-text:             #111c2d;   /* on-surface */
  --blnq-text-secondary:   #424751;   /* on-surface-variant */

  /* Borders — Ghost Border only (felt, not seen) */
  --blnq-border:           rgba(194,198,210,.18);
  --blnq-outline-variant:  #c2c6d2;

  /* Aliases kept for compatibility */
  --blnq-bg:               #f9f9ff;
  --blnq-card:             #ffffff;   /* surface-container-lowest */

  /* Ambient shadows — no pure black */
  --blnq-shadow:           0 4px 16px rgba(17,28,45,.06), 0 1px 4px rgba(17,28,45,.04);
  --blnq-shadow-md:        0 8px 28px rgba(17,28,45,.08);
  --blnq-shadow-lg:        0 12px 48px rgba(17,28,45,.11);

  /* Shape — industrial, NOT pill */
  --blnq-radius:           0.75rem;   /* lg cards */
  --blnq-radius-sm:        0.5rem;    /* md buttons, inputs */
  --blnq-radius-xs:        0.375rem;  /* sm chips */
  --blnq-pill:             9999px;    /* badges only */

  --blnq-navbar-h:         64px;
  --font-body:             'Inter', system-ui, -apple-system, sans-serif;
  --font-heading:          'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

/* ─── Base ──────────────────────────────────────────────────── */
html { font-size: 16px; }

body {
  font-family:      var(--font-body);
  font-size:        15px;
  line-height:      1.65;
  color:            var(--blnq-text);
  background-color: var(--blnq-surface);
  margin-bottom:    0;
}

h1, h2, h3, h4, h5, h6, .display-1, .display-2, .display-3, .display-4, .display-5 {
  font-family:    var(--font-heading);
  font-weight:    700;
  color:          var(--blnq-text);
  letter-spacing: -.3px;
}

/* Industrial Label — all-caps metadata */
.blnq-label {
  font-family:    var(--font-body);
  font-weight:    600;
  font-size:      11px;
  text-transform: uppercase;
  letter-spacing: .8px;
  color:          var(--blnq-text-secondary);
}

a { color: var(--blnq-primary); text-decoration: none; }
a:hover { color: var(--blnq-primary-container); }

/* ─── Navbar — Glassmorphism ─────────────────────────────────── */
.blnq-navbar {
  position:           sticky;
  top:                0;
  z-index:            1030;
  background:         rgba(249,249,255,.88);
  backdrop-filter:    blur(12px);
  -webkit-backdrop-filter: blur(12px);
  /* Ghost Border — felt, not seen */
  border-bottom:      1px solid rgba(194,198,210,.2);
  box-shadow:         0 4px 16px rgba(17,28,45,.06);
  height:             var(--blnq-navbar-h);
  display:            flex;
  align-items:        center;
  padding:            0 1.75rem;
}

.blnq-navbar .navbar-brand {
  font-family:    var(--font-heading);
  font-weight:    800;
  font-size:      1.45rem;
  color:          var(--blnq-primary) !important;
  letter-spacing: -.4px;
  padding:        0;
  margin-right:   1.5rem;
}

.blnq-navbar .navbar-brand span { color: var(--blnq-orange); }

.blnq-navbar .nav-link {
  font-family:   var(--font-body);
  font-size:     13.5px;
  font-weight:   500;
  color:         var(--blnq-text-secondary) !important;
  padding:       0.4rem 0.75rem !important;
  border-radius: var(--blnq-radius-xs);
  transition:    background .15s, color .15s;
}

.blnq-navbar .nav-link:hover,
.blnq-navbar .nav-link.active {
  background: var(--blnq-surface-low);
  color:      var(--blnq-primary) !important;
}

.blnq-navbar .dropdown-menu {
  border:        none;
  border-radius: var(--blnq-radius-sm);
  box-shadow:    var(--blnq-shadow-md);
  background:    var(--blnq-card);
  padding:       0.5rem;
  min-width:     200px;
}

.blnq-navbar .dropdown-item {
  border-radius: var(--blnq-radius-xs);
  font-size:     13.5px;
  padding:       0.45rem 0.85rem;
  color:         var(--blnq-text-secondary);
  transition:    background .12s;
}

.blnq-navbar .dropdown-item:hover {
  background: var(--blnq-surface-low);
  color:      var(--blnq-primary);
}

/* Navbar search */
.blnq-nav-search {
  position:      relative;
  display:       flex;
  align-items:   center;
}

.blnq-nav-search input {
  background:    var(--blnq-bg);
  border:        1px solid var(--blnq-border);
  border-radius: var(--blnq-pill);
  padding:       0.35rem 1rem 0.35rem 2.5rem;
  font-size:     13.5px;
  width:         220px;
  outline:       none;
  transition:    width .2s, box-shadow .2s;
}

.blnq-nav-search input:focus {
  width:      280px;
  box-shadow: 0 0 0 3px rgba(0,51,105,.12);
  border-color: var(--blnq-primary);
}

.blnq-nav-search .search-icon {
  position:   absolute;
  left:       0.75rem;
  color:      var(--blnq-text-secondary);
  font-size:  14px;
  pointer-events: none;
}

/* Navbar icon buttons */
.blnq-nav-icon {
  width:         38px;
  height:        38px;
  border-radius: 50%;
  border:        none;
  background:    var(--blnq-bg);
  color:         var(--blnq-text);
  display:       inline-flex;
  align-items:   center;
  justify-content: center;
  transition:    background .15s;
  font-size:     17px;
  cursor:        pointer;
}

.blnq-nav-icon:hover { background: var(--blnq-border); }

/* Avatar */
.blnq-avatar {
  width:         36px;
  height:        36px;
  border-radius: 50%;
  background:    linear-gradient(135deg, var(--blnq-primary), var(--blnq-cyan));
  color:         #fff;
  font-family:   var(--font-heading);
  font-weight:   700;
  font-size:     14px;
  display:       inline-flex;
  align-items:   center;
  justify-content: center;
  cursor:        pointer;
  user-select:   none;
}

.blnq-avatar-lg {
  width:     56px;
  height:    56px;
  font-size: 22px;
}

.blnq-avatar-xl {
  width:     80px;
  height:    80px;
  font-size: 32px;
}

/* Notification badge */
#notif-badge {
  display:    none;
  min-width:  18px;
  height:     18px;
  font-size:  10px;
  font-weight: 700;
  line-height: 18px;
  padding:    0 4px;
}
#notif-badge.has-unread { display: inline-flex; }

/* ─── App Shell (LinkedIn-style) ────────────────────────────── */
/* ─── App Shell — sidebar-less, full-width ───────────────────── */
.blnq-app-shell {
  /* Legacy — kept so old partials don't break, but no longer used by layout */
  display: block;
  width:   100%;
}

.blnq-sidebar { display: none !important; }  /* sidebar removed from layout */

.blnq-main { flex: 1; min-width: 0; padding-bottom: 3rem; }  /* legacy */

/* ── Primary content container ─────────────────────────────── */
.blnq-main-full {
  width:      100%;
  max-width:  900px;
  margin:     0 auto;
  padding:    1.25rem 1rem calc(var(--blnq-navbar-h, 56px) + 2rem);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .blnq-main-full { padding: 1.5rem 1.5rem calc(var(--blnq-navbar-h) + 1.5rem); }
}

@media (min-width: 1200px) {
  .blnq-main-full { max-width: 960px; }
}

/* ─── Sidebar card ──────────────────────────────────────────── */
.blnq-sidebar-card {
  background:    var(--blnq-card);
  border-radius: var(--blnq-radius);
  box-shadow:    var(--blnq-shadow);
  overflow:      hidden;
  margin-bottom: .75rem;
}

.blnq-sidebar-profile {
  padding:    1rem;
  background: var(--blnq-surface-low);   /* tonal separation — no divider line */
  text-align: center;
}

.blnq-sidebar-profile .blnq-avatar {
  width:       48px;
  height:      48px;
  font-size:   18px;
  margin:      0 auto .5rem;
  display:     flex;
}

.blnq-sidebar-profile .name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size:   14px;
  color:       var(--blnq-text);
  line-height: 1.3;
}

.blnq-sidebar-profile .role-badge {
  font-size:     11px;
  color:         var(--blnq-text-secondary);
  margin-top:    .15rem;
}

.blnq-sidebar-section {
  font-size:      11px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color:          var(--blnq-text-secondary);
  padding:        .75rem 1rem .3rem;
}

.blnq-sidebar-link {
  display:         flex;
  align-items:     center;
  gap:             .6rem;
  padding:         .55rem 1rem;
  font-size:       13.5px;
  font-weight:     500;
  color:           var(--blnq-text);
  text-decoration: none;
  transition:      background .12s, color .12s;
  border-left:     3px solid transparent;
}

.blnq-sidebar-link svg {
  flex-shrink: 0;
  color:       var(--blnq-text-secondary);
  transition:  color .12s;
}

.blnq-sidebar-link:hover,
.blnq-sidebar-link.active {
  background:  var(--blnq-surface-low);
  color:       var(--blnq-primary);
  border-left-color: var(--blnq-primary);
}

.blnq-sidebar-link:hover svg,
.blnq-sidebar-link.active svg { color: var(--blnq-primary); }

/* ─── Page Wrapper ──────────────────────────────────────────── */
.blnq-page {
  padding: 1.5rem 0 2rem;
}

.blnq-page-full {
  padding: 1.5rem 1.25rem 3rem;
}

/* ─── Cards — Tonal Layering, No Lines ───────────────────────── */
.card {
  border:        none !important;
  border-radius: var(--blnq-radius) !important;
  box-shadow:    var(--blnq-shadow);
  background:    var(--blnq-card);            /* surface-container-lowest */
  transition:    box-shadow .2s, transform .2s;
}

.card:hover { box-shadow: var(--blnq-shadow-md); }

/* Card header uses surface-container-low shift — no divider line */
.card-header {
  background:    var(--blnq-surface-low) !important; /* tonal separation */
  border-bottom: none !important;
  border-radius: var(--blnq-radius) var(--blnq-radius) 0 0 !important;
  padding:       .85rem 1.25rem;
  font-family:   var(--font-heading);
  font-weight:   700;
  font-size:     14px;
  color:         var(--blnq-text);
  letter-spacing: -.1px;
}

.card-body { padding: 1.25rem; }

/* Stat card variant */
.blnq-stat-card {
  border-radius: var(--blnq-radius) !important;
  box-shadow:    var(--blnq-shadow);
  padding:       1.5rem 1.25rem;
  display:       flex;
  flex-direction: column;
  align-items:   center;
  gap:           0.5rem;
  background:    var(--blnq-card);
  text-align:    center;
  transition:    transform .2s, box-shadow .2s;
}

.blnq-stat-card:hover {
  transform:  translateY(-3px);
  box-shadow: var(--blnq-shadow-md);
}

/* Horizontal variant — icon left, text right */
.blnq-stat-card--h {
  flex-direction: row;
  align-items:    center;
  gap:            1rem;
  text-align:     left;
}

.blnq-stat-card--h .blnq-stat-value { font-size: 1.65rem; }
.blnq-stat-card--h .blnq-stat-label { font-size: 11.5px; }

.blnq-stat-icon {
  width:         52px;
  height:        52px;
  border-radius: var(--blnq-radius-sm);
  display:       flex;
  align-items:   center;
  justify-content: center;
  font-size:     22px;
  margin-bottom: 0.25rem;
}

.blnq-stat-icon.primary   { background: var(--blnq-primary-light); color: var(--blnq-primary); }
.blnq-stat-icon.success   { background: #dcfce7; color: var(--blnq-green); }
.blnq-stat-icon.warning   { background: #fef9c3; color: #ca8a04; }
.blnq-stat-icon.danger    { background: #fee2e2; color: #dc2626; }
.blnq-stat-icon.orange    { background: var(--blnq-orange-light); color: var(--blnq-orange); }
.blnq-stat-icon.cyan      { background: #e0f6ff; color: var(--blnq-cyan); }

.blnq-stat-value {
  font-family: var(--font-heading);
  font-size:   2rem;
  font-weight: 800;
  line-height: 1;
  color:       var(--blnq-text);
}

.blnq-stat-label {
  font-size:  12.5px;
  color:      var(--blnq-text-secondary);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* Feature card */
.blnq-feature-card {
  border-radius: var(--blnq-radius) !important;
  box-shadow:    var(--blnq-shadow);
  background:    var(--blnq-card);
  padding:       2rem 1.5rem;
  text-align:    center;
  transition:    transform .2s, box-shadow .2s;
  height:        100%;
}

.blnq-feature-card:hover {
  transform:  translateY(-4px);
  box-shadow: var(--blnq-shadow-lg);
}

.blnq-feature-icon {
  width:         64px;
  height:        64px;
  border-radius: var(--blnq-radius-sm);
  display:       inline-flex;
  align-items:   center;
  justify-content: center;
  font-size:     28px;
  margin-bottom: 1rem;
}

/* ─── Buttons — Industrial Shape, Gradient Primary ───────────── */
.btn {
  font-family:    var(--font-body);
  font-weight:    600;
  border-radius:  var(--blnq-radius-sm) !important;   /* md — NOT pill */
  transition:     all .18s ease;
  letter-spacing: .15px;
  border:         none;
}

.btn:focus, .btn:active:focus {
  box-shadow: 0 0 0 3px rgba(0,51,105,.22) !important;
}

/* Primary — Glass & Gradient */
.btn-primary {
  background:   linear-gradient(135deg, #003369 0%, #0a4a8f 100%) !important;
  border-color: transparent !important;
  color:        #fff !important;
}
.btn-primary:hover {
  background:   linear-gradient(135deg, #002754 0%, #003369 100%) !important;
  border-color: transparent !important;
  transform:    translateY(-1px);
  box-shadow:   0 8px 20px rgba(0,51,105,.3) !important;
}

/* Field button — 56px min-height for gloved hands */
.btn-primary.btn-lg,
.btn-field {
  min-height: 56px;
  font-size:  1rem;
  padding:    0 2rem;
}

.btn-secondary {
  background:   var(--blnq-orange) !important;
  border-color: var(--blnq-orange) !important;
  color:        #fff !important;
}
.btn-secondary:hover {
  background:   #e07318 !important;
  border-color: #e07318 !important;
}

.btn-success {
  background:   var(--blnq-green) !important;
  border-color: var(--blnq-green) !important;
}

.btn-outline-primary {
  color:        var(--blnq-primary) !important;
  border-color: var(--blnq-primary) !important;
}
.btn-outline-primary:hover {
  background:   var(--blnq-primary) !important;
  color:        #fff !important;
}

.btn-outline-secondary {
  color:        var(--blnq-text-secondary) !important;
  border-color: var(--blnq-border) !important;
  background:   var(--blnq-card) !important;
}
.btn-outline-secondary:hover {
  background:   var(--blnq-bg) !important;
  border-color: var(--blnq-text-secondary) !important;
  color:        var(--blnq-text) !important;
}

.btn-lg { padding: .65rem 1.75rem; font-size: 1rem; }
.btn-sm { padding: .3rem .9rem; font-size: .8125rem; }

/* ─── Forms — Tonal Surfaces, Ghost Focus ────────────────────── */
.form-control, .form-select {
  border:        1px solid transparent;
  border-radius: var(--blnq-radius-sm) !important;
  background:    var(--blnq-surface-low);    /* surface-container-low */
  font-family:   var(--font-body);
  font-size:     14.5px;
  color:         var(--blnq-text);
  padding:       0.6rem 0.9rem;
  transition:    background .15s, border-color .15s, box-shadow .15s;
}

.form-control:focus, .form-select:focus {
  background:   var(--blnq-card);            /* shifts to surface-container-lowest */
  border-color: rgba(0,51,105,.2);           /* 2px primary ghost border */
  box-shadow:   0 0 0 3px rgba(0,51,105,.1) !important;
  outline:      none;
}

.form-label {
  font-family:    var(--font-body);
  font-size:      12px;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: .6px;
  color:          var(--blnq-text-secondary);
  margin-bottom:  .4rem;
}

.form-text { font-size: 12px; color: var(--blnq-text-secondary); }

/* ─── Badges ────────────────────────────────────────────────── */
.badge {
  border-radius: var(--blnq-pill) !important;
  font-weight:   600;
  font-size:     11.5px;
  padding:       0.3em 0.75em;
}

.badge.bg-primary { background: var(--blnq-primary) !important; }
.badge.bg-success { background: var(--blnq-green) !important; }
.badge.bg-warning { background: #f59e0b !important; color: #fff !important; }
.badge.bg-info    { background: var(--blnq-cyan) !important; color: #fff !important; }

/* Verified badge — tertiary-fixed per Industrial Vanguard */
.blnq-verified {
  display:        inline-flex;
  align-items:    center;
  gap:            .3rem;
  background:     var(--blnq-tertiary-fixed);   /* #6ffbbe */
  color:          var(--blnq-on-tertiary-fixed); /* #002113 */
  border-radius:  var(--blnq-pill);
  font-family:    var(--font-heading);
  font-size:      11px;
  font-weight:    700;
  letter-spacing: .3px;
  padding:        .25em .7em;
}

/* ─── Tables — No Lines, Tonal Rows ──────────────────────────── */
.table {
  font-size:    14px;
  border-color: transparent;
}

.table thead th {
  font-family:    var(--font-body);
  font-weight:    600;
  font-size:      11px;
  text-transform: uppercase;
  letter-spacing: .7px;
  color:          var(--blnq-text-secondary);
  border:         none;
  background:     var(--blnq-surface-low);   /* tonal header */
  padding:        .75rem 1rem;
}

.table tbody td {
  padding:       .8rem 1rem;
  vertical-align: middle;
  border:        none;
}

/* Alternating tonal rows — no explicit borders */
.table tbody tr:nth-child(even) { background: rgba(240,243,255,.55); }

.table-hover tbody tr:hover { background: var(--blnq-surface-low); }

/* ─── Breadcrumb ────────────────────────────────────────────── */
.breadcrumb {
  background:    none;
  padding:       0;
  font-size:     13px;
  margin-bottom: 1.25rem;
}

.breadcrumb-item + .breadcrumb-item::before { color: var(--blnq-border); }
.breadcrumb-item a { color: var(--blnq-primary); }
.breadcrumb-item.active { color: var(--blnq-text-secondary); }

/* ─── Alerts — Left accent only, tonal fill ──────────────────── */
.alert {
  border:        none;
  border-radius: var(--blnq-radius-sm) !important;
  font-size:     14px;
  border-left:   4px solid transparent;   /* accent strip — permitted design element */
}

.alert-danger  { background: rgba(220,38,38,.08);  color: #b91c1c; border-left-color: #dc2626; }
.alert-success { background: rgba(46,213,115,.1);  color: #166534; border-left-color: #2ED573; }
.alert-info    { background: var(--blnq-surface-low); color: var(--blnq-primary); border-left-color: var(--blnq-primary); }
.alert-warning { background: rgba(245,158,11,.08); color: #92400e; border-left-color: #f59e0b; }

/* ─── Modal ─────────────────────────────────────────────────── */
.modal-content {
  border:        none !important;
  border-radius: var(--blnq-radius) !important;
  box-shadow:    var(--blnq-shadow-lg);
}

.modal-header {
  border-bottom: none !important;
  background:    var(--blnq-surface-low);   /* tonal separation — no divider */
  padding:       1.25rem 1.5rem;
  border-radius: var(--blnq-radius) var(--blnq-radius) 0 0;
}

.modal-header .modal-title {
  font-family: var(--font-heading);
  font-weight: 700;
}

.modal-footer {
  border-top:    none !important;
  background:    var(--blnq-surface);   /* subtle tonal lift — no divider */
}

/* ─── Hero Section ──────────────────────────────────────────── */
.blnq-hero {
  background:    linear-gradient(135deg, #001d3d 0%, #003369 60%, #0a4a8f 100%);
  color:         #fff;
  padding:       5rem 2rem 4rem;
  text-align:    center;
  position:      relative;
  overflow:      hidden;
}

.blnq-hero::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.blnq-hero h1 {
  font-family: var(--font-heading);
  font-size:   clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  color:       #fff;
  margin-bottom: 1rem;
  line-height: 1.15;
}

.blnq-hero h1 span { color: #fbbf24; }

.blnq-hero p.lead {
  font-size:     1.125rem;
  color:         rgba(255,255,255,.85);
  max-width:     580px;
  margin:        0 auto 2rem;
  line-height:   1.7;
}

/* Hero stat row */
.blnq-hero-stats {
  display:         flex;
  justify-content: center;
  gap:             2.5rem;
  flex-wrap:       wrap;
  margin-top:      3rem;
  padding-top:     2rem;
  border-top:      1px solid rgba(255,255,255,.2);
}

.blnq-hero-stat-item { text-align: center; }

.blnq-hero-stat-item .value {
  font-family: var(--font-heading);
  font-size:   2rem;
  font-weight: 800;
  color:       #fff;
  line-height: 1;
}

.blnq-hero-stat-item .label {
  font-size: 12.5px;
  color:     rgba(255,255,255,.7);
  margin-top: .25rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ─── Section titles ────────────────────────────────────────── */
.blnq-section-title {
  font-family:   var(--font-heading);
  font-size:     1.75rem;
  font-weight:   800;
  color:         var(--blnq-text);
  margin-bottom: .35rem;
}

.blnq-section-subtitle {
  color:         var(--blnq-text-secondary);
  font-size:     15px;
  margin-bottom: 2rem;
}

/* ─── KPI cards (Dashboard stat tiles, no icons) ────────────── */
.blnq-kpi-card {
  background:    var(--blnq-card);
  border-radius: var(--blnq-radius);
  box-shadow:    var(--blnq-shadow);
  padding:       1.4rem 1.5rem;
  border-left:   4px solid transparent;
  transition:    transform .2s, box-shadow .2s;
}

.blnq-kpi-card:hover {
  transform:  translateY(-3px);
  box-shadow: var(--blnq-shadow-md);
}

.blnq-kpi--primary { border-left-color: var(--blnq-primary); }
.blnq-kpi--success { border-left-color: var(--blnq-green); }
.blnq-kpi--warning { border-left-color: #f59e0b; }
.blnq-kpi--danger  { border-left-color: #ef4444; }

.blnq-kpi-value {
  font-family:   var(--font-heading);
  font-size:     2.25rem;
  font-weight:   800;
  line-height:   1;
  color:         var(--blnq-text);
  margin-bottom: .35rem;
}

.blnq-kpi--primary .blnq-kpi-value { color: var(--blnq-primary); }
.blnq-kpi--success .blnq-kpi-value { color: var(--blnq-green); }
.blnq-kpi--warning .blnq-kpi-value { color: #d97706; }
.blnq-kpi--danger  .blnq-kpi-value { color: #dc2626; }

.blnq-kpi-label {
  font-size:      12px;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: .6px;
  color:          var(--blnq-text-secondary);
}

/* ─── Nav list (Dashboard action links, no icons) ───────────── */
.blnq-nav-list {
  display:        flex;
  flex-direction: column;
}

.blnq-nav-item {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         .85rem 1.25rem;
  text-decoration: none;
  color:           var(--blnq-text);
  font-size:       14px;
  font-weight:     500;
  transition:      background .12s, color .12s;
}

.blnq-nav-item svg {
  color:      var(--blnq-text-secondary);
  flex-shrink: 0;
  transition:  transform .15s, color .15s;
}

.blnq-nav-item:hover {
  background: var(--blnq-surface-low);
  color:      var(--blnq-primary);
}

.blnq-nav-item:hover svg {
  color:     var(--blnq-primary);
  transform: translateX(3px);
}

/* Legacy tile support (other pages still use .blnq-action-tile) */
.blnq-action-tile {
  display:         flex;
  align-items:     center;
  gap:             .85rem;
  background:      var(--blnq-card);
  border-radius:   var(--blnq-radius-sm) !important;
  padding:         .9rem 1.1rem;
  box-shadow:      var(--blnq-shadow);
  text-decoration: none;
  color:           var(--blnq-text);
  font-weight:     500;
  font-size:       14px;
  transition:      transform .15s, box-shadow .15s;
}

.blnq-action-tile:hover {
  transform:  translateY(-2px);
  box-shadow: var(--blnq-shadow-md);
  color:      var(--blnq-primary);
}

.blnq-action-tile .tile-icon {
  width:         40px;
  height:        40px;
  border-radius: var(--blnq-radius-sm);
  display:       flex;
  align-items:   center;
  justify-content: center;
  font-size:     18px;
  flex-shrink:   0;
}

/* ─── Feed list (Dashboard cards) ───────────────────────────── */
.blnq-feed-list {
  display:        flex;
  flex-direction: column;
}

.blnq-feed-item {
  display:         flex;
  align-items:     center;
  gap:             .75rem;
  padding:         .75rem 1.25rem;
  text-decoration: none;
  color:           var(--blnq-text);
  transition:      background .12s;
}

/* Tonal separation: alternate rows instead of border lines */
.blnq-feed-item:nth-child(even) { background: rgba(240,243,255,.4); }

a.blnq-feed-item:hover { background: var(--blnq-surface-low); }

.blnq-feed-avatar {
  width:         36px;
  height:        36px;
  border-radius: 50%;
  display:       flex;
  align-items:   center;
  justify-content: center;
  font-family:   var(--font-heading);
  font-weight:   700;
  font-size:     14px;
  color:         #fff;
  flex-shrink:   0;
}

.blnq-feed-avatar--primary { background: var(--blnq-primary); }
.blnq-feed-avatar--success { background: var(--blnq-green); }
.blnq-feed-avatar--warning { background: #f59e0b; }
.blnq-feed-avatar--cyan    { background: var(--blnq-cyan); }
.blnq-feed-avatar--danger  { background: #ef4444; }

.blnq-feed-body { flex: 1; min-width: 0; }

.blnq-feed-title {
  font-size:    14px;
  font-weight:  600;
  color:        var(--blnq-text);
  white-space:  nowrap;
  overflow:     hidden;
  text-overflow: ellipsis;
}

.blnq-feed-sub {
  font-size: 12.5px;
  color:     var(--blnq-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blnq-feed-meta {
  font-size: 11.5px;
  color:     var(--blnq-text-secondary);
  margin-top: .1rem;
}

/* ─── Footer ────────────────────────────────────────────────── */
.blnq-footer {
  background:    var(--blnq-card);
  border-top:    1px solid var(--blnq-border);
  padding:       1.25rem 2rem;
  font-size:     13px;
  color:         var(--blnq-text-secondary);
  margin-top:    3rem;
}

.blnq-footer a { color: var(--blnq-primary); }

/* ─── Toast container ───────────────────────────────────────── */
.toast-container { z-index: 1090; }

.toast {
  border-radius: var(--blnq-radius-sm) !important;
  font-size:     14px;
}

/* ─── Utilities ─────────────────────────────────────────────── */
.text-primary  { color: var(--blnq-primary)   !important; }
.text-orange   { color: var(--blnq-orange)    !important; }
.text-cyan     { color: var(--blnq-cyan)      !important; }
.bg-primary    { background: var(--blnq-primary) !important; }
.bg-primary-light { background: var(--blnq-primary-light) !important; }

.fw-semibold  { font-weight: 600 !important; }
.font-heading { font-family: var(--font-heading) !important; }

/* Divider */
.blnq-divider {
  border:     none;
  border-top: 1px solid var(--blnq-border);
  margin:     1.5rem 0;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--blnq-bg); }
::-webkit-scrollbar-thumb { background: var(--blnq-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #c0c2c6; }

/* ─── Page header ───────────────────────────────────────────── */
.blnq-page-header {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  margin-bottom:   1.75rem;
  gap:             1rem;
}

.blnq-page-header h1,
.blnq-page-header h2 {
  margin:      0;
  font-family: var(--font-heading);
  font-weight: 800;
}

.blnq-page-header .sub {
  font-size: 13px;
  color:     var(--blnq-text-secondary);
  margin-top: .2rem;
}

/* ─── Empty state ────────────────────────────────────────────── */
.blnq-empty {
  text-align:    center;
  padding:       3rem 1.5rem;
  color:         var(--blnq-text-secondary);
}

.blnq-empty p { font-size: 15px; margin-bottom: 1.25rem; }

/* ─── Score / Rating ─────────────────────────────────────────── */
.blnq-score {
  display:      inline-flex;
  align-items:  center;
  gap:          .4rem;
  font-family:  var(--font-heading);
  font-weight:  700;
  font-size:    15px;
}

.blnq-score .val { color: var(--blnq-text); }
.blnq-score .max { color: var(--blnq-text-secondary); font-size: 12px; font-weight: 400; }

.blnq-score-bar {
  height:        6px;
  border-radius: var(--blnq-pill);
  background:    var(--blnq-border);
  overflow:      hidden;
}

.blnq-score-bar-fill {
  height:        100%;
  border-radius: var(--blnq-pill);
  background:    var(--blnq-primary);
  transition:    width .3s;
}

.blnq-score-bar-fill.good    { background: var(--blnq-green); }
.blnq-score-bar-fill.ok      { background: #f59e0b; }
.blnq-score-bar-fill.poor    { background: #dc2626; }

/* ─── Progress bar ───────────────────────────────────────────── */
.progress {
  border-radius: var(--blnq-pill) !important;
  background:    var(--blnq-border);
}

.progress-bar { border-radius: var(--blnq-pill) !important; }

/* ─── Kanban pipeline ────────────────────────────────────────── */
.kanban-board {
  display:    flex;
  gap:        1rem;
  overflow-x: auto;
  padding-bottom: .75rem;
  align-items: flex-start;
}

.kanban-col {
  flex-shrink: 0;
  width:       240px;
}

.kanban-col .card-header {
  font-size:   13px;
  padding:     .65rem 1rem;
}

.kanban-cards {
  min-height:  200px;
  max-height:  70vh;
  overflow-y:  auto;
  padding:     .5rem;
}

.kanban-card {
  border:        none !important;
  border-radius: var(--blnq-radius-sm) !important;
  margin-bottom: .5rem;
  box-shadow:    var(--blnq-shadow) !important;
  cursor:        default;
  transition:    box-shadow .15s;
}

.kanban-card:hover { box-shadow: var(--blnq-shadow-md) !important; }
.kanban-card .card-body { padding: .75rem !important; }

/* ─── Subscription plan cards ────────────────────────────────── */
.blnq-plan-card {
  border-radius: var(--blnq-radius) !important;
  box-shadow:    var(--blnq-shadow);
  background:    var(--blnq-card);
  overflow:      hidden;
  height:        100%;
  display:       flex;
  flex-direction: column;
  transition:    transform .2s, box-shadow .2s;
}

.blnq-plan-card:hover {
  transform:  translateY(-4px);
  box-shadow: var(--blnq-shadow-lg);
}

.blnq-plan-card.featured {
  box-shadow: 0 0 0 2px var(--blnq-primary), var(--blnq-shadow-md);
}

.blnq-plan-card.enterprise {
  box-shadow: 0 0 0 2px #1B3A5C, var(--blnq-shadow-md);
}

.blnq-plan-header {
  padding:  1.25rem 1.5rem;
  /* tonal separation via background — no divider line */
}

.blnq-plan-card.featured .blnq-plan-header {
  background: var(--blnq-primary);
  color: #fff;
}

.blnq-plan-card.enterprise .blnq-plan-header {
  background: #1B3A5C;
  color: #fff;
}

.blnq-plan-name {
  font-family: var(--font-heading);
  font-size:   1.1rem;
  font-weight: 700;
  margin-bottom: .25rem;
}

.blnq-plan-body {
  padding: 1.5rem;
  flex:    1;
}

.blnq-plan-price {
  font-family: var(--font-heading);
  font-size:   2rem;
  font-weight: 800;
  color:       var(--blnq-text);
  line-height: 1;
  margin-bottom: .25rem;
}

.blnq-plan-price .per {
  font-size:   14px;
  font-weight: 400;
  color:       var(--blnq-text-secondary);
}

.blnq-plan-card.featured .blnq-plan-price,
.blnq-plan-card.enterprise .blnq-plan-price { color: #fff; }
.blnq-plan-card.featured .blnq-plan-price .per,
.blnq-plan-card.enterprise .blnq-plan-price .per { color: rgba(255,255,255,.75); }

.blnq-plan-features { list-style: none; padding: 0; margin: 0; }

.blnq-plan-features li {
  padding:     .4rem 0;
  font-size:   14px;
  display:     flex;
  align-items: center;
  gap:         .6rem;
  color:       var(--blnq-text);
}

.blnq-plan-features li.excluded,
.blnq-plan-features li.off { color: var(--blnq-text-secondary); }

.blnq-plan-features li::before {
  content:     '';
  width:       16px;
  height:      16px;
  border-radius: 50%;
  flex-shrink: 0;
  background:  var(--blnq-green);
}

.blnq-plan-features li.excluded::before,
.blnq-plan-features li.off::before { background: var(--blnq-border); }

.blnq-plan-footer {
  padding:    1.25rem 1.5rem;
  background: var(--blnq-surface);   /* tonal lift — no divider */
}

/* ─── Clock card ─────────────────────────────────────────────── */
.blnq-clock-display {
  font-family:        var(--font-heading);
  font-size:          3.5rem;
  font-weight:        800;
  font-variant-numeric: tabular-nums;
  letter-spacing:     -2px;
  color:              var(--blnq-text);
  line-height:        1;
}

/* ─── Detail list ────────────────────────────────────────────── */
.blnq-dl dt {
  font-size:   12.5px;
  font-weight: 600;
  color:       var(--blnq-text-secondary);
  text-transform: uppercase;
  letter-spacing: .4px;
  padding-bottom: .15rem;
}

.blnq-dl dd {
  font-size:     14.5px;
  color:         var(--blnq-text);
  margin-bottom: 1rem;
}

/* ─── Responsive ─────────────────────────────────────────────── */
@media (max-width: 575.98px) {
  .blnq-hero { padding: 3rem 1.25rem 2.5rem; }
  .blnq-hero-stats { gap: 1.5rem; }
  .blnq-page { padding: .75rem 0 1rem; }
  .blnq-page-header { flex-wrap: wrap; gap: .5rem; }
  .blnq-page-header h2 { font-size: 1.2rem; }
  .blnq-page-header .d-flex.gap-2 { flex-wrap: wrap; }
  .blnq-kpi-card { min-height: auto; padding: .875rem 1rem; }
  .card { border-radius: var(--blnq-radius-sm); }
}

/* ─── Bottom Navigation (always visible for authenticated users) ── */
.blnq-bottom-nav {
  position:   fixed;
  bottom:     0; left: 0; right: 0;
  height:     58px;
  background: var(--blnq-card);
  border-top: 1px solid var(--blnq-border);
  box-shadow: 0 -2px 16px rgba(17,28,45,.10);
  z-index:    1100;
  display:    flex;
}

.blnq-bnav-tab {
  flex:             1;
  display:          flex;
  flex-direction:   column;
  align-items:      center;
  justify-content:  center;
  gap:              3px;
  font-size:        10px;
  font-weight:      600;
  color:            var(--blnq-text-secondary);
  text-decoration:  none;
  padding:          .2rem 0;
  transition:       color .15s;
  letter-spacing:   .3px;
  border:           none;
  background:       transparent;
  cursor:           pointer;
}
.blnq-bnav-tab i { font-size: 1.15rem; transition: color .15s; }
.blnq-bnav-tab.active,
.blnq-bnav-tab:hover { color: var(--blnq-primary); }

/* ─── More Drawer ──────────────────────────────────────────────── */
.blnq-drawer-backdrop {
  display:    none;
  position:   fixed; inset: 0;
  background: rgba(0,0,0,.45);
  z-index:    1150;
}
.blnq-drawer-backdrop.open { display: block; }

.blnq-drawer {
  position:      fixed;
  bottom:        58px; left: 0; right: 0;
  max-height:    75vh;
  overflow-y:    auto;
  background:    var(--blnq-card);
  border-radius: 20px 20px 0 0;
  box-shadow:    0 -4px 32px rgba(17,28,45,.14);
  z-index:       1200;
  transform:     translateY(110%);
  transition:    transform .28s cubic-bezier(.4,0,.2,1);
  padding-bottom: .5rem;
}
.blnq-drawer.open { transform: translateY(0); }

.blnq-drawer-handle {
  width:         40px; height: 4px;
  background:    var(--blnq-outline-variant);
  border-radius: var(--blnq-pill);
  margin:        .75rem auto .5rem;
}

/* Drawer sidebar links are more spaced */
.blnq-drawer .blnq-sidebar-link {
  padding: .65rem 1.25rem;
  font-size: 14px;
}
.blnq-drawer .blnq-sidebar-card {
  box-shadow: none;
  margin-bottom: 0;
  border-radius: 0;
}
.blnq-drawer .blnq-sidebar-profile {
  border-radius: 20px 20px 0 0;
}

/* ─── Social Feed / Posts ────────────────────────────────────── */
.blnq-feed-page {
  max-width: 680px;
}

.blnq-post-create {
  background:    var(--blnq-card);
  border-radius: var(--blnq-radius);
  padding:       1rem 1.125rem;
  border:        1px solid var(--blnq-border);
  box-shadow:    var(--blnq-shadow);
}

/* Hide the broken-image alt icon when src is empty */
.blnq-post-create img[src=""],
.blnq-post-create img:not([src]) { display: none !important; }

.blnq-post-card {
  background:    var(--blnq-card);
  border-radius: var(--blnq-radius);
  padding:       1.125rem 1.25rem;
  border:        1px solid var(--blnq-border);
  box-shadow:    var(--blnq-shadow);
  margin-bottom: .625rem;
  transition:    box-shadow .15s;
}
.blnq-post-card:hover { box-shadow: var(--blnq-shadow-md); }

.blnq-post-author {
  display:       flex;
  align-items:   center;
  gap:           .75rem;
  margin-bottom: .75rem;
}

.blnq-post-avatar {
  width:           42px; height: 42px;
  border-radius:   50%;
  background:      linear-gradient(135deg, var(--blnq-primary), var(--blnq-cyan));
  color:           #fff;
  font-family:     var(--font-heading);
  font-weight:     700;
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-shrink:     0;
  font-size:       16px;
}

.blnq-post-name {
  font-weight:  600;
  font-size:    .9rem;
  color:        var(--blnq-text);
  line-height:  1.2;
}

.blnq-post-meta {
  font-size: .75rem;
  color:     var(--blnq-text-secondary);
}

.blnq-post-body {
  font-size:   .9rem;
  line-height: 1.65;
  color:       var(--blnq-text);
  white-space: pre-wrap;
  word-break:  break-word;
  margin-bottom: .75rem;
}

.blnq-post-image img {
  width:         100%;
  max-height:    480px;
  object-fit:    cover;
  border-radius: var(--blnq-radius-sm);
  border:        1px solid var(--blnq-border);
  transition:    opacity .15s;
}
.blnq-post-image img:hover { opacity: .93; }

.blnq-post-stats {
  display:       flex;
  gap:           .875rem;
  font-size:     .78rem;
  color:         var(--blnq-text-secondary);
  margin-bottom: .5rem;
}
.blnq-post-stats span { display: flex; align-items: center; gap: .2rem; }

.blnq-post-actions {
  display:       flex;
  gap:           .25rem;
  border-top:    1px solid var(--blnq-border);
  padding-top:   .625rem;
}

.blnq-post-btn {
  display:        flex;
  align-items:    center;
  gap:            .35rem;
  padding:        .35rem .75rem;
  border-radius:  var(--blnq-radius-sm);
  border:         none;
  background:     transparent;
  color:          var(--blnq-text-secondary);
  font-size:      .8rem;
  font-weight:    600;
  cursor:         pointer;
  transition:     background .15s, color .15s;
}
.blnq-post-btn:hover  { background: var(--blnq-surface-low); color: var(--blnq-primary); }
.blnq-post-btn.liked  { color: var(--blnq-primary); }

/* Comments */
.blnq-post-comments {
  border-top:  1px solid var(--blnq-border);
  margin-top:  .75rem;
  padding-top: .75rem;
}

.blnq-comment {
  display:       flex;
  gap:           .5rem;
  margin-bottom: .625rem;
}

.blnq-comment-avatar {
  width:           30px; height: 30px;
  border-radius:   50%;
  background:      linear-gradient(135deg, var(--blnq-primary-container), var(--blnq-cyan));
  color:           #fff;
  font-family:     var(--font-heading);
  font-weight:     700;
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-shrink:     0;
  font-size:       11px;
}

.blnq-comment-bubble {
  background:    var(--blnq-surface-low);
  border-radius: 0 var(--blnq-radius-sm) var(--blnq-radius-sm) var(--blnq-radius-sm);
  padding:       .5rem .75rem;
}

.blnq-comment-author { font-weight: 600; font-size: .78rem; color: var(--blnq-text); }
.blnq-comment-body   { font-size: .82rem; color: var(--blnq-text); margin-top: .15rem; }
.blnq-comment-time   { font-size: .7rem; color: var(--blnq-text-secondary); margin-top: .2rem; }

.blnq-comment-input {
  display:    flex;
  gap:        .5rem;
  margin-top: .5rem;
  align-items: center;
}
.blnq-comment-input input {
  flex:          1;
  border-radius: var(--blnq-pill);
  border:        1px solid var(--blnq-outline-variant);
  padding:       .375rem .875rem;
  font-size:     .82rem;
  background:    var(--blnq-surface-low);
  outline:       none;
  transition:    border-color .15s;
}
.blnq-comment-input input:focus { border-color: var(--blnq-primary); }
.blnq-comment-input button { border-radius: var(--blnq-pill); padding: .35rem 1rem; font-size: .82rem; }

/* ─── Auth pages (Login / Register) ─────────────────────────── */
.blnq-auth-wrap {
  min-height: calc(100vh - 130px);
  display:    flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

.blnq-auth-card {
  background:    var(--blnq-card);
  border-radius: var(--blnq-radius);
  box-shadow:    var(--blnq-shadow-lg);
  padding:       2.5rem 2rem;
  width:         100%;
  max-width:     460px;
}

.blnq-auth-brand {
  text-align:    center;
  margin-bottom: 2rem;
}

.blnq-auth-logo {
  font-family: var(--font-heading);
  font-size:   2rem;
  font-weight: 800;
  color:       var(--blnq-primary);
  letter-spacing: -0.5px;
}

.blnq-auth-logo span { color: var(--blnq-orange); }

.blnq-auth-tagline {
  color:       var(--blnq-text-secondary);
  font-size:   13.5px;
  margin:      .25rem 0 0;
}

.blnq-auth-footer {
  text-align:  center;
  margin-top:  1.5rem;
  font-size:   13.5px;
  color:       var(--blnq-text-secondary);
}

.blnq-auth-footer a {
  color:       var(--blnq-primary);
  font-weight: 600;
  text-decoration: none;
}

.blnq-auth-footer a:hover { text-decoration: underline; }

/* User-type selector on Register */
.blnq-user-type-btn {
  padding:        .85rem .5rem !important;
  text-align:     center;
  border-radius:  var(--blnq-radius) !important;
  transition:     background .15s, border-color .15s;
}

.blnq-user-type-title {
  font-family: var(--font-heading);
  font-size:   15px;
  font-weight: 700;
  margin-bottom: .2rem;
}

.blnq-user-type-desc {
  font-size: 12px;
  opacity:   .75;
  line-height: 1.3;
}

/* Confirmation pages (ForgotPasswordConfirmation, ResetPasswordConfirmation) */
.blnq-auth-confirm-icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           72px;
  height:          72px;
  border-radius:   50%;
  background:      var(--blnq-primary-light);
  color:           var(--blnq-primary);
  margin:          0 auto;
}
