
/* =====================================================
   ROOT COLORS
===================================================== */

:root {
    --primary: #1e3986;
    --primary-dark: #172f72;
    --orange: #ca612d;
    --orange-light: #fce9df;
    --blue-light: #e6eaf3;
    --text: #687789;
    --text-dark: #586a7c;
    --white: #ffffff;
    --background: #f8fafc;
    --border: #e8e8e8;
    --danger: #d9534f;
    --success: #198754;
    --disabled: #b9c0cc;
    --shadow:
        0 15px 35px rgba(37, 60, 100, 0.055);
}


/* =====================================================
   RESET20px
===================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
a{
    outline: none;
}
h6{
    font-size: 20px;
    span{
        font-size: 10px;
        color: var(--primary-dark);
    }
}
body {
    font-family: Arial, Helvetica, sans-serif;

    background: var(--background);

    color: var(--text);

    min-height: 100vh;
}


/* =====================================================
   PAGE
===================================================== */

.signup-page {
    width: 100%;
    min-height: 100vh;

    padding: 20px 40px 50px;
}


.signup-container {
    width: 100%;
    max-width: 624px;

    margin: auto;
}


/* =====================================================
   BACK BUTTON
===================================================== */

.back-btn {
    width: 72px;
    height: 72px;

    border: none;

    border-radius: 25px;

    background: var(--white);

    color: var(--orange);

    font-size: 42px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: var(--shadow);

    margin-bottom: 25px;

    transition: .2s;
}


.back-btn:hover {
    transform: translateX(-3px);
}


/* =====================================================
   INPUT BOX
===================================================== */

.input-box {
    width: 100%;
    height: 105px;

    background: var(--white);

    border-radius: 28px;

    margin-bottom: 25px;

    padding: 0 20px;

    display: flex;
    align-items: center;

    box-shadow: var(--shadow);

    border: 2px solid transparent;

    transition: .2s ease;
}


.input-box:focus-within {
    border-color: rgba(30,57,134,.12);

    box-shadow:
        0 15px 35px rgba(30,57,134,.08);
}


/* =====================================================
   ERROR INPUT
===================================================== */

.input-box.error {
    border-color: var(--danger);

    box-shadow:
        0 5px 20px rgba(217,83,79,.08);
}


/* =====================================================
   VALID INPUT
===================================================== */

.input-box.valid {
    border-color: rgba(25,135,84,.25);
}


/* =====================================================
   ICON BOX
===================================================== */

.icon-box {
    width: 62px;
    height: 62px;

    min-width: 62px;

    border-radius: 18px;

    margin-right: 22px;

    display: flex;
    align-items: center;
    justify-content: center;
}


.icon-box.orange {
    background: var(--orange-light);

    color: var(--orange);
}


.icon-box.blue {
    background: var(--blue-light);

    color: var(--primary);
}


.icon {
    width: 31px;
    height: 31px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =====================================================
   INPUT WRAPPER
===================================================== */

.input-wrapper {
    position: relative;

    flex: 1;

    height: 100%;

    display: flex;
    align-items: center;
}


/* =====================================================
   INPUT
===================================================== */

.input-wrapper input {
    width: 100%;
    height: 100%;

    border: none;

    outline: none;

    background: transparent;

    color: var(--text-dark);

    font-size: 25px;

    padding: 28px 0 0;

    letter-spacing: .5px;
}


/* Hide placeholder */

.input-wrapper input::placeholder {
    color: transparent;
}


/* =====================================================
   FLOATING LABEL
===================================================== */

.input-wrapper label {
    position: absolute;

    left: 0;
    top: 50%;

    transform: translateY(-50%);

    font-size: 25px;

    color: var(--text);

    pointer-events: none;

    transition: .2s ease;
}


/* Slide label up */

.input-wrapper input:focus ~ label,
.input-wrapper input:not(:placeholder-shown) ~ label {

    top: 27px;

    font-size: 12px;

    font-weight: 600;

    color: var(--primary);

    letter-spacing: .3px;
}


/* =====================================================
   PASSWORD TOGGLE
===================================================== */

.password-toggle {
    width: 48px;
    height: 48px;

    border: none;

    background: transparent;

    color: var(--text);

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
}


.password-toggle:hover {
    color: var(--primary);
}


.eye {
    width: 30px;
    height: 30px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =====================================================
   SELECT ROW
===================================================== */

.location-row {
    width: 100%;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;
}


/* =====================================================
   SELECT BOX
===================================================== */

.select-box {
    padding: 0 15px;
}


.select-box .icon-box {
    width: 55px;
    height: 55px;

    min-width: 55px;

    margin-right: 15px;
}


/* =====================================================
   SELECT WRAPPER
===================================================== */

.select-wrapper {
    position: relative;

    flex: 1;

    height: 100%;

    display: flex;

    align-items: center;
}


/* =====================================================
   SELECT
===================================================== */

.select-wrapper select {
    width: 100%;
    height: 100%;

    border: none;

    outline: none;

    background: transparent;

    appearance: none;
    -webkit-appearance: none;

    color: var(--text-dark);

    font-size: 20px;

    cursor: pointer;

    padding: 27px 25px 0 0;
}


.select-wrapper select option:first-child {
    color: transparent;
}


/* =====================================================
   SELECT LABEL
===================================================== */

.select-wrapper label {
    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    color: var(--text);

    font-size: 20px;

    pointer-events: none;

    transition: .2s ease;
}


/* Move select label */

.select-wrapper select:focus ~ label,
.select-wrapper select:valid ~ label {

    top: 27px;

    font-size: 11px;

    font-weight: 600;

    color: var(--primary);
}


/* =====================================================
   SELECT ARROW
===================================================== */

.select-wrapper::after {
    content: "⌄";

    position: absolute;

    right: 0;

    top: 50%;

    transform: translateY(-35%);

    color: var(--primary);

    font-size: 22px;

    pointer-events: none;
}


/* =====================================================
   CREATE ACCOUNT BUTTON
===================================================== */

.create-btn {
    width: 100%;
    height: 105px;

    margin-top: 45px;

    border: none;

    border-radius: 28px;

    background: var(--primary);

    color: var(--white);

    font-size: 30px;

    font-weight: 600;

    cursor: pointer;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 18px;

    transition: .25s ease;
}


/* DISABLED */

.create-btn:disabled {
    background: var(--disabled);

    color: #eef0f3;

    cursor: not-allowed;

    opacity: .8;

    transform: none !important;
}


/* ENABLED HOVER */

.create-btn:not(:disabled):hover {
    background: var(--primary-dark);

    transform: translateY(-2px);
}


/* CLICK */

.create-btn:not(:disabled):active {
    transform: scale(.98);
}


/* =====================================================
   BUTTON ARROW
===================================================== */

.arrow-box {
    width: 50px;
    height: 50px;

    border-radius: 14px;

    background: rgba(255,255,255,.22);

    display: flex;

    align-items: center;
    justify-content: center;
}


.arrow {
    font-size: 36px;

    font-weight: 300;
}


/* =====================================================
   SIGN IN
===================================================== */

.signin {
    text-align: center;

    margin-top: 50px;

    font-size: 22px;

    color: #8793a1;
}


.signin a {
    color: var(--orange);

    font-weight: 600;

    text-decoration: none;

    margin-left: 7px;
}


.signin a:hover {
    text-decoration: underline;
}

/* =====================================================
   LOGIN PAGE
===================================================== */

.login-page {
    width: 100%;
    min-height: 100vh;
    padding: 20px 40px 50px;
}

.login-container {
    width: 100%;
    max-width: 624px;
    margin: auto;
}


/* =====================================================
   LOGIN TITLE
===================================================== */

.login-title {
    font-size: 42px;
    color: var(--primary);
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.2;
}

.login-subtitle {
    font-size: 20px;
    color: var(--text);
    margin-bottom: 35px;
    line-height: 1.5;
}


/* =====================================================
   LOGIN OPTIONS
===================================================== */

.login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 5px 5px 35px;
    font-size: 17px;
}

.remember {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    color: var(--text);
}

.remember input {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
    cursor: pointer;
}

.forgot-password {
    color: var(--orange);
    text-decoration: none;
    font-weight: 600;
}

.forgot-password:hover {
    text-decoration: underline;
}


/* =====================================================
   LOGIN BUTTON
===================================================== */

.login-btn {
    width: 100%;
    height: 105px;

    margin-top: 10px;

    border: none;
    border-radius: 28px;

    background: var(--primary);
    color: var(--white);

    font-size: 30px;
    font-weight: 600;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    transition: .25s ease;
}


/* DISABLED */

.login-btn:disabled {
    background: var(--disabled);
    color: #eef0f3;
    cursor: not-allowed;
    opacity: .8;
    transform: none !important;
}


/* ENABLED HOVER */

.login-btn:not(:disabled):hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
}


