/* ========================================================================
   RCS MAINTENANCE CRM — DARK / GLASSMORPHISM THEME
   ======================================================================== */

/* ---------------------------- Variables ---------------------------- */
:root {
  --bg-page: #0b0f14;
  --bg-grad-1: #101826;
  --bg-grad-2: #0c121a;

  --glass: rgba(17, 22, 28, .65);
  --glass-2: rgba(255, 255, 255, .06);
  --glass-3: rgba(255, 255, 255, .09);

  --text-1: #e9eef2;
  --text-2: #9aa7b3;

  --border: rgba(255, 255, 255, .08);
  --ring: 0 0 0 3px rgba(34, 197, 94, .25);

  --accent: #22c55e;   /* emerald */
  --accent-2: #16a34a;

  --danger: #ef4444;
  --danger-2: #b91c1c;

  --shadow: 0 12px 34px rgba(0, 0, 0, .35);
  --radius: 14px;
  --radius-sm: 10px;
}

/* ---------------------------- Base ---------------------------- */
html, body {
  height: 100%;
  margin: 0;
  color: var(--text-1);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  background:
    radial-gradient(1100px 600px at 10% -10%, var(--bg-grad-1) 0%, transparent 60%),
    radial-gradient(900px 600px at 120% 40%, var(--bg-grad-2) 0%, transparent 60%),
    var(--bg-page);
}

::selection { background: rgba(34, 197, 94, .35); color: #07140f; }

/* ---------------------------- Dashboard Card ---------------------------- */
.gcm-dashboard {
  background: transparent !important;
  padding: 28px;
}

.gcm-dashboard .dataTables_wrapper {
  overflow-x: auto;
  background: var(--glass);
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
}

/* ---------------------------- Buttons ---------------------------- */
.gcm-btn, .btn {
  height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--glass-2);
  color: var(--text-1);
  font-weight: 600;
  letter-spacing: .01em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform .06s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.gcm-btn:active, .btn:active { transform: translateY(1px); }

.gcm-btn:not(.btn-secondary):not(.btn-danger),
.btn-primary {
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent-2) 100%);
  border-color: color-mix(in oklab, var(--accent-2) 80%, black 10%);
  color: #03140f;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
}
.gcm-btn:not(.btn-secondary):not(.btn-danger):hover,
.btn-primary:hover {
  filter: brightness(1.05);
  box-shadow: 0 8px 24px rgba(34, 197, 94, .28);
}

/* Ghost / secondary */
.gcm-btn.btn-secondary, .btn-secondary {
  background: var(--glass-2) !important;
  border-color: var(--border) !important;
  color: var(--text-1) !important;
}
.gcm-btn.btn-secondary:hover, .btn-secondary:hover { background: var(--glass-3) !important; }

/* Danger */
.gcm-btn.btn-danger, .btn-danger {
  background: linear-gradient(180deg, var(--danger) 0%, var(--danger-2) 100%) !important;
  border-color: color-mix(in oklab, var(--danger-2) 85%, black 10%) !important;
  color: #2e0a0a !important;
}

/* ---------------------------- Search ---------------------------- */
.dataTables_wrapper .dataTables_filter { margin: 0 0 12px; }
.dataTables_wrapper .dataTables_filter label { color: var(--text-2); }

.dataTables_wrapper .dataTables_filter input {
  height: 44px;
  padding: .5rem 1rem;
  background: var(--glass-2);
  border: 1px solid var(--border);
  color: var(--text-1);
  border-radius: var(--radius-sm);
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.dataTables_wrapper .dataTables_filter input::placeholder { color: var(--text-2); }
.dataTables_wrapper .dataTables_filter input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: var(--ring);
  background: var(--glass-3);
}

/* ---------------------------- Table ---------------------------- */
#gcm-table {
  width: 100% !important;
  table-layout: fixed;
  border-collapse: collapse;
  color: var(--text-1);
}
.gcm-table th, #gcm-table th {
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)) !important;
  color: var(--text-2) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--border);
}

#gcm-table th, #gcm-table td { white-space: normal; word-break: break-word; }
#gcm-table td { vertical-align: middle; }

