:root{
  /* --- palette (from logo) --- */
  --ink:        #16241C;   /* near-black, green-cast — body text */
  --emerald:    #0B5D34;   /* primary brand green, sampled from logo wordmark */
  --emerald-2:  #0F7A42;   /* hover / mid */
  --emerald-3:  #1C9150;   /* links, lighter accents */
  --paper:      #F5F7EC;   /* page background — cream, sampled from logo backdrop */
  --paper-2:    #EAEEDA;   /* recessed panels */
  --card:       #FFFFFF;
  --indigo:     #2A2A8F;   /* secondary brand colour, sampled from "MULTIPURPOSE COOPERATIVE SOCIETY LTD" wordmark */
  --indigo-deep:#1E1E68;
  --indigo-pale:#E3E3FA;
  --line:       #D8DECB;   /* hairline / ledger rule */
  --line-strong:#B9C2A8;
  --rust:       #A6432E;   /* errors, sparing */
  --ok:         #2E6F5E;
  --amber:      #B8863A;   /* status colour only (pending badges) — not a brand colour */
  --amber-deep: #8F6526;
}

body{
  background: var(--paper);
  color: var(--ink);
  font-family: 'Poppins', sans-serif;
  min-height: 100vh;
  position:relative;
}

body::before{
  content: "";
  background: var(--paper-2);
  position: fixed;
  top: -200px;
  left: -250px;
  height: 500px;
  width: 500px;
  border-radius: 50%;
}

body::after{
  content: "";
  background: var(--indigo-pale);
  position: fixed;
  bottom: -300px;
  right: -300px;
  height: 500px;
  width: 500px;
  border-radius: 50%;
  z-index:-1;
}

@media (max-width:768px){
  body::before{
    top: -100px;
    left: -100px;
    height: 300px;
    width: 300px;
  }
  
  body::after{
    bottom: -100px;
    right: -100px;
    height: 300px;
    width: 300px;
  }
}


.logo {
    max-width: 150px;
	border-radius: 15px;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
}

.custom-control-label {
    margin-bottom: 0;
    margin-top: 1px;
	-webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none; 
            user-select: none; 
}
 
.card-signin {
  border: 0;
  border-radius: 5px;
  background: var(--card);
  box-shadow: 1px 3px 25px var(--line);
}

.card-signin .card-header {
  font-weight: 300;
  font-size: 1.5rem;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: var(--card);
}

.login-form-head {
    text-align: center;
    background: var(--card);
    padding: 30px 15px;
    border-bottom: 1px solid var(--line);
}

.login-form-head h4 {
    letter-spacing: 0;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.card-signin .card-body {
  padding: 1rem 2rem;
}

.form-signin {
  font-family: 'Poppins', sans-serif;
  width: 100%;
  text-align: center;
}

.form-signin .btn {
  font-size: 14px;
  letter-spacing: .1rem;
  padding: 12px 20px;
  transition: all 0.2s;
}

.form-signin .form-control {
	padding: 12px 20px;
	text-align: center;
	border-left: 2px solid var(--emerald);
	height: auto;
}

.form-signin .form-control:focus {
  border: 1px 1px 1px 2px;
  border-color: var(--emerald);
  box-shadow: none;
}


.form-signup {
  font-family: 'Poppins', sans-serif;
  width: 100%;
}

.form-signup .btn {
  font-size: 14px;
  letter-spacing: .1rem;
  padding: 12px 20px;
  transition: all 0.2s;
}

.form-signup .form-control {
    padding: 12px 20px;
    height: auto;
}

.form-signup .form-control:focus {
  border: 1px solid var(--emerald-3);
  box-shadow: none;
}

select.form-control {
    padding: 12px 20px;
    height: 51px !important;
}


.custom-control-label:before {
  background: var(--line-strong);
	border-radius: 50% !important;
}

.custom-control {
   display: inline-block;
}

.btn-register{
	text-align: center;
  display: block;
  color: var(--ink);
	font-size: 16px !important;
}

.btn-register:hover{
	color: var(--ink);
}

.alert-success {
  color: var(--ink);
  background-color: #D9F0E4;
  border-color: var(--ok);
}

.btn-primary {
  color: var(--card);
  background-color: var(--emerald);
  border-color: var(--emerald);
}

.btn-primary:hover {
  background-color: var(--emerald-2);
  border-color: var(--emerald-2);
}