
:root {
  --diaz-gold: #c78212;
  --diaz-gold-dark: #8b5700;
  --diaz-ink: #2f2b28;
  --diaz-brown: #4c3400;
  --diaz-bg: #fbf8f3;
  --diaz-line: #e8dcc8;
  --diaz-white: #ffffff;
}

.diaz-client-auth {
  max-width: 520px;
  margin: 48px auto;
  padding: 42px;
  background: var(--diaz-white);
  border: 1px solid var(--diaz-line);
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(57, 39, 11, .10);
}
.diaz-client-auth-brand,
.diaz-panel-logo {
  font-family: Georgia, serif;
  font-weight: 700;
  color: var(--diaz-gold);
}
.diaz-client-auth-brand { font-size: 28px; margin-bottom: 22px; }
.diaz-client-auth h1 { margin: 0 0 10px; color: var(--diaz-ink); }
.diaz-client-auth p { color: #625a52; }
.diaz-client-auth form { display: grid; gap: 16px; margin-top: 24px; }
.diaz-client-auth label,
.diaz-panel-form label { display: grid; gap: 7px; font-weight: 600; color: var(--diaz-ink); }
.diaz-client-auth input[type="email"],
.diaz-client-auth input[type="password"],
.diaz-panel-form input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d8c7ad;
  border-radius: 8px;
  padding: 13px 14px;
  background: #fff;
  font: inherit;
}
.diaz-client-remember { display: flex !important; grid-template-columns: auto 1fr; align-items: center; font-weight: 400 !important; }
.diaz-client-remember input { width: auto !important; }
.diaz-client-lost { display: inline-block; margin-top: 16px; }
.diaz-client-buy { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--diaz-line); color: #625a52; }
.diaz-panel-error, .diaz-panel-success {
  padding: 12px 14px;
  border-radius: 8px;
  margin: 15px 0;
}
.diaz-panel-error { background: #fff1f1; color: #8b2020; }
.diaz-panel-success { background: #eef9ef; color: #216b2c; }

.diaz-client-panel {
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr);
  width: min(1500px, calc(100vw - 32px));
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 35px 0;
  min-height: 620px;
  background: var(--diaz-bg);
  border: 1px solid var(--diaz-line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(57, 39, 11, .08);
}
.diaz-panel-sidebar {
  padding: 30px 22px;
  background: var(--diaz-brown);
  color: #fff;
}
.diaz-panel-logo { font-size: 25px; margin-bottom: 30px; }
.diaz-panel-user { display: grid; gap: 3px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.diaz-panel-user span { font-size: 12px; opacity: .74; text-transform: uppercase; letter-spacing: .08em; }
.diaz-panel-user strong { overflow-wrap: anywhere; }
.diaz-panel-sidebar nav { display: grid; gap: 7px; margin-top: 24px; }
.diaz-panel-sidebar nav a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 11px 13px;
  border-radius: 8px;
}
.diaz-panel-sidebar nav a:hover,
.diaz-panel-sidebar nav a.is-active { background: var(--diaz-gold); color: #fff; }
.diaz-panel-main { min-width: 0; padding: 34px; }
.diaz-panel-welcome h1 { margin: 0 0 5px; color: var(--diaz-ink); }
.diaz-panel-welcome p { margin-top: 0; color: #6a625b; }
.diaz-panel-grid { display: grid; gap: 22px; margin-top: 25px; }
.diaz-panel-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--diaz-line);
  border-radius: 14px;
  padding: 24px;
}
.diaz-panel-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 18px;
}
.diaz-panel-card-head h2 { margin: 0; color: var(--diaz-ink); font-size: 24px; }
.diaz-panel-badge {
  display: inline-block;
  margin-bottom: 18px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef8ec;
  color: #2c6f25;
  font-size: 13px;
  font-weight: 700;
}
.diaz-panel-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.diaz-panel-stat {
  display: grid;
  gap: 7px;
  padding: 16px;
  background: var(--diaz-bg);
  border-radius: 10px;
}
.diaz-panel-stat span { color: #71675f; font-size: 13px; }
.diaz-panel-stat strong { color: var(--diaz-ink); font-size: 20px; }
.diaz-panel-note, .diaz-panel-muted { color: #71675f; }
.diaz-panel-note { margin: 18px 0 0; font-size: 14px; }
.diaz-panel-button,
.diaz-panel-mini-button {
  display: inline-block;
  border: 0;
  border-radius: 7px;
  background: var(--diaz-gold);
  color: #fff !important;
  text-decoration: none !important;
  cursor: pointer;
}
.diaz-panel-button { padding: 13px 20px; font-weight: 700; }
.diaz-panel-mini-button { padding: 7px 10px; font-size: 13px; margin: 2px 0; }
.diaz-panel-button:hover,
.diaz-panel-mini-button:hover { background: var(--diaz-gold-dark); }
.diaz-panel-table-wrap { overflow-x: auto; }
.diaz-panel-table { width: 100%; border-collapse: collapse; min-width: 670px; }
.diaz-panel-table th,
.diaz-panel-table td {
  padding: 13px 10px;
  border-bottom: 1px solid #eee5d7;
  text-align: left;
  vertical-align: middle;
}
.diaz-panel-table th { font-size: 13px; color: #71675f; }
.diaz-panel-table td span { color: #71675f; font-size: 13px; }
.diaz-panel-status {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f3eee6;
  color: #5b5047 !important;
}
.diaz-panel-status.status-reserved { background: #fff4dc; color: #7d5400 !important; }
.diaz-panel-status.status-checked_in { background: #eaf7e9; color: #276526 !important; }
.diaz-panel-status.status-cancelled { background: #f2f2f2; color: #666 !important; }
.diaz-panel-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 20px;
}

@media (max-width: 1100px) {
  .diaz-panel-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .diaz-client-panel {
    grid-template-columns: 1fr;
    width: calc(100vw - 20px);
    left: 50%;
    transform: translateX(-50%);
    margin: 18px 0;
  }
  .diaz-panel-sidebar { padding: 22px; }
  .diaz-panel-sidebar nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .diaz-panel-main { padding: 22px 16px; }
  .diaz-panel-stats, .diaz-panel-form-grid { grid-template-columns: 1fr; }
  .diaz-client-auth { margin: 24px 12px; padding: 28px 20px; }
}

.diaz-panel-main,
.diaz-panel-card,
.diaz-panel-grid {
  min-width: 0;
}
.diaz-panel-card {
  overflow: hidden;
}
