/* ====================================================
   Group Outstandings – Frontend Styles
   ==================================================== */

:root {
  --go-primary:    #10a870;
  --go-primary-dk: #0d8f5e;
  --go-dr:         #e04040;
  --go-cr:         #10a870;
  --go-bg:         #f4f6fb;
  --go-card-bg:    #ffffff;
  --go-border:     #e3e8ef;
  --go-text:       #1a2235;
  --go-muted:      #6b778d;
  --go-radius:     10px;
  --go-shadow:     0 2px 12px rgba(0,0,0,.08);
}

.go-dashboard {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--go-text);
  background: var(--go-bg);
  border-radius: var(--go-radius);
  padding: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

/* ---- Header ---- */
.go-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}

.go-greeting {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--go-text);
}

.go-subtext {
  color: var(--go-muted);
  margin: 0;
  font-size: .95rem;
}

/* ---- Summary cards ---- */
.go-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.go-card {
  background: var(--go-card-bg);
  border-radius: var(--go-radius);
  box-shadow: var(--go-shadow);
  padding: 18px 20px;
  border-top: 3px solid transparent;
}

.go-card-cr { border-top-color: var(--go-cr); }
.go-card-dr { border-top-color: var(--go-dr); }
.go-card-net { border-top-color: #3b82f6; }

.go-card-label {
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--go-muted);
  margin-bottom: 6px;
}

.go-card-value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
}

/* ---- Toolbar ---- */
.go-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
  align-items: center;
}

.go-toolbar input[type="search"],
.go-toolbar select {
  border: 1.5px solid var(--go-border);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: .9rem;
  color: var(--go-text);
  background: var(--go-card-bg);
  outline: none;
  transition: border-color .2s;
}

.go-toolbar input[type="search"]:focus,
.go-toolbar select:focus {
  border-color: var(--go-primary);
  box-shadow: 0 0 0 3px rgba(16,168,112,.12);
}

.go-toolbar input[type="search"] { flex: 1; min-width: 180px; }

/* ---- Buttons ---- */
.go-btn {
  border: none;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, transform .1s;
}

.go-btn:active { transform: scale(.97); }

.go-btn-primary {
  background: var(--go-primary);
  color: #fff;
}

.go-btn-primary:hover { background: var(--go-primary-dk); }

.go-btn-secondary {
  background: #fff;
  border: 1.5px solid var(--go-border);
  color: var(--go-text);
}

.go-btn-secondary:hover { background: var(--go-bg); }

/* ---- Table ---- */
.go-table-wrap {
  overflow-x: auto;
  background: var(--go-card-bg);
  border-radius: var(--go-radius);
  box-shadow: var(--go-shadow);
  border: 1px solid var(--go-border);
}

.go-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}

.go-table thead tr {
  background: #f8fafd;
  border-bottom: 2px solid var(--go-border);
}

.go-table th {
  padding: 12px 16px;
  text-align: left;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--go-muted);
  white-space: nowrap;
}

.go-table .go-col-company { text-align: right; }

.go-table tbody tr { border-bottom: 1px solid var(--go-border); transition: background .15s; }
.go-table tbody tr:last-child { border-bottom: none; }
.go-table tbody tr:hover { background: #f4f9f6; }
.go-table tr.go-hidden { display: none; }

.go-table td { padding: 10px 16px; vertical-align: middle; }
.go-retailer-name { font-weight: 500; color: var(--go-text); }
.go-amount { text-align: right; }

/* ---- Amount values ---- */
.go-amount-val {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.go-cr { color: var(--go-cr); }
.go-dr { color: var(--go-dr); }
.go-nil { color: #bac3d0; font-size: .85em; }

/* ---- Badge ---- */
.go-badge {
  display: inline-block;
  font-size: .7rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  letter-spacing: .04em;
}

.go-badge.go-cr { background: rgba(16,168,112,.12); color: var(--go-cr); }
.go-badge.go-dr { background: rgba(224,64,64,.12);  color: var(--go-dr); }

/* ---- Misc ---- */
.go-empty, .go-not-logged-in, .go-notice, .go-footer-note {
  padding: 16px;
  border-radius: var(--go-radius);
  text-align: center;
  color: var(--go-muted);
  font-size: .9rem;
}

.go-not-logged-in { background: var(--go-card-bg); border: 1.5px solid var(--go-border); }
.go-not-logged-in a { color: var(--go-primary); font-weight: 600; }
.go-notice { background: #fffbe6; border: 1.5px solid #facc15; color: #92400e; }
.go-footer-note { margin-top: 16px; font-size: .8rem; }

/* ---- Responsive ---- */
@media (max-width: 640px) {
  .go-dashboard { padding: 14px; }
  .go-toolbar { flex-direction: column; }
  .go-toolbar input[type="search"] { width: 100%; }
}
