/* ═══════════════════════════════════════════════════════════
   THE BUSINESS FIX — Brand CSS
   Purple theme · tbftools subfolder
   ═══════════════════════════════════════════════════════════ */
:root {
  --bg:       #0f0f1a;
  --bg2:      #14142a;
  --bg3:      #1a1a30;
  --card:     #1e1e35;
  --border:   #2a2a48;
  --border2:  #3a3a60;
  --text:     #e8e8f4;
  --text2:    #b0b0cc;
  --text3:    #6a6a90;
  --accent:   #8b5cf6;
  --accent2:  #7c3aed;
  --gold:     #a78bfa;
  --danger:   #ef4444;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:system-ui,Arial,sans-serif; background:var(--bg); color:var(--text); min-height:100vh; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--gold); }
.wrap { max-width:1400px; margin:0 auto; padding:24px 20px; }

/* ── Nav ── */
.gc-nav { background:var(--bg2); border-bottom:1px solid var(--border); height:48px; display:flex; align-items:center; padding:0 20px; gap:6px; position:sticky; top:0; z-index:100; flex-wrap:nowrap; }
.gc-nav-brand { font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); padding-right:16px; border-right:1px solid var(--border2); margin-right:6px; white-space:nowrap; }
.gc-nav-link { padding:5px 12px; border-radius:6px; font-size:13px; color:var(--text2); transition:background 0.15s,color 0.15s; white-space:nowrap; }
.gc-nav-link:hover { background:var(--bg3); color:var(--text); }
.gc-nav-link.active { background:var(--accent)22; color:var(--accent); font-weight:600; }
.gc-nav-sep { width:1px; height:22px; background:var(--border2); margin:0 6px; flex-shrink:0; }
.gc-nav-right { margin-left:auto; display:flex; align-items:center; gap:8px; }
.gc-nav-adv-wrap { position:relative; }
.gc-nav-adv-btn { padding:5px 12px; border-radius:6px; font-size:13px; color:var(--text2); background:none; border:none; cursor:pointer; }
.gc-nav-adv-btn:hover { background:var(--bg3); color:var(--text); }
#gcpnav-adv-menu { display:none; position:fixed; background:var(--card); border:1px solid var(--border2); border-radius:8px; padding:6px; min-width:160px; box-shadow:0 8px 24px rgba(0,0,0,0.5); z-index:200; }
#gcpnav-adv-menu.open { display:block; }
#gcpnav-adv-menu a { display:block; padding:8px 12px; font-size:13px; color:var(--text2); border-radius:5px; }
#gcpnav-adv-menu a:hover { background:var(--bg3); color:var(--text); }
.switch-pill { display:flex; align-items:center; gap:6px; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:600; border:1px solid var(--border2); color:var(--text2); cursor:pointer; background:var(--bg3); text-decoration:none; }
.switch-pill:hover { border-color:var(--accent); color:var(--accent); }
.switch-dot { width:8px; height:8px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.switch-dot.gcp { background:#1de9b6; }

/* ── Buttons ── */
.btn { padding:9px 18px; background:var(--accent); color:#fff !important; border:none; border-radius:6px; font-size:13px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-block; transition:background 0.15s; }
.btn:hover { background:var(--accent2); }
.btn-gold { background:var(--gold) !important; color:#0a0a1a !important; }
.btn-outline { background:transparent !important; color:var(--text2) !important; border:1px solid var(--border2); }
.btn-outline:hover { background:var(--bg3) !important; color:var(--text) !important; }
.btn-danger { background:var(--danger) !important; color:#fff !important; }
.btn-dim { background:var(--bg3) !important; color:var(--text2) !important; border:1px solid var(--border2); }
.btn-sm { padding:5px 12px; font-size:12px; }
.btn-xs { padding:3px 8px; font-size:10px; }

/* ── Cards / Panels ── */
.panel { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:20px 24px; margin-bottom:20px; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; margin-bottom:24px; }
.stat-card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:16px; }
.stat-card strong { display:block; font-size:28px; font-weight:700; color:var(--accent); line-height:1.1; }
.stat-card span { font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--text3); }
.stat-card.gold strong { color:var(--gold); }
.stat-card.dim strong { color:var(--text2); }

/* ── Forms ── */
input, select, textarea { background:var(--bg3); border:1px solid var(--border2); border-radius:6px; color:var(--text); padding:8px 12px; font-size:13px; width:100%; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 2px var(--accent)22; }
label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--text3); display:block; margin-bottom:4px; }

/* ── Table ── */
table { width:100%; border-collapse:collapse; font-size:13px; }
th { background:var(--bg2); color:var(--text3); padding:9px 12px; text-align:left; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; border-bottom:1px solid var(--border); }
td { padding:10px 12px; border-bottom:1px solid var(--border); color:var(--text2); vertical-align:top; }
tr:hover td { background:var(--bg3); }

/* ── Kanban (same structure, purple colours) ── */
.k-col { min-width:155px; flex-shrink:0; }
.k-col-header { padding:6px 8px; border-radius:6px 6px 0 0; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; display:flex; justify-content:space-between; align-items:center; }
.k-col-body { background:var(--bg); border:1px solid var(--border); border-top:none; border-radius:0 0 6px 6px; padding:5px; min-height:100px; }
.k-card { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:8px 10px; margin-bottom:6px; cursor:pointer; transition:box-shadow 0.15s,border-color 0.15s; min-height:70px; }
.k-card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.4); border-color:var(--accent); }
.k-card-name { font-size:11px; font-weight:600; color:var(--text); margin-bottom:3px; line-height:1.3; word-break:break-word; }
.k-card-meta { font-size:10px; color:var(--text3); margin-bottom:3px; }
.k-empty { text-align:center; padding:16px; color:var(--text3); font-size:10px; border:1px dashed var(--border); border-radius:4px; }

/* ── Modal ── */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.75); z-index:500; align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto; backdrop-filter:blur(4px); }
.modal-overlay.show { display:flex; }
.modal { background:var(--card); border:1px solid var(--border2); border-radius:12px; width:100%; max-width:640px; box-shadow:0 24px 64px rgba(0,0,0,0.5); }
.modal-header { padding:18px 22px 14px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.modal-title { font-size:17px; font-weight:700; color:var(--text); }
.modal-body { padding:18px 22px 22px; }
.modal-section { margin-bottom:18px; }
.modal-section-title { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--text3); margin-bottom:8px; padding-bottom:4px; border-bottom:1px solid var(--border); }
