/* 6 All — Shared Styles */
:root {
  --green:#F5C800; --green-l:#FFD700; --green-bg:#fffbea;
  --black:#111; --white:#fff;
  --g100:#f5f5f5; --g200:#e8e8e8; --g300:#d0d0d0; --g500:#888; --g700:#444;
  --red:#c0392b; --amber:#D4A820;
  --r:8px; --shadow:0 2px 12px rgba(0,0,0,.10);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Barlow',sans-serif;background:#f0f2f0;color:var(--black);font-size:14px;min-height:100vh;}

/* HEADER */
header{background:var(--black);height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,.4);}
.hdr-logo{display:flex;flex-direction:column;gap:1px;text-decoration:none;}
.hdr-rf{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:20px;color:#fff;letter-spacing:1px;line-height:1;}
.hdr-rf span{color:var(--green);}
.hdr-sub{font-size:10px;color:var(--g500);letter-spacing:2px;text-transform:uppercase;}
.hdr-right{display:flex;align-items:center;gap:12px;}
.hdr-user{font-size:12px;color:var(--g500);}
.hdr-user strong{color:var(--white);}

/* NAV */
nav{background:#1a1a1a;border-bottom:1px solid #2a2a2a;display:flex;padding:0 20px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;flex-wrap:nowrap;}
nav::-webkit-scrollbar{display:none;}
.nav-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--g500);padding:9px 14px;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;text-decoration:none;}
.nav-link:hover{color:#fff;}
.nav-link.active{color:var(--green);border-bottom-color:var(--green);}

/* MAIN */
.main{max-width:1100px;margin:0 auto;padding:24px 16px;}
.page-hd{margin-bottom:24px;}
.page-hd h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:28px;margin-bottom:4px;}
.page-hd p{font-size:13px;color:var(--g500);}

/* CARDS */
.card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:20px;margin-bottom:16px;}
.card h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--g200);}
.card h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;margin-bottom:8px;color:var(--g700);}

/* FORMS */
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--g700);margin-bottom:5px;letter-spacing:.5px;text-transform:uppercase;}
.form-group input,.form-group select{width:100%;border:1.5px solid var(--g300);border-radius:6px;padding:9px 12px;font-size:14px;font-family:'Barlow',sans-serif;outline:none;background:#fff;transition:border .15s;}
.form-group input:focus,.form-group select:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(245,200,0,.10);}

/* BUTTONS */
.btn{display:inline-block;border:none;border-radius:var(--r);padding:10px 24px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center;}
.btn-primary{background:var(--green);color:#111;}
.btn-primary:hover{background:var(--green-l);transform:translateY(-1px);box-shadow:0 4px 16px rgba(245,200,0,.3);}
.btn-secondary{background:var(--black);color:#fff;}
.btn-secondary:hover{background:#333;}
.btn-outline{background:transparent;color:var(--black);border:1.5px solid var(--g300);}
.btn-outline:hover{border-color:var(--black);}
/* btn-outline on dark backgrounds */
header .btn-outline, nav .btn-outline, .team-hdr .btn-outline,
.matchup-banner .btn-outline, .squad-actions .btn-outline,
.kicker-strip .btn-outline, .save-bar .btn-outline,
.hdr-right .btn-outline{color:#fff;border-color:#555;}
header .btn-outline:hover, .hdr-right .btn-outline:hover{border-color:#fff;}
.btn-danger{background:var(--red);color:#fff;}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn:disabled{background:var(--g300);cursor:not-allowed;transform:none;box-shadow:none;}
.btn-full{width:100%;}

/* MESSAGES */
.msg{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px;display:none;}
.msg-error{background:#FCEBEB;color:var(--red);border:1px solid #f5c6c6;}
.msg-success{background:var(--green-bg);color:#7a6000;border:1px solid #b2dfcb;}
.msg-info{background:#E3F2FD;color:#0D47A1;border:1px solid #b3d4f5;}

/* STAT PILLS */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
.stat-pill{background:var(--g100);border-radius:6px;padding:12px;text-align:center;}
.stat-val{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:22px;color:var(--black);}
.stat-val.green{color:var(--green);}
.stat-lbl{font-size:10px;color:var(--g500);letter-spacing:1px;text-transform:uppercase;margin-top:2px;}

/* TABLES */
.tbl{width:100%;border-collapse:collapse;font-size:13px;}
.tbl th{background:var(--black);color:#fff;padding:8px 12px;text-align:left;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;}
.tbl td{padding:8px 12px;border-bottom:1px solid var(--g200);}
.tbl tr:hover td{background:var(--green-bg);}
.tbl .win{color:var(--green);font-weight:700;}
.tbl .loss{color:var(--red);}

/* BADGE */
.badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.5px;}
.badge-green{background:var(--green);color:#111;}
.badge-grey{background:var(--g300);color:var(--g700);}
.badge-amber{background:var(--amber);color:#333;}

/* LOADING OVERLAY */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1000;display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;}
.overlay.show{display:flex;}
.spinner{width:44px;height:44px;border:4px solid #333;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.ov-txt{color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;letter-spacing:1px;}

/* RESPONSIVE */
@media(max-width:700px){
  .main{padding:16px 12px;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .nav-link{font-size:11px;padding:0 10px;letter-spacing:.5px;}
  .hdr-logo img{height:38px !important;}
  header{padding:0 12px;}
  .record-grid{grid-template-columns:repeat(2,1fr);}
  .tbl{font-size:12px;}
  .tbl th,.tbl td{padding:8px 6px;}
}
/* ── Text size overrides (applied via LDTheme.setTextSize) ─────── */
html.text-small  { font-size: 12px; }
html.text-medium { font-size: 14px; }
html.text-large  { font-size: 16px; }

html.text-small  body, html.text-small  .form-group input,
html.text-small  .form-group select, html.text-small p,
html.text-small  .card p, html.text-small span:not(.badge):not(.stat-lbl):not(.nav-link) { font-size: 12px; }

html.text-large  body, html.text-large  .form-group input,
html.text-large  .form-group select, html.text-large p,
html.text-large  .card p { font-size: 16px; }
html.text-large  .btn { font-size: 17px; }
html.text-large  .tbl { font-size: 15px; }
html.text-large  .stat-val { font-size: 24px; }
