html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
.row {
  display: flex;
  gap: 12px;
  align-items: stretch;   /* force same height */
}

.banner {
  --image-size: 120px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 0px 10px;

  box-sizing: border-box;
  background: #00008C;
  overflow: hidden;
}

.banner-image {
  display: block;
  width: var(--image-size);
  height: var(--image-size);
  object-fit: contain;
  flex-shrink: 0;
}

.banner-content {
  flex: 1;
  min-width: 0;
  text-align: center;
}

@media (max-width: 600px) {
  .banner {
    --image-size: 160px;
    gap: 0px 10px;
    padding: 0;
  }
}

a.ln,
a.ln:link,
a.ln:visited,
a.ln:hover,
a.ln:active {
  color: white;
  text-decoration: none;
}

a.ln {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

a.ln h3 {
  margin: 0;
}

a.ln span {
  display: block;
}

.card-wrapper{
  margin:40px;
}

.plot-wrapper {
  width: 100%;

}
.card {
  background: white;
  border-radius: 12px;
  padding: 20px;
    max-width: 66.666%;
  display: block !important;
    min-width: 33.333%;
  box-shadow: 0 6px 18px rgba(2,6,23,0.08);
}

.header-row {
    display: flex;
    align-items: center;
}

.upper{
  margin-top:12px;
  gap:8px;
}
#sizeSelect {
    width: fit-content;


}
.rightbound{
  margin-left: auto;
}
.leftbound{
  display:flex;gap:8px;margin-top:12px;
  margin-right: auto;
}

#unitSelect {

  width: auto;
    min-width: 0;
}

.login-wrapper{
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding:  40px 20px 0 20px;
}

.login-card{
  background: white;
  border-radius: 12px;
  padding: 20px;
    max-width: 66.666%;
  display: block !important;
    min-width: 33.333%;
  box-shadow: 0 6px 18px rgba(2,6,23,0.08);
}
.controls {
  display: flex;          /* arrange children in a row */
  align-items: center;    /* vertically center them */
  gap: 10px;
    justify-content: space-between;/* space between checkbox and button */
  margin: 10px 0;
}


.splitter {
  width: 6px;
  cursor: col-resize;
  background: transparent;
  position: relative;
}

.splitter::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
  height: 100%;
  background: #cbd5e1;
}

.splitter:hover::before {
  background: #64748b;
}


.leftcard{
    width:66.666%
}
.nestedcard {
  background: white;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 6px 18px rgba(2,6,23,0.08);
}
.display_plot{
  width: 100% !important;         /* fill container */
  max-width: 100%;     /* prevent overflow */
  height: 100% !important;       /* set your height */
}
label{display:block;font-size:14px;margin-bottom:6px}
.credits{font-size: 10px;color: slategray}
input, select{
  box-sizing: border-box;
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #f1f5f9;
  font-size: 14px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* don't make checkboxes full width */
.checkbox-label input[type="checkbox"] {
  width: auto;
  padding: 0;
}
/*input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #e6edf3;font-size:14px}*/
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
button{padding:8px 14px;border-radius:8px;border:0;background:#2563eb;color:white;font-weight:600;cursor:pointer}
.muted{color:#475569;font-size:13px}
.msg{margin-top:8px;font-size:14px}
.container {
  display: flex;
  justify-content: center;  /* horizontal */
  align-items: stretch;      /* vertical */
}
table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 12px;
  overflow: hidden; /* round corners apply to header too */
  box-shadow: 0 6px 18px rgba(2,6,23,0.08);
  font-size: 14px;
}

thead {
  background: #e3e3e3; /* subtle gray like your inputs */
  color: #0f172a;
}

th, td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #e6edf3;
}

tbody tr:last-child td {
  border-bottom: none; /* clean final row */
}

tbody tr:hover {
  background: #f8fafc; /* very light hover */
}

th {
  font-weight: 600;
  font-size: 14px;
}

td {
  color: #475569; /* muted text similar to .muted */
}

.table-container {
  margin: 20px 0;
  border-radius: 12px;
    overflow-x: auto;
}

  #tag-container {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 10px;
    }

    .tag {
        background: #e3e3e3;
        border-radius: 4px;
        padding: 5px 10px;
        display: flex;
        align-items: center;
        font-size: 14px;
    }

    .delete-btn {
        margin-left: 8px;
        cursor: pointer;
        font-weight: bold;
        color: #555;
    }

    .delete-btn:hover {
        color: #d00;
    }

    #plot {
            width: 100%;
            height: 600px;
        }

      #popup {
    display: none; /* Hidden by default */
    position: fixed;
    top: 20px;      /* margin from top */
    left: 20px;     /* margin from left */
    right: 20px;    /* margin from right */
    bottom: 20px;   /* margin from bottom */
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    padding: 20px;
    z-index: 1000;
    overflow: auto;
    border-radius: 10px;
  }

  /* Close button */
  #popup .close-btn {
    position: absolute;
      color:gray;
    top: 10px;
    right: 15px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    background: none;
  }

  /* Example button */
  #openPopup {
    margin: 20px;
    padding: 10px 20px;
    font-size: 16px;
  }