/* ──────────────────────────────────────────────────────────
   Bandlik xizmati — Modern UI (international style)
   ────────────────────────────────────────────────────────── */
:root{
  --c-primary:#0a66c2;        /* LinkedIn blue */
  --c-primary-dark:#004182;
  --c-success:#057642;
  --c-warning:#dd9016;
  --c-danger:#cc1016;
  --c-text:#000000e6;
  --c-muted:#00000099;
  --c-border:#e0e0e0;
  --c-bg:#f4f2ee;
  --c-card:#ffffff;
  --shadow-sm:0 1px 2px rgba(0,0,0,.08);
  --shadow-md:0 2px 8px rgba(0,0,0,.08);
  --shadow-lg:0 4px 16px rgba(0,0,0,.10);
}

*{ box-sizing:border-box; }
body{
  background:var(--c-bg);
  font-family:'Inter','Segoe UI',-apple-system,BlinkMacSystemFont,Roboto,sans-serif;
  color:var(--c-text);
  font-size:14px;
  letter-spacing:-.01em;
}

/* ─── Navigation ─── */
.app-nav{
  background:#fff !important;
  border-bottom:1px solid var(--c-border);
  box-shadow:var(--shadow-sm);
}
.app-nav .navbar-brand{ color:var(--c-primary) !important; font-weight:700; font-size:1.15rem;}
.app-nav .navbar-brand i{ font-size:1.4rem; }
.app-nav .nav-link{
  color:var(--c-muted) !important;
  font-weight:500; font-size:.92rem;
  padding:.55rem .9rem !important;
  border-radius:.4rem;
  margin:0 .15rem;
  transition:all .12s;
}
.app-nav .nav-link:hover{ background:#f4f2ee; color:var(--c-text) !important;}
.app-nav .nav-link.active{ color:var(--c-primary) !important; background:#e8f3ff; }
.app-nav .navbar-toggler{ border-color:var(--c-border);}
.app-nav .dropdown-menu{
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-md);
  border-radius:.5rem; padding:.25rem;
}
.app-nav .dropdown-item{ border-radius:.35rem; padding:.55rem .85rem;}
.app-nav .dropdown-item.active{ background:#e8f3ff; color:var(--c-primary);}
.nav-avatar{
  width:32px; height:32px; border-radius:50%;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));
  color:#fff; display:inline-flex; align-items:center; justify-content:center;
  font-weight:600; font-size:.85rem;
}
.active-model-pill{
  display:inline-flex; align-items:center;
  background:#fff8e1; color:#8b6500;
  border:1px solid #fde68a;
  padding:.35rem .75rem; border-radius:1rem;
  font-size:.78rem; font-weight:600;
  text-decoration:none;
  transition:all .15s;
  cursor:pointer;
}
.active-model-pill:hover{ background:#fef3c7; color:#6b4f00; }
.active-model-pill i{ font-size:.95rem; }
.active-model-pill::after{
  display:inline-block; margin-left:.4em;
  vertical-align:.15em; content:""; border-top:.3em solid;
  border-right:.3em solid transparent; border-bottom:0;
  border-left:.3em solid transparent;
}
.model-switcher-menu{
  min-width:280px; padding:.4rem;
}
.model-switcher-menu .dropdown-header{
  font-size:.78rem; color:var(--c-muted); padding:.5rem .85rem;
  text-transform:uppercase; letter-spacing:.05em;
}
.model-switcher-menu .dropdown-item{
  border-radius:.4rem; padding:.65rem .85rem;
  display:flex; align-items:center; gap:.6rem;
  font-size:.9rem;
}
.model-switcher-menu .dropdown-item:hover{ background:#f4f2ee; }
.model-switcher-menu .dropdown-item.active{
  background:#e6f4ec; color:#057642 !important;
}
.model-switcher-menu .dropdown-item.active i{ color:#057642; }
.model-switcher-menu .dropdown-item i{ font-size:1.05rem; flex-shrink:0; }

/* ─── Cards ─── */
.card{
  border:1px solid var(--c-border) !important;
  background:var(--c-card);
  border-radius:.6rem;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .15s;
}
.card .card-header{
  background:transparent;
  border-bottom:1px solid var(--c-border);
  font-weight:600; font-size:.95rem;
  padding:.85rem 1.1rem;
}
.card .card-body{ padding:1.1rem; }

/* ─── Stat cards (modern KPI) ─── */
.kpi{
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:.6rem;
  padding:1.2rem 1.3rem;
  display:flex; gap:1rem; align-items:flex-start;
  transition:transform .12s, box-shadow .15s;
}
.kpi:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md);}
.kpi-icon{
  width:48px; height:48px; border-radius:.55rem;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; flex-shrink:0;
}
.kpi-icon.blue   { background:#e8f3ff; color:var(--c-primary);}
.kpi-icon.green  { background:#e6f4ec; color:var(--c-success);}
.kpi-icon.amber  { background:#fef3c7; color:#8b6500;}
.kpi-icon.red    { background:#fde2e4; color:var(--c-danger);}
.kpi-icon.purple { background:#f0e7ff; color:#7000c4;}
.kpi-body{ flex:1; min-width:0; }
.kpi-value{ font-size:1.7rem; font-weight:700; line-height:1.1; color:var(--c-text);}
.kpi-label{ color:var(--c-muted); font-size:.85rem; font-weight:500; margin-top:.15rem;}
.kpi-meta{ color:var(--c-muted); font-size:.75rem; margin-top:.25rem;}

/* Eski stat-card uslublarini saqlash (qaytarib uslub) */
.stat-card{
  background:#fff; border:1px solid var(--c-border);
  border-left:4px solid var(--c-primary);
  border-radius:.6rem; padding:1.1rem 1.25rem;
  box-shadow:var(--shadow-sm);
}
.stat-card .stat-value{ font-size:1.7rem; font-weight:700; color:var(--c-primary);}
.stat-card .stat-label{ color:var(--c-muted); font-size:.85rem; font-weight:500;}
.stat-card.green{ border-left-color:var(--c-success);} .stat-card.green .stat-value{color:var(--c-success);}
.stat-card.amber{ border-left-color:var(--c-warning);} .stat-card.amber .stat-value{color:#8b6500;}
.stat-card.red  { border-left-color:var(--c-danger);}  .stat-card.red   .stat-value{color:var(--c-danger);}

/* ─── Avatar (initials) ─── */
.avatar{
  width:42px; height:42px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-weight:600; font-size:.92rem;
  flex-shrink:0;
}
.avatar-sm{ width:32px; height:32px; font-size:.78rem;}
.avatar-lg{ width:56px; height:56px; font-size:1.2rem;}
.avatar-1{ background:linear-gradient(135deg,#0a66c2,#004182);}
.avatar-2{ background:linear-gradient(135deg,#057642,#03522c);}
.avatar-3{ background:linear-gradient(135deg,#dd9016,#a8690a);}
.avatar-4{ background:linear-gradient(135deg,#7000c4,#4a007e);}
.avatar-5{ background:linear-gradient(135deg,#cc1016,#8a0a0e);}
.avatar-6{ background:linear-gradient(135deg,#0e85ad,#055d7e);}

/* ─── Tables ─── */
.table{ font-size:.92rem;}
.table > :not(caption) > * > *{ padding:.75rem .85rem;}
.table thead{ background:#fafafa;}
.table thead th{
  border-bottom:1px solid var(--c-border) !important;
  font-weight:600; color:var(--c-muted);
  text-transform:uppercase; font-size:.72rem;
  letter-spacing:.05em;
}
.table-hover tbody tr:hover{ background:#fafbfc; }
.table-sm > :not(caption) > * > *{ padding:.5rem .65rem; font-size:.88rem;}

/* ─── Buttons ─── */
.btn{ font-weight:600; border-radius:1.5rem; padding:.45rem 1.1rem; font-size:.88rem;}
.btn-sm{ padding:.3rem .8rem; font-size:.82rem;}
.btn-primary{ background:var(--c-primary); border-color:var(--c-primary);}
.btn-primary:hover{ background:var(--c-primary-dark); border-color:var(--c-primary-dark);}
.btn-outline-primary{ color:var(--c-primary); border-color:var(--c-primary);}
.btn-outline-primary:hover{ background:var(--c-primary); border-color:var(--c-primary);}
.btn-success{ background:var(--c-success); border-color:var(--c-success);}
.btn-success:hover{ background:#03522c; border-color:#03522c;}
.btn-link{ text-decoration:none; color:var(--c-primary);}

/* ─── Forms ─── */
.form-control, .form-select{
  border:1px solid var(--c-border);
  border-radius:.5rem;
  font-size:.92rem;
  padding:.5rem .8rem;
}
.form-control:focus, .form-select:focus{
  border-color:var(--c-primary);
  box-shadow:0 0 0 3px #0a66c233;
}
.form-label{ font-weight:600; font-size:.85rem; color:var(--c-text);}

/* ─── Status badges ─── */
.badge{ font-weight:600; padding:.4em .85em; border-radius:1rem; font-size:.72rem;}
.badge.badge-q-qabul,
.badge-q-qabul {
  background-color:var(--c-success) !important;
  color:#fff !important;
}
.badge.badge-q-rezerv,
.badge-q-rezerv {
  background-color:var(--c-warning) !important;
  color:#fff !important;
}
.badge.badge-q-no,
.badge-q-no {
  background-color:var(--c-danger) !important;
  color:#fff !important;
}

/* ─── Tags / pills ─── */
.tag{
  display:inline-block; padding:.2rem .65rem;
  border-radius:1rem; font-size:.75rem; font-weight:500;
  background:#eef3f8; color:var(--c-muted); border:1px solid #d6e3ed;
}
.tag-blue{ background:#e8f3ff; color:var(--c-primary); border-color:#c7e0f5;}
.tag-green{ background:#e6f4ec; color:var(--c-success); border-color:#bce0cb;}
.tag-amber{ background:#fef3c7; color:#8b6500; border-color:#fde68a;}
.metric-pill{
  display:inline-block; padding:.18rem .6rem; border-radius:1rem;
  background:#e8f3ff; color:var(--c-primary); font-size:.75rem; font-weight:600;
  border:1px solid #c7e0f5;
}

/* ─── Login page ─── */
.login-wrap{
  min-height:100vh;
  background:#f4f2ee;
  display:flex; align-items:center; justify-content:center;
  padding:1rem;
}
.login-card{
  width:100%; max-width:420px;
  background:#fff; border-radius:.7rem;
  padding:2.2rem 2.4rem;
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-md);
}

/* ─── Detail rows ─── */
.detail-row{ display:flex; padding:.5rem 0; border-bottom:1px solid #f0f0f0;}
.detail-row .lbl{ flex:0 0 220px; color:var(--c-muted); font-size:.88rem;}
.detail-row .val{ flex:1; font-weight:500;}

.section-title{
  font-size:.78rem; font-weight:700; color:var(--c-muted);
  margin-bottom:.7rem; text-transform:uppercase; letter-spacing:.06em;
}

/* ─── Search bar ─── */
.search-bar{
  background:#fff; padding:.85rem 1rem;
  border-radius:.6rem;
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-sm);
  margin-bottom:1.2rem;
}

/* ─── Person card (LinkedIn-style) ─── */
.person-card{
  background:#fff; border:1px solid var(--c-border);
  border-radius:.6rem; padding:1rem 1.1rem;
  display:flex; gap:.9rem; align-items:flex-start;
  transition:all .12s;
}
.person-card:hover{ border-color:var(--c-primary); box-shadow:var(--shadow-md);}
.person-card .person-info{ flex:1; min-width:0;}
.person-card .person-name{ font-weight:600; color:var(--c-text); font-size:.95rem; margin-bottom:.15rem;}
.person-card .person-title{ color:var(--c-muted); font-size:.85rem; margin-bottom:.35rem;}
.person-card .person-meta{ display:flex; flex-wrap:wrap; gap:.4rem; font-size:.78rem;}

/* ─── Job card (Indeed/LinkedIn-style) ─── */
.job-card{
  background:#fff; border:1px solid var(--c-border);
  border-radius:.6rem; padding:1.1rem 1.2rem;
  transition:all .12s; cursor:pointer; display:block;
  text-decoration:none; color:inherit;
}
.job-card:hover{ border-color:var(--c-primary); box-shadow:var(--shadow-md); color:inherit;}
.job-card .job-title{ font-weight:600; color:var(--c-primary); font-size:1.02rem; margin-bottom:.15rem;}
.job-card .job-org{ color:var(--c-text); font-size:.92rem; margin-bottom:.25rem;}
.job-card .job-loc{ color:var(--c-muted); font-size:.85rem; margin-bottom:.5rem;}
.job-card .job-meta{ display:flex; flex-wrap:wrap; gap:.4rem; }
.job-card .job-salary{
  font-weight:600; color:var(--c-success); font-size:.88rem;
  margin-top:.5rem;
}

/* ─── Pagination ─── */
.pagination .page-link{ color:var(--c-primary); border-color:var(--c-border);}
.pagination .page-item.active .page-link{
  background:var(--c-primary); border-color:var(--c-primary);
}

/* ─── Misc ─── */
.kbd{
  font-family:ui-monospace,Consolas,monospace;
  background:#f4f2ee; padding:.1rem .4rem; border-radius:.3rem;
  font-size:.78em; color:var(--c-muted);
  border:1px solid var(--c-border);
}
.score-bar{ height:6px; background:#f0f0f0; border-radius:3px; overflow:hidden;}
.score-bar > i{ display:block; height:100%;
  background:linear-gradient(90deg,var(--c-success),var(--c-primary));}
.signal-yes{ color:var(--c-success); }
.signal-no { color:var(--c-danger); }

/* Footer */
footer{ color:var(--c-muted); font-size:.82rem;}
footer a{ color:var(--c-primary); text-decoration:none;}

/* Charts container — to'g'ri height */
.chart-box{ position:relative; height:260px; }
.chart-box-sm{ position:relative; height:200px; }
