body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #f4f4f4;
    color: #222;
}
header {
    background: #222;
    color: #fff;
    padding: 1.5rem 0;
    text-align: center;
}

/* Header */
.header-container {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  gap: 10px;
  padding: 10px;
  background-image: url("/images/header-background.jpg");
  min-height: 150px; /* hoặc chiều cao bạn muốn */
  background-size: cover;
  background-position: center;
}
.header-container h1, .header-container p {
  color: white;
  text-shadow: 
    -1px -1px 0 black,  
     1px -1px 0 black,
    -1px  1px 0 black,
     1px  1px 0 black; /* viền đen */
}

.title-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.logo {
  height: auto;
  max-height: 100%;
  max-width: 280px;  /* giới hạn logo không quá to */
  object-fit: contain;
}

/* Menu */
nav {
    background: #444;
}
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    background-color: #09428f;
}
nav ul li {
    margin: 0 1.5rem;
}
nav ul li a,
nav ul li .nav-link {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.2s;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
    padding: 0;
}
 nav ul li a:hover,
nav ul li .nav-link:hover {
    color: #ffd700;
}
.logout-form {
    display: inline;
    margin: 0;
    padding: 0;
}
/* Hamburger */
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    padding: 0.5rem 1rem;
}
.hamburger span {
    background: #fff;
    height: 3px;
    margin: 4px 0;
    width: 25px;
}
/* Content */
main {
    max-width: 900px;
    margin: 2rem auto;
    background: #fff;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}
footer {
    background: #222;
    color: #fff;
    text-align: center;
    padding: 1rem 0;
    position: fixed;
    width: 100%;
    bottom: 0;
}
/* Table */
.table-container {
    width: 100%;
    overflow-x: auto;
}
.table-container table {
  width: 100%;       /* table co giãn hết chiều ngang container */
  border-collapse: collapse;
  table-layout: fixed; /* cột co lại đều nhau khi không đủ chỗ */
  word-wrap: break-word; /* cho text tự xuống dòng */
  font-size: 14px;   /* chữ nhỏ lại trên mobile */
}
td, th {
    border: 1px solid #000;
    padding: 6px 10px;
    text-align: center;
    white-space: nowrap;
}
.left-title {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}
.right-title {
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}
.green {
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #81d7e1;
}
.yellow {
    background: #f5e837;
    font-weight: bold;
}

/* Login form */
.login-form {
    max-width: 400px;
    margin: 1.5rem auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.login-form .form-group {
    display: flex;
    flex-direction: column;
}

.login-form input {
    padding: 0.6rem;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    width: 100%;
    box-sizing: border-box;
}

.login-form button {
    padding: 0.6rem;
    font-size: 1rem;
    font-weight: bold;
    background: #444;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
}

.login-form button:hover {
    background: #222;
}

.login-title {
    text-align: center;
    margin-bottom: 1.5rem;
}
.login-error-message {
    color: red;
    text-align: center;
    margin-bottom: 1rem;
}

/* Form tra cứu */
.search-title {
    text-align: center;
    margin-bottom: 1rem;
}

.error {
    color: red;
    text-align: center;
    margin-bottom: 1rem;
}

.search-form {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}

.search-form input {
    flex: 1;
    padding: 0.6rem;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.search-form button {
    padding: 0.6rem 1rem;
    font-size: 1rem;
    font-weight: bold;
    background: #444;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
}

.search-form button:hover {
    background: #222;
}

/* Form hệ số */
.coefficient-form {
    display: flex;
    align-items: center;
    justify-content: center;
}

.coefficient-form input {
    width: 60px;
    margin-right: 5px;
    padding: 4px 6px;
    font-size: 0.95rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center;
    box-sizing: border-box;
}

.coefficient-form button {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}

.coefficient-form button img {
    width: 20px;
    height: 20px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    nav ul {
        display: none;
        flex-direction: column;
        background: #444;
        width: 100%;
    }
    nav ul.show {
        display: flex;
    }
    nav ul li {
        margin: 1rem 0;
        text-align: center;
    }
    .hamburger {
        display: flex;
        background-color: #09428f;
    }
    main {
        padding: 1rem;
    }
    .search-form {
        flex-direction: column;
    }
    .search-form input,
    .search-form button {
        width: 100%;
    }

    /* Header */
    .header-container {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    }

    .logo {
        max-width: 120px; /* logo nhỏ lại trên mobile */
    }

    .title-block h1 {
        font-size: 1.2rem;
    }

    .title-block p {
        font-size: 0.9rem;
    }

    /* Table */
    .table-container table {
        font-size: 12px;   /* nhỏ hơn chút nữa */
    }

    .table-container td,
    .table-container th {
        padding: 4px; /* giảm padding để đỡ chật */
    }
}