/* Row style + hover */
#gcm-table tbody tr {
  background: var(--glass-2);
  transition: background .15s ease, box-shadow .15s ease, transform .12s ease;
}
#gcm-table tbody tr:hover {
  background: var(--glass-3);
  box-shadow: inset 0 6px 16px rgba(3, 30, 22, .35);
}
#gcm-table tbody td {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* First cell: left accent bar and name highlight */
#gcm-table tbody td:first-child {
  border-left: 1px solid var(--border);
  border-top-left-radius: 10px; border-bottom-left-radius: 10px;
  box-shadow: inset 3px 0 0 0 var(--accent);
  color: var(--text-2);
}
#gcm-table tbody td:first-child > *:first-child {
  color: var(--accent);
  font-weight: 800;
  letter-spacing: .01em;
}
#gcm-table tbody td:last-child {
  border-right: 1px solid var(--border);
  border-top-right-radius: 10px; border-bottom-right-radius: 10px;
}

/* Fixed column widths (keep your layout) */
#gcm-table th:nth-child(6),
#gcm-table td:nth-child(6) { width: 70px; text-align: center; }
#gcm-table th:nth-child(10),
#gcm-table td:nth-child(10) { width: 110px; text-align: right; }

/* Sorted column highlights */
#gcm-table thead th.sorting_asc,
#gcm-table thead th.sorting_desc {
  background: linear-gradient(180deg, rgba(34,197,94,.25), rgba(34,197,94,.12)) !important;
  color: var(--text-1) !important;
}
#gcm-table tbody td.sorting_1 { background: rgba(34,197,94,.08) !important; }

/* ---------------------------- Row Action Buttons (text + icon) ---------------------------- */
/* Target action buttons/links reliably (10th col or explicit classes/data-attrs) */
#gcm-table td:nth-child(10) a,
#gcm-table td:nth-child(10) button,
.btn-edit, .btn-del,
[data-action="edit"], [data-action="delete"] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 10px;
  border-radius: 9px;
  background: var(--glass-2);
  color: var(--text-1);
  border: 1px solid var(--border);
  font-weight: 600;
  transition: background .15s, box-shadow .15s, transform .06s;
}
#gcm-table td:nth-child(10) a:hover,
#gcm-table td:nth-child(10) button:hover,
.btn-edit:hover, .btn-del:hover,
[data-action="edit"]:hover, [data-action="delete"]:hover {
  background: var(--glass-3);
}
#gcm-table td:nth-child(10) a:active,
#gcm-table td:nth-child(10) button:active,
.btn-edit:active, .btn-del:active,
[data-action="edit"]:active, [data-action="delete"]:active {
  transform: translateY(1px);
}

/* Icons (mask images) */
#gcm-table td:nth-child(10) a::before,
#gcm-table td:nth-child(10) button::before,
.btn-edit::before, .btn-del::before,
[data-action="edit"]::before, [data-action="delete"]::before {
  content: "";
  inline-size: 16px;
  block-size: 16px;
  background: currentColor;
  -webkit-mask: no-repeat center / 16px 16px;
          mask: no-repeat center / 16px 16px;
}

/* Edit icon + accent color */
#gcm-table td:nth-child(10) a[href*="edit"]::before,
#gcm-table td:nth-child(10) button[name*="edit"]::before,
.btn-edit::before, [data-action="edit"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm14.71-9.04a.996.996 0 0 0 0-1.41l-2.5-2.5a.996.996 0 1 0-1.41 1.41l2.5 2.5c.39.39 1.02.39 1.41 0Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm14.71-9.04a.996.996 0 0 0 0-1.41l-2.5-2.5a.996.996 0 1 0-1.41 1.41l2.5 2.5c.39.39 1.02.39 1.41 0Z'/%3E%3C/svg%3E");
  color: var(--accent);
}

/* Delete icon + danger color */
#gcm-table td:nth-child(10) a[href*="del"]::before,
#gcm-table td:nth-child(10) button[name*="del"]::before,
.btn-del::before, [data-action="delete"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 7h12v13a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V7Zm3-4h6l1 2H8l1-2Zm-5 2h16v2H4V5Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 7h12v13a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V7Zm3-4h6l1 2H8l1-2Zm-5 2h16v2H4V5Z'/%3E%3C/svg%3E");
  color: var(--danger);
}

