:root {
    --brand-bg1:#ff4d6d; --brand-bg2:#d450b1; --brand-bg3:#7e3af2;
    --card-bg:#ffffff; --text:#1a1a1a; --muted:#6b7280;
    --primary:#4b6bd8; --primary-hover:#3f59b7; --border:#e5e7eb;
}
*{box-sizing:border-box}
body {
    margin: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* --- Background changes start here --- */
    background-image: url('/img/Dealer_Portal_Login_Back.png'); /* Your image path */
    background-repeat: no-repeat; /* Don't tile the image */
    background-position: center center; /* Center the image */
    background-attachment: fixed; /* Keep background fixed when scrolling */
    background-size: cover; /* Scale image to cover the entire area */
    /* --- Background changes end here --- */
    padding: 28px;
}
.top-left-logo {
    position: absolute;
    top: 20px;
    left: 20px;
}
.top-left-logo img {
    height: 40px; /* Adjust height as needed */
    width: auto;
}

.card{ 
    width: 100%;
    max-width: 440px; /* Narrower for a login form */
    background:var(--card-bg); 
    border-radius:18px;
    box-shadow:0 30px 60px rgba(0,0,0,.18); 
    padding:40px 44px;
    z-index: 10; /* Ensures card is on top of logo if window is small */
}
.card-wide {
    max-width: 1040px !important;
    width: 96vw;
}
.success-buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}
.title{ display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 6px; }
/*.title img{ width:32px; height:32px; border-radius:8px; display:block; }*/
#form-container .title img,
.card .title img {
    height: 32px !important;   /* consistent height */
    width: auto !important;    /* maintain aspect ratio */
    border-radius: 0 !important; /* remove rounding if unwanted */
}
.title h1{ 
    margin:0; 
    font-size:26px; 
    line-height:1.2; 
    color:var(--text); 
    font-weight:800;
    white-space: nowrap; /* Ensures title stays on one line */
    overflow: hidden;         /* Hide text that overflows */
    text-overflow: ellipsis;  /* Add '...' to indicate hidden text */
}
.muted{color:var(--muted); font-size:14px; text-align:center; margin-bottom:22px;}

form{display:grid; gap:14px; width:100%; margin:0 auto;}
label{font-size:14px; color:#374151; font-weight:600; margin-bottom:-6px;}
input[type="text"],
input[type="email"],
input[type="password"] {
    width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:10px;
    font-size:15px; outline:none; transition: box-shadow .15s, border-color .15s; background:#fff;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
    border-color:#b1c2ff; box-shadow:0 0 0 4px rgba(75,107,216,.15)
}
.btn{ display:inline-flex; align-items:center; justify-content:center; border:none;
      background:var(--primary); color:#fff; font-weight:700;
      padding:12px 16px; border-radius:10px; cursor:pointer; font-size:15px;
      transition: background .15s, transform .02s; text-decoration: none; }
.btn:hover{background:var(--primary-hover)} .btn:active{transform: translateY(1px);}

.alert{ max-width:100%; margin:0 auto 14px; padding:12px 14px; border-radius:10px; font-size:14px; line-height:1.35;}
.alert-err{background:#fef2f2; color:#991b1b; border:1px solid #fecaca;}
.alert-ok {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.helper{text-align:center; margin-top:16px; font-size:13px; color:#6b7280; line-height: 1.5;}
.helper a { color: var(--primary); text-decoration: none; }
.helper a:hover { text-decoration: underline; }

/* NOTE: This .dev-warning class is in the file, but your prod login doesn't use it */
.dev-warning {
    color: black;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    font-weight: 600;
    text-align: center;
    max-width: 440px;
    width: 100%;
    margin-bottom: 16px;
    z-index: 10;
}
/* --- Card background hard-restore (page-safe) --- */
.card,
.card.card-wide {
  background-color: var(--card-bg) !important;
}
.row {
    display: grid;
    gap: 14px;
    max-width: 680px;
    margin: 0 auto;
}

/* -- Rounded white card around the DataTable -- */
.main-content {
  max-width: 1400px;                     /* tweak to 1300/1400 if you want */
  width: 95%;
  margin: 24px auto;                     /* space below the top bar */
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  padding: 24px 24px 28px;
  overflow: hidden;                      /* clip table corners inside card */
}

/* Header line & dealer ID (same look as before) */
.content-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}
.page-title { font-size: 24px; font-weight: 700; color: var(--text); margin: 0; }
.dealer-id-display { font-size: 14px; font-weight: 600; color: var(--muted); white-space: nowrap; }

/* DataTables polish */
.dataTables_wrapper { font-size: 14px; }
#dataTable { width: 100% !important; border-collapse: separate; border-spacing: 0; border: none; }
#dataTable thead th {
  background-color: #f8f9fc;
  border-bottom: 2px solid var(--primary);
  border-top: none; border-left: none; border-right: none;
  color: var(--text); font-weight: 600; padding: 12px 15px; text-align: left;
}
#dataTable tbody tr { border-bottom: 1px solid #eef2f7; }
#dataTable tbody tr:last-child { border-bottom: none; }
#dataTable tbody tr:hover { background-color: #fafdff; }
#dataTable td { padding: 10px 15px; vertical-align: middle; border: none; }
#dataTable td a { color: var(--primary); text-decoration: none; }
#dataTable td a:hover { text-decoration: underline; }

/* Rounded feel at table edges (clipped by .main-content) */
#dataTable thead th:first-child { border-top-left-radius: 8px; }
#dataTable thead th:last-child  { border-top-right-radius: 8px; }
#dataTable tbody tr:last-child td:first-child { border-bottom-left-radius: 8px; }
#dataTable tbody tr:last-child td:last-child  { border-bottom-right-radius: 8px; }

/* DataTables controls */
.dataTables_length, .dataTables_filter { margin-bottom: 20px; }
.dataTables_length label, .dataTables_filter label { font-weight: 600; color: var(--muted); }
.dataTables_length select, .dataTables_filter input {
  border: 1px solid var(--border); border-radius: 6px; padding: 6px 10px;
  margin-left: 5px; margin-right: 5px;
}
.dataTables_filter input { width: 250px; }
.dataTables_paginate { margin-top: 20px; float: right; }
.dataTables_paginate .paginate_button {
  padding: 6px 12px; margin-left: 2px;
  border: 1px solid var(--border); border-radius: 4px;
  cursor: pointer; color: var(--muted); background-color: #fff; transition: all 0.2s;
}
.dataTables_paginate .paginate_button:hover { background-color: #f8f9fc; border-color: #d1d8e6; }
.dataTables_paginate .paginate_button.current { background-color: var(--primary); border-color: var(--primary); color: #fff; font-weight: 600; }
.dataTables_paginate .paginate_button.disabled { opacity: 0.5; cursor: default; }
.dataTables_info { margin-top: 25px; padding-top: 5px; color: var(--muted); font-size: 13px; }

.copy-approval-id { cursor: pointer; text-decoration: underline dotted; color: var(--primary); }


