@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@300;400;500;600&display=swap');

:root {
--primary: #3ea05a;
--secondary: #C6FFC1;
--dark: #014E3D;
--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
--shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'IBM Plex Sans Arabic', sans-serif;
}

body {
background: #f8f9fa;
min-height: 100vh;
line-height: 1.6;
}

.container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
display: grid;
gap: 2rem;
}

.navbar {
background: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(10px);
box-shadow: var(--shadow-sm);
padding: 1rem 0;
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
transition: var(--transition);
}

.navbar:hover {
background: rgba(255, 255, 255, 0.95);
}

.navbar-content {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 2rem;
max-width: 1400px;
margin: 0 auto;
}

.logo {
font-size: 1.25rem;
color: var(--dark);
font-weight: 600;
text-decoration: none;
padding: 0.5rem 1rem;
border-radius: 8px;
transition: var(--transition);
}

.logo:hover {
background: var(--secondary);
transform: translateX(-4px);
}

.main-content {
margin-top: 120px;
padding: 1rem;
max-width: 1400px;
margin-left: auto;
margin-right: auto;
}

.booking-form {
background: linear-gradient(145deg, var(--primary), #2d8d47);
padding: 2.5rem;
border-radius: 24px;
box-shadow: var(--shadow-lg);
margin-bottom: 3rem;
max-width: 800px;
margin-left: auto;
margin-right: auto;
transition: var(--transition);
}

.booking-form:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

.form-group {
margin-bottom: 2rem;
}

.form-label {
display: block;
margin-bottom: 0.75rem;
color: #ffffff;
font-weight: 500;
font-size: 0.95rem;
}

.form-input {
width: 100%;
padding: 1rem 1.25rem;
border: 2px solid rgba(255,255,255,0.1);
background: rgba(255,255,255,0.1);
border-radius: 12px;
color: white;
transition: var(--transition);
}

.form-input::placeholder {
color: rgba(255,255,255,0.6);
}

.form-input:focus {
border-color: var(--secondary);
outline: none;
background: rgba(255,255,255,0.15);
box-shadow: 0 0 0 4px rgba(198, 255, 193, 0.2);
}

.booking-type {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 1rem;
margin-bottom: 1.5rem;
}

.type-option {
padding: 1rem;
border: 2px solid rgba(255,255,255,0.1);
background: rgba(255,255,255,0.1);
border-radius: 12px;
cursor: pointer;
text-align: center;
color: white;
transition: var(--transition);
}

.type-option:hover {
background: rgba(255,255,255,0.2);
transform: translateY(-2px);
}

.type-option.active {
background: var(--secondary);
border-color: var(--secondary);
color: var(--dark);
font-weight: 600;
}

.sync-calendar {
background: rgba(198, 255, 193, 0.9);
color: var(--dark);
padding: 1.25rem;
border-radius: 12px;
margin-bottom: 1.5rem;
display: flex;
align-items: center;
gap: 1rem;
cursor: pointer;
transition: var(--transition);
}

.sync-calendar:hover {
transform: translateY(-2px);
background: var(--secondary);
}

.submit-btn {
background: var(--dark);
color: white;
padding: 1.25rem 2rem;
border: none;
border-radius: 12px;
cursor: pointer;
width: 100%;
font-size: 1.1rem;
font-weight: 500;
transition: var(--transition);
}

.submit-btn:hover:not(:disabled) {
background: #025d48;
transform: translateY(-2px);
}

.submit-btn:disabled {
opacity: 0.7;
cursor: not-allowed;
}

.bookings-container {
display: grid;
gap: 1.5rem;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
padding: 1rem;
}

.booking-card {
background: linear-gradient(145deg, #014E3D, #01432f);
padding: 1.75rem;
border-radius: 20px;
box-shadow: var(--shadow-md);
transition: var(--transition);
position: relative;
overflow: hidden;
}

.booking-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 4px;
background: linear-gradient(90deg, var(--secondary), var(--primary));
}

.booking-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-lg);
}

.info {
background: rgba(198, 255, 193, 0.95);
padding: 1.25rem;
border-radius: 16px;
margin: 1rem 0;
backdrop-filter: blur(4px);
transition: var(--transition);
}

.info:hover {
transform: translateX(4px);
}

.info a {
text-decoration: none;
color: var(--dark);
font-size: 0.95rem;
font-weight: 500;
transition: var(--transition);
display: inline-block;
}

.info a:hover {
color: var(--primary);
transform: translateX(4px);
}

.booking-header {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  padding: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  backdrop-filter: blur(4px);
  max-width: 95%;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: var(--transition);
}

.booking-header:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.booking-name {
  color: #ffffff;
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0;
  position: relative;
  padding-right: 1rem;
}

.booking-name::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 70%;
  background: var(--secondary);
  border-radius: 4px;
}

.booking-type-badge {
  background: linear-gradient(135deg, var(--secondary), #a8ffA0);
  color: var(--dark);
  padding: 0.5rem 1.25rem;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: var(--transition);
}

.booking-type-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.delete-btn{
  font-size: 19.5px;
  font-weight: 600;
  padding: 0.40rem 3.30rem;
  border: none;
  border-radius: 17px;
  color: #2d8d47;
  transition: all 0.5s ease;
}

.delete-btn:hover{
  background-color: red;
  color: #efeeef;
}

@media (max-width: 768px) {
  .booking-header {
      flex-direction: row;
      align-items: center;
      padding: 1rem;
      max-width: 100%;
  }
  
  .booking-name {
      font-size: 1rem;
  }
  
  .booking-type-badge {
      padding: 0.4rem 1rem;
      font-size: 0.8rem;
  }
}

@media (max-width: 480px) {
  .booking-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.75rem;
  }
  
  .booking-name::after {
      width: 30px;
      height: 2px;
      top: 100%;
      right: 0;
      transform: translateY(4px);
  }
}

@media (max-width: 480px) {
.navbar-content {
  padding: 0 1rem;
}

.booking-type {
  grid-template-columns: 1fr;
}

.form-input {
  padding: 0.875rem 1rem;
}
}