
/* ======================================================
  GENERAL PAGE SETTINGS
  ====================================================== */

  * {
   box-sizing: border-box;
}

body {
   margin: 0;
   font-family: Arial, Helvetica, sans-serif;
   background-color: #0f172a;
   color: #e5e7eb;
}

h1,
h2,
h3 {
   color: #38bdf8;
}


/* ======================================================
  HERO SECTION
  ====================================================== */

.hero_image {
   min-height: 260px;
   background-size: cover;
   background-position: center;
   position: relative;

   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
}

.hero_image::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.55);
}

.hero_image h1 {
   position: relative;
   margin: 0;
   padding: 20px;
   color: white;
   font-size: clamp(36px, 6vw, 64px);
   text-shadow: 0 3px 8px rgba(0,0,0,.45);
}


/* ======================================================
  MAIN LAYOUT
  ====================================================== */

.main-layout {
   width: min(92%, 1150px);
   margin: 28px auto;
   background-color: #1e293b;
   padding: 24px;
   border-radius: 18px;
   box-shadow: 0 4px 22px rgba(0,0,0,.45);
}

.content {
   padding: 18px;
   line-height: 1.7;
}

.content h2 {
   text-align: center;
   font-size: 34px;
   margin-top: 10px;
}


/* ======================================================
  NAVIGATION
  ====================================================== */

.navigation-add,
.navigation-view {
   margin-bottom: 14px;
   padding: 12px;
   border-radius: 12px;
}

.navigation-add {
   background-color: #334155;
}

.navigation-view {
   background-color: #263548;
}

nav {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
}

nav a {
   display: inline-block;
   text-decoration: none;

   color: #e5e7eb;
   background-color: #0f172a;

   padding: 10px 14px;
   border-radius: 8px;

   font-weight: bold;
   transition: 0.2s ease;
}

nav a:hover {
   background-color: #38bdf8;
   color: #0f172a;
   transform: translateY(-2px);
}


/* ======================================================
  HOME PAGE CARDS
  ====================================================== */

.card,
.home-card {
   background-color: #0f172a;
   border: 1px solid #475569;
   border-radius: 18px;

   padding: 24px;
   margin: 18px 0;

   box-shadow: 0 3px 14px rgba(0,0,0,.35);
}

.card-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 18px;
   margin-top: 20px;
}


/* ======================================================
  BUTTONS
  ====================================================== */

.btn,
button,
input[type="submit"] {
   display: inline-block;
   background-color: #38bdf8;
   color: #0f172a;
   padding: 11px 18px;
   border: none;
   border-radius: 8px;
   font-weight: bold;
   cursor: pointer;
   text-decoration: none;
   transition: 0.2s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover {
   background-color: #0ea5e9;
   transform: translateY(-2px);
}


/* ======================================================
  FORMS
  ====================================================== */

form {
   max-width: 700px;
   margin: 0 auto;
   background-color: #0f172a;
   padding: 24px;
   border-radius: 18px;
   border: 1px solid #475569;
   box-shadow: 0 3px 14px rgba(0,0,0,.35);
}

input,
select,
textarea {
   width: 100%;
   padding: 11px;
   margin-top: 6px;
   margin-bottom: 15px;
   border: 1px solid #64748b;
   border-radius: 8px;
   font-size: 15px;
   background-color: #1e293b;
   color: #e5e7eb;
}

input[type="radio"],
input[type="checkbox"] {
   width: auto;
   margin-right: 6px;
}


/* ======================================================
  TABLES
  ====================================================== */

.page-content {
   max-width: 1000px;
   margin: 0 auto;
}

.table-container {
   overflow-x: auto;
}

table {
   width: 95%;
   margin: 20px auto;
   border-collapse: collapse;
   background-color: #0f172a;
   border-radius: 12px;
   overflow: hidden;
   box-shadow: 0 3px 14px rgba(0,0,0,.35);
}

th {
   background-color: #38bdf8;
   color: #0f172a;
}

th,
td {
   padding: 13px;
   border: 1px solid #475569;
   text-align: left;
}

tr:nth-child(even) {
   background-color: #172033;
}


/* ======================================================
  FOOTER
  ====================================================== */

footer {
   width: 100%;
   text-align: center;
   padding: 22px;
   margin-top: 35px;

   background-color: #020617;
   color: #38bdf8;
}


/* ======================================================
  MOBILE
  ====================================================== */

@media (max-width: 700px) {

   .main-layout {
       width: 96%;
       padding: 16px;
   }

   nav {
       flex-direction: column;
   }

   nav a {
       text-align: center;
   }

   .content {
       padding: 10px;
   }
}


    

