:root {
  --pc-bg: #f5f2ea;
  --pc-surface: #ffffff;
  --pc-surface-2: #eee9db;
  --pc-ink: #14231f;
  --pc-ink-soft: #52625d;
  --pc-primary: #0d6e63;
  --pc-primary-ink: #ffffff;
  --pc-accent: #c6ff3d;
  --pc-accent-ink: #14231f;
  --pc-border: #dcd6c4;
  --pc-danger: #b9382c;

  --pc-live-bg: #e2f3ea; --pc-live-fg: #146c43;
  --pc-soon-bg: #e7f0f7; --pc-soon-fg: #1c5c8a;
  --pc-done-bg: #ece9df; --pc-done-fg: #6b6255;

  --pc-mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;
}

body { background: var(--pc-bg); color: var(--pc-ink); }
a { color: var(--pc-primary); }

.pc-topbar { background: var(--pc-surface); border-bottom: 1px solid var(--pc-border); }
.pc-brand { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 1.15rem; color: var(--pc-ink); text-decoration: none; letter-spacing: -0.02em; }
.pc-brand small { font-family: var(--pc-mono); font-weight: 400; font-size: 0.7rem; color: var(--pc-ink-soft); }
.pc-ball { width: 12px; height: 12px; border-radius: 50%; background: var(--pc-accent); box-shadow: 0 0 0 3px rgba(198,255,61,0.25); display: inline-block; }
.pc-nav-link { color: var(--pc-ink-soft); font-weight: 600; text-decoration: none; font-size: 0.9rem; }
.pc-nav-link:hover { color: var(--pc-primary); }
.pc-nav-user { color: var(--pc-ink-soft); font-size: 0.85rem; }

.pc-footer { border-top: 1px solid var(--pc-border); padding: 20px 0; color: var(--pc-ink-soft); font-size: 0.8rem; text-align: center; margin-top: 40px; }

.pc-btn-primary, .btn.pc-btn-primary { background: var(--pc-primary); border-color: var(--pc-primary); color: var(--pc-primary-ink); font-weight: 700; }
.pc-btn-primary:hover { filter: brightness(1.08); color: var(--pc-primary-ink); }
.pc-btn-accent, .btn.pc-btn-accent { background: var(--pc-accent); border-color: var(--pc-accent); color: var(--pc-accent-ink); font-weight: 700; }
.pc-btn-accent:hover { filter: brightness(1.05); color: var(--pc-accent-ink); }
.pc-btn-ghost, .btn.pc-btn-ghost { background: transparent; border-color: var(--pc-border); color: var(--pc-ink); font-weight: 600; }
.pc-btn-ghost:hover { background: var(--pc-surface-2); }

.pc-card { background: var(--pc-surface); border: 1px solid var(--pc-border); border-radius: 14px; padding: 18px; }
.pc-card + .pc-card { margin-top: 16px; }

.pc-padel-card { display: block; background: var(--pc-surface); border: 1px solid var(--pc-border); border-radius: 16px; overflow: hidden; text-decoration: none; color: var(--pc-ink); transition: transform 140ms ease, border-color 140ms ease; }
.pc-padel-card:hover { transform: translateY(-3px); border-color: var(--pc-primary); color: var(--pc-ink); }
.pc-padel-card .cover { height: 96px; display: flex; align-items: flex-end; padding: 12px; color: #fff; font-weight: 800; font-size: 1.4rem; }
.pc-padel-card .body { padding: 14px 16px; }
.pc-padel-card .city { color: var(--pc-ink-soft); font-size: 0.85rem; }

.pc-status-pill { font-family: var(--pc-mono); font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 4px 10px; border-radius: 999px; white-space: nowrap; display: inline-block; }
.pc-status-proximo { background: var(--pc-soon-bg); color: var(--pc-soon-fg); }
.pc-status-encurso { background: var(--pc-live-bg); color: var(--pc-live-fg); }
.pc-status-finalizado { background: var(--pc-done-bg); color: var(--pc-done-fg); }

.pc-torneo-row { display: flex; gap: 16px; align-items: center; background: var(--pc-surface); border: 1px solid var(--pc-border); border-radius: 14px; padding: 14px 18px; text-decoration: none; color: var(--pc-ink); }
.pc-torneo-row:hover { border-color: var(--pc-primary); color: var(--pc-ink); }
.pc-torneo-row .meta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 6px; font-size: 0.8rem; color: var(--pc-ink-soft); }
.pc-fee { font-family: var(--pc-mono); font-weight: 700; white-space: nowrap; }

.pc-tabs { border-bottom: 1px solid var(--pc-border); margin-bottom: 18px; }
.pc-tabs a { display: inline-block; padding: 8px 4px; margin-right: 20px; font-weight: 700; font-size: 0.9rem; color: var(--pc-ink-soft); text-decoration: none; border-bottom: 2px solid transparent; }
.pc-tabs a.active { color: var(--pc-ink); border-bottom-color: var(--pc-primary); }

.pc-chip { display: inline-block; background: var(--pc-surface-2); border: 1px solid var(--pc-border); padding: 5px 12px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; margin: 0 6px 6px 0; }
.pc-empty { padding: 30px; text-align: center; color: var(--pc-ink-soft); border: 1px dashed var(--pc-border); border-radius: 14px; }

.pc-capacity { height: 8px; background: var(--pc-surface-2); border-radius: 999px; overflow: hidden; margin-top: 8px; }
.pc-capacity > span { display: block; height: 100%; background: var(--pc-primary); }

table.pc-table th { font-family: var(--pc-mono); text-transform: uppercase; font-size: 0.68rem; letter-spacing: 0.05em; color: var(--pc-ink-soft); font-weight: 600; border-bottom: 1px solid var(--pc-border); }
table.pc-table td { border-bottom: 1px solid var(--pc-border); vertical-align: middle; }
