// Gigafibre Client Portal — Consumer branding

:root {
  --gf-primary: #0ea5e9;     // sky-500
  --gf-primary-dark: #0284c7; // sky-600
  --gf-accent: #06b6d4;      // cyan-500
  --gf-bg: #f8fafc;          // slate-50
  --gf-surface: #ffffff;
  --gf-text: #1e293b;        // slate-800
  --gf-text-secondary: #64748b; // slate-500
  --gf-border: #e2e8f0;      // slate-200
  --gf-success: #22c55e;
  --gf-warning: #f59e0b;
  --gf-danger: #ef4444;
}

body {
  background: var(--gf-bg);
  color: var(--gf-text);
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
}

.q-drawer {
  background: var(--gf-surface) !important;
  border-right: 1px solid var(--gf-border) !important;
}

.portal-card {
  background: var(--gf-surface);
  border: 1px solid var(--gf-border);
  border-radius: 12px;
  padding: 20px;
}

.portal-header {
  background: linear-gradient(135deg, var(--gf-primary), var(--gf-accent));
}

// Status chips
.status-paid, .status-closed, .status-resolved {
  color: var(--gf-success);
  font-weight: 600;
}
.status-unpaid, .status-overdue {
  color: var(--gf-danger);
  font-weight: 600;
}
.status-open {
  color: var(--gf-primary);
  font-weight: 600;
}

// Summary card number
.summary-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--gf-primary);
}

.page-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--gf-text);
  margin-bottom: 16px;
}

// Monthly total banner (service locations)
.monthly-total-banner {
  background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
  border: 1px solid #bae6fd;
  border-radius: 10px;
  padding: 14px 18px;
}

// Location cards
.location-card {
  background: var(--gf-bg);
  border: 1px solid var(--gf-border);
  border-radius: 10px;
  padding: 14px;
}

.subscription-row {
  padding: 6px 0;
  border-bottom: 1px dashed var(--gf-border);
  &:last-child { border-bottom: none; }
}

.location-subtotal {
  padding-top: 6px;
  border-top: 1px solid var(--gf-border);
}

// Clickable table rows
.clickable-table {
  .q-table tbody tr {
    cursor: pointer;
    transition: background 0.15s;
    &:hover {
      background: rgba(14, 165, 233, 0.05);
    }
  }
}
