.card {
      background: var(--card);
      border-radius: 20px;
      padding: 28px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(148, 163, 184, 0.18);
    }

    .req-note {
      font-size: 13px;
      color: var(--muted);
      margin-bottom: 22px;
    }

    .errorlist {
      list-style: none;
      margin: 6px 0 0;
      padding: 0;
      color: #dc2626;
      font-size: 13px;
      font-weight: 600;
    }

    .grid {
      display: grid;
      gap: 20px;
    }

    .field {
      display: grid;
      gap: 10px;
    }

    label {
      font-weight: 600;
    }

    .required::after {
      content: " *";
      color: #dc2626;
      font-weight: 700;
    }

    input[type="text"],
    input[type="password"],
    input[type="tel"],
    select,
    textarea {
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 15px;
      font-family: inherit;
      background: #fdfdfd;
    }

    textarea {
      min-height: 90px;
      resize: vertical;
    }

    select:disabled {
      background: #eef2f7;
      color: #6b7280;
    }

    .options {
      display: grid;
      gap: 10px;
      padding: 12px 14px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #f8fafc;
    }

    .followup {
      margin-top: 10px;
    }

    .hidden {
      display: none;
    }

    .option {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 15px;
    }

    .option input {
      accent-color: var(--brand);
      width: 18px;
      height: 18px;
    }

    .actions {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
      margin-top: 24px;
    }

    .submit {
    display: block;
    margin: 0px auto;
    border: none;
    border-radius: 999px;
    padding: 12px 26px;
    font-size: 15px;
    font-weight: 600;
    background: linear-gradient(120deg, var(--brand), #0ea5e9);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(14, 165, 233, 0.25);
    }

    .submit:hover {
      filter: brightness(1.03);
    }

    .reset {
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 12px 22px;
      background: transparent;
      font-size: 14px;
      cursor: pointer;
    }

    .dialog-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(15, 23, 42, 0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s ease;
      padding: 20px;
      z-index: 10;
    }

    .dialog-backdrop.show {
      opacity: 1;
      pointer-events: auto;
    }

    .dialog {
      background: var(--card);
      border-radius: 20px;
      padding: 26px 26px 22px;
      text-align: center;
      max-width: 360px;
      width: 100%;
      box-shadow: var(--shadow);
      border: 1px solid rgba(148, 163, 184, 0.2);
    }

    .dialog-icon {
      width: 56px;
      height: 56px;
      margin: 0 auto 12px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: rgba(34, 197, 94, 0.15);
      color: #16a34a;
      font-size: 28px;
      font-weight: 700;
    }

    .dialog-icon.error {
      background: rgba(220, 38, 38, 0.12);
      color: #dc2626;
    }

    .dialog-error {
      border: 1px solid rgba(220, 38, 38, 0.2);
    }

    .dialog h5 {
      margin: 0 0 6px;
      font-size: 18px;
    }

    .dialog p {
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 14px;
    }

    .dialog button {
      border: none;
      border-radius: 999px;
      padding: 10px 22px;
      font-size: 14px;
      font-weight: 600;
      background: linear-gradient(120deg, var(--brand), #0ea5e9);
      color: #fff;
      cursor: pointer;
      box-shadow: 0 10px 22px rgba(14, 165, 233, 0.2);
    }
         /* --- GOVERNMENT NEWS SCROLLER TICKER --- */
    .gov-ticker-container {
        background: #1e3a8a; /* Official Deep Blue */
        border-bottom: 3px solid #eab308; /* State Gold Border Accent */
        color: #ffffff;
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        font-weight: 600;
        padding: 8px 16px;
        overflow: hidden;
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }
    .gov-ticker-label {
        background: #dc2626; /* Vibrant Flash Alert Crimson */
        padding: 4px 10px;
        border-radius: 4px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-right: 15px;
        white-space: nowrap;
        z-index: 2;
        box-shadow: 2px 0 5px rgba(0,0,0,0.2);
    }
    .gov-ticker-window {
        overflow: hidden;
        white-space: nowrap;
        width: 100%;
        display: flex;
        align-items: center;
    }
    .gov-ticker-text {
        display: inline-block;
        padding-left: 100%;
        animation: govScrollText 30s linear infinite;
    }
    .gov-ticker-text:hover {
        animation-play-state: paused; /* Allows operators to pause text on hover to read easily */
        cursor: pointer;
    }
    @keyframes govScrollText {
        0% { transform: translate3d(0, 0, 0); }
        100% { transform: translate3d(-100%, 0, 0); }
    }

    /* --- NEW ENTITY ONBOARDING CALL-TO-ACTION CARD --- */
    .onboarding-gateway-box {
        margin-top: 35px !important;
        border-top: 2px dashed #cbd5e1;
        padding-top: 25px;
        text-align: center;
    }
    .onboarding-gateway-box h4 {
        margin: 0 0 6px 0;
        color: #0f172a;
        font-size: 15px;
        font-weight: 700;
    }
    .onboarding-gateway-box p {
        font-size: 12.5px;
        color: #6b7280;
        margin: 0 0 16px 0;
        line-height: 1.4;
    }
    .btn-onboard-register {
        display: inline-block;
        background: #f8fafc;
        border: 1px solid #1e3a8a;
        color: #1e3a8a;
        padding: 10px 22px;
        border-radius: 999px;
        font-size: 13.5px;
        font-weight: 700;
        text-decoration: none;
        transition: all 0.2s ease;
        box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    }
    .btn-onboard-register:hover {
        background: #1e3a8a;
        color: #ffffff;
        box-shadow: 0 6px 16px rgba(30, 58, 138, 0.15);
    }
    
.modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:99999;

    animation:fadeIn .25s ease;
}

/* Modal */

.modal-box{

    width:420px;
    max-width:92%;

    background:#fff;

    border-radius:16px;

    padding:35px;

    text-align:center;

    box-shadow:0 25px 60px rgba(0,0,0,.25);

    animation:popup .3s ease;
}

.modal-icon{

    width:75px;
    height:75px;

    border-radius:50%;

    margin:auto;

    font-size:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:18px;
}

.success-icon{

    background:#d1fae5;
    color:#16a34a;
}

.error-icon{

    background:#fee2e2;
    color:#dc2626;
}

.modal-box h2{

    margin-bottom:15px;
    color:#111827;
}

.modal-message{

    color:#4b5563;

    line-height:1.8;

    margin-bottom:30px;

    text-align:left;
}

.modal-btn{

    border:none;

    background:#2563eb;

    color:#fff;

    padding:12px 40px;

    border-radius:8px;

    cursor:pointer;

    font-size:15px;

    font-weight:600;

    transition:.25s;
}

.modal-btn:hover{

    background:#1d4ed8;
}

@keyframes popup{

    from{

        transform:scale(.75);

        opacity:0;
    }

    to{

        transform:scale(1);

        opacity:1;
    }
}

@keyframes fadeIn{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }
}