/* ===== Golden Minds Admin Layout ===== */
:root{
  --gm-bg:#f5f6fa;
  --gm-card:#ffffff;
  --gm-border:#e5e7eb;
  --gm-text:#111827;
  --gm-muted:#6b7280;

  /* 🔶 Golden Minds brand accents (logo-inspired) */
  --gm-gold:#e6b34a;
  --gm-gold-soft:#f3e3b6;
  --gm-gold-dark:#b8892f;

  /* Brown/near-black used in logo */
  --gm-brown:#2b160b;
  --gm-brown-2:#140a04;

  /* Sidebar */
  --gm-sidebar:var(--gm-brown);
  --gm-sidebar2:var(--gm-brown-2);

  /* Links on dark sidebar */
  --gm-link:var(--gm-gold-soft);
}

body{ background:var(--gm-bg); color:var(--gm-text); }

.gm-app{
  display:flex;
  min-height:100vh;
}

.gm-sidebar{
  width:260px;
  background:linear-gradient(180deg,var(--gm-sidebar),var(--gm-sidebar2));
  color:#fff;
  padding:16px;
  position:sticky;
  top:0;
  height:100vh;
}

.gm-sidebar-brand{
  display:flex;
  gap:12px;
  align-items:center;
  padding:10px 8px 14px;
  border-bottom:1px solid rgba(230,179,74,.25);
}

.gm-logo{ width:44px; height:44px; object-fit:contain; }

.gm-brand-title{
  font-weight:800;
  letter-spacing:.2px;
  color:var(--gm-gold);
}
.gm-brand-sub{
  color:rgba(243,227,182,.85);
  font-size:12px;
  margin-top:2px;
}

.gm-sidebar-meta{ padding:12px 8px; }
.gm-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(230,179,74,.35);
  border-radius:999px;
  font-size:12px;
  color:rgba(243,227,182,.95);
}

