/* =========================================================
   TASISO CV ADMIN — Brand Stylesheet
   Brand: Open Sans · rgb(38,38,38) text · rgb(255,140,0) accent
   ========================================================= */

:root {
  /* ---- Tasiso Brand Palette ---- */
  --tas-text:        rgb(38, 38, 38);
  --tas-text-soft:   rgba(38, 38, 38, 0.65);
  --tas-text-muted:  rgba(38, 38, 38, 0.45);

  --tas-orange:      rgb(255, 140, 0);
  --tas-orange-600:  rgb(230, 120, 0);
  --tas-orange-700:  rgb(200, 100, 0);
  --tas-orange-050:  rgba(255, 140, 0, 0.08);
  --tas-orange-100:  rgba(255, 140, 0, 0.15);
  --tas-orange-200:  rgba(255, 140, 0, 0.25);

  --tas-bg:          #f6f7fb;
  --tas-surface:     #ffffff;
  --tas-border:      #e8eaef;

  /* Sidebar (dark, but tinted warm) */
  --tas-sidebar-bg:      #1c1c1c;
  --tas-sidebar-bg-2:    #262626;
  --tas-sidebar-text:    #d5d5d5;
  --tas-sidebar-hover:   #2f2f2f;
  --tas-sidebar-active:  rgb(255, 140, 0);

  /* Bootstrap overrides */
  --bs-primary:        rgb(255, 140, 0);
  --bs-primary-rgb:    255, 140, 0;
  --bs-body-color:     rgb(38, 38, 38);
  --bs-body-font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-link-color:     rgb(230, 120, 0);
  --bs-link-hover-color: rgb(200, 100, 0);
}

/* ---------------------------------------------------------
   Base
   --------------------------------------------------------- */
html, body {
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--tas-text);
  background: var(--tas-bg);
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6 { color: var(--tas-text); font-weight: 700; letter-spacing: -0.01em; }
a { color: var(--bs-link-color); }
a:hover { color: var(--bs-link-hover-color); }

/* ---------------------------------------------------------
   Sidebar
   --------------------------------------------------------- */
.sidebar {
  min-height: 100vh;
  background: linear-gradient(180deg, var(--tas-sidebar-bg) 0%, var(--tas-sidebar-bg-2) 100%);
  color: var(--tas-sidebar-text);
  padding-top: 1.5rem !important;
  position: sticky;
  top: 0;
}

.sidebar .brand {
  font-weight: 700;
  color: #fff;
  letter-spacing: .3px;
  font-size: 1.1rem;
}

.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 0.55rem;
  display: grid;
  place-items: center;
  background: var(--tas-orange);
  color: #1c1c1c;
  font-size: 1.05rem;
}

.brand-accent { color: var(--tas-orange); margin-left: 2px; }

.sidebar a {
  color: var(--tas-sidebar-text);
  text-decoration: none;
  display: block;
  padding: .65rem 1rem;
  border-radius: .5rem;
  margin-bottom: .15rem;
  font-weight: 500;
  transition: background .15s ease, color .15s ease;
}

.sidebar a:hover {
  background: var(--tas-sidebar-hover);
  color: #fff;
}

.sidebar a.active {
  background: var(--tas-orange);
  color: #1c1c1c;
  font-weight: 600;
  box-shadow: 0 6px 14px rgba(255, 140, 0, .35);
}

.sidebar a.active i { color: #1c1c1c; }

.sidebar-divider {
  border-color: rgba(255, 255, 255, .08);
  margin: 1rem 0;
}

.sidebar-user { padding: 0 .5rem; }

/* ---------------------------------------------------------
   Main content
   --------------------------------------------------------- */
main.col-md-10 { padding: 2rem !important; }

/* ---------------------------------------------------------
   Cards
   --------------------------------------------------------- */
.stat-card {
  border: 1px solid var(--tas-border);
  border-radius: 1rem;
  background: var(--tas-surface);
  box-shadow: 0 6px 20px rgba(15, 23, 42, .05);
  transition: transform .15s ease, box-shadow .15s ease;
}

.stat-card:hover {
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.stat-icon {
  width: 48px;
  height: 48px;
  border-radius: .75rem;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 1.3rem;
  flex-shrink: 0;
}

/* Replace default bootstrap card-title color */
.card h6 { color: var(--tas-text); font-weight: 700; }

/* ---------------------------------------------------------
   Buttons — orange primary
   --------------------------------------------------------- */
.btn-primary {
  --bs-btn-bg: var(--tas-orange);
  --bs-btn-border-color: var(--tas-orange);
  --bs-btn-hover-bg: var(--tas-orange-600);
  --bs-btn-hover-border-color: var(--tas-orange-600);
  --bs-btn-active-bg: var(--tas-orange-700);
  --bs-btn-active-border-color: var(--tas-orange-700);
  --bs-btn-disabled-bg: var(--tas-orange);
  --bs-btn-disabled-border-color: var(--tas-orange);
  --bs-btn-color: #1c1c1c;
  --bs-btn-hover-color: #1c1c1c;
  --bs-btn-active-color: #1c1c1c;
  --bs-btn-disabled-color: #1c1c1c;
  font-weight: 600;
}

.btn-outline-primary {
  --bs-btn-color: var(--tas-orange-700);
  --bs-btn-border-color: var(--tas-orange);
  --bs-btn-hover-bg: var(--tas-orange);
  --bs-btn-hover-border-color: var(--tas-orange);
  --bs-btn-hover-color: #1c1c1c;
  --bs-btn-active-bg: var(--tas-orange-600);
  --bs-btn-active-border-color: var(--tas-orange-600);
  --bs-btn-active-color: #1c1c1c;
  font-weight: 600;
}

.btn-outline-secondary {
  --bs-btn-color: var(--tas-text);
  --bs-btn-border-color: #cfd3db;
  --bs-btn-hover-bg: var(--tas-text);
  --bs-btn-hover-border-color: var(--tas-text);
  --bs-btn-hover-color: #fff;
}

.btn-link { color: var(--bs-link-color); font-weight: 600; }

/* ---------------------------------------------------------
   Forms
   --------------------------------------------------------- */
.form-control,
.form-select {
  border-color: #dfe3ea;
  border-radius: .55rem;
  font-size: .95rem;
  padding: .55rem .85rem;
  color: var(--tas-text);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--tas-orange);
  box-shadow: 0 0 0 .2rem var(--tas-orange-100);
}

.form-label {
  font-weight: 600;
  font-size: .85rem;
  color: var(--tas-text);
  margin-bottom: .35rem;
}

/* ---------------------------------------------------------
   Tables
   --------------------------------------------------------- */
.table {
  color: var(--tas-text);
  --bs-table-border-color: var(--tas-border);
}

.table > thead th {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--tas-text-muted);
  font-weight: 700;
  border-bottom: 1px solid var(--tas-border);
  background: #fbfbfd;
}

