/*
  PrimeCare Circle brand theme
  Overrides the AdminLTE blue/default palette with the PrimeCare green + white
  scheme. Loaded after adminlte.css in admin/includes/_header.php so these
  rules win the cascade without touching the vendor file.
*/
:root{
  --pc-green-900:#14532d;
  --pc-green-700:#1f7a4d;
  --pc-green-500:#2f9e63;
  --pc-green-100:#e6f4ec;
}

/* Buttons - unify primary (blue) and success (bootstrap green) into one brand green */
.btn-primary,
.btn-success{
  background-color:var(--pc-green-900) !important;
  border-color:var(--pc-green-900) !important;
  color:#fff !important;
}
.btn-primary:hover, .btn-primary:focus,
.btn-success:hover, .btn-success:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):active{
  background-color:var(--pc-green-700) !important;
  border-color:var(--pc-green-700) !important;
}
.btn-outline-primary,.btn-outline-success{
  color:var(--pc-green-900) !important;
  border-color:var(--pc-green-900) !important;
}
.btn-outline-primary:hover,.btn-outline-success:hover{
  background-color:var(--pc-green-900) !important;
  color:#fff !important;
}

/* Utility color classes used throughout the app's views */
.bg-primary,.bg-success{ background-color:var(--pc-green-900) !important; }
.text-primary,.text-success{ color:var(--pc-green-900) !important; }
.border-primary,.border-success{ border-color:var(--pc-green-900) !important; }
.badge-primary,.badge-success{ background-color:var(--pc-green-900) !important; }

/* Links */
a{ color:var(--pc-green-900); }
a:hover{ color:var(--pc-green-700); }

/* Cards */
.card-primary.card-outline,.card-success.card-outline{ border-top-color:var(--pc-green-900) !important; }
.card-primary:not(.card-outline)>.card-header,
.card-success:not(.card-outline)>.card-header{
  background-color:var(--pc-green-900) !important;
  color:#fff;
}

/* Tabs / pills / pagination */
.nav-pills .nav-link.active,.nav-tabs .nav-link.active{
  background-color:var(--pc-green-900) !important;
  border-color:var(--pc-green-900) !important;
  color:#fff !important;
}
.page-item.active .page-link{
  background-color:var(--pc-green-900) !important;
  border-color:var(--pc-green-900) !important;
}
.page-link{ color:var(--pc-green-900); }