/* CLICK */

.login-btn:not(:disabled):active {
    transform: scale(.98);
}


/* =====================================================
   REGISTER
===================================================== */

.register {
    text-align: center;

    margin-top: 40px;

    font-size: 20px;

    color: #8793a1;
}

.register a {
    color: var(--orange);

    font-weight: 600;

    text-decoration: none;

    margin-left: 7px;
}

.register a:hover {
    text-decoration: underline;
}
/* LOADER */
/* =====================================================
   LOADING POPUP
===================================================== */

.loading-popup {
    position: fixed;
    inset: 0;

    width: 100%;
    height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at 30% 25%,
            rgba(202, 97, 45, .28),
            transparent 35%
        ),
        radial-gradient(
            circle at 75% 70%,
            rgba(30, 57, 134, .30),
            transparent 40%
        ),
        rgba(248, 250, 252, .78);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    z-index: 99999;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}


/* SHOW POPUP */

.loading-popup.active {
    opacity: 1;
    visibility: visible;
}


/* =====================================================
   CONTENT
===================================================== */

.loading-content {
    position: relative;
    width: 100%;
    max-width: 430px;
    padding: 40px 30px;
    text-align: center;
}


/* =====================================================
   GLOW
===================================================== */

.loading-glow {
    position: absolute;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(202, 97, 45, .20);
    filter: blur(70px);
    animation: glowPulse 2s infinite alternate;
}

@keyframes glowPulse {

    from {
        transform: scale(.8);
        opacity: .5;
    }

    to {
        transform: scale(1.25);
        opacity: .9;
    }

}


/* =====================================================
   LOADING CIRCLE
===================================================== */

.loading-circle {
    position: relative;
    width: 190px;
    height: 190px;
    margin: 0 auto 45px;
    border-radius: 50%;
    background:
        conic-gradient(
            var(--primary),
            #243f91,
            #f0a500,
            var(--orange),
            var(--primary)
        );

    display: flex;
    align-items: center;
    justify-content: center;

    animation: rotateCircle 3s linear infinite;

    box-shadow:
        0 0 35px rgba(202, 97, 45, .25),
        0 0 70px rgba(30, 57, 134, .15);
}

@keyframes rotateCircle {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


/* =====================================================
   WHITE INNER RING
===================================================== */

.loading-circle::before {
    content: "";

    position: absolute;

    width: 145px;
    height: 145px;

    border-radius: 50%;

    background: rgba(255,255,255,.95);
}


/* =====================================================
   INNER ICON
===================================================== */

.loading-inner {
    position: relative;

    z-index: 2;

    width: 95px;
    height: 95px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            var(--orange),
            var(--primary)
        );
    /* background-image: url("../img/apga.png"); */
    /* background-position: center;
    background-repeat: no-repeat;
    background-size: cover; */

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow:
        0 10px 30px rgba(30,57,134,.25);
}

.loading-inner span {
    /* color: rgb(152, 190, 147); */
    font-size: 38px;
    height: 70px;
    width: 70px;
    font-weight: 900;

    line-height: 1;

    transform: rotate(0deg);
    img{
        height: 100%;
    width: 100%;
    border-radius: 50%;
    }
}


/* =====================================================
   FLOATING DOTS
===================================================== */

.loading-dot {
    position: absolute;

    width: 14px;
    height: 14px;

    border-radius: 50%;

    background: var(--orange);

    animation: dotFloat 1.8s infinite ease-in-out;
}

.loading-dot:nth-child(even) {
    background: var(--primary);
}

.dot1 {
    top: 5px;
    left: 70px;
}

.dot2 {
    top: 35px;
    right: 5px;
}

.dot3 {
    right: 8px;
    bottom: 45px;
}

.dot4 {
    bottom: 5px;
    left: 70px;
}

.dot5 {
    bottom: 50px;
    left: 5px;
}

