:root {
  --yffl-navy: #0b1f44;
  --yffl-navy-2: #163a70;
  --yffl-blue: #2864dc;
  --yffl-blue-soft: #eaf1ff;
  --yffl-red: #c62033;
  --yffl-gold: #f3b83f;
  --yffl-bg: #eef2f7;
  --yffl-panel: #ffffff;
  --yffl-text: #27364d;
  --yffl-muted: #718096;
  --yffl-border: #dce3ec;
  --yffl-shadow: 0 10px 28px rgba(15, 35, 68, .06);
  --yffl-radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--yffl-bg) !important; color: var(--yffl-text); font-family: "Lato", Arial, sans-serif !important; }
a { color: var(--yffl-blue); }
a:hover { color: var(--yffl-red); text-decoration: none; }
img { max-width: 100%; }
.yffl-shell { margin: 0 auto; max-width: 1480px; padding: 0 18px; }
.yffl-content { min-height: calc(100vh - 190px); padding-bottom: 22px; }
.yffl-page { padding-bottom: 34px; }
.yffl-page-header,.yffl-hero {
  align-items: center; background: linear-gradient(135deg,var(--yffl-navy),var(--yffl-navy-2));
  border-radius: 22px; box-shadow: 0 16px 38px rgba(11,31,68,.17); color:#fff;
  display:flex; justify-content:space-between; margin-bottom:20px; overflow:hidden; padding:27px 30px; position:relative;
}
.yffl-page-header:after,.yffl-hero:after { border:1px solid rgba(255,255,255,.13); border-radius:50%; content:""; height:240px; position:absolute; right:-65px; top:-105px; width:240px; }
.yffl-eyebrow { color:#abc7f5; font-size:10px; font-weight:900; letter-spacing:.14em; margin-bottom:7px; text-transform:uppercase; }
.yffl-page-header h1,.yffl-hero h1 { font-size:clamp(27px,4vw,43px); font-weight:900; letter-spacing:-.035em; line-height:1.05; margin:0 0 8px; }
.yffl-page-header p,.yffl-hero p { color:#d2def0; font-size:13px; line-height:1.6; margin:0; max-width:650px; }
.card,.yffl-panel,.yffl-section,.yffl-division,.yffl-week-card {
  background:var(--yffl-panel); border:1px solid var(--yffl-border) !important; border-radius:var(--yffl-radius) !important;
  box-shadow:var(--yffl-shadow); overflow:hidden;
}
.card-header,.yffl-panel-head,.yffl-section-header,.yffl-division-header,.yffl-week-header {
  align-items:center; background:linear-gradient(180deg,#fff,#f7f9fc) !important; border-bottom:1px solid var(--yffl-border) !important;
  color:var(--yffl-navy); display:flex; font-size:13px; font-weight:900; justify-content:space-between; padding:15px 18px;
}
.card-body { padding:18px; }
.table-responsive,.yffl-table-wrap { overflow-x:auto; }
.table,.yffl-table { background:#fff; color:var(--yffl-text); margin-bottom:0; width:100%; }
.table thead th,.yffl-table th { background:var(--yffl-navy) !important; border-color:var(--yffl-navy) !important; color:#fff !important; font-size:9px; font-weight:900; letter-spacing:.07em; padding:11px 10px; text-transform:uppercase; vertical-align:middle; white-space:nowrap; }
.table td,.yffl-table td { border-color:#edf0f4; font-size:12px; padding:11px 10px; vertical-align:middle; }
.table tbody tr:hover td,.yffl-table tbody tr:hover td { background:#f8fbff; }
.form-control,select.form-control,textarea.form-control,.custom-select {
  background:#f9fbfd; border:1px solid #d2dae6; border-radius:10px; color:var(--yffl-text); font-size:13px; min-height:42px;
}
.form-control:focus,.custom-select:focus { border-color:var(--yffl-blue); box-shadow:0 0 0 3px rgba(40,100,220,.12); }
label { color:#66748a; font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.btn { border-radius:9px; font-size:11px; font-weight:850; letter-spacing:.025em; padding:.6rem .9rem; }
.btn-primary { background:var(--yffl-blue); border-color:var(--yffl-blue); }
.btn-danger { background:var(--yffl-red); border-color:var(--yffl-red); }
.badge { border-radius:999px; font-size:9px; font-weight:850; padding:.4em .7em; }
.alert { border:0; border-radius:13px; box-shadow:var(--yffl-shadow); font-size:12px; }
.list-group-item { border-color:#e8edf3; color:var(--yffl-text); font-size:12px; padding:12px 15px; }
.list-group-item:hover { background:#f7faff; color:var(--yffl-blue); }
.pagination .page-link { border-color:var(--yffl-border); color:var(--yffl-blue); }
.pagination .active .page-link { background:var(--yffl-blue); border-color:var(--yffl-blue); }
.yffl-toolbar,.yffl-filter,.filter-bar { background:#fff; border:1px solid var(--yffl-border); border-radius:15px; box-shadow:var(--yffl-shadow); padding:14px 16px; }
.yffl-empty-state { background:#fff; border:1px solid var(--yffl-border); border-radius:var(--yffl-radius); color:var(--yffl-muted); padding:45px 22px; text-align:center; }
.yffl-owned td,.owned td { background:#fff8dc !important; }
.yffl-owned td:first-child,.owned td:first-child { box-shadow:inset 4px 0 0 var(--yffl-gold); }
@media(max-width:991.98px){ .yffl-page-header,.yffl-hero{align-items:stretch;flex-direction:column;gap:18px;} }
@media(max-width:575.98px){ .yffl-shell{padding:0 10px;} .yffl-page-header,.yffl-hero{border-radius:16px;padding:22px 18px;} .card,.yffl-panel,.yffl-section,.yffl-division,.yffl-week-card{border-radius:14px !important;} }