/* Form focus states */
.custom-control-input:checked ~ .custom-control-label::before{
  border-color:var(--pc-green-900) !important;
  background-color:var(--pc-green-900) !important;
}
.form-control:focus{
  border-color:var(--pc-green-500) !important;
  box-shadow:0 0 0 .2rem rgba(20,83,45,.25) !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default .select2-selection--single:focus{
  border-color:var(--pc-green-500) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background-color:var(--pc-green-900) !important;
}

.progress-bar{ background-color:var(--pc-green-900); }

/* Sidebar: light/white body, green brand + active states */
.main-sidebar.sidebar-light-success{
  background-color:#ffffff;
  border-right:1px solid #e5efe8;
}
.sidebar-light-success .nav-sidebar .nav-link,
.sidebar-light-success .nav-sidebar .nav-link p,
.sidebar-light-success .nav-sidebar .nav-icon{ color:#000000; }

/* Highlighted state covers every way AdminLTE can mark the current/hovered
   item - the class can land on the <a class="nav-link"> itself or on its
   parent <li class="nav-item">, at both the top level and inside a
   nav-treeview sub-menu. Every combination below gets the same solid green
   fill with white text (icon, label, and any other child) so nothing can
   render as an unreadable green-on-green bar. */
.sidebar-light-success .nav-sidebar .nav-item.menu-open>.nav-link,
.sidebar-light-success .nav-sidebar .nav-item:hover>.nav-link,
.sidebar-light-success .nav-sidebar .nav-link.active,
.sidebar-light-success .nav-sidebar .nav-link:active,
.sidebar-light-success .nav-sidebar .nav-item.active>.nav-link{
  background-color:var(--pc-green-700) !important;
  color:#ffffff !important;
}
.sidebar-light-success .nav-sidebar .nav-item.menu-open>.nav-link *,
.sidebar-light-success .nav-sidebar .nav-item:hover>.nav-link *,
.sidebar-light-success .nav-sidebar .nav-link.active *,
.sidebar-light-success .nav-sidebar .nav-link:active *,
.sidebar-light-success .nav-sidebar .nav-item.active>.nav-link *{
  color:#ffffff !important;
}

/* Selected top-level item additionally gets a darker left accent stripe */
.sidebar-light-success .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-success .nav-sidebar>.nav-item>.nav-link:active,
.sidebar-light-success .nav-sidebar>.nav-item.active>.nav-link{
  border-left:3px solid var(--pc-green-900);
}

.brand-link{
  background:#ffffff;
  border-bottom:2px solid var(--pc-green-900);
}
.primecare-brand-text{
  color:var(--pc-green-900);
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:.2px;
  white-space:nowrap;
}

/* Top navbar: full brand-green bar, white text/icons throughout */
.main-header.navbar{
  background:var(--pc-green-900) !important;
  border-bottom:3px solid var(--pc-green-700) !important;
  display:flex;
  align-items:center;
}
.main-header .nav-link,
.main-header .nav-link>i{ color:#ffffff !important; }
.main-header .nav-link:hover{ color:#e6f4ec !important; }
.main-header li.nav-item b{ color:#ffffff; }
.main-header .navbar-badge{ border:1px solid var(--pc-green-900); }
.main-header .dropdown-menu{ color:#1f2a24; }
.main-header .dropdown-menu .dropdown-item{ color:#1f2a24; }

/* Center logo sits in a white chip so it stays legible against the
   green bar regardless of the uploaded logo's own colors/transparency */
.navbar-center-logo{
  background:#ffffff;
  padding:4px 14px;
  border-radius:9px;
}

/* Footer */
.main-footer{
  background:#ffffff;
  border-top:1px solid #d7ecdf;
  color:var(--pc-green-900);
  font-size:.82rem;
}
.main-footer strong{ font-weight:600; letter-spacing:.02em; }

/* Logo sits in the space between the left nav (Logout, etc.) and the
   right nav (Welcome, notifications), on every page since this markup
   lives in admin/includes/_header.php. The wrap grows to fill whatever
   room is left between the two <ul>s and centers the logo inside it. */
.navbar-center-logo-wrap{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:0;
}
.navbar-center-logo{
  display:flex;
  align-items:center;
}
.navbar-center-logo img{
  height:36px;
  width:auto;
  object-fit:contain;
}
@media (max-width:576px){
  .navbar-center-logo-wrap{ display:none; }
}

/* Login / register pages */
.form-background{
  background:linear-gradient(135deg,#f4faf6 0%,#eef8f1 45%,#d9f0e2 100%) !important;
}
.login-logo a,.register-logo a{
  color:var(--pc-green-900) !important;
  font-weight:700;
}
.login-box .card,.register-box .card{
  border-top:4px solid var(--pc-green-900);
}

/* =====================================================
   Shared "pcs-" component system
   List/CRUD pages (Plan Sale, Masters, Employee, Item, Company,
   Account, Plan Master, ...) all build on these same classes so the
   card header, filter fields, table and action buttons look and
   behave identically across the app. Defined once here (loaded
   globally via _header.php) rather than per-view.
   ===================================================== */
.pcs-wrapper{
  background:linear-gradient(135deg,#f4faf6 0%,#eef8f1 45%,#e9f6ee 100%);
  padding-top:10px;
  padding-bottom:10px;
}
.pcs-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 2px 14px rgba(20,83,45,.08);
  border:1px solid #e5efe8;
  margin-bottom:20px;
}
.pcs-card-header{
  background:var(--pc-green-900);
  color:#fff;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.pcs-card-header-left{ display:flex; align-items:center; gap:12px; }
.pcs-card-icon{
  width:40px; height:40px; border-radius:10px;
  background:rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; flex:0 0 auto;
}
.pcs-card-title{ font-size:1.15rem; font-weight:700; line-height:1.2; }
.pcs-card-subtitle{ font-size:.8rem; opacity:.85; }
.pcs-btn-ghost-light{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  color:#fff !important;
}
.pcs-btn-ghost-light:hover{ background:rgba(255,255,255,.22) !important; color:#fff !important; }

.pcs-card-body{ padding:22px 24px 26px; }
.pcs-card-body-tight{ padding:18px 20px 22px; }

/* Filter / form fields */
.pcs-row{ display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; }
.pcs-col{ flex:1 1 200px; min-width:0; }
.pcs-col-narrow{ flex:0 0 160px; }
.pcs-field{ margin-bottom:0; }
.pcs-label{ display:block; font-size:.8rem; font-weight:600; color:#425058; margin-bottom:6px; }
.pcs-req{ color:#dc2626; }

.pcs-input-wrap{ position:relative; }
.pcs-input-icon{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color:#9aa7ad; font-size:.85rem; pointer-events:none;
}
.pcs-input{
  width:100%; border:1px solid #dbe4e0; border-radius:9px; padding:9px 12px; font-size:.9rem;
  background:#fff; transition:border-color .15s ease, box-shadow .15s ease; height:auto;
}
.pcs-input-wrap .pcs-input{ padding-left:36px; }
.pcs-input:focus{
  outline:none; border-color:var(--pc-green-500); box-shadow:0 0 0 3px rgba(47,158,99,.15);
}

/* Buttons */
.pcs-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:9px; padding:10px 20px; font-size:.88rem; font-weight:700;
  border:1px solid transparent; cursor:pointer; text-decoration:none;
}
.pcs-btn-primary{ background:var(--pc-green-900); border-color:var(--pc-green-900); color:#fff !important; }
.pcs-btn-primary:hover{ background:var(--pc-green-700); border-color:var(--pc-green-700); color:#fff !important; }
.pcs-btn-outline{ background:#fff; border-color:#d7dee2; color:#4b5a53 !important; }
.pcs-btn-outline:hover{ border-color:var(--pc-green-500); color:var(--pc-green-900) !important; }
.pcs-btn-block{ width:100%; }

/* Results table */
.pcs-table-wrap{ overflow-x:auto; }
#example1.table{ margin-bottom:0; }
#example1 thead th{
  background:var(--pc-green-100);
  color:var(--pc-green-900);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
  border-bottom:none;
  white-space:nowrap;
}
#example1 tbody td{ font-size:.85rem; vertical-align:middle; color:#2b352f; }
#example1 tbody tr:hover{ background:var(--pc-green-100); }

.pcs-amt{ font-weight:700; color:var(--pc-green-900); }
.pcs-pill{
  display:inline-block; background:var(--pc-green-100); color:var(--pc-green-700);
  font-size:.72rem; font-weight:700; padding:2px 10px; border-radius:999px;
}
.pcs-pill-muted{ background:#f1f5f2; color:#5c6b64; }
.pcs-pill-danger{ background:#fdecec; color:#b42323; }

.pcs-row-actions{ display:flex; gap:6px; flex-wrap:nowrap; }
.pcs-icon-btn{
  width:28px; height:28px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #dbe4e0; background:#fff; color:#5c6b64; text-decoration:none; font-size:.8rem;
}
.pcs-icon-btn:hover{ text-decoration:none; }
.pcs-icon-btn.edit:hover{ border-color:var(--pc-green-500); color:var(--pc-green-900); }
.pcs-icon-btn.primary{ background:var(--pc-green-900); border-color:var(--pc-green-900); color:#fff; }
.pcs-icon-btn.primary:hover{ background:var(--pc-green-700); border-color:var(--pc-green-700); color:#fff; }
.pcs-icon-btn.del{ color:#dc2626; }
.pcs-icon-btn.del:hover{ border-color:#dc2626; background:#fdecec; }

/* DataTables chrome */
.dataTables_wrapper .dataTables_filter input{
  border:1px solid #dbe4e0; border-radius:9px; padding:6px 10px;
}
.dataTables_wrapper .dataTables_filter input:focus{
  outline:none; border-color:var(--pc-green-500); box-shadow:0 0 0 3px rgba(47,158,99,.15);
}
.dataTables_wrapper .dataTables_length select{ border-radius:7px; border:1px solid #dbe4e0; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  background:var(--pc-green-900) !important; border-color:var(--pc-green-900) !important; color:#fff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
  background:var(--pc-green-100) !important; border-color:var(--pc-green-100) !important; color:var(--pc-green-900) !important;
}

/* Inline form alert (used inside popups/modals) */
.pcs-form-alert{
  display:none; align-items:center; gap:8px; background:#fdecec; border:1px solid #f3c2c2;
  color:#b42323; border-radius:9px; padding:10px 14px; font-size:.85rem; font-weight:600; margin-bottom:16px;
}
.pcs-form-alert.show{ display:flex; }

/* Small table thumbnails (e.g. Company logo) */
.pcs-logo-thumb{
  width:44px; height:44px; object-fit:contain; border:1px solid #e5efe8; border-radius:8px; padding:3px; background:#fff;
}

/* Inline-editable table cells (e.g. Item price) */
#example1 td.editable{ cursor:text; }
#example1 td.editable:focus{ outline:2px solid var(--pc-green-500); outline-offset:-2px; background:#f8fbf9; }

/* iOS-style status toggle (used on Master/Company/Account/etc rows) */
.tgl.tgl-ios:checked + .tgl-btn{ background:var(--pc-green-900); }
.tgl.tgl-ios:checked + .tgl-btn:after{ background:#fff; }

@media (max-width:576px){
  .pcs-card-body,.pcs-card-body-tight{ padding:18px 14px 20px; }
}