.dot6 {
    top: 45px;
    left: 5px;
}

@keyframes dotFloat {

    0%, 100% {
        transform: translateY(0) scale(1);
        opacity: .7;
    }

    50% {
        transform: translateY(-10px) scale(1.2);
        opacity: 1;
    }

}


/* =====================================================
   TITLE
===================================================== */

#loadingTitle {
    margin: 0;

    color: #334155;

    font-size: 38px;

    font-weight: 600;

    letter-spacing: .3px;
}


/* =====================================================
   SPINNER
===================================================== */

.loading-spinner {
    width: 48px;
    height: 48px;

    margin: 12px auto 18px;

    border-radius: 50%;

    border: 5px solid rgba(30,57,134,.15);

    border-top-color: var(--primary);
    border-right-color: var(--orange);

    animation: spinnerRotate .8s linear infinite;
}

@keyframes spinnerRotate {

    to {
        transform: rotate(360deg);
    }

}


/* =====================================================
   MESSAGE
===================================================== */

#loadingMessage {
    margin: 0;

    color: #687789;

    font-size: 23px;

    font-weight: 400;
}


    button {
      font: inherit;
    }

    .app {
      width: 100%;
      max-width: 720px;
      min-height: 100vh;
      margin: 0 auto;
      margin-top: 100px;
      padding: 14px 16px 100px;
      overflow: hidden;
    }

   /* =========================================
   ELECTION RESULTS CARD
========================================= */

.election-card {
  position: relative;
  width: 100%;
  /* min-height: 560px; */
  padding: 22px 14px 20px;
  overflow: hidden;

  border: 1px solid #e3e0d7;
  border-radius: 25px;

  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(255, 226, 172, .35),
      transparent 35%
    ),
    #fffdf8;

  box-shadow:
    0 15px 35px rgba(37, 60, 100, 0.055);
}


/* Decorative bottom green/orange curve */

.election-card::after {
  content: "";
  position: absolute;

  left: -8%;
  right: -8%;
  bottom: -72px;

  height: 120px;

  border-radius: 50% 50% 0 0;

  background:
    linear-gradient(
      180deg,
      #28451d 0 7px,
      #f2a51a 7px 13px,
      #fffdf8 13px
    );

  transform: rotate(-1deg);
}
/* =========================================
   HEADINGS
========================================= */
.election-card .hd {
  position: fixed;
  z-index: 1000;
  width: 100vw;
  max-width: 1600px;
  top: 0px;
  left: 0px;
  text-transform: uppercase;
  /* right: 0px; */

  background: var(--orange-light);
}
.election-card h1 {
  margin: 6px 0 4px;

  text-align: center;

  color: var(--primary-dark);

  font-family:
    Impact,
    "Arial Narrow",
    sans-serif;
  font-size: clamp(24px, 2vw, 18px);
  font-weight: 500;
  line-height: 1;

  letter-spacing: .5px;
}