/* ---------------------------- Modals ---------------------------- */
#gcm-modal .modal-content,
#gcm-client-modal .modal-content {
  background: var(--glass);
  backdrop-filter: blur(12px) saturate(130%);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow);
  color: var(--text-1);
}

.gcm-modal-header {
  background: linear-gradient(90deg, var(--accent), #34d399);
  color: #062017;
  display: flex;
  align-items: center;
  padding: .75rem 1rem;
}
.gcm-modal-header .modal-title {
  flex-grow: 1;
  margin: 0;
  text-align: center;
}

/* Close icon */
.gcm-close {
  width: 1.25rem;
  height: 1.25rem;
  background: none !important;
  border: none;
  position: relative;
  opacity: .85;
}
.gcm-close::before,
.gcm-close::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  background: #062017;
}
.gcm-close::before { transform: translateX(-50%) rotate(45deg); }
.gcm-close::after  { transform: translateX(-50%) rotate(-45deg); }
.gcm-close:hover   { opacity: 1; }

/* Modal footer buttons */
#gcm-modal .modal-footer .btn-primary {
  background: linear-gradient(180deg, var(--accent), var(--accent-2)) !important;
  border-color: color-mix(in oklab, var(--accent-2) 80%, black 10%) !important;
  color: #03140f !important;
}
#gcm-modal .modal-footer .btn-secondary {
  background: var(--glass-2) !important;
  border-color: var(--border) !important;
  color: var(--text-1) !important;
}

/* Client details (info table) */
#gcm-client-modal .modal-dialog { max-width: 600px; }
.gcm-info-table th, .gcm-info-table td {
  padding: .55rem .85rem;
  vertical-align: top;
}
.gcm-info-table th {
  width: 35%;
  background: rgba(255,255,255,.05);
  color: var(--text-2);
  font-weight: 600;
}
.gcm-info-table tr:nth-child(even) td { background: rgba(255,255,255,.04); }

/* ---------------------------- Fixed Logout Chip ---------------------------- */
#gcm-logout {
  position: fixed;
  bottom: 20px;
  left: 20px;
  background: var(--glass-2);
  color: var(--text-1);
  padding: .45rem .9rem;
  border-radius: .5rem;
  border: 1px solid var(--border);
  z-index: 1050;
  text-decoration: none;
}
#gcm-logout:hover { background: var(--accent); color: #062017; }

/* ---------------------------- Login (Glass-Neu, Dark) ---------------------------- */
.gcm-login-wrap {
  position: fixed;
  inset: 0;
  background: #0a1322;
  background-image:
    radial-gradient(circle at 50% 20%, rgba(63,163,77,.2), transparent 60%),
    radial-gradient(circle at 80% 80%, rgba(45,117,50,.15), transparent 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  z-index: 0;
}

.gcm-login-card {
  position: relative;
  width: 100%;
  max-width: 380px;
  max-height: calc(100% - 2rem);
  overflow-y: auto;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1rem;
  box-shadow: 0 8px 16px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.2);
  z-index: 1;
}

.gcm-login-card .card-header {
  background: var(--accent);
  padding: 1rem 2.5rem;
  text-align: center;
}
.gcm-login-card .card-header h4 {
  margin: 0;
  color: #062017;
  font-size: 1.5rem;
  font-weight: 800;
}

.gcm-login-card .card-body { padding: 1.5rem 2.5rem; }

.gcm-login-card .form-label { color: var(--text-1); font-weight: 600; }
.gcm-login-card .form-control {
  width: 100%;
  padding: .75rem 1rem;
  margin: .25rem 0 1rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .75rem;
  color: #fff;
  font-size: 1rem;
  outline: none;
  transition: background .2s, border-color .2s, box-shadow .2s;
}
.gcm-login-card .form-control:focus {
  background: rgba(255,255,255,.15);
  border-color: var(--accent);
  box-shadow: var(--ring);
}

