:root{
  --precita-pink:#e5007d;
  --precita-dark-pink:#b80063;
  --precita-soft-pink:#fff2f8;
  --precita-green:#006b35;
  --precita-text:#2b2330;
}
body{
  background:linear-gradient(180deg,var(--precita-soft-pink) 0,#fff 270px);
  color:var(--precita-text);
}
.precita-navbar{
  background:linear-gradient(90deg,var(--precita-pink),var(--precita-dark-pink));
  box-shadow:0 0.5rem 1.25rem rgba(184,0,99,.18);
}
.precita-navbar .nav-link,.precita-navbar .navbar-brand{color:#fff!important;}
.precita-navbar .nav-link{opacity:.92;}
.precita-navbar .nav-link:hover,.precita-navbar .nav-link.active{opacity:1;text-decoration:underline;text-underline-offset:.4rem;}
.precita-logo{height:40px;width:auto;border-radius:8px;background:#fff;padding:3px;}
.precita-brand-title{font-weight:800;letter-spacing:.02em;}
.precita-brand-subtitle{font-size:.72rem;opacity:.86;text-transform:none;letter-spacing:.04em;}
.btn-primary{background-color:var(--precita-pink);border-color:var(--precita-pink);}
.btn-primary:hover,.btn-primary:focus{background-color:var(--precita-dark-pink);border-color:var(--precita-dark-pink);}
.btn-outline-primary{color:var(--precita-pink);border-color:var(--precita-pink);}
.btn-outline-primary:hover{background-color:var(--precita-pink);border-color:var(--precita-pink);}
.card{border:0;border-radius:1rem;}
.card-header{background:#fff;border-bottom:1px solid rgba(229,0,125,.12);}
.kpi-card{position:relative;overflow:hidden;min-height:128px;}
.kpi-card:after{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;border-radius:50%;background:rgba(229,0,125,.08);}
.kpi-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6c757d;font-weight:700;}
.kpi-value{font-size:1.85rem;font-weight:800;line-height:1.1;}
.kpi-note{font-size:.86rem;color:#6c757d;}
.precita-hero{background:linear-gradient(135deg,var(--precita-pink),var(--precita-dark-pink));color:#fff;border-radius:1.25rem;padding:1.25rem;box-shadow:0 .5rem 1.25rem rgba(184,0,99,.18);}
.timeline-dot{width:.75rem;height:.75rem;background:var(--precita-pink);border-radius:50%;display:inline-block;margin-right:.5rem;}
.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#6c757d;}

/* Mobile friendliness pass - keeps desktop layout intact */
html, body { max-width: 100%; overflow-x: hidden; }

.table-responsive {
  border-radius: .9rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-list-card {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 .25rem 1rem rgba(43,35,48,.08);
  margin-bottom: .85rem;
}
.mobile-list-card .card-body { padding: 1rem; }
.mobile-list-label {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6c757d;
  font-weight: 700;
}
.mobile-list-value {
  font-size: .95rem;
  word-break: break-word;
}
.mobile-actions .btn { width: 100%; margin-top: .4rem; }

@media (max-width: 767.98px) {
  body { background: linear-gradient(180deg,var(--precita-soft-pink) 0,#fff 190px); }
  .container, .container-fluid {
    max-width: 100%;
    padding-left: .85rem;
    padding-right: .85rem;
  }
  .container.mt-4 { margin-top: 1rem !important; }
  h1, .h1 { font-size: 1.75rem; letter-spacing: .06em; }
  h2, .h2 { font-size: 1.45rem; }
  h3, .h3 { font-size: 1.25rem; }

  .navbar .container-fluid { padding-left: .75rem; padding-right: .75rem; }
  .precita-logo { height: 34px; }
  .precita-brand-title { font-size: .92rem; }
  .navbar-collapse { margin-top: .75rem; }
  .navbar-nav .dropdown-menu {
    border: 0;
    border-radius: .9rem;
    padding: .5rem;
    margin-bottom: .35rem;
  }
  .dropdown-item { white-space: normal; border-radius: .5rem; }

  .d-flex.justify-content-between.align-items-center.mb-3 {
    flex-direction: column;
    align-items: stretch !important;
    gap: .75rem;
  }
  .d-flex.justify-content-between.align-items-center.mb-3 .btn,
  .d-flex.justify-content-between.align-items-center.mb-3 .d-flex .btn {
    width: 100%;
  }
  .d-flex.gap-2 { flex-direction: column; width: 100%; }

  form.row.g-2 > [class^="col"],
  form.row.g-2 > [class*=" col"] {
    width: 100%;
    flex: 0 0 100%;
  }
  form.row.g-2 .btn { width: 100%; margin-bottom: .35rem; }

  .card { border-radius: 1rem; }
  .card-body { padding: 1rem; }
  .kpi-value, .fs-2 { font-size: 1.45rem !important; }

  .pagination {
    flex-wrap: wrap;
    gap: .25rem;
  }
  .page-link { padding: .45rem .65rem; }

  .table { font-size: .85rem; }
}


/* Notification bell counter */
.notification-bell-link {
  min-width: 2.35rem;
  text-align: center;
}
.notification-bell-icon {
  font-size: 1.05rem;
  display: inline-block;
}
.notification-badge {
  position: absolute;
  top: .2rem;
  right: .15rem;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 .32rem;
  border-radius: 999px;
  background: #dc3545;
  color: #fff;
  font-size: .68rem;
  line-height: 1.2rem;
  font-weight: 800;
  text-align: center;
  box-shadow: 0 0 0 2px rgba(255,255,255,.9);
}
@media (max-width: 991.98px) {
  .notification-bell-link {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    padding-right: 1.8rem !important;
  }
  .notification-badge {
    top: .25rem;
    right: .25rem;
  }
}


/* Keep long desktop navigation menus inside the visible browser window. */
@media (min-width: 992px) {
  .precita-navbar {
    position: relative;
    z-index: 1080;
  }
  .precita-navbar .dropdown-menu {
    max-height: calc(100vh - 5.25rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 1090;
  }
}


/* Dashboard refresh */
.dashboard-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  margin-bottom:1.2rem;
}
.dashboard-title {
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:.15rem;
}
.dashboard-subtitle { color:#6c757d; font-size:1rem; }
.dashboard-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.dashboard-actions .btn { min-width:170px; font-weight:700; }
.dashboard-kpi {
  border:1px solid rgba(43,35,48,.06);
  border-radius:1rem;
  box-shadow:0 .35rem 1rem rgba(43,35,48,.06)!important;
  height:100%;
}
.dashboard-kpi .card-body { padding:1.1rem 1.2rem; }
.dashboard-kpi-label { color:#6c757d; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.dashboard-kpi-value { font-size:2rem; font-weight:800; line-height:1.1; margin-top:.35rem; }
.dashboard-panel {
  border:1px solid rgba(43,35,48,.06);
  border-radius:1rem;
  box-shadow:0 .35rem 1rem rgba(43,35,48,.06)!important;
  overflow:hidden;
}
.dashboard-panel .card-header { background:#fff; border-bottom:1px solid rgba(229,0,125,.12); padding:1rem 1.15rem; }
.dashboard-panel .card-body { padding:1rem 1.15rem; }
.dashboard-meta { color:#6c757d; font-size:.86rem; }
.dashboard-panel-title { font-weight:700; }
.dashboard-mini-table { margin-bottom:0; }
.dashboard-mini-table thead th {
  color:#6c757d;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
  border-bottom-width:1px;
}
.dashboard-mini-table tbody td { vertical-align:middle; padding:.85rem .75rem; }
.dashboard-mini-table tbody tr:last-child td { border-bottom:0; }
.dashboard-mini-table .number-col { width:27%; min-width:150px; }
.dashboard-mini-table .date-col { width:18%; min-width:108px; }
.dashboard-mini-table .customer-col { width:25%; min-width:165px; }
.dashboard-mini-table .user-col { width:12%; min-width:96px; }
.dashboard-mini-table .status-col { width:10%; min-width:95px; }
.dashboard-mini-table .amount-col { width:14%; min-width:110px; }
.dashboard-mini-table .action-col { width:1%; white-space:nowrap; }
.dashboard-mini-table .action-col .btn { min-width:70px; }
.dashboard-list-group .list-group-item { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 1rem; border-left:0; border-right:0; }
.dashboard-list-group .list-group-item:first-child { border-top:0; }
.dashboard-list-group .list-group-item:last-child { border-bottom:0; }
.dashboard-list-group .list-group-item span:last-child { color:#adb5bd; }
.dashboard-list-group .list-group-item:hover span:last-child { color:var(--precita-pink); }
.dashboard-batch-grid { display:grid; gap:.85rem; }
.dashboard-batch-item {
  border:1px solid rgba(43,35,48,.07);
  border-radius:.9rem;
  padding:.95rem 1rem;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:.75rem;
  align-items:center;
  background:#fff;
}
.dashboard-batch-title { font-weight:700; margin-bottom:.15rem; }
.dashboard-batch-meta { color:#6c757d; font-size:.9rem; }
.dashboard-batch-status { margin-top:.45rem; }
.dashboard-empty { padding:1.35rem 1rem; text-align:center; color:#6c757d; }
@media (max-width: 1199.98px) {
  .dashboard-header { align-items:stretch; }
}
@media (max-width: 991.98px) {
  .dashboard-header { flex-direction:column; align-items:stretch; }
  .dashboard-actions { width:100%; }
  .dashboard-actions .btn { flex:1 1 100%; min-width:0; }
}

/* Role-aware dashboard */
.role-dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.35rem}.role-dashboard-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--precita-pink);margin-bottom:.25rem}.role-dashboard-title{font-weight:800;letter-spacing:.04em;margin:0}.role-dashboard-subtitle{color:#6c757d;margin-top:.3rem}.role-dashboard-actions{display:flex;gap:.65rem;flex-wrap:wrap}.role-dashboard-actions .btn{min-width:145px}.role-kpi-card{border:1px solid rgba(43,35,48,.06);box-shadow:0 .35rem 1.1rem rgba(43,35,48,.06);height:100%;overflow:hidden;position:relative}.role-kpi-card:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;right:-28px;top:-30px;background:rgba(229,0,125,.07)}.role-kpi-card .card-body{padding:1.2rem}.role-kpi-label{font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#6c757d}.role-kpi-value{font-size:2rem;font-weight:800;line-height:1.1;margin-top:.4rem}.role-kpi-note{font-size:.84rem;color:#6c757d;margin-top:.4rem}.role-dashboard-panel{border:1px solid rgba(43,35,48,.06);box-shadow:0 .35rem 1.1rem rgba(43,35,48,.06);overflow:hidden}.role-dashboard-panel .card-header{padding:1rem 1.15rem}.role-dashboard-table th{white-space:nowrap}.role-dashboard-table td{padding:.85rem .75rem}.role-batch-list{padding:.4rem 1rem}.role-batch-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.9rem .2rem;border-bottom:1px solid rgba(43,35,48,.08)}.role-batch-row:last-child{border-bottom:0}@media(max-width:991.98px){.role-dashboard-header{flex-direction:column;align-items:stretch}.role-dashboard-actions{width:100%}.role-dashboard-actions .btn{flex:1 1 160px}}@media(max-width:575.98px){.role-batch-row{grid-template-columns:1fr auto}.role-batch-row .btn{grid-column:1/-1;width:100%}.role-kpi-value{font-size:1.6rem}}

/* Management KPI card polish */
.role-kpi-grid {
  row-gap: 1.25rem !important;
}
.role-kpi-card {
  background: #fff;
  border: 1px solid rgba(43,35,48,.08);
  border-radius: 1.05rem;
  box-shadow: 0 .45rem 1.4rem rgba(43,35,48,.09);
  min-height: 154px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.role-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 .65rem 1.7rem rgba(43,35,48,.12);
}
.role-kpi-card .card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 154px;
  padding: 1.35rem 1.45rem;
  position: relative;
  z-index: 1;
}
.role-kpi-label {
  color: #6b6570;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .085em;
  line-height: 1.35;
  text-transform: uppercase;
}
.role-kpi-value {
  color: var(--precita-text);
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1;
  margin-top: .65rem;
}
.role-kpi-note {
  color: #817b85;
  font-size: .84rem;
  line-height: 1.45;
  margin-top: .7rem;
}
.role-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: 1.05rem 0 0 1.05rem;
  background: var(--precita-pink);
}
.role-kpi-card::after {
  width: 112px;
  height: 112px;
  right: -42px;
  top: -44px;
  background: rgba(229,0,125,.06);
}
.role-kpi-grid > div:nth-child(3) .role-kpi-card::before,
.role-kpi-grid > div:nth-child(4) .role-kpi-card::before {
  background: #48bd78;
}
.role-kpi-grid > div:nth-child(3) .role-kpi-card::after,
.role-kpi-grid > div:nth-child(4) .role-kpi-card::after {
  background: rgba(72,189,120,.08);
}
.role-kpi-grid > div:nth-child(5) .role-kpi-card::before,
.role-kpi-grid > div:nth-child(6) .role-kpi-card::before {
  background: #7b61c9;
}
.role-kpi-grid > div:nth-child(5) .role-kpi-card::after,
.role-kpi-grid > div:nth-child(6) .role-kpi-card::after {
  background: rgba(123,97,201,.07);
}
@media (max-width: 767.98px) {
  .role-kpi-card,
  .role-kpi-card .card-body {
    min-height: 132px;
  }
  .role-kpi-card .card-body {
    padding: 1.15rem 1.2rem;
  }
  .role-kpi-value {
    font-size: 1.85rem;
  }
}