.polling-label {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 12px;

  margin-bottom: 9px;

  color: #38433a;

  font-size: 13px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.polling-label::before,
.polling-label::after {
  content: "";

  width: 72px;
  height: 2px;

  background: #a69c8b;
}


/* =========================================
   POLLING UNIT
========================================= */

.polling-unit {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  /* min-height: 2px; */

  /* margin: 0 54px 15px; */
  padding: 2px;

  border-radius: 12px;
  color: var(--primary);
  /* background: #304c1d; */
  font-family:
    Impact,
    "Arial Narrow",
    sans-serif;
  font-size: 18px;
  letter-spacing: .5px;
  text-align: center;
}

.polling-unit small {
  display: block;

  margin-top: 3px;

  font-family:
    Arial,
    sans-serif;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .4px;
}


/* =========================================
   CANDIDATE ROW
========================================= */

.candidate-row {
  position: relative;

  display: flex;
  align-items: center;

  min-height: 84px;

  margin: 10px 16px;

  overflow: hidden;

  border: 1px solid #deded9;
  border-radius: 16px;

  background: #fff;

  box-shadow:
    0 2px 4px rgba(0,0,0,.025);
}


/* =========================================
   PHOTO AREA
========================================= */

.candidate-photo {
  position: relative;
  height: 100px;
  width: 100px;
  overflow: hidden;

  border-radius: 15px 0 0 15px;
}

.candidate-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*
  These backgrounds reproduce the colored
  portrait panels. You can replace the
  placeholder with actual candidate photos
  if you have licensed/appropriate assets.
*/

.apc-photo {
  background: #a9d2ed;
}

.accord-photo {
  background: #f3bd27;
}

.adc-photo {
  background: #a7c98d;
}


.candidate-placeholder {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: flex-end;
  justify-content: center;

  padding-bottom: 10px;

  color: rgba(255,255,255,.9);

  font-family: Impact, sans-serif;
  font-size: 30px;

  text-shadow:
    0 2px 3px rgba(0,0,0,.35);
}


/* =========================================
   PARTY LOGO
========================================= */

.party-logo {
  position: absolute;
  left: 118px;
  top: 50%;

  z-index: 2;

  width: 67px;
  min-height: 54px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;

  transform: translateY(-50%);
   img{
    height: 100%;
  width: 100%;
  }
}

.party-logo span {
  font-size: 18px;
  line-height: 1;
}

.party-logo small {
  display: block;

  margin-top: 3px;
}


/* APC */

.apc-logo {
  color: #d7292f;
  background: linear-gradient(
    90deg,
    #0b9950 0 33%,
    #fff 33% 66%,
    #7dc8e9 66%
  );

  border: 1px solid rgba(0,0,0,.05);
}


/* Accord */

.accord-logo {
  color: #172514;

  background: #ffd91e;

  border-radius: 4px;
}

.accord-logo::before {
  content: "♧";

  display: block;

  margin-bottom: 1px;

  color: #1c3918;

  font-size: 20px;
}


/* ADC */

.adc-logo {
  color: white;

  background: #216238;

  border: 4px solid #d9ebd3;
}


/* =========================================
   VOTES
========================================= */

.candidate-votes {
  flex: 1;
  padding-left: 105px;
  color: #263c1b;
  font-family:
    Impact,
    "Arial Narrow",
    sans-serif;
  font-size: clamp(43px, 10vw, 66px);
  line-height: 1;

  letter-spacing: 1px;
}


/* =========================================
   FOOTER
========================================= */

.election-footer {
  position: relative;
  z-index: 5;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 9px;

  margin-top: 20px;

  color: #222a22;

  font-size: 10px;
  font-weight: 600;

  text-align: center;
}

.election-footer b {
  color: #b85d25;
}

.form-container {

    width: 100%;

    max-width: 950px;

    margin: auto;

    padding: 25px;

    background: var(--white);

    border: 1px solid var(--border);

    border-radius: 12px;

    box-shadow: var(--shadow);
}


.form-title {

    margin: 0 0 25px;

    text-align: center;

    color: var(--primary);
}


/* ======================================
   QUICK ADD WARDS
====================================== */

.quick-add {

    display: flex;

    gap: 10px;

    margin-bottom: 20px;

    padding: 15px;

    background: var(--blue-light);

    border-radius: 8px;
}


.quick-add input {

    width: 140px;
}


.quick-add button {

    height: 42px;

    padding: 0 18px;

    border: none;

    border-radius: 6px;

    background: var(--primary);

    color: var(--white);

    font-weight: 600;

    cursor: pointer;
}


.quick-add button:hover {

    background: var(--primary-dark);
}


/* ======================================
   WARD
====================================== */

.ward-group {

    margin-bottom: 20px;

    padding: 20px;

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 10px;
}


.ward-header {

    display: grid;

    grid-template-columns: 100px 1fr auto;

    gap: 12px;

    align-items: end;

    margin-bottom: 20px;
}


.field {
  /* border: 2px solid red; */
    display: flex;
    flex-direction: column;
}


.field label {

    margin-bottom: 6px;

    font-size: 13px;

    font-weight: 500;

    color: var(--text-dark);
}
.fieldhd{
  display: flex;
    width: 100%;

  /* justify-content: space-around; */
  column-gap: 10px;
  align-items: center;
  overflow: auto;
}
.fieldhd form{
  display: flex;
  flex-direction: column;
}
.sel {
    width: 100px;
    padding: 3px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 10px;


}

input {

    width: 100%;

    height: 42px;

    padding: 10px 12px;

    border: 1px solid var(--border);

    border-radius: 6px;

    outline: none;

    background: var(--white);

    color: var(--text-dark);

    font-size: 14px;
}


input:focus {

    border-color: var(--primary);
}


.number-input {

    text-align: center;

    background: var(--blue-light);

    color: var(--primary);

    font-weight: bold;

    cursor: not-allowed;
}


/* ======================================
   DELETE WARD
====================================== */

.delete-ward-btn {

    height: 42px;

    padding: 0 15px;

    border: none;

    border-radius: 6px;

    background: var(--danger);

    color: var(--white);

    font-weight: 600;

    cursor: pointer;
}


.delete-ward-btn:hover {

    opacity: .9;
}


/* ======================================
   POLLING QUICK ADD
====================================== */

.polling-quick-add {

    display: flex;

    gap: 8px;

    margin-bottom: 15px;
}


.polling-quick-add input {

    width: 130px;
}


.polling-quick-add button {

    height: 42px;

    padding: 0 15px;

    border: none;

    border-radius: 6px;

    background: var(--primary);

    color: var(--white);

    cursor: pointer;

    font-weight: 600;
}


/* ======================================
   POLLING UNIT
====================================== */

.polling-unit-row {

    display: grid;

    grid-template-columns: 120px 1fr auto;

    gap: 12px;

    align-items: end;

    margin-bottom: 12px;
}


.remove-btn {

    height: 42px;

    padding: 0 15px;

    border: none;

    border-radius: 6px;

    background: var(--danger);

    color: var(--white);

    cursor: pointer;
}


/* ======================================
   ADD ONE WARD
====================================== */

.add-ward-btn {

    width: 100%;

    height: 45px;

    margin-top: 5px;

    border: none;

    border-radius: 6px;

    background: var(--orange);

    color: var(--white);

    cursor: pointer;

    font-weight: 600;
}


.add-ward-btn:hover {

    opacity: .9;
}


/* ======================================
   SUBMIT
====================================== */

.submit-btn {

    width: 100%;

    height: 45px;

    margin-top: 12px;

    border: none;

    border-radius: 6px;

    background: var(--success);

    color: var(--white);

    cursor: pointer;

    font-weight: 600;
}
.labcad{
  /* border: 1px solid red; */
  height: 20px;
  width: 100px;
  font-size: 10px;
  margin-top: -10px;
  background: var(--background);
  position: absolute;
  /* z-index: 4444; */
}


    /* =========================
       REGISTER SECTION
    ========================= */

    .register-section {

        width: 100%;
        min-height: 100vh;

        padding: 40px 15px;

        display: flex;

        justify-content: center;

        align-items: center;

    }


    /* =========================
       CONTAINER
    ========================= */

    .register-container {

        width: 100%;
        max-width: 520px;

        background: var(--white);

        padding: 30px;

        border-radius: 15px;

        border: 1px solid var(--border);

        box-shadow: var(--shadow);

    }


    /* =========================
       HEADER
    ========================= */

    .form-header {

        text-align: center;

        margin-bottom: 30px;

    }


    .form-title {

        margin: 0;

        color: var(--primary);

        font-size: 26px;

        font-weight: 700;

    }


    .form-subtitle {

        margin-top: 8px;

        color: var(--text);

        font-size: 14px;

    }


    /* =========================
       FORM GROUP
    ========================= */

    .form-group {

        margin-bottom: 20px;

    }


    /* =========================
       LABEL
    ========================= */

    .form-label {

        display: block;

        margin-bottom: 8px;

        color: var(--text-dark);

        font-size: 14px;

        font-weight: 600;

    }


    /* =========================
       INPUT
    ========================= */

    .form-input {

        width: 100%;

        height: 48px;

        padding: 0 14px;

        border: 1px solid var(--border);

        border-radius: 8px;

        background: var(--white);

        color: var(--text-dark);

        font-size: 14px;

        outline: none;

        transition: 0.3s;

    }


    /* =========================
       SELECT
    ========================= */

    .form-select {

        width: 100%;

        height: 48px;

        padding: 0 14px;

        border: 1px solid var(--border);

        border-radius: 8px;

        background: var(--white);

        color: var(--text-dark);

        font-size: 14px;

        outline: none;

        transition: 0.3s;

    }


    /* =========================
       FOCUS
    ========================= */

    .form-input:focus,
    .form-select:focus {

        border-color: var(--primary);

        box-shadow: 0 0 0 3px var(--blue-light);

    }


    /* =========================
       LOCATION BOX
    ========================= */

    .location-box {

        padding: 20px;

        margin-bottom: 20px;

        background: var(--blue-light);

        border-radius: 10px;

    }


    .location-title {

        margin-bottom: 18px;

        color: var(--primary);

        font-size: 16px;

        font-weight: 700;

    }


    /* =========================
       ACCESS INFO
    ========================= */

    .access-info {

        margin-top: 7px;

        padding: 10px;

        background: var(--orange-light);

        color: var(--orange);

        border-radius: 6px;

        font-size: 12px;

    }


    /* =========================
       ERROR MESSAGE
    ========================= */

    .error-message {

        display: none;

        margin-top: 6px;

        color: var(--danger);

        font-size: 12px;

    }


    /* =========================
       SUCCESS MESSAGE
    ========================= */

    .success-message {

        display: none;

        margin-top: 6px;

        color: var(--success);

        font-size: 12px;

    }


    /* =========================
       INVALID INPUT
    ========================= */

    .input-error {

        border-color: var(--danger) !important;

    }


    /* =========================
       VALID INPUT
    ========================= */

    .input-success {

        border-color: var(--success) !important;

    }


    /* =========================
       SUBMIT BUTTON
    ========================= */

    .submit-button {

        width: 100%;

        height: 50px;

        border: none;

        border-radius: 8px;

        background: var(--primary);

        color: var(--white);

        font-size: 16px;

        font-weight: 600;

        cursor: pointer;

        transition: 0.3s;

    }


    .submit-button:hover {

        background: var(--primary-dark);

    }


    /* =========================
       DISABLED BUTTON
    ========================= */

    .submit-button:disabled {

        background: var(--disabled);

        cursor: not-allowed;

        opacity: 0.7;

    }


    .submit-button:active {

        transform: scale(0.98);

    }


    /* =========================
       RESPONSIVE
    ========================= */

    @media (max-width: 500px) {

        .register-container {

            padding: 22px 18px;

        }


        .register-section {

            padding: 20px 10px;

        }

    }
    
/* ======================================
   MOBILE
====================================== */

@media (max-width: 650px) {

    body {
        padding: 15px;
    }


    .form-container {
        padding: 15px;
    }


    .quick-add {
        flex-wrap: wrap;
    }


    .quick-add input {
        width: 100%;
    }


    .ward-header {
        grid-template-columns: 1fr;
    }


    .polling-unit-row {
        grid-template-columns: 1fr;
    }


    .polling-quick-add {
        flex-wrap: wrap;
    }


    .polling-quick-add input {
        width: 100%;
    }


    .delete-ward-btn,
    .remove-btn,
    .polling-quick-add button {
        width: 100%;
    }

}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

  .election-card {
    /* min-height: 550px; */

    padding:
      18px 8px 18px;
  }
  .election-card h1 {
    font-size: 27px;
  }

  .polling-label {
    font-size: 10px;
    gap: 7px;
  }

  .polling-label::before,
  .polling-label::after {
    width: 42px;
  }

  .polling-unit {
    margin-left: 42px;
    margin-right: 42px;

    /* min-height: 59px; */

    font-size: 16px;
  }

  .polling-unit small {
    font-size: 11px;
  }

  .candidate-row {
    min-height: 82px;

    margin-left: 8px;
    margin-right: 8px;
  }

  .candidate-photo {
    flex-basis: 125px;
  }

  .party-logo {
    left: 95px;

    width: 58px;
    min-height: 48px;
  }

  .candidate-votes {
    padding-left: 72px;

    font-size: 30px;
  }

  .election-footer {
    font-size: 8px;
  }
}


