body {
      font-family: Arial, sans-serif;
      background-color: #f9f9f9;
      margin: 0;
      padding: 0;
}

.navbar {
      color: #ffffff;
      background-color: #333333;
      padding: 10px 20px;
      position: sticky;
      top: 0;
      z-index: 1000;
}
  
.navbar__container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1rem;
}
  
.navbar__brand {
      text-decoration: none;
      color: #ffffff;
      font-size: xx-large;
}
  
.navbar__link {
      background-color: transparent;
      color: #e63946;
      border: 1px solid #e63946; 
      text-decoration: none;
      padding: 0.5rem 1rem;
      border-radius: 8px;
      font-weight: bold;
      transition: background-color 0.3s, color 0.3s;
}
  
.navbar__link:hover {
      color: #ffffff;
      background-color: #e63946;
      border: 1px solid transparent;
}  
  
.main-container {
      padding: 1%;
}
  
.alert {
      background-color: #dff0d8;
      color: #3c763d;
      padding: 15px 20px;
      border-radius: 5px;
      margin-bottom: 20px;
      position: relative;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.alert--success {
      background-color: #d4edda;
      color: #155724;
      border: 1px solid #c3e6cb;
}

.alert__close-btn {
      background: none;
      border: none;
      color: #3c763d;
      font-weight: bold;
      position: absolute;
      top: 50%;
      right: 15px;
      transform: translateY(-50%);
      cursor: pointer;
      font-size: 1.2em;
}

.alert__close-btn:hover {
      color: #d9534f;
}
 
.contacts-container {
      padding: 20px;
      margin: auto;
}
  
.contacts-container__add-button {
      display: inline-block;
      background-color: #4caf50;
      color: #ffffff;
      padding: 10px 20px;
      margin-bottom: 20px;
      border-radius: 5px;
      text-decoration: none;
      font-weight: bold;
      transition: background-color 0.3s ease;
}

.contacts-container__add-button:hover {
      background-color: #29772d;
}
  
.contacts-table {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 20px;
}

.contacts-table__header,
.contacts-table__cell {
      padding: 15px;
      border-bottom: 1px solid #ddd;
      text-align: left;
}

.contacts-table__row--clickable:hover {
      background-color: #f2f2f2;
}

.contacts-table__row--blocked {
      opacity: 0.5;
      pointer-events: none; 
      cursor: not-allowed;
}

.contacts-table__blocked-label {
      color: #b00020;
      font-weight: bold;
      font-size: 0.95rem;
      padding-left: 0.1rem;
}
  
  
.contacts-table__phone {
      color: #007bff;
      text-decoration: none;
}

.contacts-table__phone:hover {
      text-decoration: underline;
}
  
.contacts-table__actions {
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: flex-start;
}
  
.contacts-table__action-button {
      padding: 5px 10px;
      border-radius: 3px;
      font-size: 14px;
      color: #ffffff;
      text-decoration: none;
      cursor: pointer;
      transition: background-color 0.3s ease;
      box-sizing: border-box;
}

.contacts-table__action-button--edit {
      background-color: #f0ad4e;
}

.contacts-table__action-button--edit:hover {
      background-color: #ec971f;
}
  
.contacts-table__action-button--delete {
      background-color: #d9534f;
      border: none;
}

.contacts-table__action-button--delete:hover {
      background-color: #c9302c;
}
  
.contacts-table__action-form {
      margin: 0;
}
  
.contacts-container__empty-message {
      color: #999;
      font-style: italic;
      margin-top: 20px;
}

.contact-form {
      padding: 20px;
      background-color: transparent;
}
  
.contact-form__title {
      font-size: 2em;
      margin-bottom: 20px;
      color: #333;
      border-bottom: 2px solid #f0f0f0;
      padding-bottom: 10px;
}
  
.contact-form__group {
      margin-bottom: 15px;
}
  
.contact-form__label {
      color: #3534347f;
      display: block;
      margin: 8px 0;
}
  
.contact-form__input,
.contact-form__textarea {
      width: 50%;
      background-color: transparent;
      padding: 0 10px;
      border: none;
      border-bottom: 1px solid #ddd;
      font-size: 1.5em;
      margin-bottom: 5px;
      transition: border-color 0.3s ease;
}
  
.contact-form__input:focus,
.contact-form__textarea:focus {
      border-color: #007bff;
      outline: none;
}
  
.contact-form__error {
      color: #d9534f;
      font-size: 0.9em;
      margin-top: -5px;
      margin-bottom: 10px;
      margin-left: 8px;
}
  
.contact-form__actions {
      display: flex;
      gap: 10px;
      margin-top: 15px;
}
  
.contact-form__button {
      padding: 10px 20px;
      border-radius: 5px;
      border: none;
      cursor: pointer;
      font-weight: bold;
      transition: background-color 0.3s ease;
}
  
.contact-form__button--save {
      background-color: #4caf50;
      color: #ffffff;
}
  
.contact-form__button--save:hover {
      background-color: #29772d;
}
  
.contact-form__button--cancel {
      background-color: #777;
      color: #ffffff;
      text-decoration: none;
}
  
.contact-form__button--cancel:hover {
      background-color: #555;
}
  
.contact-form__mobile-only {
      display: none;
}
  
.contact-form__action-button {
      margin-top: 20px;
      padding: 8px 16px;
      font-size: 1em;
      border-radius: 4px;
      border: none;
      cursor: pointer;
      text-align: center;
      flex-shrink: 0;
      min-width: 50px;
}
  
.contact-form__action-button a {
      display: inline-block;
      padding: 8px 16px;
      text-decoration: none;
      width: 100%;
}

.contact-view {
      padding: 20px;
      max-width: 700px;
      margin: auto;
}
  
.contact-view__title {
      font-size: 2em;
      margin-bottom: 20px;
      color: #333;
      border-bottom: 2px solid #f0f0f0;
      padding-bottom: 10px;
}
  
.contact-view__details {
      margin-bottom: 15px;
}
  
.contact-view__name {
      font-size: 1.8em;
      margin-bottom: 15px;
      color: #007bff;
}
  
.contact-view__item {
      padding: 10px 0;
      border-bottom: 1px solid #ddd;
      font-size: 1.2em;
      margin-bottom: 10px;
      color: #555;
}
  

.contact-view__actions {
      display: flex;
      gap: 10px;
      align-items: center;
      flex-wrap: wrap;
      margin-top: 15px;
}
  
.contact-view__button {
      padding: 8px 16px;
      border-radius: 5px;
      border: none;
      cursor: pointer;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      color: #ffffff;
      transition: background-color 0.3s ease;
}
  
.contact-view__button--home {
      background-color: #007bff;
}
  
.contact-view__button--home:hover {
      background-color: #0056b3;
}
  
.contact-view__button--edit {
      background-color: #f0ad4e;
}
  
.contact-view__button--edit:hover {
      background-color: #ec971f;
}

.contact-view__button--delete {
      background-color: #d9534f;
}
  
.contact-view__button--delete:hover {
      background-color: #b52a1d;
}
  
.contact-view__button--mobile {
      display: none;
}
  
  
  

@media (max-width: 760px) {
      .contacts__header--email,
      .contacts__cell--email,
      .contacts__header--actions,
      .contacts__cell--actions {
          display: none;
      }
  
      .contacts-table__cell {
          padding: 10px;
         
      }
      .contact-form__input, .contact-form__textarea {
            width: 94%;
            font-size: small;
      }
      .contact-form__label {
            font-size: small;
      }
      .contact-view__button--mobile {
            display: block;
      }
      .navbar__link {
            width: 40px;
            height: 40px;
            padding: 0;
            background-color: transparent;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .navbar__link span {
            display: none;
        }  
        .navbar__link::before {
            content: "\f2f5"; 
            font-family: "Font Awesome 5 Free";
            font-weight: 600;
            color: #ffffff;
            font-size: 1.55rem;
        }   
        .navbar__link:hover {
              background-color: transparent;
              border: none;
        }
        

      
  
}
  

 /* ########## Auth Style ########## */
.auth {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      min-height: 100vh;
      background-color: #f9f9f9;
      position: relative;
      overflow: hidden;
}
  
.auth__container {
      position: relative;
      z-index: 2;
      background-color: rgba(255, 255, 255, 0.8);
      backdrop-filter: blur(15px);
      border-radius: 20px;
      padding: 40px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
      width: 90%;
      max-width: 400px;
}
  
.alert--error {
      background-color: rgba(255, 107, 107, 0.95);
      border-radius: 12px;
      color: #ffffff;
      padding: 15px 20px;
      font-weight: 500;
      backdrop-filter: blur(10px);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
      z-index: 2;
      width: 90%;
      max-width: 400px;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
}
  
.alert__close-btn--error {
      background: none;
      border: none;
      color: #ffffff;
      font-size: 1.25rem;
      font-weight: bold;
      cursor: pointer;
      outline: none;
}
  
.alert__close-btn--error:hover {
      color: #000000;
}
  
.alert--error ul {
      padding-left: 20px;
      margin: 0;
}
  
.alert--error ul li {
      margin-left: 10px;
}
  
  
.auth__blob {
      position: absolute;
      border-radius: 50%;
      opacity: 0.3;
      filter: blur(120px);
      z-index: 1;
}
  
.auth__blob--1 {
      width: 500px;
      height: 500px;
      background-color: #ff6b6b;
      top: -100px;
      left: -150px;
}
  
.auth__blob--2 {
      width: 600px;
      height: 600px;
      background-color: #4ecdc4;
      bottom: -200px;
      right: -200px;
}
  
.auth__blob--3 {
      width: 450px;
      height: 450px;
      background-color: #ffe66d;
      top: 300px;
      right: -150px;
}
  
.auth__title {
      margin-bottom: 1.5rem;
      text-align: center;
      font-size: 2rem;
}
  
.auth__form {
      display: flex;
      flex-direction: column;
}
  
.auth__input {
      width: 94%;
      margin-bottom: 1rem;
      padding: 0.75rem;
      font-size: 1rem;
      border-radius: 6px;
      border: 1px solid #ccc;
}
  

.auth__input-group {
      display: flex;
      gap: 1rem;
      margin-bottom: 1rem;
}
  

.auth__input--inline {
      flex: 1;
      margin-bottom: 0; 
}
  
  
.auth__button {
      width: 100%;
      padding: 0.75rem;
      background-color: #007bff;
      color: #fff;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      font-size: 1rem;
      transition: background-color 0.3s;
}
  
.auth__button:hover {
      background-color: #0056b3;
}
  
.auth__message {
      margin-top: 1rem;
      text-align: center;
      font-size: 0.9rem;
}
  
.auth__link {
      color: #007bff;
      text-decoration: none;
}
  
.auth__link:hover {
      text-decoration: underline;
}

@media (max-width: 760px) {
      .auth__container{
            max-width: 250px;
      }
      .auth__input{
            max-width: 90%;
      }
       /* Maybe it is better idea to use another class in mobile instead of modifying  inline class */
      .auth__input--inline {
         
            margin-bottom: 1rem;
      }
      .auth__input-group{
            display: block;
            
      }
      .alert--error {
            width: 90%;
            max-width: 300px;
            font-size: 0.9rem;
            padding: 10px 15px;
            border-radius: 10px;
            margin-bottom: 15px;
      }
    

}


.admin-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 20px;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.admin-container__header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 24px;
}

.admin-container__title {
      font-size: 28px;
      font-weight: 600;
      color: #333;
      margin: 0;
}

.admin-container__add-button {
      display: inline-block;
      background-color: #4CAF50;
      color: white;
      padding: 10px 18px;
      text-decoration: none;
      border-radius: 6px;
      font-weight: 600;
      transition: background-color 0.2s ease;
      box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.admin-container__add-button:hover {
      background-color: #3d9140;
}

.admin-actions {
      display: flex;
      justify-content: space-between;
      margin-bottom: 18px;
}

.admin-actions__bulk {
      display: flex;
      gap: 12px;
}

.admin-actions__btn {
      padding: 8px 16px;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      font-weight: 600;
      opacity: 0.9;
      transition: all 0.2s ease;
      box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

.admin-actions__btn:hover:not(:disabled) {
      opacity: 1;
      transform: translateY(-1px);
      box-shadow: 0 3px 6px rgba(0,0,0,0.12);
}

.admin-actions__btn:disabled {
      cursor: not-allowed;
      opacity: 0.5;
}

.admin-actions__btn--delete {
      background-color: #f44336;
      color: white;
}

.admin-actions__btn--block {
      background-color: #ff9800;
      color: white;
}

.admin-actions__btn--unblock {
      background-color: #4CAF50;
      color: white;
}

.admin-table {
      width: 100%;
      border-collapse: collapse;
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
      border-radius: 8px;
      overflow: hidden;
}

.admin-table__head {
      background-color: #f8f9fa;
}

.admin-table__header {
      padding: 16px;
      text-align: left;
      font-weight: 600;
      color: #333;
      border-bottom: 2px solid #eee;
}

.admin-table__header--selector {
      width: 50px;
}

.admin-table__header--status {
      width: 80px;
      text-align: center;
}

.admin-table__row {
      border-bottom: 1px solid #eee;
      transition: background-color 0.2s;
}

.admin-table__row:hover {
      background-color: #f9f9f9;
}

.admin-table__cell {
      padding: 14px 16px;
}

.admin-table__cell--status {
      text-align: center;
}

.admin-table__cell--selector {
      text-align: center;
}

.admin-table__phone {
      color: #2196F3;
      text-decoration: none;
      transition: color 0.2s;
}

.admin-table__phone:hover {
      color: #0b7dda;
      text-decoration: underline;
}

.admin-checkbox {
      position: relative;
      display: inline-block;
}

.admin-checkbox__input {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0;
}

.admin-checkbox__label {
      position: relative;
      cursor: pointer;
      height: 20px;
      width: 20px;
      display: block;
      border: 2px solid #ccc;
      border-radius: 4px;
      transition: all 0.2s;
}

  .admin-checkbox__input:checked + .admin-checkbox__label {
      background-color: #2196F3;
      border-color: #2196F3;
}

.admin-checkbox__input:checked + .admin-checkbox__label:after {
      content: '';
      position: absolute;
      left: 6px;
      top: 2px;
      width: 5px;
      height: 10px;
      border: solid white;
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
}

.admin-status__form {
      display: flex;
      justify-content: center;
}

.admin-status__button {
      background: none;
      border: none;
      cursor: pointer;
      padding: 5px;
      border-radius: 50%;
      transition: background-color 0.2s;
}

.admin-status__button:hover {
      background-color: rgba(0, 0, 0, 0.05);
}

.admin-status__icon {
      font-size: 18px;
}

.admin-status__icon--locked {
      color: #f44336;
}

.admin-status__icon--unlocked {
      color: #4CAF50;
}

.admin-container__empty-message {
      text-align: center;
      padding: 40px;
      color: #666;
      font-style: italic;
}