:root {
    --tl-ink: #111827;
    --tl-muted: #667085;
    --tl-primary: #4b2cff;
    --tl-primary-dark: #3216d8;
    --tl-lime: #c9ff55;
    --tl-surface: #ffffff;
    --tl-bg: #f6f7fb;
    --tl-border: #e6e8ef;
    --tl-radius: 22px;
    --tl-shadow: 0 18px 50px rgba(26, 20, 67, .09);
}

* { box-sizing: border-box; }
body { background: var(--tl-bg); color: var(--tl-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
a { transition: color .18s ease, transform .18s ease, box-shadow .18s ease; }
.navbar-tournlive { background: rgba(255,255,255,.92); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(230,232,239,.85); }
.navbar-organizer { background:linear-gradient(90deg,#4a22ff,#3318f1); box-shadow:0 3px 10px rgba(36,20,120,.3); min-height:76px; }
.navbar-organizer .brand-icon { background:rgba(255,255,255,.18); }
.organizer-actions { align-items:center; display:flex; gap:1.25rem; }
.organizer-link { align-items:center; background:transparent; color:#fff; display:inline-flex; font-size:.86rem; font-weight:800; gap:.45rem; text-decoration:none; text-transform:uppercase; }
.organizer-link i { font-size:1.25rem; }.organizer-link:hover { color:var(--tl-lime); }
.brand-mark { align-items:center; display:inline-flex; gap:.65rem; font-size:1.15rem; font-weight:800; letter-spacing:-.03em; }
.brand-icon { align-items:center; background:var(--tl-primary); border-radius:11px; color:#fff; display:inline-flex; height:36px; justify-content:center; width:36px; }
.navbar .nav-link { border-radius:10px; color:#3f4654; font-weight:600; padding:.55rem .8rem !important; }
.navbar .nav-link:hover { background:#f1efff; color:var(--tl-primary); }
.btn { border-radius:12px; font-weight:700; padding:.65rem 1rem; }
.btn-primary { background:var(--tl-primary); border-color:var(--tl-primary); box-shadow:0 7px 18px rgba(75,44,255,.18); }
.btn-primary:hover { background:var(--tl-primary-dark); border-color:var(--tl-primary-dark); transform:translateY(-1px); }
.btn-outline-primary { border-color:#cfc7ff; color:var(--tl-primary); }
.text-primary { color:var(--tl-primary) !important; }
.bg-white.border.rounded-3, .tl-card { border:1px solid var(--tl-border) !important; border-radius:var(--tl-radius) !important; box-shadow:0 5px 20px rgba(29,28,51,.035); }
.form-control, .form-select { border-color:#dfe2ea; border-radius:12px; min-height:46px; }
.form-control:focus, .form-select:focus { border-color:#9180ff; box-shadow:0 0 0 .23rem rgba(75,44,255,.11); }
.table > :not(caption) > * > * { border-bottom-color:#eceef4; padding:.9rem .85rem; }
.badge { border-radius:999px; padding:.48em .72em; }

.hero { background:radial-gradient(circle at 83% 18%, rgba(201,255,85,.34), transparent 23%), radial-gradient(circle at 55% 5%, rgba(126,105,255,.23), transparent 30%), #f9f9fd; overflow:hidden; padding:6.2rem 0 5rem; position:relative; }
.hero-kicker { align-items:center; background:#eeebff; border-radius:999px; color:var(--tl-primary); display:inline-flex; font-size:.82rem; font-weight:800; gap:.5rem; letter-spacing:.03em; padding:.55rem .85rem; text-transform:uppercase; }
.hero h1 { font-size:clamp(2.35rem, 4.6vw, 4.25rem); font-weight:850; letter-spacing:-.052em; line-height:1.02; max-width:760px; }
.hero h1 span { color:var(--tl-primary); }
.hero-copy { color:var(--tl-muted); font-size:1.08rem; line-height:1.65; max-width:650px; }
.hero-product { background:#151128; border:8px solid rgba(255,255,255,.8); border-radius:30px; box-shadow:0 35px 90px rgba(24,15,69,.25); color:#fff; min-height:360px; padding:1.25rem; transform:rotate(1.5deg); }
.hero-product .score-card { background:#fff; border-radius:18px; color:var(--tl-ink); padding:1.35rem; }
.score-team { font-size:1.05rem; font-weight:800; }
.score-value { color:var(--tl-primary); font-size:2.2rem; font-weight:900; }
.live-pill { background:#ff4d67; border-radius:999px; color:#fff; font-size:.72rem; font-weight:800; padding:.35rem .65rem; }
.metric { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:1rem; }
.trust-strip { background:#fff; border-bottom:1px solid var(--tl-border); border-top:1px solid var(--tl-border); padding:1.2rem 0; }
.feature-section { padding:5.5rem 0; }
.section-kicker { color:var(--tl-primary); font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.section-title { font-size:clamp(1.85rem, 3.2vw, 2.8rem); font-weight:850; letter-spacing:-.04em; line-height:1.08; }
.feature-card { background:#fff; border:1px solid var(--tl-border); border-radius:24px; height:100%; padding:1.65rem; }
.feature-card:hover { box-shadow:var(--tl-shadow); transform:translateY(-4px); }
.feature-icon { align-items:center; background:#eeebff; border-radius:14px; color:var(--tl-primary); display:flex; font-size:1.3rem; height:48px; justify-content:center; margin-bottom:1.2rem; width:48px; }
.cta-panel { background:var(--tl-primary); border-radius:30px; color:#fff; overflow:hidden; padding:clamp(2rem,5vw,4.5rem); position:relative; }
.cta-panel:after { background:var(--tl-lime); border-radius:50%; content:""; height:220px; position:absolute; right:-70px; top:-90px; width:220px; }
.app-footer { background:#12101e; color:#b8b5c6; margin-top:5rem; }
.organizer-page { background:#fafafa; min-height:calc(100vh - 76px); padding:2.1rem 1.25rem 5rem; }
.organizer-container { margin:0 auto; max-width:960px; }
.organizer-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1.7rem; }
.organizer-heading h1 { font-size:1.55rem; font-weight:750; margin:0; }
.btn-new-event { background:#fff; border:1px solid #cfd1d8; border-radius:6px; color:#191b22; font-size:.85rem; text-transform:uppercase; }
.btn-new-event:hover { border-color:var(--tl-primary); color:var(--tl-primary); }
.event-toolbar { align-items:center; display:grid; gap:1.25rem; grid-template-columns:1fr 235px; margin-bottom:1.8rem; }
.event-search { align-items:center; border-bottom:1px solid #aeb2bb; display:flex; gap:.75rem; padding:.65rem .2rem; }
.event-search i { font-size:1.25rem; }.event-search input { background:transparent; border:0; font-size:1rem; outline:0; width:100%; }
.event-sort { background:transparent; border:0; border-bottom:1px solid #aeb2bb; min-height:45px; outline:0; }
.event-list { display:flex; flex-direction:column; gap:.65rem; }
.organizer-event { align-items:center; background:#fff; border:1px solid #e1e2e7; border-radius:5px; box-shadow:0 2px 3px rgba(0,0,0,.1); display:flex; min-height:112px; padding:.9rem 1.1rem; }
.event-main-link { align-items:center; color:inherit; display:flex; flex:1; gap:1.4rem; min-width:0; text-decoration:none; }
.event-avatar { align-items:center; background:#7656ff; border-radius:18px; color:#ffd83d; display:flex; flex:none; font-size:1.65rem; height:70px; justify-content:center; width:70px; }
.event-avatar-1 { background:#ff9d42; }.event-avatar-2 { background:#ca42cf; }.event-avatar-3 { background:#42bfb4; }
.event-copy h2 { font-size:1.12rem; font-weight:600; margin:0 0 .65rem; }
.event-meta { align-items:center; display:flex; flex-wrap:wrap; gap:.6rem; }.event-date { background:#eceef1; border-radius:5px; font-size:.82rem; font-weight:750; padding:.32rem .55rem; }.event-sport { color:#666; font-size:.83rem; }.event-plan { background:#fff0bd; border-radius:5px; color:#e57400; font-size:.78rem; font-weight:700; padding:.32rem .55rem; }
.event-menu { align-items:center; background:#f7f7f8; border:0; border-radius:50%; color:#999; display:flex; height:38px; justify-content:center; width:38px; }.event-menu:hover { background:#eeebff; color:var(--tl-primary); }
.organizer-empty { background:#fff; border:1px solid var(--tl-border); border-radius:8px; padding:4rem; text-align:center; }
.wizard-page { align-items:flex-start; background:#fafafa; display:flex; justify-content:center; min-height:calc(100vh - 76px); padding:2.7rem 1rem; }
.wizard-card { background:#fff; border:1px solid #dddfe5; border-radius:5px; box-shadow:0 2px 4px rgba(0,0,0,.12); min-height:640px; overflow:hidden; padding:3rem 2.7rem 1.8rem; position:relative; width:min(100%,500px); }
.wizard-progress { background:#b7aaff; height:5px; left:0; position:absolute; right:0; top:0; }.wizard-progress span { background:var(--tl-primary); display:block; height:100%; transition:width .25s ease; }
.wizard-step { display:none; }.wizard-step.active { display:block; }.wizard-step h1 { font-size:1.8rem; font-weight:850; letter-spacing:-.035em; margin-bottom:.85rem; }.wizard-step > p { font-size:1.02rem; line-height:1.65; margin-bottom:2rem; }.wizard-fields .form-label { color:#687080; font-size:.78rem; margin-bottom:.2rem; }.wizard-fields .form-control,.wizard-fields .form-select { border:0; border-bottom:1px solid #9fa3ab; border-radius:0; box-shadow:none; padding-left:0; }.wizard-fields .mb-3 { margin-bottom:1.5rem!important; }
.wizard-actions { align-items:center; bottom:1.8rem; display:flex; justify-content:flex-end; left:2.7rem; position:absolute; right:2.7rem; }.wizard-actions .btn-primary { border-radius:5px; min-width:112px; text-transform:uppercase; }
.tournament-topbar { align-items:center; background:linear-gradient(90deg,#4a22ff,#3318f1); color:#fff; display:flex; gap:1.1rem; min-height:76px; padding:0 2rem; position:sticky; top:76px; z-index:1010; }.tournament-topbar a { color:#fff; font-weight:700; margin-left:1rem; text-decoration:none; }.tournament-topbar > a { font-size:1.4rem; margin-left:0; }.tournament-topbar strong { font-size:1.15rem; }
.tournament-workspace { display:grid; grid-template-columns:110px minmax(0,1fr); min-height:calc(100vh - 152px); }.tournament-sidebar { background:#fff; border-right:1px solid var(--tl-border); padding-top:1rem; }.tournament-sidebar a { align-items:center; color:#74777f; display:flex; flex-direction:column; font-size:.73rem; gap:.3rem; padding:.75rem .25rem; text-decoration:none; }.tournament-sidebar a i { font-size:1.35rem; }.tournament-sidebar a:hover,.tournament-sidebar a.active { color:var(--tl-primary); }.tournament-main { background:#fafafa; min-width:0; overflow:hidden; }.tournament-main > .container-fluid { margin:0 auto; max-width:1320px; padding-left:2rem; padding-right:2rem; }
.workspace-content { margin:0 auto; max-width:1120px; padding:2.1rem 2rem 5rem; }.workspace-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1.7rem; }.workspace-heading h1 { font-size:1.65rem; font-weight:800; letter-spacing:-.03em; margin:0 0 .25rem; }.workspace-heading p { color:var(--tl-muted); margin:0; }.workspace-panel { background:#fff; border:1px solid var(--tl-border); border-radius:8px; margin-bottom:1rem; padding:1.35rem; }.workspace-panel h2 { font-size:1.15rem; font-weight:800; margin-bottom:1.1rem; }.settings-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); }.settings-grid div { border-bottom:1px solid var(--tl-border); padding-bottom:.75rem; }.settings-grid span,.day-row small { color:var(--tl-muted); display:block; font-size:.78rem; }.settings-grid strong { display:block; margin-top:.2rem; }.day-row { align-items:center; border:1px solid var(--tl-border); border-radius:6px; display:flex; gap:1rem; min-height:62px; padding:.65rem 1rem; }.day-number { align-items:center; background:#c5c6ca; border-radius:5px; display:flex; font-size:1.05rem; font-weight:800; height:44px; justify-content:center; width:44px; }.category-color-0 { background:#ff8581; }.category-color-1 { background:#ffd06d; }.category-color-2 { background:#7ee0c3; }
.workspace-tabs { background:#fff; border:1px solid var(--tl-border); border-radius:7px; display:flex; margin-bottom:1.5rem; }.workspace-tabs a { border-bottom:3px solid transparent; color:var(--tl-ink); flex:1; font-weight:750; padding:1rem; text-align:center; text-decoration:none; }.workspace-tabs a.active { border-color:var(--tl-primary); color:var(--tl-primary); }.workspace-tabs span { background:#eeebff; border-radius:999px; font-size:.72rem; margin-left:.35rem; padding:.2rem .45rem; }.participant-card,.schedule-row,.score-row { align-items:center; background:#fff; border:1px solid var(--tl-border); border-radius:7px; display:flex; gap:1rem; margin-bottom:.65rem; padding:1rem; }.team-avatar { align-items:center; background:#eeebff; border-radius:12px; color:var(--tl-primary); display:flex; font-size:1.25rem; height:50px; justify-content:center; width:50px; }.participant-card h2 { font-size:1rem; font-weight:800; margin:0 0 .2rem; }.participant-card p { color:var(--tl-muted); font-size:.82rem; margin:0; }.workspace-empty { padding:5rem 1rem; text-align:center; }.workspace-empty.compact { padding:2rem 1rem; }.workspace-empty-icon { align-items:center; background:#eeebff; border-radius:20px; color:var(--tl-primary); display:flex; font-size:2.2rem; height:82px; justify-content:center; margin:0 auto 1.3rem; width:82px; }.workspace-empty-icon.green { background:#ddf9e5; color:#24b94d; }.workspace-empty h2 { font-size:1.3rem; font-weight:800; }
.format-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }.format-card { background:#fff; border:2px solid var(--tl-border); border-radius:10px; padding:1.5rem; text-align:center; }.format-card.featured { border-color:var(--tl-primary); }.format-card i { color:var(--tl-primary); font-size:3rem; }.format-card h2 { font-size:1rem; font-weight:800; margin-top:1rem; }.format-card p { color:var(--tl-muted); font-size:.83rem; margin:0; }.schedule-date { border-right:1px solid var(--tl-border); display:flex; flex-direction:column; min-width:70px; }.schedule-date small,.score-row small { color:var(--tl-muted); }.schedule-teams { display:flex; flex:1; gap:.7rem; justify-content:center; }.schedule-teams span { color:var(--tl-muted); }.schedule-field { color:var(--tl-muted); font-size:.84rem; min-width:130px; }.presentation-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); }.status-title { align-items:center; display:flex; gap:.65rem; }.status-pill { background:#ffd8d5; border-radius:999px; color:#c9433b; font-size:.75rem; font-weight:800; padding:.3rem .55rem; }.status-pill.on { background:#dff6e5; color:#198754; }.score-row { min-height:85px; }.score-teams { align-items:center; display:flex; gap:1rem; margin-top:.45rem; }.score-box { background:#eeebff; border-radius:6px; color:var(--tl-primary); font-size:1.05rem; font-weight:850; padding:.45rem .75rem; }

.app-page { padding-bottom:3rem; padding-top:2.25rem; }
.page-header { align-items:flex-start; display:flex; gap:1.5rem; justify-content:space-between; margin-bottom:2rem; }
.page-eyebrow { color:var(--tl-primary); font-size:.75rem; font-weight:850; letter-spacing:.09em; margin-bottom:.35rem; text-transform:uppercase; }
.page-title { font-size:clamp(1.75rem,3vw,2.45rem); font-weight:850; letter-spacing:-.04em; line-height:1.08; margin-bottom:.45rem; }
.page-subtitle { color:var(--tl-muted); margin:0; }
.stat-card { background:#fff; border:1px solid var(--tl-border); border-radius:18px; height:100%; padding:1.25rem; position:relative; }
.stat-card .stat-icon { align-items:center; background:#eeebff; border-radius:12px; color:var(--tl-primary); display:flex; font-size:1.1rem; height:40px; justify-content:center; margin-bottom:1rem; width:40px; }
.stat-label { color:var(--tl-muted); font-size:.82rem; font-weight:650; }
.stat-value { font-size:2rem; font-weight:850; letter-spacing:-.04em; }
.content-panel { background:#fff; border:1px solid var(--tl-border); border-radius:20px; overflow:hidden; }
.panel-header { align-items:center; border-bottom:1px solid var(--tl-border); display:flex; justify-content:space-between; padding:1.2rem 1.35rem; }
.panel-title { font-size:1rem; font-weight:800; margin:0; }
.event-card { background:#fff; border:1px solid var(--tl-border); border-radius:20px; color:inherit; display:block; height:100%; overflow:hidden; padding:1.3rem; text-decoration:none; }
.event-card:hover { border-color:#bdb4ff; box-shadow:var(--tl-shadow); color:inherit; transform:translateY(-3px); }
.event-card-accent { background:linear-gradient(90deg,var(--tl-primary),#8a73ff); border-radius:999px; height:5px; margin-bottom:1.15rem; width:48px; }
.empty-state { padding:4rem 1.5rem; text-align:center; }
.empty-icon { align-items:center; background:#eeebff; border-radius:18px; color:var(--tl-primary); display:flex; font-size:1.5rem; height:58px; justify-content:center; margin:0 auto 1rem; width:58px; }
.setup-step { align-items:center; background:#fff; border:1px solid var(--tl-border); border-radius:18px; display:flex; gap:1rem; justify-content:space-between; padding:1.25rem; }
.setup-step:hover { border-color:#c9c1ff; }
.setup-number { align-items:center; background:#eeebff; border-radius:12px; color:var(--tl-primary); display:flex; flex:none; font-weight:850; height:42px; justify-content:center; width:42px; }
.setup-number.complete { background:#e8f8ec; color:#198754; }
.list-group-item { border-color:var(--tl-border); padding:1rem 1.25rem; }
.accordion-button:not(.collapsed) { background:#f3f1ff; color:var(--tl-primary-dark); }

@media (max-width: 767px) { .page-header { align-items:stretch; flex-direction:column; } .page-header .btn { width:100%; } .setup-step { align-items:flex-start; flex-direction:column; } .organizer-heading { align-items:stretch; flex-direction:column; gap:1rem; }.event-toolbar { grid-template-columns:1fr; }.organizer-event { min-height:96px; }.event-avatar { height:54px; width:54px; }.organizer-actions { align-items:flex-start; flex-direction:column; padding:1rem 0; }.navbar-organizer .navbar-toggler { background:#fff; }.wizard-card { min-height:680px; padding:2rem 1.4rem; }.wizard-actions { left:1.4rem; right:1.4rem; }.tournament-topbar { padding:0 1rem; top:76px; }.tournament-topbar .ms-auto a { font-size:0; }.tournament-topbar .ms-auto i { font-size:1.15rem; }.tournament-workspace { grid-template-columns:1fr; }.tournament-sidebar { border-bottom:1px solid var(--tl-border); border-right:0; display:flex; overflow-x:auto; padding:0; position:sticky; top:152px; z-index:1000; }.tournament-sidebar a { flex:0 0 84px; }.tournament-main > .container-fluid { padding-left:1rem; padding-right:1rem; } }

@media (max-width: 991px) { .hero { padding-top:4rem; } .hero-product { margin-top:2rem; transform:none; } }
@media (max-width: 575px) { .hero { padding:3.25rem 0 3.5rem; } .hero h1 { font-size:2.25rem; letter-spacing:-.04em; } .hero-copy { font-size:1rem; } }
@media (max-width:767px) { .workspace-content { padding:1.5rem 1rem 4rem; }.workspace-heading { align-items:stretch; flex-direction:column; gap:1rem; }.settings-grid,.format-grid,.presentation-grid { grid-template-columns:1fr; }.schedule-row,.score-row { align-items:flex-start; flex-direction:column; }.schedule-teams { justify-content:flex-start; }.participant-card { flex-wrap:wrap; }.tournament-sidebar { top:76px; } }
.quick-modal{border:0;border-radius:20px;box-shadow:0 24px 80px rgba(20,15,70,.24);overflow:hidden}.quick-modal .modal-header{padding:1.35rem 1.5rem;border-bottom:1px solid #eceaf6}.quick-modal .modal-body{padding:1.5rem}.modal-dialog:has(.quick-modal){max-width:620px}.modal-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tl-primary,#4b2cff);margin-bottom:.2rem}.quick-modal-loading{min-height:210px;display:grid;place-content:center;text-align:center;gap:.75rem;color:#777}.quick-modal form>div:last-child{margin-top:1.25rem}.quick-modal .form-control,.quick-modal .form-select{min-height:46px;border-radius:10px}.quick-modal .btn{border-radius:10px}
.roster-summary{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;background:#f2efff;border-radius:14px}.roster-summary small,.roster-player small{display:block;color:#777}.roster-count{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#4b2cff;color:#fff;font-weight:800}.roster-list{display:grid;gap:.55rem;max-height:280px;overflow:auto}.roster-player{display:flex;align-items:center;gap:.75rem;padding:.7rem;border:1px solid #ebe9f4;border-radius:12px}.roster-player form{margin:0}.player-number{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:#f4f3f8;font-weight:800;color:#4b2cff}
.public-link-input{display:flex;align-items:center;gap:.5rem;border-bottom:2px solid #aaa;padding:.55rem 0;color:#555}.public-link-input:focus-within{border-color:#4b2cff}.public-link-input i{font-size:1.35rem}.public-link-input span{white-space:nowrap}.public-link-input input{min-width:80px;flex:1;border:0;outline:0;font-size:1.05rem;background:transparent}.public-link-ready{display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;background:#f3f1ff;border-radius:10px;overflow:hidden}.public-link-ready span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem;color:#4b2cff}
.live-score-control{display:grid;grid-template-columns:42px 1fr 42px;gap:.4rem;align-items:center;margin-top:.35rem}.live-score-control button{height:46px;border:0;border-radius:11px;background:#ece9ff;color:#4b2cff;font-size:1.4rem;font-weight:800}.live-score-control input{min-width:0;font-size:1.45rem!important;font-weight:800}
.data-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e7e5ef;border-radius:14px}.workspace-data-table{width:100%;min-width:880px;border-collapse:collapse}.workspace-data-table th{padding:.9rem 1rem;background:#f8f7fb;color:#666;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.workspace-data-table td{padding:.85rem 1rem;border-top:1px solid #eceaf1;vertical-align:middle}.workspace-data-table tbody tr:hover{background:#fbfaff}.workspace-data-table input[type=checkbox]{width:18px;height:18px;accent-color:#4b2cff}.table-team,.table-actions{display:flex;align-items:center;gap:.65rem}.team-avatar.small{width:34px;height:34px;font-size:.85rem}.table-count{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;text-decoration:none;color:#4b2cff}.table-pill{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#eeeaff;color:#4b2cff;font-size:.75rem;font-weight:700;margin:.1rem}.table-actions{justify-content:flex-end}.table-actions form{margin:0}.permissions-table th:not(:first-child),.permissions-table td:not(:first-child){text-align:center}.permissions-table td:first-child small{display:block;color:#777}.permission-on{color:#159447;font-size:1.05rem}
.structure-board{display:flex;align-items:flex-start;gap:1rem;overflow-x:auto;padding:.25rem .15rem 1rem}.structure-column{flex:0 0 285px}.knockout-column{flex-basis:270px}.structure-column-title{display:flex;align-items:center;justify-content:space-between;min-height:60px}.structure-column-title span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#777}.structure-column-title h2{font-size:1.05rem;margin:.1rem 0 0}.phase-card,.bracket-card{background:#fff;border:1px solid #dedbe9;border-radius:12px;overflow:hidden;box-shadow:0 3px 10px rgba(30,22,72,.06)}.phase-card header,.bracket-card header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .8rem;background:#4b2cff;color:#fff;font-weight:800}.phase-card header span{font-size:.7rem;opacity:.8}.phase-card footer{padding:.55rem .8rem;background:#f8f7fb;color:#777;font-size:.78rem}.phase-teams div{display:flex;gap:.6rem;padding:.6rem .75rem;border-bottom:1px solid #efedf4}.phase-teams div span{display:grid;place-items:center;width:22px;height:22px;background:#eeeaff;color:#4b2cff;border-radius:7px;font-size:.72rem;font-weight:800}.bracket-card{margin-bottom:.7rem}.bracket-card header i{color:#9ff2ba}.bracket-card>div span{display:flex;justify-content:space-between;padding:.55rem .7rem;border-bottom:1px solid #eeecf3}.bracket-card>div span.winner{font-weight:800;color:#2815ba;background:#f3f1ff}.bracket-card>a{display:block;padding:.5rem .7rem;text-align:right;font-size:.75rem;font-weight:700;text-decoration:none}
.score-progress{margin-bottom:1.25rem;padding:1.1rem 1.2rem;background:#fff;border:1px solid #e5e2ed;border-radius:14px}.score-progress h2{font-size:1rem;margin-bottom:.85rem}.score-progress-track{display:flex;align-items:center;gap:.75rem;overflow-x:auto}.score-progress article{flex:0 0 180px;padding:.75rem;background:#f8f7fb;border-radius:11px}.score-progress article>div:first-child{display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem}.score-progress article span{font-weight:800;color:#4b2cff}.progress-line{height:5px;margin-top:.65rem;background:#ddd9ec;border-radius:999px;overflow:hidden}.progress-line i{display:block;height:100%;background:#4b2cff;border-radius:inherit}.progress-arrow{color:#aaa}
.public-event-page{min-height:100vh;padding:0 2vw 4rem;background:radial-gradient(circle at 15% 10%,rgba(104,255,170,.2),transparent 28%),linear-gradient(135deg,#171039,#322183 50%,#15102f);color:#262238}.public-event-hero{position:relative;min-height:370px;margin:0 -2vw;display:grid;place-items:center;overflow:hidden;background:linear-gradient(115deg,rgba(7,57,34,.88),rgba(14,28,22,.6)),radial-gradient(ellipse at 45% 90%,#3d9d52 0,#1b6539 38%,#183c2b 70%)}.public-event-hero:before{content:"";position:absolute;inset:auto -10% -45% -10%;height:85%;border-radius:50%;border:4px solid rgba(255,255,255,.18);box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}.public-event-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(8,6,30,.52))}.public-event-identity{position:relative;text-align:center;color:#fff}.public-event-logo{display:grid;place-items:center;width:92px;height:92px;margin:0 auto 1rem;border-radius:28px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);font-size:2.6rem;color:#c9ff4b}.public-event-sport{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800;color:#c9ff4b}.public-event-identity h1{margin:.3rem 0;font-size:clamp(2rem,4vw,3.4rem);font-weight:900}.public-event-identity p{font-size:1.1rem}.public-event-shell{position:relative;max-width:1500px;margin:-40px auto 0;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(4,3,18,.35)}.public-event-nav{display:flex;gap:.3rem;padding:1rem max(1rem,calc((100% - 1120px)/2));overflow-x:auto;background:#4b2cff}.public-event-nav a{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;border-radius:12px;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.public-event-nav a.active,.public-event-nav a:hover{background:rgba(255,255,255,.2)}.public-event-content{max-width:1120px;min-height:480px;margin:auto;padding:2rem 1.25rem 3.5rem}.public-overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1.25rem}.public-white-card,.public-info-card,.public-standing,.public-match-day{border:1px solid #ebe8f2;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(40,30,90,.06)}.public-white-card{padding:1.5rem}.public-card-kicker{color:#4b2cff;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-white-card h2{margin:.4rem 0 1rem;font-size:1.55rem}.public-description{white-space:pre-line;color:#65606f}.public-stats{display:flex;gap:1rem;margin-top:1.5rem}.public-stats div{flex:1;padding:.8rem;background:#f5f3ff;border-radius:12px;text-align:center}.public-stats strong,.public-stats span{display:block}.public-stats strong{font-size:1.35rem;color:#4b2cff}.public-info-card{padding:1.1rem}.public-info-card span{display:block;color:#777;font-size:.78rem;text-transform:uppercase}.public-info-card strong{display:block;margin-top:.6rem}.public-register-cta,.public-closed{display:block;margin-top:1rem;padding:1rem;text-align:center;border-radius:12px;font-weight:800;text-decoration:none}.public-register-cta{background:#4b2cff;color:#fff}.public-closed{background:#f1f0f5;color:#777}.public-search{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;padding:.8rem 1rem;border:1px solid #e5e2ed;border-radius:13px}.public-search input{flex:1;border:0;outline:0}.public-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.public-team-grid article{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #ebe8f2;border-radius:14px}.public-team-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eeeaff;color:#4b2cff}.public-team-grid small{display:block;color:#777}.public-section-title{margin-bottom:1.2rem}.public-section-title h2{margin:0}.public-section-title p{color:#777}.public-standing{overflow:hidden;margin-bottom:1.2rem}.public-standing>header,.public-match-day>header{padding:.8rem 1rem;background:#f0edff;color:#3520bd;font-weight:800}.public-standing table{width:100%;border-collapse:collapse}.public-standing th,.public-standing td{padding:.7rem .8rem;border-top:1px solid #eeecf3;text-align:center}.public-standing th:nth-child(2),.public-standing td:nth-child(2){text-align:left}.public-standing .points{background:#4b2cff;color:#fff;font-weight:900}.public-schedule{display:grid;gap:.85rem}.public-match-day{overflow:hidden}.public-match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;padding:.85rem}.public-match-grid article{padding:.8rem;border:1px solid #ebe8f2;border-radius:12px}.public-match-meta,.public-match-team{display:flex;justify-content:space-between;gap:.5rem}.public-match-meta{padding-bottom:.5rem;color:#777;font-size:.72rem}.public-match-team{padding:.38rem 0;border-top:1px solid #f0eef4}.public-match-team b{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#4b2cff;color:#fff}.public-empty{padding:3rem;text-align:center;color:#777}@media(max-width:900px){.public-overview-grid{grid-template-columns:1fr}.public-team-grid,.public-match-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.public-event-page{padding-left:0;padding-right:0}.public-event-hero{margin:0;min-height:300px}.public-event-shell{margin-top:-20px;border-radius:20px 20px 0 0}.public-event-nav{padding:.7rem}.public-event-nav a{font-size:.75rem;padding:.7rem}.public-event-content{padding:1.25rem .8rem 2.5rem}.public-team-grid,.public-match-grid{grid-template-columns:1fr}.public-stats{gap:.4rem}.public-standing th,.public-standing td{padding:.55rem .45rem;font-size:.76rem}}
.public-event-hero.compact{min-height:330px}.public-registration{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:2rem;max-width:900px;margin:auto}.public-registration h2{margin:.4rem 0}.public-registration>div:first-child>p{color:#777}.public-capacity{display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;margin-top:1.2rem;padding:1rem;border-radius:12px;background:#f1efff}.public-capacity i{grid-row:1/3;font-size:1.5rem;color:#4b2cff}.public-capacity span{font-size:.75rem;color:#777}.public-registration-form{padding:1.4rem;border:1px solid #e7e4ee;border-radius:16px;box-shadow:0 8px 30px rgba(40,30,90,.08)}.public-registration-form .form-control,.public-registration-form .form-select{min-height:46px;border-radius:10px;margin-bottom:.3rem}@media(max-width:760px){.public-registration{grid-template-columns:1fr}}
.event-match-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem;border-radius:14px;background:#f1efff;text-align:center}.event-match-summary span{padding:.45rem .7rem;border-radius:10px;background:#4b2cff;color:#fff;font-size:1.2rem;font-weight:900}.match-timeline-panel{margin-top:1rem;padding:1rem;background:#fff;border:1px solid #e4e1ec;border-radius:14px}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.timeline-heading h2{font-size:1rem;margin:0}.timeline-heading p{font-size:.78rem;color:#777;margin:0}.match-timeline{display:grid;gap:.45rem;max-height:300px;overflow:auto}.timeline-event{display:flex;align-items:center;gap:.65rem;padding:.65rem .7rem;border-radius:11px;background:#f8f7fb}.timeline-event>i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e9e5ff;color:#4b2cff}.timeline-event.type-yellow_card>i{color:#e5b700}.timeline-event.type-red_card>i{color:#d73333}.timeline-event.type-goal>i{color:#159447}.timeline-minute{width:34px;font-weight:900;color:#4b2cff}.timeline-event small{display:block;color:#777}.timeline-event form{margin:0}.timeline-empty{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1.5rem;color:#888}
.public-team-grid>a{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #ebe8f2;border-radius:14px;text-decoration:none;color:inherit}.public-team-grid>a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eeeaff;color:#4b2cff}.public-team-grid>a:hover{border-color:#4b2cff;background:#faf9ff}.public-back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.8rem;padding:.5rem .75rem;border-radius:10px;background:#f3f1f8;color:#514b5c;text-decoration:none;font-size:.78rem;font-weight:800}.public-team-heading{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border:1px solid #ebe8f2;border-radius:15px 15px 0 0}.public-team-heading span{font-size:.72rem;text-transform:uppercase;color:#777}.public-team-heading h2{margin:.1rem 0 0}.team-big-icon{font-size:2rem;color:#4b2cff}.public-team-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:1.25rem;background:#f1eff6;border-radius:0 0 14px 14px;overflow:hidden}.public-team-tabs a{padding:.8rem;text-align:center;text-decoration:none;color:#555;font-size:.78rem;font-weight:800;text-transform:uppercase}.public-team-tabs a.active{background:#4b2cff;color:#fff}.team-matches{padding:0}.public-player-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.public-player-grid article{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #ebe8f2;border-radius:13px}.player-shirt{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#4b2cff;color:#fff;font-weight:900}.public-player-grid small{display:block;color:#777}.team-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.team-stat-cards div{padding:1rem;border-radius:13px;background:#f1efff;text-align:center}.team-stat-cards strong,.team-stat-cards span{display:block}.team-stat-cards strong{font-size:1.5rem;color:#4b2cff}.team-stat-cards span{font-size:.75rem;color:#777}.highlight-team{outline:2px solid #4b2cff;outline-offset:-2px;background:#f3f1ff}@media(max-width:700px){.public-team-tabs{grid-template-columns:repeat(2,1fr)}.public-player-grid{grid-template-columns:1fr}.team-stat-cards{grid-template-columns:repeat(2,1fr)}}
