/* ============================================================
   DAP-2026 Professional Theme
   Centre for Electronic Governance, Jaipur, Rajasthan
   Safe override — does NOT change any existing IDs or classes
   used by jQuery. Only adds visual improvements.
   ============================================================ */

/* ── Google Font Import ─────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ── CSS Variables ──────────────────────────────────────── */
:root {
    --dap-primary:    #1a3868;   /* Deep Royal Blue */
    --dap-secondary:  #d4500a;   /* Rajasthan Saffron */
    --dap-accent:     #1976D2;   /* Mid Blue */
    --dap-bg:         #f0f4f8;   /* Page background */
    --dap-white:      #ffffff;
    --dap-text:       #2c3e50;
    --dap-muted:      #6c757d;
    --dap-border:     #dee2e6;
    --dap-success:    #198754;
    --dap-header-bdr: 4px solid var(--dap-secondary);
}

/* ── Global Reset / Body ────────────────────────────────── */
body {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-color: var(--dap-bg);
    font-family: 'Inter', 'Segoe UI', Tahoma, sans-serif;
    color: var(--dap-text);
    font-size: 14px;
}

/* ── Header — replaces brown header ─────────────────────── */
.dap-header {
    background: linear-gradient(135deg, #0f2547 0%, #1a3868 60%, #1e4d8c 100%);
    padding: 14px 20px 10px;
    border-bottom: var(--dap-header-bdr);
    box-shadow: 0 3px 10px rgba(0,0,0,0.25);
    margin-top: 0 !important;
}

/* Keep existing col classes working — just override inline brown style */
.container-fluid[style*="background-color:brown"],
.container-fluid[style*="background-color: brown"] {
    background-color: transparent !important;
}

/* ── Logo ─────────────────────────────────────────────────── */
.dap-logo {
    width: 85px;
    height: 85px;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0.45);
    object-fit: contain;
    background: white;
    padding: 5px;
    display: inline-block;
}

/* Override old img-circle border */
.dap-header .img-responsive.img-circle {
    border: 3px solid rgba(255,255,255,0.45) !important;
    width: 85px;
    height: 85px;
    object-fit: contain;
    background: white;
    padding: 5px;
}

/* ── Header Text ─────────────────────────────────────────── */
.dap-title-hi {
    /* 2026-05-26 — base size bumped for readability (the !important
       override further down still wins; bumped there too). */
    font-size: 0.6rem;
    font-weight: 700;
    color: #ffd54f;
    margin: 4px 0 2px;
    line-height: 1.3;
    font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
}