.gcm-login-card .gcm-btn-primary {
  width: 100%;
  padding: .75rem;
  background: #1f2937;
  border: 1px solid var(--accent);
  color: var(--text-1);
  border-radius: .75rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  transition: background .2s, transform .1s;
}
.gcm-login-card .gcm-btn-primary:hover {
  background: var(--accent);
  color: #062017;
  transform: translateY(-1px);
}

.gcm-login-card .gcm-forgot {
  display: block;
  margin-top: 1rem;
  color: var(--text-2);
  text-decoration: none;
  font-size: .9rem;
  text-align: center;
}
.gcm-login-card .gcm-forgot:hover { color: var(--accent); text-decoration: underline; }

/* Responsive tweaks */
@media (max-width: 480px) {
  .gcm-login-card { max-width: 100%; border-radius: .75rem; }
  .gcm-login-card .form-control { padding: .6rem .8rem; font-size: .95rem; }
  .gcm-login-card .gcm-btn-primary { padding: .6rem; font-size: .95rem; }
}

/* ---------------------------- Scrollbars (WebKit) ---------------------------- */
.gcm-dashboard ::-webkit-scrollbar { height: 10px; width: 10px; }
.gcm-dashboard ::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.12);
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 20px;
}
.gcm-dashboard ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.2); }

/* ---------------------------- Accessibility ---------------------------- */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

/* ================= DARK LIST + BUTTON ICONS + DARK FORMS ================ */
:root{
  --bg:#0b0f14;
  --glass:rgba(17,22,28,.65);
  --glass-2:rgba(255,255,255,.06);
  --glass-3:rgba(255,255,255,.09);
  --text-1:#e9eef2; --text-2:#9aa7b3;
  --border:rgba(255,255,255,.08);
  --accent:#22c55e; --accent-2:#16a34a;
  --danger:#ef4444; --danger-2:#b91c1c;
  --ring:0 0 0 3px rgba(34,197,94,.25);
}

/* Page/card */
.gcm-dashboard{ background:var(--bg)!important; color:var(--text-1); }
.gcm-dashboard .dataTables_wrapper,
.gcm-dashboard .card,
.gcm-dashboard .gcm-list,
.gcm-dashboard .list-group{
  background:var(--glass);
  backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
}

/* === LIST ROWS (handles Bootstrap .list-group-item or custom rows) === */
.gcm-dashboard .list-group-item,
.gcm-dashboard .gcm-client-row,
.gcm-dashboard .client-row{
  background:var(--glass-2)!important;
  border-color:var(--border)!important;
  color:var(--text-1)!important;
}
.gcm-dashboard .list-group-item + .list-group-item{ border-top-color:var(--border)!important; }
.gcm-dashboard .list-group-item:hover,
.gcm-dashboard .gcm-client-row:hover,
.gcm-dashboard .client-row:hover{
  background:var(--glass-3)!important;
}

/* NAME (remove pink, use emerald) — common name hooks + safe fallbacks */
.gcm-dashboard .client-name,
.gcm-dashboard .gcm-client-name,
.gcm-dashboard .list-group-item .name,
.gcm-dashboard .list-group-item > strong:first-child,
.gcm-dashboard .list-group-item > .fw-bold:first-child{
  color:var(--accent)!important; font-weight:800; letter-spacing:.01em;
}
.gcm-dashboard .client-sub, .gcm-dashboard .muted, 
.gcm-dashboard .list-group-item small{ color:var(--text-2)!important; }

/* === SEARCH FIELD DARK === */
.dataTables_wrapper .dataTables_filter input{
  height:44px; padding:.5rem 1rem;
  background:var(--glass-2); border:1px solid var(--border);
  color:var(--text-1); border-radius:10px;
}
.dataTables_wrapper .dataTables_filter input::placeholder{ color:var(--text-2); }
.dataTables_wrapper .dataTables_filter input:focus{
  outline:none; border-color:var(--accent); box-shadow:var(--ring); background:var(--glass-3);
}