/* =========================================
   VERY SMALL PHONES
========================================= */

@media (max-width: 390px) {

  .election-card h1 {
    font-size: 23px;
  }

  .polling-unit {
    margin-left: 25px;
    margin-right: 25px;

    font-size: 14px;
  }

  .candidate-photo {
    flex-basis: 105px;
  }

  .party-logo {
    left: 87px;
    width: 31px;
    height: 31px;

  }

  .candidate-votes {
    padding-left: 66px;
    font-size: 24px;
  }

  .candidate-row {
    margin-left: 4px;
    margin-right: 4px;
  }
}

    /* =========================
       SECTION HEADER
    ========================== */

    .section {
      margin-top: 48px;
    }

    .section-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 24px;
    }

    .section-title {
      color: #111b2d;
      font-size: 30px;
      line-height: 1;
      font-weight: 650;
      letter-spacing: -.8px;
    }

    .view-all {
      border: 0;
      color: var(--orange);
      background: transparent;
      font-size: 17px;
      font-weight: 600;
      cursor: pointer;
      transition: .2s;
    }

    .view-all:hover {
      opacity: .7;
    }

    /* =========================
       SERVICES
    ========================== */

    .services-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }

    .service {
      height: 157px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 13px;
      border: 1.5px solid var(--border);
      border-radius: 18px;
      background: rgba(255,255,255,.35);
      cursor: pointer;
      transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
    }

    .service:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow);
      border-color: #dce0e8;
    }

    .service:active {
      transform: scale(.97);
    }

    .service.orange {
      border-color: #f1e4de;
    }

    .service-icon {
      width: 72px;
      height: 72px;
      display: grid;
      place-items: center;
      border-radius: 20px;
      color: white;
    }

    .service-icon.blue {
      background: linear-gradient(
        145deg,
        #344a87,
        var(--primary)
      );
    }

    .service-icon.orange {
      background: linear-gradient(
        145deg,
        #e5783b,
        var(--orange)
      );
    }

    .service-icon svg {
      width: 37px;
      height: 37px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .service-icon.fill svg {
      fill: currentColor;
      stroke: none;
    }

    .service-name {
      color: #172033;
      font-size: 18px;
      font-weight: 600;
    }

    /* =========================
       RECENT ACTIVITY
    ========================== */

    .activity-section {
      margin-top: 91px;
    }

    .activity-header {
      margin-bottom: 28px;
    }

    .activity-link {
      display: flex;
      align-items: center;
      gap: 9px;
    }

    .activity-link span {
      font-size: 17px;
    }

    .activity-link svg {
      width: 21px;
      height: 21px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
    }

    .activity-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
     
    }

    .activity-card {
      min-height: 176px;
      display: flex;
      align-items: center;
      gap: 31px;
      padding: 32px;
      border-radius: 30px;
      background: white;
      box-shadow: var(--shadow);
       border: 3px solid var(--disabled);
      border-radius: 20px;
    }

    .activity-icon {
      flex: 0 0 82px;
      width: 82px;
      height: 82px;
      display: grid;
      place-items: center;
      border-radius: 27px;
      color: white;
      box-shadow: 0 9px 20px rgba(0,0,0,.06);
    }

    .activity-icon.data {
      background: linear-gradient(145deg, #4f91f4, #397fe6);
    }

    .activity-icon.refund {
      background: linear-gradient(145deg, #36c29c, #20b886);
    }

    .activity-icon svg {
      width: 56px;
      height: 56px;
      fill: none;
      stroke: white;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .activity-info {
      min-width: 0;
      flex: 1;
    }

    .activity-title-row {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 11px;
    }

    .activity-title {
      min-width: 0;
      overflow: hidden;
      color: #182033;
      font-size: 23px;
      font-weight: 600;
      line-height: 1.2;
      white-space: nowrap;
      text-overflow: ellipsis;
            text-transform: capitalize;

    }

    .activity-amount {
      flex-shrink: 0;
      color: #172033;
      font-size: 22px;
      font-weight: 500;
    }

    .activity-meta {
      /* display: flex; */
    
      border: 1px solid var(--disabled);
      /* gap: 17px; */
      .spanx{
        color: var(--primary-dark);
        font-weight: 600;
      }
      div{
        display: flex;
      border-bottom: 1px solid var(--primary-dark);
          justify-content: space-between;
      align-items: center;
      }
    }

    .completed {
      padding: 7px 4px;
      border-radius: 9px;
      color: var(--white);
      background: var(--success);
      font-size: 15px;
      font-weight: 600;
      width: 100px;
      white-space: nowrap;
      margin: 5px;
    }
     .incompleted {
      padding: 7px 4px;
      border-radius: 9px;
      color: var(--white);
      background: var(--danger);
      font-size: 15px;
      font-weight: 600;
      width: 100px;
      margin: 5px;
      white-space: nowrap;
    }
    .status {
      padding: 7px 14px;
      border-radius: 9px;
      color: #32ad87;
      background: #e4f7ef;
      font-size: 20px;
      font-weight: 600;
      /* width: 100px; */
      white-space: nowrap;
    }

    .activity-time {
      color: var(--primary-dark);
      font-size: 20px;
      white-space: nowrap;
      font-weight: 600;
      padding: 7px 14px;

    }

    .activity-arrow {
      flex-shrink: 0;
      align-self: center;
    }

    .activity-arrow svg {
      width: 27px;
      height: 27px;
      stroke: #758193;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* =========================
       FLOATING CHAT BUTTON
    ========================== */

    .chat-button {
      position: fixed;
      z-index: 20;
      right: max(25px, calc((100vw - 720px) / 2 + 25px));
      bottom: 91px;
      width: 80px;
      height: 80px;
      display: grid;
      place-items: center;
      border: 0;
      border-radius: 27px;
      color: white;
      background: linear-gradient(
        145deg,
        #27d968,
        #22c65d
      );
      box-shadow:
        0 14px 25px rgba(32, 199, 91, .28);
      cursor: pointer;
      transition: .2s ease;
    }

    .chat-button:hover {
      transform: translateY(-3px);
    }

    .chat-button svg {
      width: 38px;
      height: 38px;
      fill: none;
      stroke: white;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* =========================
       BOTTOM NAVIGATION
    ========================== */

    .bottom-nav {
      position: fixed;
      z-index: 15;
      left: 0;
      right: 0;
      bottom: 0;
      height: 78px;
      display: flex;
      justify-content: center;
      background: rgba(255,255,255,.96);
      border-top: 1px solid rgba(225,228,234,.6);
      box-shadow: 0 -8px 30px rgba(40,50,70,.025);
      backdrop-filter: blur(15px);
    }

    .nav-inner {
      width: 100%;
      max-width: 720px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      padding: 0 30px;
    }

    .nav-item {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      border: 0;
      color: #7b8795;
      background: transparent;
      cursor: pointer;
      transition: .2s;
    }

    .nav-item.active {
      color: var(--orange);
    }

    .nav-item.active::before {
      content: "";
      position: absolute;
      top: 10px;
      width: 70px;
      height: 64px;
      border-radius: 20px;
      background: var(--orange-light);
      z-index: -1;
    }

    .nav-icon {
      width: 28px;
      height: 28px;
    }

    .nav-icon svg {
      width: 100%;
      height: 100%;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .nav-item.active .nav-icon svg {
      fill: currentColor;
      stroke: currentColor;
    }

    .nav-label {
      font-size: 14px;
      font-weight: 500;
    }

    /* =========================
       TOAST
    ========================== */

    .toast {
      position: fixed;
      z-index: 100;
      left: 50%;
      bottom: 100px;
      transform: translate(-50%, 20px);
      padding: 12px 19px;
      border-radius: 12px;
      color: white;
      background: #1c2637;
      box-shadow: 0 12px 30px rgba(0,0,0,.18);
      font-size: 14px;
      opacity: 0;
      pointer-events: none;
      transition: .25s ease;
    }

    .toast.show {
      opacity: 1;
      transform: translate(-50%, 0);
    }
.view-more-btn {
    background: var(--primary-dark);
    color: #fff;
    border: none;
    padding: 12px 25px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s ease;
    /* right: 0px; */
}

.view-more-btn:hover {
    background: var(--primary);
    transform: translateY(-2px);
}

.view-more-btn:active {
    transform: scale(0.97);
}
.result-section {
    width: 100%;
    min-height: 100vh;
    padding: 40px 15px;
    background: #f4f6f8;
}

.result-container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
        margin-bottom: 50px;

}


/* =========================================================
   HEADER
========================================================= */

.result-header {
    text-align: center;
    margin-bottom: 30px;
}

.result-title {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 700;
    color: #222;
}

.result-subtitle {
    margin: 0;
    color: #777;
    font-size: 15px;
}


/* =========================================================
   FORM
========================================================= */

.result-form {
    width: 100%;
    position: relative;
    z-index: 1;
}

.result-form * {
    pointer-events: auto;
}


/* =========================================================
   VOTERS BOX
========================================================= */

.voters-box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    margin-bottom: 30px;
}


/* =========================================================
   FORM GROUP
========================================================= */

.result-form .form-group {
    width: 100%;
    margin: 0 0 18px;
    position: relative;
}

.result-form .form-label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}


/* =========================================================
   NORMAL INPUTS
========================================================= */

.result-form input.form-input,
.result-form input.vote-input {
    display: block;
    width: 100%;
    min-height: 45px;
    padding: 11px 13px;

    border: 1px solid #ccc;
    border-radius: 8px;

    background: #fff;
    color: #222;

    font-size: 15px;
    outline: none;

    position: relative;
    z-index: 10;

    pointer-events: auto;
    cursor: text;
}

.result-form input.form-input:focus,
.result-form input.vote-input:focus {
    border-color: #1976d2;
    box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.10);
}


/* =========================================================
   FILE INPUT
========================================================= */

.result-form input[type="file"] {
    display: block;
    width: 100%;
    min-height: 45px;

    padding: 8px;

    border: 1px solid #ccc;
    border-radius: 8px;

    background: #fff;

    position: relative;
    z-index: 20;

    pointer-events: auto;
    cursor: pointer;
}


/* =========================================================
   CANDIDATES SECTION
========================================================= */

.candidates-section {width: 100%;}
.result-form .section-title {margin: 0 0 20px;font-size: 21px;font-weight: 700;color: #222;
}


/* =========================================================
   CANDIDATE CARD
========================================================= */

.result-form .candidate-card {
    width: 100%;
    min-height: 120px;

    display: grid;
    grid-template-columns: 90px 80px 1fr 190px;
    align-items: center;
    gap: 18px;

    padding: 18px;

    margin-bottom: 15px;

    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;

    position: relative;
    z-index: 2;

    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
}


/* =========================================================
   CANDIDATE IMAGE
========================================================= */

.result-form .candidate-image-box {
    width: 75px;
    height: 75px;

    overflow: hidden;

    border-radius: 50%;
    border: 2px solid #ddd;

    background: #f5f5f5;

    position: relative;
    z-index: 2;
}

.result-form .candidate-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    position: static;
    transform: none;

    pointer-events: none;
}


/* =========================================================
   PARTY LOGO BOX
========================================================= */

.result-form .party-logo-box {
    width: 65px;
    height: 65px;

    padding: 5px;

    border: 1px solid #ddd;
    border-radius: 8px;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    position: relative;
    z-index: 2;
}


/*
IMPORTANT:
Use result-party-logo instead of the old global
.party-logo class. This prevents CSS conflicts.
*/

.result-form .result-party-logo {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    margin: 0;

    pointer-events: none;
}


/* =========================================================
   CANDIDATE INFO
========================================================= */

.result-form .candidate-info {
    min-width: 0;
}

.result-form .candidate-name {
    margin: 0 0 6px;

    font-size: 18px;
    font-weight: 700;

    color: #222;
}

.result-form .party-name {
    font-size: 14px;
    color: #777;
}


/* =========================================================
   VOTE BOX
========================================================= */

.result-form .vote-box {
    width: 100%;
}

.result-form .vote-box .form-label {
    margin-bottom: 7px;
}

.result-form .vote-input {
    width: 100%;
}


/* =========================================================
   TOTAL VOTES
========================================================= */

.result-form .total-votes-box {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    margin: 25px 0;

    padding: 18px 20px;

    background: #f1f5f9;

    border: 1px solid #dce3ea;
    border-radius: 10px;
}

.result-form .total-label {
    font-size: 16px;
    font-weight: 600;
}

.result-form .total-number {
    font-size: 24px;
    font-weight: 700;
    color: #1976d2;
}


/* =========================================================
   ERROR MESSAGE
========================================================= */

.result-form .error-message {
    display: none;

    margin-top: 7px;

    font-size: 13px;
    color: #d32f2f;
}

.result-form .error-message.show {
    display: block;
}

.result-form .input-error {
    border-color: #d32f2f !important;
    background: #fff8f8 !important;
}


/* =========================================================
   UPLOAD AREA
========================================================= */

.result-form .upload-group {
    margin-top: 20px;
    padding: 18px;

    background: #fafafa;

    border: 1px dashed #bbb;
    border-radius: 10px;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.result-form .submit-button {
    display: block;

    width: 100%;
    min-height: 50px;

    margin-top: 25px;

    padding: 13px 20px;

    border: none;
    border-radius: 9px;

    background: #1976d2;
    color: #fff;

    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    position: relative;
    z-index: 30;

    pointer-events: auto;

    transition: 0.2s ease;
}

.result-form .submit-button:hover:not(:disabled) {
    background: #125ca8;
}

.result-form .submit-button:disabled {
    background: #aaa;
    cursor: not-allowed;
    opacity: 0.7;
}


/* =========================================================
   PREVENT OVERLAY FROM BLOCKING INPUTS
========================================================= */

.loading-popup {
    pointer-events: none;
}

.loading-popup.active {
    pointer-events: auto;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 800px) {

    .result-container {
        padding: 22px;
    }

    .result-form .candidate-card {
        grid-template-columns: 75px 65px 1fr;
    }

    .result-form .vote-box {
        grid-column: 1 / -1;
    }

}


@media (max-width: 600px) {

    .result-section {
        padding: 20px 10px;
    }

    .result-container {
        padding: 18px;
        border-radius: 10px;
    }

    .result-title {
        font-size: 24px;
    }

    .result-subtitle {
        font-size: 14px;
    }

    .voters-box {
        grid-template-columns: 1fr;
        padding: 15px;
    }

    .result-form .candidate-card {
        grid-template-columns: 65px 1fr;
        gap: 12px;
        padding: 14px;
    }

    .result-form .candidate-image-box {
        width: 60px;
        height: 60px;
    }

    .result-form .party-logo-box {
        width: 55px;
        height: 55px;
    }

    .result-form .candidate-info {
        grid-column: 2;
    }

    .result-form .vote-box {
        grid-column: 1 / -1;
    }

    .result-form .total-votes-box {
        padding: 15px;
    }

}


@media (max-width: 400px) {

    .result-form .candidate-card {
        grid-template-columns: 1fr;
    }

    .result-form .candidate-image-box,
    .result-form .party-logo-box {
        margin: 0 auto;
    }

    .result-form .candidate-info {
        grid-column: 1;
        text-align: center;
    }

    .result-form .vote-box {
        grid-column: 1;
    }

}


/* =========================================================
   REMOVE COMMON CONFLICTS FROM OLD CSS
========================================================= */

.result-form img {
    pointer-events: none;
}

.result-form input,
.result-form select,
.result-form textarea,
.result-form button {
    font-family: inherit;
}
/* Make sure labels don't sit over inputs */
.result-form label { position: static;}
/* Make sure candidate cards don't cover form controls */
.result-form .candidate-card::before,
.result-form .candidate-card::after {
    pointer-events: none;
}
    /* =========================
       RESPONSIVE
    ========================== */

    @media (max-width: 600px) {
      .app {
        padding: 14px 16px 100px;
      }

      .account-card {
        height: 180px;
        padding: 23px;
        border-radius: 27px;
      }

      .account-number {
        font-size: 27px;
      }

      .section {
        margin-top: 46px;
      }

      .section-title {
        font-size: 29px;
      }

      .services-grid {
        gap: 14px;
      }

      .service {
        height: 157px;
      }

      .service-icon {
        width: 72px;
        height: 72px;
      }

      .service-name {
        font-size: 17px;
      }

      .activity-section {
        margin-top: 88px;
      }

      .activity-card {
        min-height: 174px;
        gap: 28px;
        padding: 31px;
        border-radius: 29px;
      }

      .activity-icon {
      flex: 0 0 40px;

        flex-basis: 40px;
      }

      .activity-title {
        font-size: 21px;
      }

      .activity-amount {
        font-size: 20px;
      }
    }

    @media (max-width: 480px) {
      .account-number {
        font-size: 25px;
        letter-spacing: 1.3px;
      }

      .services-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
      }

      .service {
        height: 145px;
        border-radius: 16px;
      }

      .service-icon {
        width: 62px;
        height: 62px;
        border-radius: 17px;
      }

      .service-icon svg {
        width: 31px;
        height: 31px;
      }

      .service-name {
        font-size: 15px;
      }

      .activity-card {
        gap: 17px;
        padding: 23px;
      }

      .activity-icon {
        flex-basis: 92px;
        width: 92px;
        height: 110px;
        border-radius: 23px;
      }

      .activity-icon svg {
        width: 28px;
        height: 28px;
      }

      .activity-title {
        font-size: 18px;
      }

      .activity-amount {
        font-size: 18px;
      }

      .activity-meta {
        gap: 8px;
      }

      .status {
        padding: 6px 9px;
        font-size: 13px;
      }

      .activity-time {
        font-size: 13px;
      }

      .activity-arrow {
        display: none;
      }

      .chat-button {
        right: 24px;
        bottom: 90px;
        width: 72px;
        height: 72px;
        border-radius: 25px;
      }

      .nav-inner {
        padding: 0 14px;
      }
    }

    @media (max-width: 370px) {
      .account-number {
        font-size: 22px;
      }

      .virtual-badge {
        font-size: 12px;
        padding: 7px 10px;
      }

      .service {
        height: 132px;
      }

      .service-icon {
        width: 54px;
        height: 54px;
      }

      .service-name {
        font-size: 13px;
      }

      .activity-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;

      }

      .activity-title {
        font-size: 16px;
      }

      .activity-amount {
        font-size: 16px;
      }
    }