.dap-title-en {
    /* 2026-05-26 — bumped 1.45rem → 1.9rem for readability */
    font-size: 1.9rem;
    font-weight: 700;
    color: #ffffff;
    margin: 2px 0;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.dap-process-label {
    /* 2026-05-26 — bumped 1.1rem → 1.4rem for readability */
    font-size: 2.0rem;
    color:white;
    margin: 2px 0;
    letter-spacing: 0.3px;
}

.dap-org-info {
    /* 2026-05-26 — bumped 0.78rem → 1.05rem for readability */
    font-size: 1.05rem;
    color: rgba(255,255,255,0.7);
    margin: 1px 0;
}

/* Override old inline white color headings in header */
.dap-header h2,
.dap-header h3,
.dap-header h4,
.dap-header h5,
.dap-header h6 {
    color: #ffffff !important;
    margin: 3px 0;
}

/* Override inline color:white styles */
.dap-header [style*="color:white"],
.dap-header [style*="color: white"] {
    color: #ffffff !important;
}

/* ── Process Badge Strip ─────────────────────────────────── */
.dap-badge-strip {
    background: var(--dap-secondary);
    color: white;
    text-align: center;
    padding: 5px 15px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* ── User Info Bar (student/college logged in) ───────────── */
.dap-userbar {
    background: #0f1c33;
    color: white;
    padding: 7px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
}

.dap-userbar span {
    font-weight: 500;
}

.dap-userbar a,
.dap-userbar a:visited {
    color: #ffb74d;
    text-decoration: none;
    border: 1px solid #ffb74d;
    padding: 3px 14px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 12px;
    transition: all 0.2s;
}

.dap-userbar a:hover {
    background: #ffb74d;
    color: #0f1c33;
}

/* ── Main Content Area ───────────────────────────────────── */
.body-content {
    padding: 24px 20px 30px;
    min-height: calc(100vh - 320px);
    background-color: var(--dap-bg);
}

/* ── Section / Page Headings ─────────────────────────────── */
h1, h2, h3 {
    color: var(--dap-primary);
}

h1 { font-size: 1.6rem; font-weight: 700; }
h2 { font-size: 1.3rem; font-weight: 700; }
h3 { font-size: 1.1rem; font-weight: 600; }

.dap-page-title {
    color: var(--dap-primary);
    font-weight: 700;
    border-left: 4px solid var(--dap-secondary);
    padding-left: 12px;
    margin-bottom: 20px;
}

/* ── Cards ───────────────────────────────────────────────── */
.card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    margin-bottom: 20px;
    overflow: hidden;
}

.card-header {
    background: var(--dap-primary) !important;
    color: white !important;
    font-weight: 600;
    padding: 12px 20px;
    font-size: 14px;
    border-bottom: none;
}

.card-body {
    padding: 20px;
    background: var(--dap-white);
}

/* ── Panels (Bootstrap 3 style) ──────────────────────────── */
.panel {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    margin-bottom: 20px;
    overflow: hidden;
}

.panel-default > .panel-heading {
    background-color: var(--dap-primary) !important;
    color: white !important;
    border-color: var(--dap-primary) !important;
    border-radius: 0 !important;
    padding: 12px 20px;
}

.panel-primary > .panel-heading {
    background-color: var(--dap-primary) !important;
    border-color: var(--dap-primary) !important;
}

.panel-success > .panel-heading {
    background-color: #157347 !important;
}

.panel-warning > .panel-heading {
    background-color: #856404 !important;
}

.panel-danger > .panel-heading {
    background-color: #b02a37 !important;
}

.panel-title {
    font-weight: 600;
    font-size: 14px;
    color: white !important;
}

.panel-body {
    padding: 20px;
    background: white;
}

/* ── Tables ──────────────────────────────────────────────── */
.table {
    background: white;
    border-radius: 0 0 8px 8px;
    font-size: 13px;
    margin-bottom: 0;
}

.table thead th {
    background-color: var(--dap-primary) !important;
    color: white !important;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    padding: 11px 12px;
    border: none !important;
    white-space: nowrap;
}

.table tbody tr:hover {
    background-color: #e8f0fe !important;
}

.table tbody td {
    padding: 9px 12px;
    vertical-align: middle;
    border-color: #f0f0f0;
}

.table-bordered {
    border: 1px solid var(--dap-border);
}

.table-bordered td,
.table-bordered th {
    border: 1px solid #e0e0e0;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f8faff;
}

/* Table wrapper for horizontal scroll on mobile */
.table-responsive {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
    border-radius: 6px;
    font-weight: 500;
    font-size: 13px;
    padding: 7px 18px;
    transition: all 0.2s ease;
    letter-spacing: 0.3px;
}

.btn-primary {
    background-color: var(--dap-primary) !important;
    border-color: var(--dap-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #142d54 !important;
    border-color: #142d54 !important;
    box-shadow: 0 4px 12px rgba(26,56,104,0.35) !important;
    transform: translateY(-1px);
}

.btn-success:hover {
    box-shadow: 0 4px 10px rgba(25,135,84,0.3);
    transform: translateY(-1px);
}

.btn-danger:hover {
    box-shadow: 0 4px 10px rgba(220,53,69,0.3);
    transform: translateY(-1px);
}

.btn-warning:hover {
    box-shadow: 0 4px 10px rgba(255,193,7,0.3);
    transform: translateY(-1px);
}

.btn-info {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: white;
}

.btn-sm {
    padding: 4px 12px;
    font-size: 12px;
}

.btn-lg {
    padding: 10px 26px;
    font-size: 15px;
}

/* ── Form Controls ───────────────────────────────────────── */
input.form-control,
select.form-control,
textarea.form-control,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="date"],
input[type="url"],
select,
textarea {
    max-width: 100% !important;
    border-radius: 6px;
    border: 1px solid #ced4da;
    padding: 8px 12px;
    font-size: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    color: var(--dap-text);
    background-color: #fff;
}

input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
    border-color: var(--dap-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(25,118,210,0.12);
}

label {
    font-weight: 500;
    font-size: 13px;
    color: #495057;
    margin-bottom: 5px;
}

.form-group {
    margin-bottom: 16px;
}

/* Required star already added by jQuery — just style it */
span[style*="color:red"] {
    font-size: 14px !important;
    margin-left: 2px;
}

/* Readonly / disabled inputs */
input[readonly],
input[disabled],
select[disabled] {
    background-color: #f5f5f5 !important;
    color: #555 !important;
}

/* ── Alerts ──────────────────────────────────────────────── */
.alert {
    border-radius: 8px;
    border-left-width: 5px;
    font-size: 14px;
    padding: 12px 18px;
}

.alert-success { border-left-color: #198754; background-color: #d1e7dd; color: #0a3622; }
.alert-danger  { border-left-color: #dc3545; background-color: #f8d7da; color: #58151c; }
.alert-warning { border-left-color: #ffc107; background-color: #fff3cd; color: #664d03; }
.alert-info    { border-left-color: #0dcaf0; background-color: #cff4fc; color: #055160; }

/* ── Validation messages ─────────────────────────────────── */
.field-validation-error,
.text-danger {
    color: #dc3545;
    font-size: 12px;
    display: block;
    margin-top: 3px;
}

.input-validation-error {
    border-color: #dc3545 !important;
    background-color: #fff5f5;
}

/* ── Navigation Tabs ─────────────────────────────────────── */
.nav-tabs > li > a,
.nav-tabs .nav-link {
    color: var(--dap-primary);
    font-weight: 500;
    font-size: 13px;
}

.nav-tabs > li.active > a,
.nav-tabs .nav-link.active {
    color: var(--dap-primary) !important;
    font-weight: 700;
    border-bottom: 3px solid var(--dap-secondary) !important;
}

/* ── Breadcrumb ──────────────────────────────────────────── */
.breadcrumb {
    background: transparent;
    padding: 8px 0;
    margin-bottom: 12px;
    font-size: 13px;
}

.breadcrumb > li + li::before {
    content: "›";
    color: var(--dap-muted);
    padding: 0 6px;
}

.breadcrumb > .active {
    color: var(--dap-primary);
    font-weight: 600;
}

/* ── Modal Improvements ──────────────────────────────────── */
.modal-header {
    background: var(--dap-primary);
    color: white;
    border-radius: 8px 8px 0 0;
}

.modal-header .close,
.modal-header .btn-close {
    color: white !important;
    opacity: 0.8;
}

.modal-title {
    font-weight: 600;
    font-size: 15px;
}

.modal-content {
    border-radius: 10px;
    border: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

/* ── Well (Bootstrap 3) ──────────────────────────────────── */
.well {
    background-color: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    padding: 18px;
}

/* ── Badges ──────────────────────────────────────────────── */
.badge,
.label {
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 7px;
}

/* ── Progress bar ────────────────────────────────────────── */
.progress {
    border-radius: 20px;
    height: 8px;
    background: #e9ecef;
    box-shadow: none;
}

.progress-bar {
    background: var(--dap-primary);
    border-radius: 20px;
}

/* ── Step Indicator ──────────────────────────────────────── */
.dap-steps {
    display: flex;
    margin: 0 0 24px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.dap-step {
    flex: 1;
    text-align: center;
    padding: 10px 6px;
    background: #e9ecef;
    font-size: 11px;
    font-weight: 600;
    color: #6c757d;
    border-right: 2px solid #fff;
    min-width: 90px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dap-step.active {
    background: var(--dap-primary);
    color: white;
}

.dap-step.completed {
    background: var(--dap-success);
    color: white;
}

.dap-step:last-child {
    border-right: none;
}

/* ── Info Box ────────────────────────────────────────────── */
.dap-info-box {
    background: #e8f0fe;
    border-left: 4px solid var(--dap-accent);
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    margin-bottom: 18px;
    font-size: 13px;
}

.dap-warning-box {
    background: #fff8e1;
    border-left: 4px solid #f59e0b;
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    margin-bottom: 18px;
    font-size: 13px;
}

/* ── Page/Form wrapper ───────────────────────────────────── */
.dap-form-container {
    background: white;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    margin-bottom: 24px;
}

/* ── Important Notice (blink) ────────────────────────────── */
.blink_me {
    animation: blinker 1s linear infinite;
    color: #dc3545;
    font-weight: 700;
}

/* ── Footer ──────────────────────────────────────────────── */
.dap-footer {
    background: var(--dap-primary);
    color: rgba(255,255,255,0.85);
    text-align: center;
    padding: 18px 20px;
    margin-top: 40px;
    border-top: 4px solid var(--dap-secondary);
    font-size: 13px;
    line-height: 1.6;
}

.dap-footer p {
    margin: 2px 0;
    color: rgba(255,255,255,0.85);
}

.dap-footer a {
    color: #ffd54f;
    text-decoration: none;
}

/* Hide old simple footer, replace with dap-footer */
.body-content > hr {
    display: none;
}

.body-content > footer:not(.dap-footer) {
    display: none;
}

/* ── Horizontal Rule ─────────────────────────────────────── */
hr {
    border-color: var(--dap-border);
    margin: 20px 0;
}

/* ── Print Styles ────────────────────────────────────────── */
@media print {
    .dap-header,
    .dap-footer,
    .dap-userbar,
    .dap-badge-strip,
    .btn {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    body { background: white; }
    .dap-footer { margin-top: 20px; }
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 992px) {
    .dap-logo,
    .dap-header .img-responsive.img-circle {
        width: 70px !important;
        height: 70px !important;
    }
    /* 2026-05-26 — bumped proportionally; note: .dap-title-hi
       responsive value has no effect because line ~905 override
       uses !important. Keep here for documentation/consistency. */
    .dap-title-hi { font-size: 1.4rem; }
    .dap-title-en { font-size: 1.15rem; }
}

@media (max-width: 768px) {
    .dap-header { padding: 10px 14px; }
    .dap-logo,
    .dap-header .img-responsive.img-circle {
        width: 58px !important;
        height: 58px !important;
    }
    /* 2026-05-26 — bumped proportionally for mobile (≤768px) */
    .dap-title-hi { font-size: 1.2rem; }
    .dap-title-en { font-size: 1.05rem; }
    .dap-org-info  { font-size: 0.9rem; }
    .body-content  { padding: 16px 12px; }
    .dap-form-container { padding: 16px; }
    .table thead th { font-size: 11px; padding: 8px; }
    .table tbody td { padding: 7px 8px; font-size: 12px; }
    h1 { font-size: 1.3rem; }
    h2 { font-size: 1.1rem; }
    h3 { font-size: 1rem; }
    .btn { padding: 6px 14px; }
    .dap-steps { flex-wrap: wrap; }
    .dap-step { min-width: 50%; border-bottom: 2px solid #fff; }
}

@media (max-width: 576px) {
    /* 2026-05-26 — bumped proportionally for extra-small (≤480px) */
    .dap-title-hi { font-size: 1.1rem; }
    .dap-title-en { font-size: 0.95rem; letter-spacing: 0; }
    .dap-userbar  { font-size: 12px; padding: 6px 12px; }
    .panel-body, .card-body { padding: 14px; }
}

/* ============================================================
   DAP-2026 Extended Overrides — v2
   Fixes: panel heading brown→blue, red links→blue,
          college form card layout, Devanagari font,
          badge color, cohesive palette
   ============================================================ */

/* ── Add Noto Sans Devanagari for Hindi text ──────────────── */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;600;700&display=swap');

/* ── CRITICAL: Override inline brown/red panel headings ───── */
/* Covers panels WITHOUT panel-default (just class="panel") */
.panel .panel-heading,
div[class="panel-heading"],
.panel-heading {
    background-color: var(--dap-primary) !important;
    background-image: none !important;
    border: none !important;
    border-bottom: 2px solid rgba(255,255,255,0.12) !important;
    color: #ffffff !important;
    border-radius: 6px 6px 0 0;
    padding: 11px 16px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.panel .panel-heading a,
.panel-heading a {
    color: #ffffff !important;
    text-decoration: none;
}

/* ── Panel body link overrides (red→blue) ─────────────────── */
.panel-body a[style*="color:red"],
.panel-body a[style*="color: red"],
.panel-body h5 a[style*="color:red"],
.panel-body h5 a[style*="color: red"] {
    color: var(--dap-accent) !important;
}

.panel-body a[style*="color:red"]:hover,
.panel-body h5 a[style*="color:red"]:hover {
    color: var(--dap-primary) !important;
    text-decoration: underline;
}

/* Override h5.text-danger inside panels ONLY (not form validation) */
.panel-body h5.text-danger {
    color: var(--dap-text) !important;
    font-size: 13px;
    margin: 5px 0;
    font-weight: 500;
}

.panel-body h5.text-danger a {
    color: var(--dap-accent) !important;
    font-weight: 500;
}

.panel-body h5.text-danger a:hover {
    color: var(--dap-primary) !important;
    text-decoration: underline;
}

/* ── Panel overall card look ──────────────────────────────── */
.panel {
    border: 1px solid rgba(26,56,104,0.12) !important;
    border-radius: 8px !important;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07) !important;
    margin-bottom: 18px;
}

.panel-body {
    padding: 14px 16px;
    background: #ffffff;
    max-height: 320px;
    overflow-y: auto;
}

/* Sidebar panel arrow gif alignment */
.panel-body h5 img {
    vertical-align: middle;
    margin-right: 4px;
}

/* ── Sidebar (left column home panels) ───────────────────── */
@media (min-width: 768px) {
    .col-md-3 > .panel {
        position: sticky;
        top: 12px;
    }
}

/* ── Important dates table (center content) ───────────────── */
.table-bordered thead tr th {
    background-color: var(--dap-primary) !important;
    color: #ffffff !important;
    font-size: 12px;
    padding: 10px 12px;
}

/* Table center heading (IMPORTANT DATES FOR CANDIDATES) */
.table-bordered thead tr th[colspan] {
    background-color: var(--dap-primary) !important;
    color: #ffd54f !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* ── College Registration Form Card ───────────────────────── */
/* Wrap form-horizontal in a card look */
.form-horizontal {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 3px 16px rgba(0,0,0,0.09);
    padding: 28px 32px;
    margin-bottom: 28px;
    border: 1px solid rgba(26,56,104,0.08);
}

.form-horizontal .form-group {
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 0 !important;
}

.form-horizontal .form-group:last-child {
    border-bottom: none;
}

.form-horizontal .control-label {
    font-weight: 600 !important;
    color: #344054 !important;
    font-size: 13px !important;
    padding-top: 9px;
    text-align: right;
}

@media (max-width: 767px) {
    .form-horizontal .control-label {
        text-align: left !important;
    }
    .form-horizontal {
        padding: 16px;
    }
}

/* Page title for registration forms */
h2.text-info {
    color: var(--dap-primary) !important;
    font-size: 1.3rem;
    font-weight: 700;
    padding: 16px 0 10px;
    border-bottom: 3px solid var(--dap-accent);
    margin-bottom: 22px;
    letter-spacing: 0.3px;
}

/* ── Form notice texts (keep red but softer) ──────────────── */
.form-horizontal p[style*="color:red"],
.form-horizontal p[style*="color: red"] {
    color: #c0392b !important;
    font-size: 12px !important;
    margin-top: 5px;
    background: #fff5f5;
    padding: 5px 10px;
    border-radius: 4px;
    border-left: 3px solid #e74c3c;
}

/* Course name label override (from red to dark blue) */
.form-horizontal span.control-label[style*="color:red"],
.form-horizontal span.control-label[style*="color: red"] {
    color: var(--dap-primary) !important;
    font-size: 16px !important;
}

/* ── Badge / pill color update ────────────────────────────── */
/* The DAP-2026 badge in header — override saffron to amber-gold */
.dap-header span[style*="background:#d4500a"],
.dap-header span[style*="background: #d4500a"] {
    background: #1a3868 !important;
    border: 2px solid rgba(255,255,255,0.6) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

/* ── Footer border keep saffron but soften ────────────────── */
.dap-footer {
    border-top: 3px solid #f5a623 !important;
}

/* ── Devanagari title rendering fix ───────────────────────── */
.dap-title-hi {
    font-family: 'Noto Sans Devanagari', 'Mangal', 'Devanagari MT', serif !important;
    /* 2026-05-26 — bumped 1.1rem → 1.6rem for readability. This is
       the rule that ACTUALLY wins at runtime (the base 2.4rem above
       loses to this !important). If you want the Hindi title even
       bigger, change this value — the base value is informational. */
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #ffd54f !important;
    line-height: 1.5 !important;
    unicode-bidi: embed;
    direction: ltr;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* ── Home page right column (images) ──────────────────────── */
.col-md-2 img,
.col-md-3 img {
    max-width: 100%;
}

/* ── Action buttons in forms ──────────────────────────────── */
.form-horizontal input[type="submit"],
.form-horizontal button[type="submit"] {
    background-color: var(--dap-primary) !important;
    border-color: var(--dap-primary) !important;
    color: #ffffff !important;
    padding: 10px 32px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    letter-spacing: 0.4px;
    transition: all 0.2s;
    margin-top: 8px;
}

.form-horizontal input[type="submit"]:hover,
.form-horizontal button[type="submit"]:hover {
    background-color: #142d54 !important;
    border-color: #142d54 !important;
    box-shadow: 0 4px 14px rgba(26,56,104,0.35);
    transform: translateY(-1px);
}

/* ── Responsive form on mobile ────────────────────────────── */
@media (max-width: 768px) {
    .form-horizontal {
        padding: 14px;
    }
    .panel-body {
        max-height: none;
    }
    h2.text-info {
        font-size: 1.1rem;
    }
}