.table > tbody td { vertical-align: middle; }

.table-hover > tbody > tr:hover > * { background: var(--tas-orange-050); }

/* ---------------------------------------------------------
   Badges & status pills
   --------------------------------------------------------- */
.badge {
  font-weight: 600;
  padding: .38em .6em;
  border-radius: .45rem;
  letter-spacing: .01em;
}

/* Status badge colors — warm-tuned */
.badge.bg-secondary { background: #6b7280 !important; color: #fff !important; }
.badge.bg-success   { background: #16a34a !important; color: #fff !important; }
.badge.bg-info      { background: rgb(255, 140, 0) !important; color: #1c1c1c !important; }
.badge.bg-primary   { background: rgb(230, 120, 0) !important; color: #1c1c1c !important; }
.badge.bg-warning   { background: #f5b400 !important; color: #1c1c1c !important; }
.badge.bg-danger    { background: #dc2626 !important; color: #fff !important; }
.badge.bg-dark      { background: var(--tas-text) !important; color: #fff !important; }
.badge.bg-light     { background: #f1f2f6 !important; color: var(--tas-text) !important; }

/* ---------------------------------------------------------
   Alerts
   --------------------------------------------------------- */
.alert-success { background: #ecfdf5; border-color: #a7f3d0; color: #065f46; }
.alert-danger  { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.alert-warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.alert-info    { background: var(--tas-orange-050); border-color: var(--tas-orange-200); color: var(--tas-orange-700); }

/* ---------------------------------------------------------
   Pagination
   --------------------------------------------------------- */
.pagination .page-link { color: var(--tas-text); border-color: var(--tas-border); }
.pagination .page-item.active .page-link {
  background: var(--tas-orange);
  border-color: var(--tas-orange);
  color: #1c1c1c;
  font-weight: 600;
}
.pagination .page-link:hover { color: var(--tas-orange-700); }

/* ---------------------------------------------------------
   Avatars (initials)
   --------------------------------------------------------- */
.rounded-circle.bg-primary { background: var(--tas-orange) !important; color: #1c1c1c !important; }

/* ---------------------------------------------------------
   List groups
   --------------------------------------------------------- */
.list-group-item { border-color: var(--tas-border); }
.list-group-item a { color: var(--tas-text); font-weight: 600; }
.list-group-item a:hover { color: var(--tas-orange-700); }

/* ---------------------------------------------------------
   Login page (dark)
   --------------------------------------------------------- */
body.login-page {
  background: radial-gradient(1200px 600px at 20% 10%, #2a2a2a 0%, #1a1a1a 55%, #111 100%);
  color: #e5e7eb;
  min-height: 100vh;
  display: grid;
  place-items: center;
}

body.login-page .card {
  background: #1c1c1c;
  border: 1px solid #2a2a2a;
  color: #e5e7eb;
  border-radius: 1rem;
}

body.login-page .form-control {
  background: #141414;
  color: #f3f4f6;
  border-color: #2f2f2f;
}

body.login-page .form-control:focus {
  background: #141414;
  color: #fff;
  border-color: var(--tas-orange);
  box-shadow: 0 0 0 .2rem var(--tas-orange-100);
}

body.login-page .form-label { color: #d1d5db; }

body.login-page .brand-mark { margin-right: .5rem; }

/* ---------------------------------------------------------
   Utility
   --------------------------------------------------------- */
.text-tasiso { color: var(--tas-orange) !important; }
.bg-tasiso   { background: var(--tas-orange) !important; color: #1c1c1c !important; }
.divider-orange {
  height: 3px; width: 48px; background: var(--tas-orange); border-radius: 3px;
}