/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

    .loading-content {
        max-width: 100%;

        padding: 25px 20px;
    }

    .loading-circle {
        width: 150px;
        height: 150px;

        margin-bottom: 35px;
    }

    .loading-circle::before {
        width: 115px;
        height: 115px;
    }

    .loading-inner {
        width: 78px;
        height: 78px;
    }

    .loading-inner span {
        font-size: 45px;
    }

    #loadingTitle {
        font-size: 30px;
    }

    #loadingMessage {
        font-size: 19px;
    }

}
/* LOADER */
/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

    .login-page {
        padding: 15px 16px 35px;
    }

    .login-container {
        max-width: 100%;
    }

    .login-title {
        font-size: 32px;
        margin-bottom: 8px;
    }

    .login-subtitle {
        font-size: 16px;
        margin-bottom: 28px;
    }

    .login-options {
        margin: 5px 3px 28px;
        font-size: 14px;
    }

    .remember {
        gap: 7px;
    }

    .remember input {
        width: 16px;
        height: 16px;
    }

    .forgot-password {
        font-size: 14px;
    }

    .login-btn {
        height: 82px;
        border-radius: 23px;
        font-size: 22px;
    }

    .register {
        font-size: 17px;
        margin-top: 35px;
    }
}
/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px) {

    .signup-page {
        padding: 15px 16px 35px;
    }


    .signup-container {
        max-width: 100%;
    }


    .back-btn {
        width: 62px;
        height: 62px;

        font-size: 36px;

        border-radius: 21px;

        margin-bottom: 20px;
    }
.input-box {height: 82px;border-radius: 23px;padding: 0 14px;margin-bottom: 19px;}
.icon-box {width: 51px;height: 51px;min-width: 51px;border-radius: 15px;margin-right: 17px;}
.icon {width: 26px;height: 26px;}
.input-wrapper input {font-size: 19px;padding-top: 14px;}
.input-wrapper label {font-size: 19px;}
.input-wrapper input:focus ~ label,
.input-wrapper input:not(:placeholder-shown) ~ label {top: 21px;font-size: 10px;}
    /* Stack Ward and Polling Unit */
.location-row {grid-template-columns: 1fr;gap: 0;}
.select-box {padding: 0 14px;}
.select-box .icon-box {width: 51px;height: 51px;min-width: 51px;margin-right: 17px;}
.select-wrapper select {font-size: 19px;padding-top: 14px;
}
.select-wrapper label {font-size: 19px;}
.select-wrapper select:focus ~ label,
.select-wrapper select:valid ~ label {
top: 21px;
font-size: 10px;}
.create-btn {height: 82px;
border-radius: 23px;
margin-top: 35px;
font-size: 22px;}
.arrow-box {width: 43px;height: 43px;
border-radius: 12px;}
.arrow {font-size: 31px;}
.signin {font-size: 17px;
margin-top: 40px;}

}