.gm-nav{ margin-top:8px; display:flex; flex-direction:column; gap:6px; }
.gm-nav-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  color:var(--gm-link);
  text-decoration:none;
  transition:.15s;
}
.gm-nav-link:hover{ background:rgba(230,179,74,.12); color:#fff; }
.gm-nav-link.active{ background:rgba(230,179,74,.22); color:#fff; }
.gm-nav-link.danger{ color:#fecaca; }
.gm-nav-link.danger:hover{ background:rgba(239,68,68,.15); color:#fff; }

.gm-nav-sep{
  height:1px;
  background:rgba(230,179,74,.25);
  margin:10px 6px;
}

.gm-sidebar-foot{
  margin-top:auto;
  padding:12px 8px 6px;
  border-top:1px solid rgba(230,179,74,.25);
}

.gm-main{ flex:1; display:flex; flex-direction:column; min-width:0; }

.gm-topbar{
  background:#fff;
  border-bottom:1px solid var(--gm-border);
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.gm-page-title{ margin:0; font-size:18px; font-weight:800; }
.gm-breadcrumb{ font-size:12px; margin-top:4px; }

.gm-user{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--gm-border);
  border-radius:12px;
  background:#fff;
}
.gm-user-avatar{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:var(--gm-brown);color:#fff;font-weight:800;
}
.gm-user-name{ font-weight:700; font-size:13px; }

.gm-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  font-size:13px;
}
.gm-btn-outline{
  border:1px solid var(--gm-border);
  color:#111827;
  background:#fff;
}

/* Primary button in gold */
.gm-btn-primary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  background:var(--gm-gold);
  color:var(--gm-brown);
  border:none;
  justify-content:center;
}
.gm-btn-primary:hover{
  background:var(--gm-gold-dark);
  color:#fff;
}

.gm-content{ padding:18px; }

.gm-card{
  background:var(--gm-card);
  border:1px solid var(--gm-border);
  border-radius:14px;
  padding:14px;
  box-shadow:0 1px 0 rgba(17,24,39,.03);
}

.gm-card-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.gm-card-title{ margin:0; font-size:14px; font-weight:800; }

.gm-grid{ display:grid; gap:12px; }
.gm-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.gm-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }

.gm-stat-label{ color:var(--gm-muted); font-size:12px; }
.gm-stat-value{ font-size:22px; font-weight:900; margin-top:6px; }
.gm-stat-sub{ margin-top:4px; font-size:12px; }

.gm-actions{ display:grid; gap:10px; }
.gm-action{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border:1px solid var(--gm-border);
  border-radius:12px;
  text-decoration:none;
  color:inherit;
  background:#fff;
}
.gm-action:hover{ background:#f9fafb; }
.gm-action i{ margin-top:2px; color:#111827; }
.gm-action-title{ font-weight:800; }

.gm-list{ display:flex; flex-direction:column; gap:10px; }
.gm-list-item{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border:1px solid var(--gm-border);
  border-radius:12px;
  background:#fff;
}
.gm-list-title{ font-weight:800; }

.gm-muted{ color:var(--gm-muted); }
.gm-mt{ margin-top:12px; }

/* ===== Mobile ===== */
.gm-mobilebar{
  display:none;
  position:sticky;
  top:0;
  z-index:50;
  background:#fff;
  border-bottom:1px solid var(--gm-border);
  padding:10px 12px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.gm-mobilebar-title{ display:flex; flex-direction:column; line-height:1.1; }
.gm-icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:10px;
  border:1px solid var(--gm-border);
  background:#fff;
  color:#111827;
  text-decoration:none;
}

@media (max-width: 1024px){
  .gm-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px){
  .gm-mobilebar{ display:flex; }
  .gm-sidebar{
    position:fixed;
    left:-280px;
    top:0;
    z-index:60;
    transition:left .2s ease;
  }
  .gm-sidebar.open{ left:0; }
  .gm-topbar{ display:none; }
  .gm-content{ padding:14px; }
  .gm-grid-2{ grid-template-columns:1fr; }
}

/* ===== Auth (Login) – same layout, themed colors ===== */
.gm-auth-body{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--gm-brown),var(--gm-brown-2));
  padding:16px;
}

.gm-auth-wrap{
  width:100%;
  max-width:420px;
}

.gm-auth-card{
  background:#fff;
  border-radius:18px;
  padding:28px 26px;
  border:1px solid #e5e7eb;
  box-shadow:0 20px 40px rgba(0,0,0,.18);
}

.gm-auth-brand{
  text-align:center;
  margin-bottom:16px;
}
.gm-auth-brand img{
  width:64px;
  height:64px;
  object-fit:contain;
  margin-bottom:10px;
}
.gm-auth-brand h1{
  margin:0;
  font-size:20px;
  font-weight:900;
  letter-spacing:.3px;
  color:var(--gm-brown);
}
.gm-auth-brand p{
  margin:4px 0 0;
  font-size:13px;
  color:#6b7280;
}

.gm-auth-info{
  text-align:center;
  font-size:13px;
  color:#374151;
  background:#fff7e2;
  border:1px solid rgba(230,179,74,.35);
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:14px;
}

.gm-auth-error{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fef2f2;
  color:#991b1b;
  border:1px solid #fecaca;
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:14px;
  font-size:13px;
}

.gm-auth-form{
  display:grid;
  gap:12px;
}

.gm-field{
  display:grid;
  gap:4px;
}
.gm-field label{
  font-size:12px;
  color:#374151;
  font-weight:700;
}
.gm-field input{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #d1d5db;
  font-size:14px;
}
.gm-field input:focus{
  outline:none;
  border-color:var(--gm-gold);
}

.gm-auth-footer{
  text-align:center;
  margin-top:16px;
  font-size:12px;
  color:#6b7280;
}
.gm-auth-copy{
  margin-top:6px;
}

/* ===== Helpers for forms/tables ===== */
.gm-inline{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

.gm-input{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #d1d5db;
  background:#fff;
  font-size:14px;
}
.gm-input:focus{ outline:none; border-color: var(--gm-gold); }

.gm-form-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.gm-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid var(--gm-border, #e5e7eb);
  border-radius:12px;
}

.gm-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  background:#fff;
}
.gm-table thead th{
  text-align:left;
  font-size:12px;
  letter-spacing:.2px;
  text-transform:uppercase;
  color:#6b7280;
  background:#faf8f2;
  border-bottom:1px solid #e5e7eb;
  padding:12px;
  white-space:nowrap;
}
.gm-table td{
  border-bottom:1px solid #eef2f7;
  padding:12px;
  vertical-align:middle;
}
.gm-table tr:hover td{ background:#fffaf0; }

.gm-savebar{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid var(--gm-border);
}

.gm-table-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:10px;
}

/* Journal filters */
.gm-filter-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 2fr auto;
  gap:12px;
  align-items:end;
}
.gm-filter-wide{ grid-column: span 1; }
.gm-filter-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

@media (max-width: 1024px){
  .gm-filter-grid{
    grid-template-columns: 1fr 1fr;
  }
  .gm-filter-actions{
    grid-column: 1 / -1;
    justify-content:flex-start;
  }
}

.gm-typeTag{
  font-size:12px;
  padding:3px 10px;
  border:1px solid rgba(230,179,74,.35);
  border-radius:999px;
  background:#fff7e2;
  color:var(--gm-brown);
  white-space:nowrap;
}

/* Pill style for light cards (journal/day summary) */
.gm-pill-light{
  background:#fff;
  color:var(--gm-brown);
  border:1px solid rgba(230,179,74,.4);
}
.gm-pill-light strong{ color: var(--gm-brown); }