/* === ACTIONS: Edit + Delete as TEXT + ICON (robust selector mix) === */
.gcm-dashboard .actions a,
.gcm-dashboard .actions button,
.gcm-dashboard a[class*="edit"], .gcm-dashboard button[class*="edit"],
.gcm-dashboard a[href*="edit"], .gcm-dashboard button[name*="edit"],
.gcm-dashboard [data-action="edit"],
.gcm-dashboard a[class*="del"], .gcm-dashboard button[class*="del"],
.gcm-dashboard a[href*="del"], .gcm-dashboard a[href*="delete"],
.gcm-dashboard button[name*="del"], .gcm-dashboard [data-action="delete"]{
  display:inline-flex!important; align-items:center; gap:8px;
  height:32px; padding:0 10px; margin-left:6px;
  border-radius:8px; border:1px solid var(--border);
  background:var(--glass-2); color:var(--text-1)!important;
  font-weight:600; text-decoration:none!important;
  transition:background .15s, transform .06s;
}
.gcm-dashboard .actions a:hover,
.gcm-dashboard .actions button:hover,
.gcm-dashboard a[class*="edit"]:hover, .gcm-dashboard a[class*="del"]:hover,
.gcm-dashboard [data-action="edit"]:hover, .gcm-dashboard [data-action="delete"]:hover{
  background:var(--glass-3);
}
.gcm-dashboard .actions a:active, .gcm-dashboard .actions button:active,
.gcm-dashboard [data-action="edit"]:active, .gcm-dashboard [data-action="delete"]:active{ transform:translateY(1px); }

/* inject icons */
.gcm-dashboard .actions a::before,
.gcm-dashboard .actions button::before,
.gcm-dashboard a[class*="edit"]::before, .gcm-dashboard button[class*="edit"]::before,
.gcm-dashboard a[href*="edit"]::before, .gcm-dashboard button[name*="edit"]::before,
.gcm-dashboard [data-action="edit"]::before,
.gcm-dashboard a[class*="del"]::before, .gcm-dashboard button[class*="del"]::before,
.gcm-dashboard a[href*="del"]::before, .gcm-dashboard a[href*="delete"]::before,
.gcm-dashboard button[name*="del"]::before, .gcm-dashboard [data-action="delete"]::before{
  content:""; inline-size:16px; block-size:16px; background:currentColor;
  -webkit-mask:no-repeat center/16px 16px; mask:no-repeat center/16px 16px;
}

/* map icons + colors */
.gcm-dashboard a[class*="edit"]::before,
.gcm-dashboard a[href*="edit"]::before,
.gcm-dashboard button[class*="edit"]::before,
.gcm-dashboard button[name*="edit"]::before,
.gcm-dashboard [data-action="edit"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm14.71-9.04a.996.996 0 0 0 0-1.41l-2.5-2.5a.996.996 0 1 0-1.41 1.41l2.5 2.5c.39.39 1.02.39 1.41 0Z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm14.71-9.04a.996.996 0 0 0 0-1.41l-2.5-2.5a.996.996 0 1 0-1.41 1.41l2.5 2.5c.39.39 1.02.39 1.41 0Z'/%3E%3C/svg%3E");
  color:var(--accent);
}
.gcm-dashboard a[class*="del"]::before,
.gcm-dashboard a[href*="del"]::before, .gcm-dashboard a[href*="delete"]::before,
.gcm-dashboard button[class*="del"]::before, .gcm-dashboard button[name*="del"]::before,
.gcm-dashboard [data-action="delete"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 7h12v13a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V7Zm3-4h6l1 2H8l1-2Zm-5 2h16v2H4V5Z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 7h12v13a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V7Zm3-4h6l1 2H8l1-2Zm-5 2h16v2H4V5Z'/%3E%3C/svg%3E");
  color:var(--danger);
}

/* === DARK FORMS (everywhere in dashboard + modals) === */
.gcm-dashboard input, .gcm-dashboard select, .gcm-dashboard textarea,
#gcm-modal input, #gcm-modal select, #gcm-modal textarea,
#gcm-client-modal input, #gcm-client-modal select, #gcm-client-modal textarea{
  background:var(--glass-2)!important;
  color:var(--text-1)!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
}
.gcm-dashboard input::placeholder, .gcm-dashboard textarea::placeholder{ color:var(--text-2)!important; }
.gcm-dashboard input:focus, .gcm-dashboard select:focus, .gcm-dashboard textarea:focus,
#gcm-modal input:focus, #gcm-modal select:focus, #gcm-modal textarea:focus{
  outline:none; border-color:var(--accent)!important; box-shadow:var(--ring)!important;
}

