
html, body{
    height: 100%;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family: 'Segoe UI', sans-serif;
    line-height: 1.5;
    background: #f9fafb;
    color: #111;
    font-size: clamp(0.9rem, 1vw, 1.1rem);
  }
  
  .dashboard {
    display: flex;
    height: 100vh;
    flex-direction: column;
  }
  
  /* Sidebar */
  .sidebar {
    text-align: center;
    width: 100%;
    background: #0f172a;
    color: white;
    padding: 2rem 1rem;
    min-height: 100vh;
    border: 2px solid white;
    box-sizing: border-box;
  }
  .sidebar .logo {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
  .nav-item {
    display: block;
    color: white;
    padding: 1rem 0;
    text-decoration: none;
  }
  .nav-item.active,
  .nav-item:hover {
    background: #1e293b;
    padding-left: 1rem;
    border-left: 4px solid #38bdf8;
  }
  @media (min-width: 768px){
    .dashboard{
      flex-direction: row;
    }
    .sidebar {
      width: clamp(180px, 20vw, 220px);
      text-align: left;
    }
    
    .main-content{
      flex: 1;
      padding: 2rem;
    }
  }
  
  /* Main Content */
  .main-content {
    flex: 1;
    padding: 2rem;
    border: 2px solid white;
  }
  .top-bar h1 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  
  /* GPA Summary */
  .gpa-summary {
    display: flex;
    gap: 2rem;
  }
  .gpa-box {
    flex: 1;
    background: #1e293b;
    color: white;
    padding: 2rem;
    border-radius: 12px;
    text-align: center;
  }
  .gpa-box h2 {
    font-size: 3rem;
    margin-top: 0.5rem;
  }
  
  .grade-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    flex: 1;
    background: #e2e8f0;
    padding: 1.5rem;
    border-radius: 12px;
  }
  .grade-list {
    flex: 1 1 100%;
    list-style: none;
    margin-top: 1rem;
  }
  
  
  @media (min-width: 768px){
    .grade-list{
      flex: 1 1 48%;
    }
  }
  
  /* Add Grade Form */
  form input, form select, form button{
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.8rem;
    font-size: 1rem;
  }
  .add-grade-form {
    flex: 1;
    background: #f8fafc;
    padding: 1.5rem;
    border-radius: 12px;
  }
  .add-grade-form h3 {
    margin-bottom: 1rem;
  }
  .add-grade-form form {
    display: flex;
    flex-direction: column;
  }
  .add-grade-form label {
    margin-top: 1rem;
    margin-bottom: 0.3rem;
  }
  .add-grade-form select,
  .add-grade-form input {
    padding: 0.5rem;
    font-size: 1rem;
  }
  .add-grade-form button {
    margin-top: 1.5rem;
    padding: 0.8rem;
    background: #0f172a;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
  }

  .grade-overview button {
    margin-top: 1.5rem;
    padding: 0.8rem;
    background: #0f172a;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
  }

  .button {
    padding: 0.8rem;
    background: #0f172a;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
  }
  
  @media (max-width: 600px) {
    .gpa-summary {
      flex-direction: column;
    }
  
    .grade-list {
      flex: 1 1 100%;
    }
  
    .add-grade-form, .grade-overview {
      padding: 1rem;
    }
  
    .gpa-box h2 {
      font-size: 2rem;
    }
    .sidebar{
      min-height: auto;
      height: auto;
    }
  }
  