/* Modals */
#gcm-modal .modal-content, #gcm-client-modal .modal-content{
  background:var(--glass); color:var(--text-1);
  border:1px solid var(--border)!important; border-radius:16px!important;
  backdrop-filter:blur(12px) saturate(130%); -webkit-backdrop-filter:blur(12px) saturate(130%);
}
.gcm-modal-header{ background:linear-gradient(90deg, var(--accent), #34d399); color:#062017; }
/* === CLIENT INFO MODAL CONTRAST PATCH === */

/* Brighter text everywhere inside the info modal */
#gcm-client-modal .modal-content,
#gcm-client-modal .modal-body,
#gcm-client-modal .modal-body * {
  color: var(--text-1) !important;
}

/* Title (name) = almost white + slight lift */
#gcm-client-modal .gcm-modal-header,
#gcm-client-modal .gcm-modal-header .modal-title {
  color: #f7fafc !important;            /* near-white */
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
  font-weight: 800 !important;
}

/* Remove any red outline from the close button + ensure visible */
#gcm-client-modal .gcm-close { border: none !important; }
#gcm-client-modal .gcm-close::before,
#gcm-client-modal .gcm-close::after {
  background: #f7fafc !important;
}

/* Table cells inside modal: brighter text + gentle separation */
#gcm-client-modal .gcm-info-table th,
#gcm-client-modal .gcm-info-table td {
  color: var(--text-1) !important;
  border-color: rgba(255,255,255,.10) !important;
}

/* Lift header cells so labels are readable on dark */
#gcm-client-modal .gcm-info-table th {
  background: rgba(255,255,255,.10) !important;
  font-weight: 700 !important;
}

/* Subtle zebra to help scan */
#gcm-client-modal .gcm-info-table tr:nth-child(even) td {
  background: rgba(255,255,255,.06) !important;
}

/* Notes: wrap long content — no horizontal scroll */
#gcm-client-modal .gcm-info-table td,
#gcm-client-modal .gcm-info-table td * {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
/* === Client info modal: remove any outer border completely === */
#gcm-client-modal .modal-content {
  border: none !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.55) !important;
  overflow: hidden !important;            /* clip anything at rounded corners */
}
#gcm-client-modal .modal-header,
#gcm-client-modal .modal-footer { border: 0 !important; }

/* Table: no outer border, only inner horizontal dividers */
#gcm-client-modal .gcm-info-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
#gcm-client-modal .gcm-info-table th,
#gcm-client-modal .gcm-info-table td {
  border: 0 !important;                   /* nuke all borders first */
}
/* add back just the row separators (no left/right edges) */
#gcm-client-modal .gcm-info-table tr + tr td,
#gcm-client-modal .gcm-info-table tr + tr th {
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
/* ensure no bottom line past the radius */
#gcm-client-modal .gcm-info-table tr:last-child td {
  border-bottom: 0 !important;
}
/* === CLIENT LIST (TABLE) — force name color, kill pink === */
#gcm-table tbody td:first-child a,
#gcm-table tbody td:first-child a:link,
#gcm-table tbody td:first-child a:visited,
#gcm-table tbody td:first-child a:hover,
#gcm-table tbody td:first-child a:active,
#gcm-table tbody td:first-child .text-danger,
#gcm-table tbody td:first-child .link-danger,
#gcm-table tbody td:first-child [class*="danger"],
#gcm-table tbody td:first-child [style*="color"] {
  color: var(--accent) !important;  /* emerald */
  text-decoration: none !important;
  font-weight: 800 !important;
}

/* Make the secondary line under each name readable */
#gcm-table tbody td:first-child small,
#gcm-table tbody td:first-child .muted,
#gcm-table tbody td:first-child div {
  color: var(--text-2) !important;
}
