:root{
    --purple:#6d3df5;
    --purple-dark:#42209a;
    --ink:#171525;
    --muted:#73758a;
    --line:#e9e7f1;
    --bg:#f6f5fa;
    --white:#fff;
}

*{box-sizing:border-box}

body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Thai",Arial,sans-serif;
}

a{text-decoration:none;color:inherit}

.tyfc-shell{min-height:100vh}

.tyfc-header{
    height:70px;
    background:#17122b;
    color:white;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 28px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.brand-mark{
    width:42px;
    height:42px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    background:linear-gradient(135deg,#8a62ff,#5128c9);
    box-shadow:0 7px 20px rgba(109,61,245,.35);
}

.brand-name{
    font-size:19px;
    font-weight:800;
    letter-spacing:1px;
}

.brand-sub{
    font-size:11px;
    opacity:.6;
}

.header-user{
    display:flex;
    gap:18px;
    align-items:center;
    font-size:14px;
}

.header-user a{
    color:#cfc7ff;
}

.tyfc-layout{
    display:flex;
    min-height:calc(100vh - 70px);
}

.sidebar{
    width:235px;
    background:#fff;
    border-right:1px solid var(--line);
    padding:22px 14px;
}

.sidebar a{
    display:block;
    padding:12px 14px;
    margin-bottom:5px;
    border-radius:10px;
    color:#555568;
    font-size:14px;
    font-weight:600;
}

.sidebar a:hover,
.sidebar a.active{
    background:#f0ebff;
    color:var(--purple);
}

.side-title{
    margin:25px 14px 8px;
    font-size:10px;
    font-weight:800;
    color:#aaa7b7;
    letter-spacing:1.5px;
}

.content{
    flex:1;
    padding:32px;
    max-width:1500px;
}

.page-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:25px;
}

.eyebrow{
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    color:var(--purple);
}

h1{
    margin:5px 0;
    font-size:30px;
}

.page-head p{
    margin:0;
    color:var(--muted);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    padding:10px 16px;
    font-size:13px;
    font-weight:700;
    border:0;
}

.btn-primary{
    background:var(--purple);
    color:white;
    box-shadow:0 7px 18px rgba(109,61,245,.22);
}

.btn-light{
    background:#f2f1f7;
    color:#514f62;
}

.alert{
    padding:13px 16px;
    border-radius:11px;
    margin-bottom:18px;
    font-size:14px;
}

.alert.success{
    background:#eaf8ef;
    color:#187642;
}

.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-bottom:20px;
}

.stat-card{
    background:white;
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px;
}

.stat-card span{
    display:block;
    font-size:10px;
    color:#9996a8;
    letter-spacing:1.4px;
    font-weight:800;
}

.stat-card strong{
    display:block;
    font-size:30px;
    margin:5px 0;
}

.stat-card small{
    color:var(--muted);
}

.panel{
    background:white;
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
}

.panel-head{
    padding:20px 22px;
    border-bottom:1px solid var(--line);
}

.panel-head h2{
    margin:0 0 4px;
    font-size:17px;
}

.panel-head span{
    color:var(--muted);
    font-size:12px;
}

.table-wrap{
    overflow-x:auto;
}

table{
    width:100%;
    border-collapse:collapse;
}

th,td{
    padding:15px 20px;
    border-bottom:1px solid #f0eef5;
    text-align:left;
    white-space:nowrap;
}

th{
    font-size:10px;
    color:#9693a4;
    letter-spacing:1px;
}

td{
    font-size:13px;
}

.user-cell{
    display:flex;
    align-items:center;
    gap:11px;
}

.avatar{
    width:38px;
    height:38px;
    border-radius:11px;
    background:#eee9ff;
    color:var(--purple);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
}

.user-cell strong{
    display:block;
}

.user-cell small{
    display:block;
    margin-top:2px;
    color:var(--muted);
}

.role-chip{
    display:inline-block;
    padding:5px 8px;
    border-radius:7px;
    background:#f0ebff;
    color:#5b31c9;
    font-size:11px;
    margin-right:3px;
}

.status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:10px;
    font-weight:800;
}

.status span{
    width:7px;
    height:7px;
    border-radius:50%;
    display:inline-block;
}

.status.online{color:#16834b}
.status.online span{background:#20b968}

.status.offline{color:#a33}
.status.offline span{background:#d44}

.muted{color:var(--muted)}

@media(max-width:900px){
    .sidebar{display:none}
    .content{padding:20px}
    .stats{grid-template-columns:1fr}
    .page-head{align-items:flex-start;flex-direction:column}
}

@media(max-width:600px){
    .tyfc-header{padding:0 15px}
    .header-user{font-size:12px}
    .header-user a{display:none}
    h1{font-size:25px}
}

/* =========================================================
   TYFC COMPETITION UI
   ========================================================= */

.title-with-status {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    white-space: nowrap;
}

.status-draft {
    background: #f3f4f6;
    color: #4b5563;
}

.status-pending_approval {
    background: #fff7ed;
    color: #c2410c;
}

.status-approved {
    background: #ecfdf5;
    color: #047857;
}

.status-locked {
    background: #ede9fe;
    color: #6d28d9;
}

.status-rejected {
    background: #fef2f2;
    color: #b91c1c;
}

.status-archived {
    background: #f1f5f9;
    color: #475569;
}

.competition-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    margin-bottom: 24px;
    padding: 28px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(135deg, #3b176f 0%, #6d28d9 55%, #8b5cf6 100%);
    color: #fff;
    box-shadow: 0 18px 45px rgba(76, 29, 149, .22);
}

.competition-hero-main {
    min-width: 0;
}

.hero-kicker {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    opacity: .72;
    margin-bottom: 8px;
}

.hero-title {
    font-size: clamp(24px, 4vw, 38px);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.025em;
}

.hero-code {
    margin-top: 9px;
    font-size: 13px;
    font-weight: 600;
    opacity: .78;
}

.competition-hero-date {
    min-width: 220px;
    align-self: center;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 16px;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(10px);
}

.competition-hero-date span {
    display: block;
    font-size: 12px;
    opacity: .72;
    margin-bottom: 5px;
}

.competition-hero-date strong {
    display: block;
    font-size: 16px;
}

.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.detail-list {
    display: flex;
    flex-direction: column;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid #eef0f4;
}

.detail-row:last-child {
    border-bottom: 0;
}

.detail-row span {
    color: #6b7280;
    font-size: 13px;
}

.detail-row strong {
    color: #1f2937;
    font-size: 14px;
    text-align: right;
}

.rules-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.rule-card {
    padding: 16px;
    border: 1px solid #ececf2;
    border-radius: 15px;
    background: #fafafd;
}

.rule-card span {
    display: block;
    color: #6b7280;
    font-size: 12px;
    margin-bottom: 7px;
}

.rule-card strong {
    display: block;
    color: #312e81;
    font-size: 17px;
}

.points-box {
    margin-top: 16px;
    padding: 16px;
    border-radius: 15px;
    background: #f7f5ff;
    border: 1px solid #e9e3ff;
}

.points-title {
    font-size: 12px;
    font-weight: 800;
    color: #5b21b6;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.points-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.points-grid > div {
    text-align: center;
    padding: 10px;
    background: #fff;
    border-radius: 12px;
}

.points-grid span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    margin-bottom: 4px;
}

.points-grid strong {
    font-size: 22px;
    color: #4c1d95;
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.module-card {
    position: relative;
    min-height: 145px;
    padding: 18px;
    border: 1px solid #ececf2;
    border-radius: 17px;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.module-card:hover {
    transform: translateY(-2px);
    border-color: #d8ccff;
    box-shadow: 0 12px 28px rgba(76, 29, 149, .09);
}

.module-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f3efff;
    font-size: 20px;
    margin-bottom: 14px;
}

.module-card strong {
    display: block;
    font-size: 15px;
    color: #27213b;
    margin-bottom: 5px;
}

.module-card span {
    display: block;
    color: #6b7280;
    font-size: 12px;
}

.module-card small {
    display: inline-block;
    margin-top: 10px;
    color: #7c3aed;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.workflow {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px 0;
}

.workflow-step {
    flex: 0 0 auto;
    min-width: 115px;
    text-align: center;
    color: #9ca3af;
}

.workflow-step > span {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    border-radius: 50%;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
}

.workflow-step strong {
    display: block;
    font-size: 13px;
}

.workflow-step small {
    display: block;
    margin-top: 3px;
    font-size: 10px;
}

.workflow-step.current {
    color: #5b21b6;
}

.workflow-step.current > span {
    background: #ede9fe;
    color: #6d28d9;
    box-shadow: 0 0 0 5px #f7f5ff;
}

.workflow-line {
    flex: 1;
    height: 2px;
    background: #e5e7eb;
    min-width: 30px;
}

.form-panel {
    max-width: 1100px;
}

.form-section {
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: 1px solid #ececf2;
}

.form-section:last-of-type {
    border-bottom: 0;
}

.form-section-title {
    margin-bottom: 17px;
    font-size: 15px;
    font-weight: 800;
    color: #312e81;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.form-span-2 {
    grid-column: span 2;
}

.form-group label {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 700;
    color: #374151;
}

.form-group input,
.form-group select {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #dcdfe7;
    border-radius: 11px;
    background: #fff;
    color: #1f2937;
    font: inherit;
    box-sizing: border-box;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .12);
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 4px;
}

.alert {
    margin-bottom: 20px;
    padding: 13px 16px;
    border-radius: 12px;
    font-size: 13px;
}

.alert-success {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.alert-danger {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

@media (max-width: 900px) {

    .detail-grid {
        grid-template-columns: 1fr;
    }

    .module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-span-2 {
        grid-column: span 2;
    }

}

@media (max-width: 640px) {

    .competition-hero {
        grid-template-columns: 1fr;
        padding: 21px;
        border-radius: 17px;
    }

    .competition-hero-date {
        min-width: 0;
    }

    .rules-grid,
    .module-grid,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-span-2 {
        grid-column: span 1;
    }

    .points-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .detail-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .detail-row strong {
        text-align: left;
    }

    .workflow {
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 15px;
    }

    .workflow-step {
        min-width: 95px;
    }

    .workflow-line {
        min-width: 25px;
    }

    .form-actions {
        flex-direction: column-reverse;
    }

    .form-actions .btn {
        width: 100%;
    }

}


/* =========================================================
   TYFC LOGIN / SPORT-TECH UI
   ========================================================= */

.auth-page{
    min-height:100vh;
    margin:0;
    background:#17122b;
    overflow-x:hidden;
}

.auth-background{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%,rgba(109,61,245,.28),transparent 32%),
        radial-gradient(circle at 85% 80%,rgba(91,48,190,.22),transparent 34%),
        #17122b;
}

.auth-grid{
    position:absolute;
    inset:0;
    opacity:.12;
    background-image:
        linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent);
}

.auth-orb{
    position:absolute;
    border-radius:50%;
    filter:blur(2px);
    pointer-events:none;
}

.auth-orb-one{
    width:420px;
    height:420px;
    top:-190px;
    left:-150px;
    background:rgba(109,61,245,.14);
}

.auth-orb-two{
    width:360px;
    height:360px;
    bottom:-180px;
    right:-100px;
    background:rgba(137,98,255,.12);
}

.auth-container{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1120px;
    min-height:650px;
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;
    overflow:hidden;
    background:rgba(255,255,255,.055);
    box-shadow:
        0 40px 100px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
}

.auth-brand-panel{
    padding:70px 64px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
    background:
        linear-gradient(
            145deg,
            rgba(109,61,245,.24),
            rgba(23,18,43,.22)
        );
}

.auth-brand-mark{
    width:76px;
    height:76px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    background:linear-gradient(135deg,#8d68ff,#5128c9);
    box-shadow:
        0 16px 40px rgba(109,61,245,.35),
        inset 0 1px 0 rgba(255,255,255,.25);
}

.auth-brand-mark span{
    font-size:25px;
    font-weight:950;
    letter-spacing:-2px;
}

.auth-brand-mark.small{
    width:48px;
    height:48px;
    margin:0;
    border-radius:14px;
}

.auth-brand-mark.small span{
    font-size:17px;
}

.auth-brand-name{
    font-size:16px;
    font-weight:900;
    letter-spacing:3px;
    margin-bottom:42px;
}

.auth-brand-title{
    font-size:38px;
    line-height:1.08;
    letter-spacing:-1.5px;
    font-weight:500;
}

.auth-brand-title strong{
    font-weight:900;
}

.auth-brand-description{
    max-width:440px;
    margin:22px 0 36px;
    color:rgba(255,255,255,.68);
    font-size:15px;
    line-height:1.8;
}

.auth-feature-list{
    display:grid;
    gap:14px;
}

.auth-feature{
    display:flex;
    align-items:center;
    gap:14px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:15px;
    background:rgba(255,255,255,.035);
}

.auth-feature-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.09);
    font-size:17px;
}

.auth-feature strong{
    display:block;
    font-size:13px;
    margin-bottom:2px;
}

.auth-feature small{
    display:block;
    color:rgba(255,255,255,.48);
    font-size:11px;
}

.auth-login-panel{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px;
    background:#f7f6fb;
}

.auth-login-card{
    width:100%;
    max-width:410px;
}

.auth-mobile-brand{
    display:none;
}

.auth-heading{
    margin-bottom:30px;
}

.auth-kicker{
    display:inline-block;
    margin-bottom:10px;
    color:var(--purple);
    font-size:10px;
    font-weight:900;
    letter-spacing:2px;
}

.auth-heading h1{
    margin:0 0 7px;
    font-size:32px;
    line-height:1.15;
    letter-spacing:-1px;
}

.auth-heading p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

.auth-error{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:13px 14px;
    margin-bottom:20px;
    border:1px solid #f0caca;
    border-radius:13px;
    background:#fff5f5;
    color:#a12b2b;
}

.auth-error-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#c83b3b;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.auth-error strong,
.auth-error span{
    display:block;
}

.auth-error strong{
    font-size:12px;
    margin-bottom:2px;
}

.auth-error div span{
    font-size:12px;
    opacity:.8;
}

.auth-form{
    display:grid;
    gap:20px;
}

.auth-field label{
    display:block;
    margin-bottom:8px;
    color:#363547;
    font-size:12px;
    font-weight:800;
}

.auth-input-wrap{
    position:relative;
}

.auth-input-icon{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    color:#9995ac;
    font-size:14px;
    pointer-events:none;
}

.auth-input-wrap input{
    width:100%;
    height:52px;
    padding:0 15px 0 43px;
    border:1px solid #dedce8;
    border-radius:13px;
    outline:none;
    background:#fff;
    color:#20202d;
    font-family:inherit;
    font-size:14px;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.auth-input-wrap input::placeholder{
    color:#aaa7b7;
}

.auth-input-wrap input:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 4px rgba(109,61,245,.10);
    background:#fff;
}

.auth-password-toggle{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    height:36px;
    padding:0 10px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--purple);
    cursor:pointer;
    font-family:inherit;
    font-size:11px;
    font-weight:800;
}

.auth-password-toggle:hover{
    background:#f1edff;
}

.auth-submit{
    width:100%;
    height:54px;
    margin-top:4px;
    border:0;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    color:#fff;
    background:linear-gradient(135deg,#7650f7,#5128c9);
    box-shadow:0 12px 26px rgba(109,61,245,.28);
    font-family:inherit;
    font-size:14px;
    font-weight:900;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.auth-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 32px rgba(109,61,245,.34);
}

.auth-submit:active{
    transform:translateY(0);
}

.auth-submit-arrow{
    font-size:20px;
    line-height:1;
}

.auth-submit.loading{
    opacity:.75;
    cursor:wait;
}

.auth-security{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:22px;
    color:#9290a0;
    font-size:10px;
    font-weight:700;
}

.auth-security-icon{
    width:17px;
    height:17px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e9f6ed;
    color:#2b8b49;
    font-size:10px;
}

.auth-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:32px;
    padding-top:17px;
    border-top:1px solid #e9e7f1;
    color:#aaa7b7;
    font-size:9px;
}


/* =========================================================
   LOGIN RESPONSIVE
   ========================================================= */

@media (max-width:900px){

    .auth-background{
        padding:20px;
    }

    .auth-container{
        max-width:650px;
        min-height:auto;
        grid-template-columns:1fr;
    }

    .auth-brand-panel{
        display:none;
    }

    .auth-login-panel{
        min-height:650px;
        padding:50px 40px;
    }

    .auth-mobile-brand{
        display:flex;
        align-items:center;
        gap:11px;
        margin-bottom:42px;
        color:#211d32;
        font-size:18px;
        letter-spacing:1px;
    }

}

@media (max-width:520px){

    .auth-background{
        min-height:100svh;
        padding:0;
        align-items:stretch;
    }

    .auth-container{
        width:100%;
        min-height:100svh;
        border:0;
        border-radius:0;
        box-shadow:none;
        background:#f7f6fb;
    }

    .auth-login-panel{
        min-height:100svh;
        padding:
            max(28px,env(safe-area-inset-top))
            22px
            max(24px,env(safe-area-inset-bottom));
        align-items:flex-start;
    }

    .auth-login-card{
        max-width:none;
        padding-top:15px;
    }

    .auth-mobile-brand{
        margin-bottom:55px;
    }

    .auth-heading h1{
        font-size:29px;
    }

    .auth-heading{
        margin-bottom:27px;
    }

    .auth-form{
        gap:18px;
    }

    .auth-input-wrap input{
        height:54px;
        border-radius:12px;
    }

    .auth-submit{
        height:56px;
        border-radius:12px;
    }

    .auth-footer{
        margin-top:28px;
        flex-direction:column;
        justify-content:center;
        text-align:center;
    }

}

@media (max-width:360px){

    .auth-login-panel{
        padding-left:17px;
        padding-right:17px;
    }

    .auth-mobile-brand{
        margin-bottom:42px;
    }

    .auth-heading h1{
        font-size:26px;
    }

}

/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.auth-submit:focus-visible,
.auth-password-toggle:focus-visible,
.auth-input-wrap input:focus-visible{
    outline:3px solid rgba(109,61,245,.22);
    outline-offset:2px;
}

@media (prefers-reduced-motion:reduce){

    .auth-submit,
    .auth-input-wrap input{
        transition:none;
    }

}


/* =========================================================
   TYFC COMMAND CENTER V2
   ========================================================= */

.tyfc-dashboard{
    background:#f5f4f9;
    color:#191827;
}

.tyfc-app{
    min-height:100vh;
    display:flex;
}

.tyfc-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:100;
    width:250px;
    display:flex;
    flex-direction:column;
    background:#17122b;
    color:#fff;
    box-shadow:10px 0 35px rgba(18,13,39,.10);
}

.tyfc-sidebar-brand{
    height:88px;
    padding:20px 21px;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.tyfc-sidebar-brand strong{
    display:block;
    font-size:18px;
    letter-spacing:1.5px;
}

.tyfc-sidebar-brand small{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.42);
    font-size:9px;
}

.tyfc-logo-mark{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:linear-gradient(135deg,#8b63ff,#5128c9);
    box-shadow:0 10px 25px rgba(109,61,245,.28);
    font-size:15px;
    font-weight:950;
    letter-spacing:-1px;
}

.tyfc-nav{
    flex:1;
    overflow-y:auto;
    padding:20px 12px;
}

.tyfc-nav-label{
    padding:16px 12px 7px;
    color:rgba(255,255,255,.28);
    font-size:9px;
    font-weight:900;
    letter-spacing:1.7px;
}

.tyfc-nav-item{
    position:relative;
    min-height:43px;
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:3px;
    padding:10px 12px;
    border-radius:10px;
    color:rgba(255,255,255,.58);
    font-size:12px;
    font-weight:700;
    transition:background .16s ease,color .16s ease;
}

.tyfc-nav-item:hover,
.tyfc-nav-item.active{
    color:#fff;
    background:rgba(126,89,255,.19);
}

.tyfc-nav-item.active:before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    bottom:9px;
    width:3px;
    border-radius:0 4px 4px 0;
    background:#9a7aff;
}

.nav-icon{
    width:24px;
    text-align:center;
    font-size:15px;
}

.tyfc-nav-item em{
    margin-left:auto;
    color:rgba(255,255,255,.27);
    font-size:7px;
    font-style:normal;
}

.nav-disabled{
    cursor:default;
    opacity:.65;
}

.tyfc-sidebar-bottom{
    padding:15px 13px 17px;
    border-top:1px solid rgba(255,255,255,.07);
}

.tyfc-user-mini{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
    border-radius:12px;
    background:rgba(255,255,255,.045);
}

.tyfc-avatar,
.tyfc-topbar-avatar,
.tyfc-account-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:50%;
    background:linear-gradient(135deg,#8c68ff,#5128c9);
    color:#fff;
    font-weight:900;
}

.tyfc-avatar{
    width:32px;
    height:32px;
    font-size:12px;
}

.tyfc-user-mini strong{
    display:block;
    max-width:145px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
}

.tyfc-user-mini small{
    display:block;
    max-width:145px;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:rgba(255,255,255,.35);
    font-size:8px;
}

.tyfc-logout{
    display:block;
    margin-top:8px;
    padding:8px;
    text-align:center;
    color:rgba(255,255,255,.36);
    font-size:9px;
}

.tyfc-logout:hover{
    color:#fff;
}

.tyfc-main{
    width:calc(100% - 250px);
    margin-left:250px;
    min-width:0;
}

.tyfc-topbar{
    height:70px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 32px;
    background:#fff;
    border-bottom:1px solid #e9e7f1;
}

.tyfc-menu-toggle{
    display:none;
}

.tyfc-topbar-title span{
    display:block;
    color:#8e8b9b;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.5px;
}

.tyfc-topbar-title strong{
    display:block;
    margin-top:2px;
    font-size:13px;
}

.tyfc-topbar-user{
    display:flex;
    align-items:center;
    gap:10px;
}

.tyfc-topbar-avatar{
    width:34px;
    height:34px;
    font-size:11px;
}

.tyfc-topbar-user-text strong{
    display:block;
    font-size:10px;
}

.tyfc-topbar-user-text small{
    display:block;
    margin-top:2px;
    color:#9995a6;
    font-size:8px;
}

.tyfc-content{
    width:100%;
    max-width:1550px;
    margin:0 auto;
    padding:34px;
}

.tyfc-welcome{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:28px;
}

.tyfc-eyebrow{
    margin-bottom:8px;
    color:var(--purple);
    font-size:9px;
    font-weight:900;
    letter-spacing:1.8px;
}

.tyfc-welcome h1{
    margin:0;
    font-size:31px;
    line-height:1.1;
    letter-spacing:-1px;
}

.tyfc-welcome p{
    margin:9px 0 0;
    color:#898697;
    font-size:13px;
}

.tyfc-system-badge{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:150px;
    padding:11px 13px;
    border:1px solid #e6e4ec;
    border-radius:12px;
    background:#fff;
}

.tyfc-system-badge > span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#28ad61;
    box-shadow:0 0 0 4px #e7f6ed;
}

.tyfc-system-badge strong{
    display:block;
    font-size:10px;
}

.tyfc-system-badge small{
    display:block;
    margin-top:2px;
    color:#9995a5;
    font-size:8px;
}

.tyfc-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
    margin-bottom:18px;
}

.tyfc-kpi-card{
    position:relative;
    min-height:145px;
    padding:19px;
    overflow:hidden;
    border:1px solid #e9e7f0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 20px rgba(35,29,60,.035);
}

.tyfc-kpi-card:after{
    content:"";
    position:absolute;
    width:110px;
    height:110px;
    right:-40px;
    bottom:-55px;
    border-radius:50%;
    opacity:.08;
    background:currentColor;
}

.tyfc-kpi-card.purple{color:#7045ec}
.tyfc-kpi-card.blue{color:#3479d5}
.tyfc-kpi-card.green{color:#2c9b59}
.tyfc-kpi-card.orange{color:#d18427}

.tyfc-kpi-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#777486;
    font-size:10px;
    font-weight:800;
}

.tyfc-kpi-top i{
    width:31px;
    height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#f6f4fb;
    font-style:normal;
}

.tyfc-kpi-card > strong{
    display:block;
    margin-top:15px;
    color:#211f2e;
    font-size:30px;
    line-height:1;
    letter-spacing:-1px;
}

.tyfc-kpi-card > small{
    display:block;
    margin-top:7px;
    color:#a09daa;
    font-size:9px;
}

.tyfc-main-grid{
    display:grid;
    grid-template-columns:1.35fr .95fr;
    gap:18px;
    margin-bottom:18px;
}

.tyfc-bottom-grid{
    display:grid;
    grid-template-columns:1.35fr .95fr;
    gap:18px;
}

.tyfc-panel{
    min-width:0;
    border:1px solid #e8e6ef;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 20px rgba(35,29,60,.035);
}

.tyfc-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    padding:20px 20px 14px;
}

.tyfc-panel-kicker{
    display:block;
    margin-bottom:5px;
    color:#aaa6b5;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.5px;
}

.tyfc-panel-head h2{
    margin:0;
    font-size:15px;
    letter-spacing:-.2px;
}

.tyfc-text-link{
    color:var(--purple);
    font-size:9px;
    font-weight:800;
}

.tyfc-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:220px;
    padding:25px;
    text-align:center;
}

.tyfc-empty-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
    border-radius:15px;
    background:#f1edff;
    font-size:22px;
}

.tyfc-empty strong{
    font-size:13px;
}

.tyfc-empty p{
    margin:6px 0 15px;
    color:#9995a6;
    font-size:10px;
}

.tyfc-primary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:37px;
    padding:0 15px;
    border-radius:9px;
    color:#fff;
    background:linear-gradient(135deg,#7951f7,#5128c9);
    font-size:10px;
    font-weight:900;
}

.tyfc-competition-list{
    padding:0 10px 10px;
}

.tyfc-competition-row{
    display:flex;
    align-items:center;
    gap:11px;
    padding:12px 10px;
    border-radius:11px;
}

.tyfc-competition-row:hover{
    background:#faf9fd;
}

.tyfc-comp-icon{
    width:37px;
    height:37px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 37px;
    border-radius:10px;
    background:#f2efff;
}

.tyfc-comp-info{
    min-width:0;
    flex:1;
}

.tyfc-comp-info strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#292736;
    font-size:11px;
}

.tyfc-comp-info small{
    display:block;
    margin-top:3px;
    color:#a29eae;
    font-size:8px;
}

.tyfc-status{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:20px;
    font-size:7px;
    font-weight:900;
}

.tyfc-status.draft{
    background:#f1f0f4;
    color:#777482;
}

.tyfc-status.pending_approval{
    background:#fff4df;
    color:#a96913;
}

.tyfc-status.approved{
    background:#e9f8ef;
    color:#25834a;
}

.tyfc-status.locked{
    background:#eeeafa;
    color:#5d4b91;
}

.tyfc-status.rejected{
    background:#fff0f0;
    color:#b13d3d;
}

.tyfc-status.archived{
    background:#eeeeef;
    color:#74747d;
}

.tyfc-action-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    padding:4px 20px 20px;
}

.tyfc-action-card{
    display:block;
    min-height:104px;
    padding:14px;
    border:1px solid #ebe9f1;
    border-radius:12px;
    background:#fbfafd;
}

.tyfc-action-card:hover{
    border-color:#dcd5f5;
    background:#f7f4ff;
}

.tyfc-action-card > span{
    display:flex;
    width:31px;
    height:31px;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
    border-radius:9px;
    background:#eeeaff;
    font-size:14px;
}

.tyfc-action-card strong{
    display:block;
    color:#2a2836;
    font-size:10px;
}

.tyfc-action-card small{
    display:block;
    margin-top:3px;
    color:#9d99a9;
    font-size:8px;
}

.tyfc-action-card.disabled{
    opacity:.5;
    cursor:default;
}

.tyfc-workflow{
    display:flex;
    align-items:center;
    padding:22px 25px 27px;
}

.tyfc-workflow-item{
    min-width:60px;
    text-align:center;
}

.tyfc-workflow-item strong{
    display:block;
    color:#2b2938;
    font-size:21px;
}

.tyfc-workflow-item span{
    display:block;
    margin-top:4px;
    color:#9c98a7;
    font-size:8px;
}

.tyfc-workflow-item.success strong{
    color:#2c9b59;
}

.tyfc-workflow-item.locked strong{
    color:#68549d;
}

.tyfc-workflow-line{
    flex:1;
    height:1px;
    margin:0 9px;
    background:#e3e0ea;
}

.tyfc-account-panel{
    min-height:140px;
}

.tyfc-account{
    display:flex;
    align-items:center;
    gap:13px;
    padding:3px 20px 22px;
}

.tyfc-account-avatar{
    width:50px;
    height:50px;
    font-size:17px;
}

.tyfc-account-info strong{
    display:block;
    font-size:12px;
}

.tyfc-account-info span{
    display:block;
    margin-top:3px;
    color:#9a96a6;
    font-size:9px;
}

.tyfc-account-info small{
    display:inline-block;
    margin-top:7px;
    padding:4px 7px;
    border-radius:5px;
    background:#f1edff;
    color:#6843dc;
    font-size:7px;
    font-weight:900;
}

.tyfc-footer{
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:24px 2px 5px;
    color:#aaa7b4;
    font-size:8px;
}


/* =========================================================
   DASHBOARD MOBILE
   ========================================================= */

.tyfc-sidebar-overlay{
    display:none;
}

@media (max-width:1100px){

    .tyfc-kpi-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-main-grid,
    .tyfc-bottom-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:800px){

    .tyfc-sidebar{
        transform:translateX(-100%);
        transition:transform .22s ease;
        box-shadow:20px 0 50px rgba(0,0,0,.22);
    }

    .tyfc-sidebar.open{
        transform:translateX(0);
    }

    .tyfc-sidebar-overlay{
        position:fixed;
        inset:0;
        z-index:90;
        display:block;
        background:rgba(13,10,25,.48);
        opacity:0;
        visibility:hidden;
        transition:opacity .2s ease,visibility .2s ease;
    }

    .tyfc-sidebar-overlay.open{
        opacity:1;
        visibility:visible;
    }

    .tyfc-main{
        width:100%;
        margin-left:0;
    }

    .tyfc-topbar{
        height:62px;
        padding:0 18px;
    }

    .tyfc-menu-toggle{
        display:flex;
        width:36px;
        height:36px;
        align-items:center;
        justify-content:center;
        margin-right:10px;
        border:0;
        border-radius:9px;
        background:#f2effa;
        color:#5d43a6;
        cursor:pointer;
        font-size:16px;
    }

    .tyfc-topbar{
        justify-content:flex-start;
    }

    .tyfc-topbar-title{
        flex:1;
    }

    .tyfc-topbar-user-text{
        display:none;
    }

    .tyfc-content{
        padding:24px 18px 30px;
    }

    .tyfc-welcome{
        align-items:flex-start;
        flex-direction:column;
        margin-bottom:22px;
    }

    .tyfc-welcome h1{
        font-size:27px;
    }

    .tyfc-system-badge{
        width:100%;
    }

}

@media (max-width:520px){

    .tyfc-kpi-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .tyfc-kpi-card{
        min-height:120px;
        padding:14px;
        border-radius:13px;
    }

    .tyfc-kpi-top span{
        font-size:8px;
    }

    .tyfc-kpi-top i{
        width:26px;
        height:26px;
        font-size:12px;
    }

    .tyfc-kpi-card > strong{
        margin-top:13px;
        font-size:25px;
    }

    .tyfc-kpi-card > small{
        font-size:7px;
    }

    .tyfc-panel{
        border-radius:13px;
    }

    .tyfc-panel-head{
        padding:17px 15px 12px;
    }

    .tyfc-action-grid{
        padding:3px 14px 14px;
        gap:7px;
    }

    .tyfc-action-card{
        min-height:96px;
        padding:11px;
    }

    .tyfc-action-card strong{
        font-size:9px;
    }

    .tyfc-workflow{
        padding:18px 12px 22px;
    }

    .tyfc-workflow-item strong{
        font-size:17px;
    }

    .tyfc-workflow-item span{
        font-size:7px;
    }

    .tyfc-workflow-line{
        margin:0 4px;
    }

    .tyfc-footer{
        flex-direction:column;
        align-items:center;
        text-align:center;
        padding-top:20px;
    }

}

@media (max-width:360px){

    .tyfc-content{
        padding-left:13px;
        padding-right:13px;
    }

    .tyfc-kpi-grid{
        gap:7px;
    }

    .tyfc-kpi-card{
        padding:11px;
    }

}

/* =========================================================
   TYFC TYPOGRAPHY & MOBILE READABILITY V1
   Global readability upgrade
   ========================================================= */

html {
    font-size: 16px;
}

body {
    font-size: 16px;
    line-height: 1.65;
}

/* Sidebar / Main Navigation */
.sidebar,
.sidebar-nav,
.sidebar-menu,
.nav-menu {
    font-size: 15.5px;
}

.sidebar a,
.sidebar button,
.sidebar-nav a,
.sidebar-menu a,
.nav-menu a {
    font-size: 15.5px;
    line-height: 1.45;
    min-height: 44px;
}

/* Topbar */
.topbar,
.topbar a,
.topbar button {
    font-size: 15px;
}

/* Page headings */
.page-header h1 {
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.25;
}

.page-subtitle {
    font-size: 15.5px;
    line-height: 1.6;
}

.eyebrow {
    font-size: 12px;
    letter-spacing: .08em;
}

/* Panels */
.panel-header h2 {
    font-size: 20px;
    line-height: 1.35;
}

.panel-subtitle {
    font-size: 14px;
    line-height: 1.5;
}

/* General text */
.detail-row,
.rule-card,
.module-card,
.workflow-step,
.alert {
    font-size: 15px;
}

.detail-row strong,
.rule-card strong,
.module-card strong,
.workflow-step strong {
    font-size: 16px;
}

/* Buttons */
.btn {
    font-size: 15.5px;
    line-height: 1.4;
    min-height: 44px;
    padding: 10px 17px;
}

/* Forms */
.form-group label {
    font-size: 15px;
    line-height: 1.5;
}

.form-group input,
.form-group select,
.form-group textarea {
    font-size: 16px;
    min-height: 46px;
}

.form-group textarea {
    min-height: 100px;
}

.form-section-title {
    font-size: 18px;
}

/* Tables */
table {
    font-size: 15px;
}

th {
    font-size: 14px;
}

td {
    font-size: 15px;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    html {
        font-size: 16px;
    }

    body {
        font-size: 16px;
        line-height: 1.7;
    }

    .sidebar a,
    .sidebar button,
    .sidebar-nav a,
    .sidebar-menu a,
    .nav-menu a {
        font-size: 17px;
        min-height: 48px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .topbar {
        font-size: 16px;
    }

    .page-header {
        gap: 14px;
    }

    .page-header h1 {
        font-size: 28px;
        line-height: 1.3;
    }

    .page-subtitle {
        font-size: 16px;
    }

    .eyebrow {
        font-size: 12px;
    }

    .panel-header h2 {
        font-size: 21px;
    }

    .panel-subtitle {
        font-size: 14.5px;
    }

    .detail-row,
    .rule-card,
    .module-card,
    .workflow-step,
    .alert {
        font-size: 16px;
    }

    .detail-row strong,
    .rule-card strong,
    .module-card strong,
    .workflow-step strong {
        font-size: 17px;
    }

    .btn {
        width: 100%;
        min-height: 48px;
        font-size: 16px;
        padding: 11px 18px;
    }

    .page-actions {
        width: 100%;
    }

    .page-actions .btn {
        width: 100%;
    }

    .form-group label {
        font-size: 16px;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        font-size: 16px;
        min-height: 48px;
    }

    table {
        font-size: 15px;
    }

    th {
        font-size: 14px;
    }

    td {
        font-size: 15px;
    }
}

/* Small phones */
@media (max-width: 480px) {

    .page-header h1 {
        font-size: 25px;
    }

    .panel-header h2 {
        font-size: 20px;
    }

    .btn {
        min-height: 50px;
        font-size: 16px;
    }

    .sidebar a,
    .sidebar button,
    .sidebar-nav a,
    .sidebar-menu a,
    .nav-menu a {
        font-size: 17px;
        min-height: 50px;
    }
}


/* =========================================================
   TYFC GLOBAL TYPOGRAPHY V2
   Actual TYFC UI selectors
   Desktop + Mobile
   ========================================================= */

/* Base */
.tyfc-dashboard,
.tyfc-app {
    font-size: 16px;
}

/* Sidebar */
.tyfc-sidebar {
    font-size: 16px;
}

.tyfc-sidebar-brand strong {
    font-size: 18px;
}

.tyfc-sidebar-brand small {
    font-size: 13px;
}

.tyfc-nav-label {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: .08em;
}

.tyfc-nav-item {
    font-size: 16px;
    line-height: 1.45;
    min-height: 46px;
}

.tyfc-nav-item .nav-icon {
    font-size: 18px;
}

.tyfc-nav-item em {
    font-size: 11px;
}

/* Topbar */
.tyfc-topbar {
    font-size: 16px;
}

/* Dashboard headings */
.tyfc-dashboard h1 {
    font-size: 30px;
    line-height: 1.3;
}

.tyfc-dashboard h2 {
    font-size: 21px;
    line-height: 1.4;
}

.tyfc-dashboard h3 {
    font-size: 18px;
    line-height: 1.4;
}

/* General dashboard text */
.tyfc-dashboard p {
    font-size: 15.5px;
    line-height: 1.65;
}

/* KPI */
.tyfc-dashboard .kpi-value {
    font-size: 30px;
    line-height: 1.2;
}

.tyfc-dashboard .kpi-label {
    font-size: 14px;
}

/* Buttons */
.tyfc-dashboard .btn {
    min-height: 44px;
    font-size: 15.5px;
    line-height: 1.4;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .tyfc-dashboard,
    .tyfc-app {
        font-size: 16px;
    }

    .tyfc-sidebar-brand strong {
        font-size: 19px;
    }

    .tyfc-sidebar-brand small {
        font-size: 13px;
    }

    .tyfc-nav-label {
        font-size: 12px;
    }

    .tyfc-nav-item {
        font-size: 17px;
        min-height: 50px;
        line-height: 1.45;
    }

    .tyfc-nav-item .nav-icon {
        font-size: 19px;
    }

    .tyfc-nav-item em {
        font-size: 12px;
    }

    .tyfc-topbar {
        font-size: 16px;
    }

    .tyfc-dashboard h1 {
        font-size: 28px;
    }

    .tyfc-dashboard h2 {
        font-size: 21px;
    }

    .tyfc-dashboard h3 {
        font-size: 18px;
    }

    .tyfc-dashboard p {
        font-size: 16px;
    }

    .tyfc-dashboard .kpi-value {
        font-size: 28px;
    }

    .tyfc-dashboard .kpi-label {
        font-size: 15px;
    }

    .tyfc-dashboard .btn {
        min-height: 48px;
        font-size: 16px;
    }
}

/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 480px) {

    .tyfc-nav-item {
        font-size: 17px;
        min-height: 52px;
    }

    .tyfc-dashboard h1 {
        font-size: 26px;
    }

    .tyfc-dashboard h2 {
        font-size: 20px;
    }

    .tyfc-dashboard .kpi-value {
        font-size: 27px;
    }

    .tyfc-dashboard .btn {
        min-height: 50px;
        font-size: 16px;
    }
}


/* =========================================================
   TYFC APP SHELL FIX
   Sidebar + Main Content
   ========================================================= */

.tyfc-app {
    min-height: 100vh;
}

.tyfc-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 250px;
    z-index: 1000;
    overflow-y: auto;
}

.tyfc-main {
    min-height: 100vh;
    margin-left: 250px;
    width: calc(100% - 250px);
    box-sizing: border-box;
}

.tyfc-main-full {
    margin-left: 0;
    width: 100%;
}

/* Page content */
.tyfc-page {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 28px 32px 48px;
    box-sizing: border-box;
}

/* Topbar inside main area */
.tyfc-main > .tyfc-topbar {
    position: sticky;
    top: 0;
    z-index: 900;
}

/* Mobile */
@media (max-width: 768px) {
    .tyfc-sidebar {
        width: 280px;
        transform: translateX(-100%);
        transition: transform .22s ease;
    }

    .tyfc-sidebar.is-open {
        transform: translateX(0);
    }

    .tyfc-main {
        margin-left: 0;
        width: 100%;
    }

    .tyfc-page {
        padding: 22px 18px 40px;
    }
}

/* Small phone */
@media (max-width: 480px) {
    .tyfc-page {
        padding: 18px 14px 32px;
    }
}


/* =========================================================
   TYFC V1 — Teams Page UI
   Scope: Teams Page only
   Do not affect Shell / Sidebar / Dashboard
   ========================================================= */

.tyfc-teams-page {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 28px 24px 48px;
}

.tyfc-teams-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.tyfc-teams-title {
    margin: 0;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.tyfc-teams-subtitle {
    margin: 7px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
}

.tyfc-teams-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tyfc-teams-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.tyfc-teams-search {
    position: relative;
    flex: 1 1 320px;
    max-width: 520px;
}

.tyfc-teams-search input {
    width: 100%;
    height: 42px;
    padding: 0 14px 0 42px;
    border: 1px solid #dbe2ea;
    border-radius: 11px;
    background: #f8fafc;
    color: #0f172a;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.tyfc-teams-search input:focus {
    background: #ffffff;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
}

.tyfc-teams-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.tyfc-teams-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tyfc-teams-filter select {
    height: 42px;
    min-width: 150px;
    padding: 0 36px 0 13px;
    border: 1px solid #dbe2ea;
    border-radius: 11px;
    background: #ffffff;
    color: #334155;
    outline: none;
}

.tyfc-teams-filter select:focus {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
}

/* Team grid */

.tyfc-teams-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.tyfc-team-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.05);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.tyfc-team-card:hover {
    transform: translateY(-2px);
    border-color: #c4b5fd;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.09);
}

.tyfc-team-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.tyfc-team-identity {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.tyfc-team-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}

.tyfc-team-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.tyfc-team-logo-placeholder {
    font-size: 20px;
    font-weight: 800;
    color: #7c3aed;
}

.tyfc-team-name {
    min-width: 0;
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.tyfc-team-meta {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.45;
    color: #64748b;
}

.tyfc-team-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.tyfc-team-status.is-active {
    background: #ecfdf5;
    color: #047857;
}

.tyfc-team-status.is-pending {
    background: #fffbeb;
    color: #b45309;
}

.tyfc-team-status.is-inactive {
    background: #f1f5f9;
    color: #64748b;
}

.tyfc-team-divider {
    height: 1px;
    margin: 18px 0;
    background: #eef2f7;
}

.tyfc-team-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.tyfc-team-stat {
    min-width: 0;
    padding: 10px 8px;
    border-radius: 11px;
    background: #f8fafc;
    text-align: center;
}

.tyfc-team-stat-value {
    display: block;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    color: #0f172a;
}

.tyfc-team-stat-label {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.3;
    color: #64748b;
}

.tyfc-team-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 17px;
}

.tyfc-team-manager {
    min-width: 0;
    font-size: 12px;
    line-height: 1.45;
    color: #64748b;
}

.tyfc-team-manager strong {
    color: #334155;
    font-weight: 700;
}

.tyfc-team-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
}

/* Empty state */

.tyfc-teams-empty {
    padding: 54px 24px;
    border: 1px dashed #cbd5e1;
    border-radius: 18px;
    background: #ffffff;
    text-align: center;
}

.tyfc-teams-empty-icon {
    margin-bottom: 12px;
    font-size: 34px;
    line-height: 1;
}

.tyfc-teams-empty-title {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: #334155;
}

.tyfc-teams-empty-text {
    margin: 7px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: #64748b;
}

/* Responsive */

@media (max-width: 1100px) {
    .tyfc-teams-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .tyfc-teams-page {
        padding: 22px 16px 36px;
    }

    .tyfc-teams-header {
        flex-direction: column;
        align-items: stretch;
    }

    .tyfc-teams-title {
        font-size: 24px;
    }

    .tyfc-teams-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .tyfc-teams-search {
        max-width: none;
        flex-basis: auto;
    }

    .tyfc-teams-filter {
        width: 100%;
    }

    .tyfc-teams-filter select {
        flex: 1 1 0;
        min-width: 0;
    }

    .tyfc-teams-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* Small phone */

@media (max-width: 480px) {
    .tyfc-teams-page {
        padding: 18px 14px 32px;
    }

    .tyfc-teams-title {
        font-size: 22px;
    }

    .tyfc-teams-toolbar {
        padding: 12px;
        border-radius: 14px;
    }

    .tyfc-team-card {
        padding: 16px;
        border-radius: 16px;
    }

    .tyfc-team-card-top {
        gap: 10px;
    }

    .tyfc-team-logo {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        border-radius: 12px;
    }

    .tyfc-team-name {
        font-size: 16px;
    }

    .tyfc-team-stats {
        gap: 6px;
    }

    .tyfc-team-stat {
        padding: 9px 5px;
    }

    .tyfc-team-stat-value {
        font-size: 16px;
    }

    .tyfc-team-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .tyfc-team-actions {
        width: 100%;
    }
}


/* =========================================================
   TYFC V1 — MASTER DATA UI
   Teams + Players
   Override layer — do not modify existing components
   ========================================================= */

.tyfc-page {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 30px 32px 48px;
}

/* ---------- Master Header ---------- */

.tyfc-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.tyfc-page-header > div:first-child {
    min-width: 0;
}

.tyfc-page-header h1 {
    margin: 0;
    color: #211f2e;
    font-size: 32px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -1px;
}

.tyfc-page-header p {
    margin: 8px 0 0;
    color: #8b8797;
    font-size: 12px;
    line-height: 1.6;
}

.tyfc-page-header .tyfc-primary-btn {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 11px;
    font-size: 11px;
    box-shadow: 0 7px 18px rgba(91, 52, 190, .16);
}

/* ---------- Master Filter ---------- */

.tyfc-filter-card {
    display: flex;
    align-items: flex-end;
    width: 100%;
    margin-bottom: 26px;
    padding: 15px;
    border: 1px solid #e7e4ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(35, 29, 60, .045);
}

.tyfc-filter-grid {
    display: grid;
    grid-template-columns: minmax(280px, 2fr) minmax(170px, 1fr) minmax(150px, .9fr) auto;
    align-items: end;
    gap: 12px;
    width: 100%;
}

.tyfc-filter-field {
    min-width: 0;
}

.tyfc-filter-field label {
    display: block;
    margin: 0 0 7px 2px;
    color: #777386;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .4px;
}

.tyfc-filter-field input,
.tyfc-filter-field select {
    display: block;
    width: 100%;
    height: 43px;
    min-width: 0;
    padding: 0 13px;
    border: 1px solid #dedbe7;
    border-radius: 10px;
    background: #faf9fc;
    color: #302d3b;
    font-family: inherit;
    font-size: 11px;
    outline: none;
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.tyfc-filter-field input {
    padding-left: 14px;
}

.tyfc-filter-field input::placeholder {
    color: #aaa6b4;
}

.tyfc-filter-field input:focus,
.tyfc-filter-field select:focus {
    border-color: #8b62ef;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(139, 98, 239, .10);
}

.tyfc-filter-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    height: 43px;
}

.tyfc-filter-actions button,
.tyfc-filter-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 43px;
    padding: 0 15px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.tyfc-filter-actions button {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #7951f7, #5128c9);
    box-shadow: 0 6px 14px rgba(91, 52, 190, .16);
}

.tyfc-filter-actions a {
    border: 1px solid #e1dee9;
    color: #716c7e;
    background: #fff;
}

.tyfc-filter-actions a:hover {
    background: #f8f6fc;
    border-color: #cbc4db;
}

/* ---------- Section Title ---------- */

.tyfc-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0 0 14px;
}

.tyfc-section-title > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.tyfc-section-title h2 {
    margin: 0;
    color: #282532;
    font-size: 16px;
    font-weight: 850;
    letter-spacing: -.25px;
}

.tyfc-section-title span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: #f1edff;
    color: #6941d9;
    font-size: 9px;
    font-weight: 850;
}

/* =========================================================
   TEAMS
   ========================================================= */

.tyfc-team-grid,
.tyfc-teams-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.tyfc-team-card {
    padding: 18px;
    border-radius: 18px;
    border-color: #e5e1ec;
    box-shadow: 0 5px 20px rgba(35, 29, 60, .045);
}

.tyfc-team-card:hover {
    transform: translateY(-3px);
    border-color: #cfc3f2;
    box-shadow: 0 13px 30px rgba(35, 29, 60, .09);
}

/* =========================================================
   PLAYERS
   ========================================================= */

.tyfc-player-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.tyfc-player-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5e1ec;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(35, 29, 60, .045);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.tyfc-player-card:hover {
    transform: translateY(-4px);
    border-color: #cfc3f2;
    box-shadow: 0 14px 32px rgba(35, 29, 60, .11);
}

.tyfc-player-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.tyfc-player-card-photo {
    position: relative;
    height: 220px;
    overflow: hidden;
    background:
        linear-gradient(145deg, #241b3d 0%, #4c2d83 58%, #7652bd 100%);
}

.tyfc-player-card-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.tyfc-player-card:hover .tyfc-player-card-photo img {
    transform: scale(1.045);
}

.tyfc-player-photo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,.9);
    font-size: 58px;
    font-weight: 900;
}

.tyfc-player-card-photo::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(20, 14, 34, .72)
    );
    pointer-events: none;
}

.tyfc-player-number {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 9px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 12px;
    background: rgba(20, 14, 34, .55);
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.tyfc-player-card-body {
    padding: 15px 16px 16px;
}

.tyfc-player-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.tyfc-player-card-top h3 {
    min-width: 0;
    margin: 0;
    color: #282532;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.35;
}

.tyfc-player-nickname {
    margin-top: 3px;
    color: #9a96a5;
    font-size: 10px;
}

.tyfc-player-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 11px;
}

.tyfc-player-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 0 8px;
    border-radius: 999px;
    background: #f5f2fb;
    color: #695f7e;
    font-size: 8px;
    font-weight: 800;
}

.tyfc-player-card-actions {
    display: flex;
    gap: 7px;
    padding: 0 16px 15px;
}

.tyfc-player-card-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 11px;
    border: 1px solid #e4e0eb;
    border-radius: 9px;
    color: #655f70;
    background: #fff;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.tyfc-player-card-actions a:hover {
    border-color: #cbbef0;
    color: #6039c7;
    background: #faf8ff;
}

/* ---------- Empty ---------- */

.tyfc-empty {
    min-height: 260px;
    padding: 35px 25px;
    border: 1px dashed #d8d2e4;
    border-radius: 18px;
    background: #fff;
}

/* ---------- Responsive ---------- */

@media (max-width: 1180px) {
    .tyfc-filter-grid {
        grid-template-columns: minmax(240px, 1.6fr) minmax(160px, 1fr) minmax(140px, 1fr);
    }

    .tyfc-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .tyfc-player-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tyfc-team-grid,
    .tyfc-teams-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .tyfc-page {
        padding: 24px 18px 38px;
    }

    .tyfc-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .tyfc-page-header .tyfc-primary-btn {
        width: 100%;
    }

    .tyfc-filter-grid {
        grid-template-columns: 1fr 1fr;
    }

    .tyfc-filter-grid .tyfc-filter-field:first-child {
        grid-column: 1 / -1;
    }

    .tyfc-filter-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .tyfc-filter-actions button,
    .tyfc-filter-actions a {
        flex: 1;
    }

    .tyfc-player-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .tyfc-page {
        padding: 20px 14px 32px;
    }

    .tyfc-page-header h1 {
        font-size: 26px;
    }

    .tyfc-filter-card {
        padding: 12px;
        border-radius: 14px;
    }

    .tyfc-filter-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-filter-grid .tyfc-filter-field:first-child {
        grid-column: auto;
    }

    .tyfc-filter-actions {
        flex-direction: row;
    }

    .tyfc-player-grid,
    .tyfc-team-grid,
    .tyfc-teams-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-player-card-photo {
        height: 245px;
    }
}


/* =========================================================
   TYFC V1 — MASTER DATA POLISH
   Fix actual Teams/Players markup
   ========================================================= */

/* ---------- Filter fields: actual markup ---------- */

.tyfc-filter-grid > div:not(.tyfc-filter-actions) {
    min-width: 0;
}

.tyfc-filter-grid > div:not(.tyfc-filter-actions) > label {
    display: block;
    margin: 0 0 7px 2px;
    color: #777386;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .4px;
}

.tyfc-filter-grid > div:not(.tyfc-filter-actions) > input,
.tyfc-filter-grid > div:not(.tyfc-filter-actions) > select {
    display: block;
    width: 100%;
    height: 43px;
    min-width: 0;
    padding: 0 13px;
    border: 1px solid #dedbe7;
    border-radius: 10px;
    background: #faf9fc;
    color: #302d3b;
    font-family: inherit;
    font-size: 11px;
    outline: none;
    box-sizing: border-box;
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.tyfc-filter-grid > div:not(.tyfc-filter-actions) > input:focus,
.tyfc-filter-grid > div:not(.tyfc-filter-actions) > select:focus {
    border-color: #8b62ef;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(139, 98, 239, .10);
}

/* Teams has only 2 fields + actions */
.tyfc-filter-grid > div:not(.tyfc-filter-actions):only-child {
    min-width: 0;
}

.tyfc-filter-grid > div:nth-child(1):not(.tyfc-filter-actions) {
    min-width: 0;
}

/* ---------- Team card actual markup ---------- */

.tyfc-team-card-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.tyfc-team-card-head .tyfc-team-logo {
    width: 54px;
    height: 54px;
    flex: none;
    box-sizing: border-box;
}

.tyfc-team-logo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6840d8;
    background: #f3efff;
    font-size: 20px;
    font-weight: 900;
}

.tyfc-team-card-title {
    min-width: 0;
}

.tyfc-team-card-title h3 {
    margin: 0;
    color: #282532;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.tyfc-team-card-title span {
    display: block;
    margin-top: 3px;
    color: #9a96a5;
    font-size: 9px;
    font-weight: 700;
}

.tyfc-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .35px;
    white-space: nowrap;
}

.tyfc-status-pill.status-active {
    background: #ecfdf5;
    color: #047857;
}

.tyfc-status-pill.status-inactive {
    background: #f1f5f9;
    color: #64748b;
}

/* Team information */

.tyfc-team-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
}

.tyfc-team-meta > div {
    min-width: 0;
    padding: 9px 10px;
    border-radius: 10px;
    background: #faf9fc;
}

.tyfc-team-meta small {
    display: block;
    color: #aaa6b5;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .8px;
}

.tyfc-team-meta strong {
    display: block;
    margin-top: 4px;
    color: #4b4658;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* Team KPI */

.tyfc-team-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 12px;
}

.tyfc-team-kpis > div {
    padding: 10px 7px;
    border: 1px solid #eeeaf5;
    border-radius: 11px;
    background: #fff;
    text-align: center;
}

.tyfc-team-kpis strong {
    display: block;
    color: #2b2736;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.tyfc-team-kpis span {
    display: block;
    margin-top: 5px;
    color: #9b97a6;
    font-size: 8px;
    font-weight: 750;
}

/* Team actions */

.tyfc-team-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 15px;
}

.tyfc-team-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 9px;
    font-family: inherit;
    font-size: 9px;
    font-weight: 850;
    text-decoration: none;
}

.tyfc-team-actions .btn-primary {
    flex: 1;
}

/* ---------- Teams desktop filter ---------- */

@media (min-width: 801px) {
    .tyfc-team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tyfc-team-grid .tyfc-team-card {
        min-height: 100%;
    }

    /* Teams = search + status + actions */
    .tyfc-page .tyfc-filter-grid {
        grid-template-columns: minmax(300px, 1fr) minmax(180px, 230px) auto;
    }

    /* Players = search + position + status + actions */
    .tyfc-page .tyfc-filter-grid > .tyfc-filter-actions {
        grid-column: auto;
    }
}

/* ---------- Medium ---------- */

@media (max-width: 1100px) and (min-width: 801px) {
    .tyfc-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tyfc-page .tyfc-filter-grid {
        grid-template-columns: minmax(240px, 1fr) minmax(160px, 190px) auto;
    }
}

/* ---------- Mobile ---------- */

@media (max-width: 600px) {
    .tyfc-team-card-head {
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .tyfc-team-card-head .tyfc-status-pill {
        grid-column: 2;
        justify-self: start;
    }

    .tyfc-team-meta {
        grid-template-columns: 1fr;
    }

    .tyfc-team-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tyfc-team-actions .btn {
        width: 100%;
    }
}


/* =========================================================
   TYFC V1 — PLAYER HUB / SQUAD WALL
   Premium Football Management UI
   ========================================================= */

.tyfc-player-hub {
    width: 100%;
    margin-top: 24px;
}

.tyfc-player-hub .tyfc-panel {
    overflow: hidden;
}

.tyfc-player-hub-subtitle {
    margin: 5px 0 0;
    font-size: 12px;
    color: var(--tyfc-muted, #7d7890);
}

.tyfc-player-hub-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 4px 0 18px;
}

.tyfc-player-position-tabs {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px;
    border: 1px solid rgba(103, 88, 160, .12);
    border-radius: 12px;
    background: rgba(248, 247, 252, .85);
}

.tyfc-player-position-tabs button {
    appearance: none;
    border: 0;
    background: transparent;
    color: #777187;
    border-radius: 9px;
    padding: 7px 13px;
    min-width: 46px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background .18s ease,
        color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.tyfc-player-position-tabs button:hover {
    color: #34255f;
    background: rgba(255, 255, 255, .9);
}

.tyfc-player-position-tabs button.is-active {
    color: #fff;
    background: #5b3bb5;
    box-shadow: 0 4px 12px rgba(91, 59, 181, .22);
}

.tyfc-player-position-tabs button:active {
    transform: translateY(1px);
}

.tyfc-player-hub-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.tyfc-player-hub-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 13px;
    border: 1px solid rgba(72, 59, 119, .10);
    border-radius: 16px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(31, 23, 61, .045);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.tyfc-player-hub-card:hover {
    transform: translateY(-3px);
    border-color: rgba(91, 59, 181, .25);
    box-shadow: 0 12px 28px rgba(31, 23, 61, .10);
}

.tyfc-player-hub-photo {
    position: relative;
    flex: 0 0 64px;
    width: 64px;
    height: 74px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            #f0edf8 0%,
            #e5e0f3 100%
        );
}

.tyfc-player-hub-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.tyfc-player-hub-photo > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 27px;
    font-weight: 800;
    color: #5b3bb5;
}

.tyfc-player-hub-number {
    position: absolute;
    left: 6px;
    bottom: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 27px;
    height: 21px;
    padding: 0 6px;
    border-radius: 7px;
    background: rgba(23, 18, 43, .88);
    color: #fff;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .2px;
}

.tyfc-player-hub-info {
    min-width: 0;
    flex: 1;
}

.tyfc-player-hub-info > strong {
    display: block;
    overflow: hidden;
    margin-bottom: 3px;
    color: #27213a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tyfc-player-hub-info > small {
    display: block;
    overflow: hidden;
    margin-bottom: 9px;
    color: #918ca0;
    font-size: 11px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tyfc-player-hub-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.tyfc-player-hub-meta span {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #716b7e;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tyfc-player-hub-meta span:first-child {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 6px;
    background: #f1eef9;
    color: #5b3bb5;
}

.tyfc-player-hub-meta span + span {
    flex: 1;
}

.tyfc-player-hub-empty {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 126px;
    padding: 20px 22px;
    border: 1px dashed rgba(91, 59, 181, .18);
    border-radius: 15px;
    background: linear-gradient(
        135deg,
        rgba(248, 246, 253, .95),
        rgba(252, 251, 255, .95)
    );
}

.tyfc-player-hub-empty-icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #eeeaf8;
    font-size: 24px;
}

.tyfc-player-hub-empty > div:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.tyfc-player-hub-empty strong {
    display: block;
    margin-bottom: 4px;
    color: #30283f;
    font-size: 14px;
}

.tyfc-player-hub-empty p {
    margin: 0;
    color: #858092;
    font-size: 12px;
}

.tyfc-player-hub-empty .tyfc-primary-btn {
    flex: 0 0 auto;
}


/* Player Hub responsive */

@media (max-width: 1180px) {
    .tyfc-player-hub-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .tyfc-player-hub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tyfc-player-hub-empty {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .tyfc-player-hub-empty .tyfc-primary-btn {
        margin-left: 68px;
    }
}

@media (max-width: 620px) {
    .tyfc-player-hub {
        margin-top: 18px;
    }

    .tyfc-player-hub-toolbar {
        margin-bottom: 14px;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .tyfc-player-position-tabs {
        width: max-content;
    }

    .tyfc-player-position-tabs button {
        padding: 7px 11px;
    }

    .tyfc-player-hub-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tyfc-player-hub-card {
        padding: 11px;
    }

    .tyfc-player-hub-photo {
        flex-basis: 58px;
        width: 58px;
        height: 68px;
    }

    .tyfc-player-hub-empty {
        flex-direction: column;
        align-items: flex-start;
    }

    .tyfc-player-hub-empty .tyfc-primary-btn {
        margin-left: 0;
        width: 100%;
    }
}


/* =========================================================
   TYFC V1 — TEAM CARD / PREMIUM MANAGEMENT SCALE
   ========================================================= */

.tyfc-team-grid,
.tyfc-teams-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.tyfc-team-card {
    min-height: 320px;
    padding: 24px;
    border-radius: 20px;
}

.tyfc-team-card-head {
    gap: 18px;
    min-height: 82px;
}

.tyfc-team-logo,
.tyfc-team-logo-fallback {
    width: 76px;
    height: 76px;
    min-width: 76px;
    border-radius: 18px;
}

.tyfc-team-logo-fallback {
    font-size: 28px;
    font-weight: 800;
}

.tyfc-team-card-title h3 {
    font-size: 23px;
    line-height: 1.25;
}

.tyfc-team-card-title span {
    font-size: 13px;
    margin-top: 5px;
}

.tyfc-status-pill {
    padding: 7px 11px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}

.tyfc-team-meta {
    margin-top: 24px;
    gap: 16px;
}

.tyfc-team-meta > div {
    padding: 14px 16px;
    border-radius: 14px;
}

.tyfc-team-meta small {
    font-size: 10px;
    letter-spacing: .08em;
}

.tyfc-team-meta strong {
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.35;
}

.tyfc-team-kpis {
    margin-top: 18px;
    padding: 16px 10px;
    border-radius: 16px;
}

.tyfc-team-kpis > div {
    min-height: 54px;
}

.tyfc-team-kpis strong {
    font-size: 24px;
    line-height: 1;
}

.tyfc-team-kpis span {
    margin-top: 6px;
    font-size: 11px;
}

.tyfc-team-actions {
    margin-top: 20px;
    gap: 10px;
}

.tyfc-team-actions .btn {
    min-height: 42px;
    padding: 10px 17px;
}

/* Large desktop */
@media (min-width: 1280px) {
    .tyfc-team-grid,
    .tyfc-teams-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px;
    }

    .tyfc-team-card {
        min-height: 330px;
        padding: 26px;
    }
}

/* Tablet */
@media (max-width: 900px) {
    .tyfc-team-grid,
    .tyfc-teams-grid {
        grid-template-columns: 1fr;
    }
}

/* Small phone */
@media (max-width: 620px) {
    .tyfc-team-card {
        min-height: 0;
        padding: 18px;
        border-radius: 17px;
    }

    .tyfc-team-card-head {
        gap: 12px;
    }

    .tyfc-team-logo,
    .tyfc-team-logo-fallback {
        width: 62px;
        height: 62px;
        min-width: 62px;
        border-radius: 15px;
    }

    .tyfc-team-logo-fallback {
        font-size: 23px;
    }

    .tyfc-team-card-title h3 {
        font-size: 19px;
    }

    .tyfc-team-meta {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   TYFC V1 — Team Staff UI
   Scope: Staff module only
   ========================================================= */

.tyfc-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.tyfc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 20px;
}

.tyfc-card {
    min-width: 0;
    border: 1px solid #e8e6ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(35,29,60,.035);
    overflow: hidden;
}

.tyfc-card-body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
}

.tyfc-card-content {
    min-width: 0;
    flex: 1;
}

.tyfc-card-content h3 {
    margin: 3px 0 8px;
    color: #211f2e;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
}

.tyfc-card-content .tyfc-eyebrow {
    margin-bottom: 4px;
}

.tyfc-card-content .tyfc-avatar {
    flex: 0 0 auto;
}

.tyfc-card-footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 20px;
    border-top: 1px solid #eeeaf5;
    background: #faf9fc;
}

.tyfc-card-footer .tyfc-btn {
    min-height: 36px;
}

.tyfc-meta {
    margin-top: 5px;
    color: #777286;
    font-size: 11px;
    line-height: 1.6;
    word-break: break-word;
}

.tyfc-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    margin-bottom: 4px;
    padding: 0 8px;
    border-radius: 999px;
    background: #eee9ff;
    color: #5b34be;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .7px;
}

.tyfc-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 20px 14px;
    border-bottom: 1px solid #eeeaf5;
}

.tyfc-panel-header h2 {
    margin: 0;
    color: #211f2e;
    font-size: 18px;
    font-weight: 800;
}

.tyfc-panel-header > div:last-child {
    color: #777286;
    font-size: 12px;
    font-weight: 700;
}

.tyfc-empty-title {
    color: #211f2e;
    font-size: 15px;
    font-weight: 800;
}

.tyfc-empty-text {
    margin-top: 6px;
    color: #888394;
    font-size: 11px;
    line-height: 1.6;
}

@media (max-width: 800px) {
    .tyfc-grid {
        grid-template-columns: 1fr;
        padding: 16px;
    }
}

@media (max-width: 560px) {
    .tyfc-actions {
        width: 100%;
        justify-content: stretch;
    }

    .tyfc-actions .tyfc-btn {
        flex: 1;
    }

    .tyfc-panel-header {
        padding: 17px 15px 12px;
    }

    .tyfc-card-body {
        padding: 16px;
    }
}


/* =========================================================
   TYFC V1 — Team Profile Logo Size Fix
   ========================================================= */

.tyfc-team-profile-logo {
    width: 96px;
    height: 96px;
    max-width: 96px;
    max-height: 96px;
    object-fit: contain;
    display: block;
}

@media (max-width: 600px) {
    .tyfc-team-profile-logo {
        width: 72px;
        height: 72px;
        max-width: 72px;
        max-height: 72px;
    }
}


/* =========================================================
   TYFC PHASE 1A
   Competition Center — Scoped Professional UI
   CSS ONLY / No DB / No Route / No RBAC / No Workflow
   ========================================================= */

.tyfc-competition-page {
    color: #191827;
}

/* Page Header */

.tyfc-competition-page .page-header {
    margin-bottom: 24px;
}

.tyfc-competition-page .page-header h1 {
    margin: 4px 0 6px;
    color: #191827;
    font-size: clamp(28px, 3vw, 34px);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.tyfc-competition-page .page-subtitle {
    margin: 0;
    color: #73758a;
    font-size: 15.5px;
    line-height: 1.65;
}

.tyfc-competition-page .eyebrow {
    color: #6d3df5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

/* KPI */

.tyfc-competition-page .stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 22px;
}

.tyfc-competition-page .stat-card {
    min-width: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid #e9e7f1;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(31, 25, 54, .045);
}

.tyfc-competition-page .stat-label {
    color: #73758a;
    font-size: 13px;
    font-weight: 700;
}

.tyfc-competition-page .stat-value {
    margin-top: 6px;
    color: #191827;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 800;
}

.tyfc-competition-page .stat-meta {
    margin-top: 7px;
    color: #9795a6;
    font-size: 12px;
}

/* Filter */

.tyfc-competition-page .competition-filter {
    margin-bottom: 22px;
}

.tyfc-competition-page .competition-filter .filter-grid {
    align-items: end;
}

/* Directory Panel */

.tyfc-competition-page > .panel {
    background: #fff;
    border: 1px solid #e9e7f1;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(31, 25, 54, .045);
}

.tyfc-competition-page .panel-header {
    padding: 20px 22px;
    border-bottom: 1px solid #eeeef3;
}

.tyfc-competition-page .panel-header h2 {
    margin: 0;
    color: #191827;
    font-size: 20px;
    font-weight: 800;
}

.tyfc-competition-page .panel-subtitle {
    display: block;
    margin-top: 4px;
    color: #73758a;
    font-size: 14px;
}

.tyfc-competition-page .result-count {
    color: #73758a;
    font-size: 13px;
    font-weight: 700;
}

/* Competition Cards */

.tyfc-competition-page .competition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 20px;
}

.tyfc-competition-page .competition-card {
    min-width: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid #e9e7f1;
    border-radius: 14px;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.tyfc-competition-page .competition-card:hover {
    transform: translateY(-2px);
    border-color: #d9d1fb;
    box-shadow: 0 10px 26px rgba(31, 25, 54, .08);
}

.tyfc-competition-page .competition-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tyfc-competition-page .competition-code {
    color: #6d3df5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
}

.tyfc-competition-page .competition-card h3 {
    margin: 14px 0 5px;
    color: #191827;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 800;
}

.tyfc-competition-page .competition-type {
    color: #73758a;
    font-size: 14px;
}

.tyfc-competition-page .competition-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.tyfc-competition-page .competition-meta-grid > div {
    padding: 11px 12px;
    background: #faf9fc;
    border: 1px solid #eeeef3;
    border-radius: 10px;
}

.tyfc-competition-page .competition-meta-grid span {
    display: block;
    margin-bottom: 3px;
    color: #9795a6;
    font-size: 12px;
}

.tyfc-competition-page .competition-meta-grid strong {
    color: #29263a;
    font-size: 14px;
    font-weight: 700;
}

.tyfc-competition-page .competition-card-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #eeeef3;
}

/* Status */

.tyfc-competition-page .status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
}

/* Empty State */

.tyfc-competition-page .empty-state {
    padding: 64px 24px;
    text-align: center;
}

.tyfc-competition-page .empty-icon {
    margin-bottom: 14px;
    font-size: 42px;
}

.tyfc-competition-page .empty-state h3 {
    margin: 0;
    color: #191827;
    font-size: 18px;
    font-weight: 800;
}

.tyfc-competition-page .empty-state p {
    margin: 6px 0 20px;
    color: #73758a;
    font-size: 14px;
}

/* Buttons */

.tyfc-competition-page .btn {
    min-height: 44px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
}

.tyfc-competition-page .btn-sm {
    min-height: 38px;
    font-size: 14px;
}

/* Responsive */

@media (max-width: 1200px) {
    .tyfc-competition-page .stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .tyfc-competition-page .competition-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .tyfc-competition-page .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tyfc-competition-page .competition-grid {
        padding: 14px;
    }

    .tyfc-competition-page .competition-card {
        padding: 16px;
    }
}

@media (max-width: 480px) {
    .tyfc-competition-page .stat-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-competition-page .page-header h1 {
        font-size: 27px;
    }

    .tyfc-competition-page .competition-meta-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-competition-page .competition-card-footer {
        align-items: stretch;
    }

    .tyfc-competition-page .competition-card-footer .btn {
        flex: 1 1 100%;
    }
}


/* =========================================================
   TYFC COMPETITION CENTER — FINAL UI OVERRIDE
   Scoped only to .tyfc-competition-page
   ========================================================= */

.tyfc-competition-page,
.tyfc-competition-page * {
    box-sizing: border-box;
}

.tyfc-competition-page {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 28px 30px 48px;
    color: #191827;
    font-family: inherit;
}

/* ---------- HEADER ---------- */

.tyfc-competition-page .page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 24px;
}

.tyfc-competition-page .eyebrow {
    margin: 0 0 7px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #7567a8;
}

.tyfc-competition-page .page-header h1 {
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #191827;
}

.tyfc-competition-page .page-subtitle {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: #777487;
}

/* ---------- BUTTON ---------- */

.tyfc-competition-page .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: .18s ease;
}

.tyfc-competition-page .btn-primary {
    background: #5b4bb7;
    border-color: #5b4bb7;
    color: #fff;
    box-shadow: 0 5px 14px rgba(91,75,183,.18);
}

.tyfc-competition-page .btn-primary:hover {
    background: #4d3fa1;
    border-color: #4d3fa1;
    transform: translateY(-1px);
}

.tyfc-competition-page .btn-secondary,
.tyfc-competition-page .btn-outline,
.tyfc-competition-page .btn-light {
    background: #fff;
    color: #514b62;
    border-color: #ddd9e7;
}

.tyfc-competition-page .btn-secondary:hover,
.tyfc-competition-page .btn-outline:hover,
.tyfc-competition-page .btn-light:hover {
    border-color: #bdb6d2;
    background: #faf9fc;
}

.tyfc-competition-page .btn-sm {
    min-height: 36px;
    padding: 0 13px;
    border-radius: 8px;
    font-size: 12px;
}

/* ---------- KPI ---------- */

.tyfc-competition-page .stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 22px;
}

.tyfc-competition-page .stat-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 126px;
    padding: 19px 20px;
    background: #fff;
    border: 1px solid #e7e4ee;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(31,25,54,.045);
}

.tyfc-competition-page .stat-label {
    margin: 0 0 10px;
    color: #777286;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
}

.tyfc-competition-page .stat-value {
    margin: 0;
    color: #211d2d;
    font-size: 29px;
    line-height: 1.1;
    font-weight: 800;
}

.tyfc-competition-page .stat-meta {
    margin-top: auto;
    padding-top: 8px;
    color: #96919f;
    font-size: 11px;
    line-height: 1.4;
}

/* ---------- PANELS ---------- */

.tyfc-competition-page .panel {
    background: #fff;
    border: 1px solid #e7e4ee;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(31,25,54,.045);
}

.tyfc-competition-page .competition-filter {
    margin: 0 0 22px;
    padding: 20px 22px;
}

.tyfc-competition-page .competition-filter form {
    width: 100%;
}

.tyfc-competition-page .filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(180px, 1fr) auto auto;
    gap: 14px;
    align-items: end;
}

.tyfc-competition-page .filter-grid > div {
    min-width: 0;
}

.tyfc-competition-page label {
    display: block;
    margin: 0 0 7px;
    color: #5f596b;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
}

.tyfc-competition-page input,
.tyfc-competition-page select {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #dcd8e5;
    border-radius: 9px;
    color: #252130;
    font: inherit;
    font-size: 13px;
    outline: none;
    transition: .18s ease;
}

.tyfc-competition-page input:focus,
.tyfc-competition-page select:focus {
    border-color: #7567c4;
    box-shadow: 0 0 0 3px rgba(117,103,196,.10);
}

/* ---------- DIRECTORY ---------- */

.tyfc-competition-page > .panel:last-child {
    overflow: hidden;
}

.tyfc-competition-page .panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border-bottom: 1px solid #ece9f1;
}

.tyfc-competition-page .panel-header h2 {
    margin: 0;
    color: #211d2d;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.tyfc-competition-page .panel-subtitle {
    display: block;
    margin-top: 4px;
    color: #888293;
    font-size: 12px;
    line-height: 1.5;
}

.tyfc-competition-page .result-count {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid #e4e0eb;
    border-radius: 999px;
    background: #faf9fc;
    color: #706a7d;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

/* ---------- COMPETITION GRID ---------- */

.tyfc-competition-page .competition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 20px;
}

.tyfc-competition-page .competition-card {
    position: relative;
    min-width: 0;
    padding: 19px;
    background: #fff;
    border: 1px solid #e6e2ec;
    border-radius: 13px;
    box-shadow: 0 3px 12px rgba(31,25,54,.035);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tyfc-competition-page .competition-card:hover {
    border-color: #d4cee4;
    box-shadow: 0 9px 24px rgba(31,25,54,.075);
    transform: translateY(-1px);
}

.tyfc-competition-page .competition-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 15px;
}

.tyfc-competition-page .competition-code {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 9px;
    border-radius: 7px;
    background: #f4f1fa;
    color: #665a94;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .03em;
}

.tyfc-competition-page .competition-card h3 {
    margin: 0;
    color: #211d2d;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 800;
}

.tyfc-competition-page .competition-type {
    margin-top: 5px;
    color: #85808e;
    font-size: 12px;
    line-height: 1.5;
}

.tyfc-competition-page .competition-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 17px;
}

.tyfc-competition-page .competition-meta-grid > div {
    min-width: 0;
    padding: 11px 12px;
    background: #faf9fc;
    border: 1px solid #eeeaf3;
    border-radius: 9px;
}

.tyfc-competition-page .competition-meta-grid span {
    display: block;
    margin-bottom: 4px;
    color: #9993a1;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 700;
}

.tyfc-competition-page .competition-meta-grid strong {
    display: block;
    color: #4a4455;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
}

.tyfc-competition-page .competition-card-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #eeeaf3;
}

/* ---------- STATUS ---------- */

.tyfc-competition-page .status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

/* ---------- EMPTY STATE ---------- */

.tyfc-competition-page .empty-state {
    padding: 64px 24px 70px;
    text-align: center;
}

.tyfc-competition-page .empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border-radius: 16px;
    background: #f4f1fa;
    font-size: 25px;
}

.tyfc-competition-page .empty-state h3 {
    margin: 0;
    color: #282331;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 800;
}

.tyfc-competition-page .empty-state p {
    max-width: 440px;
    margin: 7px auto 20px;
    color: #888293;
    font-size: 13px;
    line-height: 1.6;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 1200px) {
    .tyfc-competition-page .stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tyfc-competition-page .filter-grid {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 1fr);
    }
}

@media (max-width: 900px) {
    .tyfc-competition-page {
        padding: 24px 20px 40px;
    }

    .tyfc-competition-page .page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .tyfc-competition-page .page-header .btn {
        align-self: flex-start;
    }

    .tyfc-competition-page .competition-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .tyfc-competition-page {
        padding: 20px 14px 34px;
    }

    .tyfc-competition-page .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .tyfc-competition-page .stat-card {
        min-height: 110px;
        padding: 15px;
    }

    .tyfc-competition-page .stat-value {
        font-size: 24px;
    }

    .tyfc-competition-page .filter-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-competition-page .competition-filter {
        padding: 16px;
    }

    .tyfc-competition-page .panel-header {
        align-items: flex-start;
        padding: 17px;
    }

    .tyfc-competition-page .competition-grid {
        padding: 14px;
    }
}

@media (max-width: 480px) {
    .tyfc-competition-page .stat-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-competition-page .page-header h1 {
        font-size: 26px;
    }

    .tyfc-competition-page .competition-meta-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-competition-page .competition-card-footer {
        flex-wrap: wrap;
    }
}

/* =========================================================
   TYFC Competition View — Competition Overview Card V2
   ========================================================= */

.tyfc-competition-page .detail-list {
    width: 100%;
}

.tyfc-competition-page .detail-row {
    display: flex;
    align-items: center;
    gap: 28px;
    width: 100%;
    min-height: 52px;
    padding: 12px 0;
    border-bottom: 1px solid #edf0f4;
}

.tyfc-competition-page .detail-row:last-child {
    border-bottom: none;
}

.tyfc-competition-page .detail-row > span {
    flex: 0 0 150px;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
}

.tyfc-competition-page .detail-row > strong {
    flex: 1 1 auto;
    min-width: 0;
    color: #111827;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    overflow-wrap: anywhere;
}

/* Mobile */
@media (max-width: 640px) {

    .tyfc-competition-page .detail-row {
        display: flex;
        align-items: flex-start;
        gap: 6px;
        flex-direction: column;
        padding: 13px 0;
    }

    .tyfc-competition-page .detail-row > span {
        flex: none;
        font-size: 13px;
    }

    .tyfc-competition-page .detail-row > strong {
        font-size: 15px;
    }
}


/* Competition Overview — inner spacing */
.tyfc-competition-page .detail-list {
    padding: 0 10px;
}


/* =========================================================
   Competition Edit — Center Card + Inner Spacing
   ========================================================= */

.tyfc-competition-page {
    width: 100%;
}

.tyfc-competition-page .page-header,
.tyfc-competition-page .panel {
    width: min(100%, 1100px);
    margin-left: auto;
    margin-right: auto;
}

.tyfc-competition-page .panel {
    box-sizing: border-box;
    padding-left: 28px;
    padding-right: 28px;
}

.tyfc-competition-page .form-section {
    width: 100%;
}

.tyfc-competition-page .form-grid {
    width: 100%;
}

@media (max-width: 640px) {
    .tyfc-competition-page .panel {
        padding-left: 18px;
        padding-right: 18px;
    }
}


/* =========================================================
   TYFC V1 COMPLETE — Public / Match / News / Responsive UI
   ========================================================= */
:root { --tyfc-ink:#17122b; --tyfc-purple:#5b35d5; --tyfc-soft:#f6f7fb; --tyfc-border:#e5e7eb; --tyfc-green:#16a34a; --tyfc-red:#dc2626; }
.tyfc-public{margin:0;background:#f7f8fc;color:#171827;font-family:Inter,"Noto Sans Thai",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px max(24px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #ececf3}.public-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#17122b;font-size:20px}.public-brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#24124d,#6d42df);color:#fff;font-weight:900}.public-nav nav{display:flex;align-items:center;gap:20px}.public-nav nav>a{text-decoration:none;color:#3d4050;font-weight:700}.public-main{min-height:70vh}.public-hero{display:grid;grid-template-columns:1.55fr .75fr;gap:42px;align-items:center;max-width:1180px;margin:0 auto;padding:86px 24px;background:radial-gradient(circle at 85% 15%,rgba(111,66,223,.16),transparent 36%)}.public-hero h1{font-size:clamp(40px,6vw,76px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 20px;color:#17122b}.public-hero p{font-size:19px;line-height:1.75;color:#5f6271;max-width:760px}.public-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.public-hero-card{min-height:260px;padding:32px;border-radius:28px;background:linear-gradient(145deg,#17122b,#3d227d 65%,#7448e7);color:#fff;box-shadow:0 30px 70px rgba(35,21,72,.25);display:flex;flex-direction:column;justify-content:flex-end}.public-hero-card span{opacity:.7;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.public-hero-card strong{font-size:36px;margin:8px 0}.public-hero-card small{opacity:.85}.public-section,.public-page-head,.public-article{max-width:1180px;margin:0 auto;padding:34px 24px}.public-page-head{padding-top:64px;padding-bottom:20px}.public-page-head h1{font-size:44px;margin:8px 0}.public-page-head p{color:#6b7280}.public-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.public-section-head h2{font-size:30px;margin:4px 0}.public-section-head>a{font-weight:800;text-decoration:none;color:#5b35d5}.fixture-list{display:grid;gap:10px}.fixture-item{display:grid;grid-template-columns:190px 1fr 260px;align-items:center;gap:20px;padding:18px 20px;background:#fff;border:1px solid #e9eaf0;border-radius:16px}.fixture-item time{color:#646777;font-variant-numeric:tabular-nums}.fixture-item strong{font-size:17px}.fixture-item strong span{display:inline-block;margin:0 10px;color:#8b8e9b;font-size:13px}.fixture-item small{text-align:right;color:#747786}.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.live-grid.large{grid-template-columns:repeat(2,minmax(0,1fr))}.live-card{background:#17122b;color:white;padding:24px;border-radius:20px;box-shadow:0 18px 40px rgba(23,18,43,.15)}.live-badge{color:#ff6b73;font-weight:900;font-size:12px;letter-spacing:.08em}.score-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:22px 0}.score-row strong:last-child{text-align:right}.score-row b{font-size:34px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.news-card{overflow:hidden;background:#fff;border:1px solid #e7e8ef;border-radius:20px}.news-card>img,.news-cover{width:100%;height:210px;object-fit:cover}.news-cover{display:grid;place-items:center;background:linear-gradient(135deg,#1e1637,#6d42df);color:#fff;font-size:44px;font-weight:900}.news-body{padding:20px}.news-body small{color:#8a8d99}.news-body h3{font-size:20px;line-height:1.45;margin:8px 0}.news-body p{color:#686b79;line-height:1.65}.news-body a{font-weight:800;text-decoration:none;color:#5b35d5}.public-filter{margin-bottom:16px}.public-filter select{min-width:280px;padding:12px 14px;border:1px solid #dddfe7;border-radius:12px;background:#fff}.public-article{max-width:860px;padding-top:56px}.public-article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:24px;margin-bottom:28px}.public-article h1{font-size:44px;line-height:1.2;margin:12px 0}.public-article .lead{font-size:20px;color:#636675;line-height:1.7}.article-body{font-size:17px;line-height:1.9}.public-footer{display:flex;justify-content:space-between;max-width:1180px;margin:50px auto 0;padding:34px 24px;border-top:1px solid #e4e5eb;color:#737684}.table-wrap{width:100%;overflow:auto}.tyfc-table{width:100%;border-collapse:collapse;background:#fff}.tyfc-table th,.tyfc-table td{padding:14px 15px;border-bottom:1px solid #eceef2;text-align:left;vertical-align:top}.tyfc-table th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#747786;background:#fafbfc}.tyfc-table tr:last-child td{border-bottom:0}.span-2{grid-column:span 2}.compact-form{display:grid;gap:14px}.compact-form label,.tyfc-form-card label{display:grid;gap:7px;font-weight:700}.compact-form input,.compact-form select,.compact-form textarea,.tyfc-form-card input,.tyfc-form-card select,.tyfc-form-card textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d9dce4;border-radius:10px;background:#fff;color:#1d1f28}.tyfc-alert-success{background:#ecfdf3;border:1px solid #86efac;color:#166534}.btn-small{padding:7px 10px!important;font-size:12px!important}.inline-form{display:inline}.match-control-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin:18px 0}.score-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:end;margin:18px 0}.score-inputs input{text-align:center;font-size:38px;font-weight:900}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.score-title{display:inline-block;padding:4px 12px;border-radius:12px;background:#17122b;color:#fff}.status-pill{padding:8px 12px;border-radius:999px;background:#eef0f5;font-size:12px;font-weight:900}.status-live{background:#fee2e2;color:#b91c1c}.status-finished{background:#dcfce7;color:#166534}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:60px 140px 1fr;gap:14px;padding:13px 4px;border-bottom:1px solid #eee}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.media-card{overflow:hidden;background:#fff;border:1px solid #e6e7ed;border-radius:18px}.media-card img,.media-placeholder{width:100%;height:190px;object-fit:cover}.media-placeholder{display:grid;place-items:center;background:#1d1831;color:#fff;font-weight:900;font-size:24px}.media-card>div:last-child{padding:16px}.tyfc-module-card{text-decoration:none;color:inherit;transition:.18s transform,.18s box-shadow}.tyfc-module-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,24,60,.08)}
@media(max-width:900px){.public-hero{grid-template-columns:1fr;padding-top:56px}.public-hero-card{min-height:180px}.news-grid,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fixture-item{grid-template-columns:1fr}.fixture-item small{text-align:left}.match-control-grid{grid-template-columns:1fr}.public-nav nav a:not(.btn){display:none}}
@media(max-width:640px){.public-nav{padding:12px 16px}.public-hero,.public-section,.public-page-head,.public-article{padding-left:16px;padding-right:16px}.public-hero{padding-top:42px;padding-bottom:42px}.public-hero h1{font-size:42px}.public-page-head h1,.public-article h1{font-size:34px}.live-grid,.live-grid.large,.news-grid,.media-grid{grid-template-columns:1fr}.score-row{gap:8px}.score-row b{font-size:28px}.span-2{grid-column:span 1}.timeline-item{grid-template-columns:42px 110px 1fr}.public-footer{padding:25px 16px;display:grid;gap:5px}}
@media print{.tyfc-sidebar,.tyfc-topbar,.public-nav,.public-footer,.btn{display:none!important}.tyfc-main{margin:0!important;width:100%!important}.tyfc-page{max-width:none!important}}

/* =========================================================
   TYFC V1 — MOBILE SPORTS UI V3
   Mobile First / Tournament App
   ========================================================= */

:root{
    --sport-navy:#101a2f;
    --sport-navy-2:#172641;
    --sport-purple:#5228ff;
    --sport-purple-2:#714cff;
    --sport-cyan:#19c9c2;
    --sport-green:#17b26a;
    --sport-red:#ef4452;
    --sport-yellow:#d7ff32;
    --sport-bg:#f5f6fa;
    --sport-card:#ffffff;
    --sport-text:#171923;
    --sport-muted:#7c8190;
    --sport-line:#e9ebf1;
}

/* ---------- GLOBAL ---------- */

body{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.tyfc-public{
    background:var(--sport-bg);
    color:var(--sport-text);
}

.public-main{
    padding-bottom:20px;
}

/* ---------- PUBLIC TOP BAR ---------- */

.public-nav{
    min-height:66px;
    padding:10px max(18px,calc((100vw - 1180px)/2));
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--sport-line);
    box-shadow:0 4px 20px rgba(19,27,48,.04);
}

.public-brand{
    font-weight:900;
    letter-spacing:-.02em;
}

.public-brand span{
    width:42px;
    height:42px;
    border-radius:13px;
    background:
        linear-gradient(145deg,var(--sport-purple),#3215c7);
    box-shadow:0 8px 22px rgba(82,40,255,.24);
}

/* ---------- HERO ---------- */

.public-hero{
    max-width:1180px;
    padding-top:42px;
    padding-bottom:38px;
    gap:24px;
}

.public-hero h1{
    font-size:clamp(34px,5vw,60px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.public-hero p{
    max-width:660px;
    font-size:16px;
    line-height:1.7;
}

.public-hero-card{
    min-height:230px;
    position:relative;
    overflow:hidden;
    border-radius:26px;
    padding:28px;
    background:
        radial-gradient(circle at 85% 15%,rgba(25,201,194,.35),transparent 28%),
        linear-gradient(145deg,#111c34 0%,#202856 48%,#5429e8 100%);
    box-shadow:0 22px 48px rgba(22,27,54,.22);
}

.public-hero-card:before{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-80px;
    top:-90px;
    border-radius:50%;
    border:32px solid rgba(255,255,255,.055);
}

.public-hero-card strong{
    font-size:32px;
    letter-spacing:-.03em;
}

/* ---------- SECTION ---------- */

.public-section{
    padding-top:22px;
    padding-bottom:22px;
}

.public-section-head{
    margin-bottom:14px;
}

.public-section-head h2{
    font-size:24px;
    letter-spacing:-.025em;
}

/* ---------- MATCH LIST ---------- */

.fixture-list{
    gap:10px;
}

.fixture-item{
    position:relative;
    min-height:74px;
    padding:15px 18px;
    border-radius:15px;
    border:1px solid var(--sport-line);
    background:#fff;
    box-shadow:0 3px 12px rgba(20,28,48,.035);
}

.fixture-item:hover{
    border-color:#d9dce7;
    box-shadow:0 8px 24px rgba(20,28,48,.07);
}

.fixture-item time{
    font-size:13px;
    font-weight:700;
}

.fixture-item strong{
    color:var(--sport-text);
    font-weight:850;
}

.fixture-item strong span{
    padding:4px 8px;
    border-radius:999px;
    background:#f1f2f6;
    color:#818593;
}

/* ---------- LIVE ---------- */

.live-card{
    position:relative;
    overflow:hidden;
    border:0;
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0,rgba(82,40,255,.34),transparent 32%),
        linear-gradient(145deg,#101a2f,#172641);
    box-shadow:0 18px 42px rgba(13,24,45,.18);
}

.live-card:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border:1px solid rgba(255,255,255,.08);
    border-radius:inherit;
}

.live-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#ff6571;
}

.live-badge:before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ff4454;
    box-shadow:0 0 0 5px rgba(255,68,84,.12);
}

.score-row{
    margin:24px 0 18px;
}

.score-row strong{
    font-size:18px;
}

.score-row b{
    min-width:88px;
    text-align:center;
    font-size:38px;
    letter-spacing:-.04em;
}

/* ---------- TABLE / STANDINGS ---------- */

.table-wrap{
    border-radius:16px;
    border:1px solid var(--sport-line);
    background:#fff;
    box-shadow:0 4px 18px rgba(20,28,48,.035);
}

.tyfc-table{
    background:transparent;
}

.tyfc-table th{
    height:44px;
    padding:10px 13px;
    background:#f8f9fb;
    color:#888d99;
    font-size:11px;
    font-weight:800;
}

.tyfc-table td{
    padding:13px;
    border-color:#eff0f4;
    font-size:14px;
}

.tyfc-table tbody tr:hover{
    background:#fafaff;
}

/* ---------- NEWS / MEDIA ---------- */

.news-card,
.media-card{
    border:1px solid var(--sport-line);
    border-radius:18px;
    box-shadow:0 4px 16px rgba(20,28,48,.035);
    transition:.18s ease;
}

.news-card:hover,
.media-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(20,28,48,.08);
}

/* ---------- ADMIN / TEAM APP CARDS ---------- */

.tyfc-panel,
.tyfc-form-card{
    border-radius:18px;
}

.tyfc-module-card,
.tyfc-kpi-card{
    border-radius:17px;
}

/* ---------- INPUTS ---------- */

.tyfc-form-card input,
.tyfc-form-card select,
.tyfc-form-card textarea,
.compact-form input,
.compact-form select,
.compact-form textarea{
    min-height:46px;
    border-radius:12px;
    font-size:16px;
}

textarea{
    min-height:96px;
}

/* ---------- BUTTONS ---------- */

.btn,
.tyfc-btn{
    min-height:42px;
    border-radius:12px;
    font-weight:800;
}

.btn-primary,
.tyfc-btn-primary{
    background:linear-gradient(135deg,var(--sport-purple),var(--sport-purple-2));
    border-color:transparent;
    box-shadow:0 7px 18px rgba(82,40,255,.18);
}

/* =========================================================
   MOBILE APP MODE
   ========================================================= */

@media (max-width:640px){

    body{
        background:var(--sport-bg);
    }

    .public-nav{
        min-height:58px;
        padding:8px 14px;
    }

    .public-brand{
        font-size:17px;
    }

    .public-brand span{
        width:38px;
        height:38px;
        border-radius:12px;
    }

    /* compact mobile hero */

    .public-hero{
        display:block;
        padding:20px 14px 18px;
    }

    .public-hero > div:first-child{
        margin-bottom:16px;
    }

    .public-hero h1{
        margin:7px 0 9px;
        font-size:30px;
        line-height:1.08;
    }

    .public-hero p{
        margin:0;
        font-size:14px;
        line-height:1.55;
    }

    .public-hero-actions{
        margin-top:15px;
        gap:8px;
    }

    .public-hero-actions .btn{
        min-height:40px;
        padding:9px 13px;
        font-size:13px;
    }

    .public-hero-card{
        min-height:156px;
        padding:20px;
        border-radius:21px;
    }

    .public-hero-card strong{
        margin:5px 0;
        font-size:26px;
    }

    /* content */

    .public-section,
    .public-page-head,
    .public-article{
        padding-left:14px;
        padding-right:14px;
    }

    .public-section{
        padding-top:16px;
        padding-bottom:16px;
    }

    .public-page-head{
        padding-top:26px;
    }

    .public-page-head h1,
    .public-article h1{
        font-size:28px;
    }

    .public-section-head h2{
        font-size:21px;
    }

    /* fixtures become sports-app rows */

    .fixture-item{
        display:grid;
        grid-template-columns:74px 1fr;
        gap:10px;
        min-height:64px;
        padding:12px 13px;
        border-radius:14px;
    }

    .fixture-item time{
        grid-row:1 / span 2;
        align-self:center;
        font-size:12px;
    }

    .fixture-item strong{
        font-size:14px;
        line-height:1.45;
    }

    .fixture-item small{
        font-size:11px;
    }

    /* score cards */

    .live-card{
        padding:18px 16px;
        border-radius:18px;
    }

    .score-row{
        grid-template-columns:1fr 76px 1fr;
        gap:7px;
        margin:20px 0 12px;
    }

    .score-row strong{
        font-size:14px;
        line-height:1.3;
    }

    .score-row b{
        min-width:70px;
        font-size:29px;
    }

    /* standings */

    .table-wrap{
        border-radius:14px;
        -webkit-overflow-scrolling:touch;
    }

    .tyfc-table{
        min-width:650px;
    }

    .tyfc-table th,
    .tyfc-table td{
        padding:11px 10px;
        white-space:nowrap;
    }

    .tyfc-table th:first-child,
    .tyfc-table td:first-child{
        position:sticky;
        left:0;
        z-index:2;
        background:#fff;
    }

    .tyfc-table th:first-child{
        background:#f8f9fb;
    }

    /* panels/forms */

    .tyfc-page{
        padding-left:12px;
        padding-right:12px;
    }

    .tyfc-panel,
    .tyfc-form-card{
        border-radius:16px;
    }

    .tyfc-form-card{
        padding:15px;
    }

    .tyfc-form-grid{
        grid-template-columns:1fr !important;
    }

    /* touch targets */

    .btn,
    .tyfc-btn{
        min-height:44px;
    }

    input,
    select,
    textarea{
        font-size:16px !important;
    }

    /* news */

    .news-card>img,
    .news-cover{
        height:180px;
    }

    .news-body{
        padding:16px;
    }

    .news-body h3{
        font-size:18px;
    }

    /* timeline */

    .timeline-item{
        grid-template-columns:38px 92px minmax(0,1fr);
        gap:8px;
        font-size:12px;
    }
}

/* very small phone */

@media (max-width:390px){

    .public-hero h1{
        font-size:27px;
    }

    .score-row{
        grid-template-columns:1fr 64px 1fr;
    }

    .score-row b{
        font-size:26px;
    }
}


/* =========================================================
   TYFC PUBLIC HOMEPAGE V2
   Beautiful + Mobile First
   ========================================================= */

.public-site-header{
    position:sticky;
    top:0;
    z-index:80;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid #eceef3;
}

.public-nav-shell{
    max-width:1180px;
    margin:0 auto;
    padding:0 18px;
}

.public-nav{
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.public-menu,
.public-actions{
    display:flex;
    align-items:center;
    gap:18px;
}

.public-menu a{
    text-decoration:none;
    color:#2a2e39;
    font-weight:700;
    font-size:14px;
}

.public-mobile-tabs{
    display:none;
}

.tyfc-home-hero{
    max-width:1180px;
    margin:0 auto;
    padding:28px 18px 8px;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
    gap:18px;
    align-items:stretch;
}

.tyfc-home-hero-content,
.tyfc-home-hero-side{
    min-width:0;
}

.tyfc-home-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 12px;
    border-radius:999px;
    background:#ece8ff;
    color:#5a35d6;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.tyfc-home-hero h1{
    margin:14px 0 12px;
    font-size:clamp(32px,5vw,58px);
    line-height:1.02;
    letter-spacing:-.045em;
    color:#131727;
}

.tyfc-home-hero p{
    margin:0;
    max-width:760px;
    color:#5f6472;
    font-size:16px;
    line-height:1.75;
}

.tyfc-home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.tyfc-home-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:24px;
}

.tyfc-home-stat-card{
    padding:16px 16px 14px;
    border-radius:18px;
    background:#fff;
    border:1px solid #e9ebf2;
    box-shadow:0 8px 24px rgba(21,27,44,.04);
}

.tyfc-home-stat-card span{
    display:block;
    color:#6f7483;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.tyfc-home-stat-card strong{
    display:block;
    margin:8px 0 3px;
    font-size:30px;
    line-height:1;
    color:#161a2a;
}

.tyfc-home-stat-card small{
    color:#8a8f9d;
    font-size:13px;
}

.tyfc-feature-card{
    height:100%;
    border-radius:28px;
    padding:26px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 12%,rgba(25,201,194,.35),transparent 30%),
        linear-gradient(145deg,#10182d 0%,#182548 42%,#562cff 100%);
    box-shadow:0 24px 56px rgba(22,28,49,.18);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.tyfc-feature-card-top{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.95;
}

.tyfc-status-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#b3b8c8;
}

.tyfc-status-dot.is-open{
    background:#24d16e;
    box-shadow:0 0 0 6px rgba(36,209,110,.16);
}

.tyfc-status-dot.is-normal{
    background:#7dd3fc;
    box-shadow:0 0 0 6px rgba(125,211,252,.16);
}

.tyfc-feature-card h3{
    margin:22px 0 24px;
    font-size:40px;
    line-height:1;
    letter-spacing:-.04em;
}

.tyfc-feature-meta{
    display:grid;
    gap:14px;
    margin-bottom:24px;
}

.tyfc-feature-meta div{
    padding:14px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.08);
}

.tyfc-feature-meta span{
    display:block;
    margin-bottom:5px;
    font-size:12px;
    opacity:.72;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.tyfc-feature-meta strong{
    font-size:16px;
}

.tyfc-feature-links{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.tyfc-feature-links a{
    color:#fff;
    text-decoration:none;
    font-weight:800;
}

.tyfc-home-section{
    max-width:1180px;
    margin:0 auto;
    padding:18px;
}

.tyfc-home-section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.tyfc-home-section-head.no-margin{
    margin-bottom:12px;
}

.tyfc-home-section-head h2{
    margin:4px 0 0;
    font-size:28px;
    line-height:1.15;
    letter-spacing:-.03em;
    color:#14192a;
}

.tyfc-home-section-head a{
    color:#5a35d6;
    text-decoration:none;
    font-weight:900;
}

.tyfc-live-showcase{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.tyfc-live-showcase-card{
    position:relative;
    overflow:hidden;
    padding:22px;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 100% 0,rgba(82,40,255,.34),transparent 32%),
        linear-gradient(145deg,#10182d,#172640);
    box-shadow:0 18px 42px rgba(14,25,46,.15);
}

.tyfc-live-showcase-card.is-empty{
    grid-column:1 / -1;
}

.tyfc-live-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#ff6a76;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.tyfc-live-badge:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ff4d5b;
    box-shadow:0 0 0 6px rgba(255,77,91,.12);
}

.tyfc-live-league{
    margin-top:12px;
    color:rgba(255,255,255,.65);
    font-size:13px;
}

.tyfc-live-score-row{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:12px;
    align-items:center;
    margin:18px 0 16px;
}

.tyfc-live-score-row .team{
    font-size:18px;
    font-weight:800;
    line-height:1.3;
}

.tyfc-live-score-row .team-right{
    text-align:right;
}

.tyfc-live-score-row .score{
    min-width:86px;
    text-align:center;
    font-size:34px;
    font-weight:900;
    letter-spacing:-.04em;
}

.tyfc-live-score-row .score span{
    opacity:.5;
}

.tyfc-live-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:rgba(255,255,255,.8);
    font-size:13px;
}

.tyfc-live-footer a{
    color:#fff;
    text-decoration:none;
    font-weight:800;
}

.tyfc-live-empty-title{
    margin:18px 0 8px;
    font-size:28px;
    font-weight:900;
    line-height:1.1;
}

.tyfc-match-list{
    display:grid;
    gap:10px;
}

.tyfc-match-row{
    display:grid;
    grid-template-columns:230px 1fr 120px;
    gap:16px;
    align-items:center;
    padding:18px;
    border-radius:18px;
    border:1px solid #e8ebf1;
    background:#fff;
    box-shadow:0 6px 18px rgba(20,28,48,.035);
}

.tyfc-match-row .meta .date{
    font-size:14px;
    font-weight:800;
    color:#171b29;
}

.tyfc-match-row .meta .venue{
    margin-top:4px;
    font-size:13px;
    color:#818695;
}

.tyfc-match-row .teams{
    font-size:17px;
    line-height:1.5;
    color:#161a28;
}

.tyfc-match-row .teams span{
    display:inline-block;
    margin:0 8px;
    padding:4px 9px;
    border-radius:999px;
    background:#f1f3f8;
    color:#7c8190;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}

.tyfc-match-row .cta{
    text-align:right;
}

.tyfc-match-row .cta a{
    text-decoration:none;
    color:#5a35d6;
    font-weight:900;
}

.tyfc-home-grid-2{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.tyfc-home-panel{
    background:#fff;
    border:1px solid #e8ebf1;
    border-radius:22px;
    padding:18px;
    box-shadow:0 8px 22px rgba(20,28,48,.035);
}

.tyfc-result-stack{
    display:grid;
    gap:10px;
}

.tyfc-result-card{
    border:1px solid #eef0f4;
    border-radius:16px;
    padding:14px 15px;
    background:#fbfcff;
}

.tyfc-result-card .top,
.tyfc-result-card .bottom{
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:#818695;
    font-size:12px;
    font-weight:700;
}

.tyfc-result-card .scoreline{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    margin:12px 0;
    color:#141927;
}

.tyfc-result-card .scoreline div:last-child{
    text-align:right;
}

.tyfc-result-card .scoreline b{
    font-size:24px;
    font-weight:900;
    letter-spacing:-.04em;
}

.tyfc-standing-list{
    display:grid;
    gap:10px;
}

.tyfc-standing-row{
    display:grid;
    grid-template-columns:42px 1fr 56px;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    border-radius:15px;
    background:#fafbff;
    border:1px solid #eef0f4;
}

.tyfc-standing-row .rank{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:linear-gradient(135deg,#ece9ff,#f7f4ff);
    color:#5a35d6;
    font-weight:900;
}

.tyfc-standing-row .team strong{
    display:block;
    color:#161a29;
    font-size:15px;
}

.tyfc-standing-row .team small{
    color:#818695;
    font-size:12px;
}

.tyfc-standing-row .pts{
    text-align:right;
    font-size:26px;
    font-weight:900;
    color:#161a29;
}

.tyfc-home-news-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.tyfc-home-news-card{
    overflow:hidden;
    border:1px solid #e8ebf1;
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 22px rgba(20,28,48,.04);
    transition:.18s ease;
}

.tyfc-home-news-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(20,28,48,.08);
}

.tyfc-home-news-card img,
.tyfc-home-news-card .cover{
    width:100%;
    height:220px;
    object-fit:cover;
}

.tyfc-home-news-card .cover{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#17122b,#5a35d6);
    color:#fff;
    font-size:42px;
    font-weight:900;
}

.tyfc-home-news-card .body{
    padding:18px;
}

.tyfc-home-news-card .body small{
    color:#878c99;
    font-size:12px;
    font-weight:700;
}

.tyfc-home-news-card .body h3{
    margin:8px 0 10px;
    font-size:20px;
    line-height:1.4;
    color:#141927;
}

.tyfc-home-news-card .body p{
    margin:0 0 12px;
    color:#666b79;
    line-height:1.7;
    font-size:14px;
}

.tyfc-home-news-card .body a{
    color:#5a35d6;
    text-decoration:none;
    font-weight:900;
}

.tyfc-home-bottom-cta{
    max-width:1180px;
    margin:0 auto;
    padding:18px 18px 42px;
}

.tyfc-home-bottom-cta .box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px 24px;
    border-radius:26px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%,rgba(25,201,194,.28),transparent 28%),
        linear-gradient(145deg,#10182d,#202c5b 50%,#5a35d6);
    box-shadow:0 22px 48px rgba(17,26,47,.16);
}

.tyfc-home-bottom-cta h2{
    margin:5px 0 8px;
    font-size:30px;
    line-height:1.15;
    letter-spacing:-.03em;
}

.tyfc-home-bottom-cta p{
    margin:0;
    color:rgba(255,255,255,.84);
    line-height:1.7;
}

.tyfc-home-bottom-cta .actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.tyfc-home-bottom-cta .actions .btn{
    border-color:rgba(255,255,255,.18);
}

.tyfc-simple-empty{
    padding:30px 22px;
    border-radius:18px;
    border:1px dashed #d9dce6;
    background:#fff;
    text-align:center;
}

.tyfc-simple-empty.compact{
    padding:22px 18px;
}

.tyfc-simple-empty h3{
    margin:0 0 8px;
    font-size:22px;
    color:#171b29;
}

.tyfc-simple-empty p{
    margin:0;
    color:#7a7f8d;
    line-height:1.7;
}

/* ---------- tablet ---------- */

@media (max-width:980px){
    .public-menu{
        gap:12px;
    }

    .tyfc-home-hero{
        grid-template-columns:1fr;
    }

    .tyfc-home-stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tyfc-live-showcase,
    .tyfc-home-news-grid,
    .tyfc-home-grid-2{
        grid-template-columns:1fr;
    }

    .tyfc-match-row{
        grid-template-columns:1fr;
    }

    .tyfc-match-row .cta{
        text-align:left;
    }

    .tyfc-home-bottom-cta .box{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* ---------- mobile ---------- */

@media (max-width:640px){
    .public-nav-shell{
        padding:0 12px;
    }

    .public-nav{
        min-height:58px;
        gap:10px;
    }

    .public-menu{
        display:none;
    }

    .public-actions .btn{
        min-height:38px;
        padding:8px 12px;
        font-size:13px;
    }

    .public-mobile-tabs{
        display:flex;
        gap:8px;
        overflow:auto;
        padding:0 0 10px;
        -webkit-overflow-scrolling:touch;
    }

    .public-mobile-tabs a{
        white-space:nowrap;
        text-decoration:none;
        color:#343949;
        font-size:13px;
        font-weight:800;
        padding:9px 12px;
        border-radius:999px;
        background:#f3f4f8;
        border:1px solid #e8ebf1;
    }

    .tyfc-home-hero{
        padding:16px 12px 6px;
        gap:12px;
    }

    .tyfc-home-kicker{
        font-size:11px;
        padding:6px 10px;
    }

    .tyfc-home-hero h1{
        margin:12px 0 10px;
        font-size:32px;
        line-height:1.06;
    }

    .tyfc-home-hero p{
        font-size:14px;
        line-height:1.65;
    }

    .tyfc-home-actions{
        gap:8px;
        margin-top:16px;
    }

    .tyfc-home-actions .btn{
        width:100%;
        justify-content:center;
    }

    .tyfc-home-stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-top:16px;
    }

    .tyfc-home-stat-card{
        padding:14px 13px;
        border-radius:16px;
    }

    .tyfc-home-stat-card strong{
        font-size:24px;
    }

    .tyfc-feature-card{
        border-radius:22px;
        padding:18px;
    }

    .tyfc-feature-card h3{
        margin:16px 0 18px;
        font-size:30px;
    }

    .tyfc-home-section{
        padding:14px 12px;
    }

    .tyfc-home-section-head{
        align-items:flex-start;
        gap:8px;
        margin-bottom:12px;
    }

    .tyfc-home-section-head h2{
        font-size:23px;
    }

    .tyfc-home-section-head a{
        font-size:13px;
        white-space:nowrap;
    }

    .tyfc-live-showcase{
        gap:12px;
    }

    .tyfc-live-showcase-card{
        padding:18px 16px;
        border-radius:20px;
    }

    .tyfc-live-score-row{
        grid-template-columns:1fr 70px 1fr;
        gap:8px;
        margin:16px 0 14px;
    }

    .tyfc-live-score-row .team{
        font-size:14px;
    }

    .tyfc-live-score-row .score{
        min-width:70px;
        font-size:28px;
    }

    .tyfc-live-footer{
        display:grid;
        gap:4px;
    }

    .tyfc-live-empty-title{
        font-size:24px;
    }

    .tyfc-match-row{
        padding:14px;
        border-radius:16px;
        gap:10px;
    }

    .tyfc-match-row .meta .date{
        font-size:13px;
    }

    .tyfc-match-row .teams{
        font-size:15px;
    }

    .tyfc-home-panel{
        padding:14px;
        border-radius:18px;
    }

    .tyfc-result-card .scoreline{
        grid-template-columns:1fr;
        text-align:center;
        gap:4px;
    }

    .tyfc-result-card .scoreline div:last-child{
        text-align:center;
    }

    .tyfc-result-card .scoreline b{
        font-size:22px;
    }

    .tyfc-standing-row{
        grid-template-columns:36px 1fr 44px;
        padding:11px 12px;
    }

    .tyfc-standing-row .rank{
        width:36px;
        height:36px;
        border-radius:12px;
    }

    .tyfc-standing-row .pts{
        font-size:22px;
    }

    .tyfc-home-news-grid{
        grid-template-columns:1fr;
    }

    .tyfc-home-news-card{
        border-radius:18px;
    }

    .tyfc-home-news-card img,
    .tyfc-home-news-card .cover{
        height:190px;
    }

    .tyfc-home-news-card .body{
        padding:15px;
    }

    .tyfc-home-news-card .body h3{
        font-size:18px;
    }

    .tyfc-home-bottom-cta{
        padding:14px 12px 28px;
    }

    .tyfc-home-bottom-cta .box{
        padding:18px 16px;
        border-radius:20px;
    }

    .tyfc-home-bottom-cta h2{
        font-size:24px;
    }

    .tyfc-home-bottom-cta .actions{
        width:100%;
    }

    .tyfc-home-bottom-cta .actions .btn{
        width:100%;
        justify-content:center;
    }
}

@media (max-width:390px){
    .tyfc-home-stat-grid{
        grid-template-columns:1fr;
    }

    .tyfc-live-score-row{
        grid-template-columns:1fr 60px 1fr;
    }

    .tyfc-live-score-row .score{
        font-size:24px;
    }
}


/* =========================================================
   TYFC PUBLIC HOME — FINAL VISUAL POLISH
   ========================================================= */

.tyfc-public{
    background:
        radial-gradient(circle at 85% -10%,rgba(92,53,214,.08),transparent 28%),
        #f5f7fb;
}

/* Header */
.public-site-header{
    box-shadow:0 8px 30px rgba(19,27,48,.045);
}

.public-brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#141827;
}

.public-brand span{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(145deg,#111a31,#5a35d6);
    color:#fff;
    font-size:13px;
    font-weight:950;
    letter-spacing:.03em;
    box-shadow:0 8px 20px rgba(73,44,183,.22);
}

.public-brand strong{
    font-size:18px;
    font-weight:950;
    letter-spacing:-.02em;
}

.public-menu a{
    position:relative;
    padding:23px 2px 21px;
}

.public-menu a:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:12px;
    height:2px;
    border-radius:999px;
    background:#5a35d6;
    transform:scaleX(0);
    transform-origin:center;
    transition:.18s ease;
}

.public-menu a:hover{
    color:#5a35d6;
}

.public-menu a:hover:after{
    transform:scaleX(1);
}

/* Hero shell */
.tyfc-home-hero{
    padding-top:32px;
}

.tyfc-home-hero-content{
    padding:26px 28px 24px;
    border-radius:28px;
    background:
        radial-gradient(circle at 85% 15%,rgba(90,53,214,.10),transparent 28%),
        linear-gradient(180deg,#ffffff 0%,#fafbff 100%);
    border:1px solid #e9ebf2;
    box-shadow:0 20px 55px rgba(18,26,45,.06);
}

.tyfc-home-kicker{
    box-shadow:inset 0 0 0 1px rgba(90,53,214,.08);
}

.tyfc-home-hero h1{
    max-width:760px;
}

.tyfc-home-actions .btn{
    min-height:46px;
    padding:11px 16px;
    border-radius:13px;
}

.tyfc-home-actions .btn:not(.btn-primary){
    background:#fff;
    border:1px solid #e0e3eb;
    color:#232735;
}

/* Stats */
.tyfc-home-stat-card{
    transition:.16s ease;
}

.tyfc-home-stat-card:hover{
    transform:translateY(-2px);
    border-color:#dbdcef;
    box-shadow:0 14px 34px rgba(21,27,44,.075);
}

.tyfc-home-stat-card strong{
    letter-spacing:-.04em;
}

/* Main feature competition card */
.tyfc-feature-card{
    position:relative;
    overflow:hidden;
}

.tyfc-feature-card:before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-120px;
    bottom:-120px;
    border-radius:50%;
    border:34px solid rgba(255,255,255,.055);
}

.tyfc-feature-card:after{
    content:"TYFC";
    position:absolute;
    right:18px;
    top:42px;
    color:rgba(255,255,255,.035);
    font-size:72px;
    font-weight:950;
    letter-spacing:-.07em;
    pointer-events:none;
}

/* Section spacing */
.tyfc-home-section{
    padding-top:22px;
    padding-bottom:22px;
}

.tyfc-home-section + .tyfc-home-section{
    margin-top:2px;
}

/* Empty live state */
.tyfc-live-showcase-card.is-empty{
    min-height:190px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:
        radial-gradient(circle at 90% 10%,rgba(87,49,255,.35),transparent 32%),
        linear-gradient(145deg,#10182d,#172641);
}

.tyfc-live-showcase-card.is-empty p{
    max-width:520px;
    margin:0;
    color:rgba(255,255,255,.7);
    line-height:1.7;
}

/* Fixture rows */
.tyfc-match-row{
    transition:.16s ease;
}

.tyfc-match-row:hover{
    transform:translateY(-1px);
    border-color:#dcdeea;
    box-shadow:0 12px 28px rgba(20,28,48,.06);
}

/* Results */
.tyfc-result-card{
    transition:.15s ease;
}

.tyfc-result-card:hover{
    background:#fff;
    border-color:#dcdfeb;
}

/* Standings */
.tyfc-standing-row:first-child .rank{
    background:linear-gradient(135deg,#ffe8a3,#ffd45a);
    color:#5e4200;
}

.tyfc-standing-row:nth-child(2) .rank{
    background:linear-gradient(135deg,#eef1f6,#d9dde5);
    color:#4a4f59;
}

.tyfc-standing-row:nth-child(3) .rank{
    background:linear-gradient(135deg,#f4d2b7,#d9a47e);
    color:#603b24;
}

.tyfc-standing-row:first-child{
    background:linear-gradient(90deg,#fffdf4,#fff);
}

/* News */
.tyfc-home-news-card.placeholder{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(220px,.55fr) 1fr;
}

.tyfc-home-news-card.placeholder .cover{
    height:100%;
    min-height:230px;
}

/* CTA */
.tyfc-home-bottom-cta .box{
    position:relative;
    overflow:hidden;
}

.tyfc-home-bottom-cta .box:after{
    content:"⚽";
    position:absolute;
    right:28px;
    bottom:-34px;
    font-size:118px;
    opacity:.055;
}

/* Footer */
.public-footer{
    max-width:1180px;
    margin:24px auto 0;
    padding:26px 18px 34px;
    border-top:1px solid #e4e7ee;
    color:#767b89;
}

.public-footer strong{
    color:#161a29;
}

/* MOBILE */
@media(max-width:640px){

    .tyfc-home-hero{
        padding-top:14px;
    }

    .tyfc-home-hero-content{
        padding:18px 16px 17px;
        border-radius:20px;
    }

    .tyfc-home-hero h1{
        font-size:30px;
    }

    .tyfc-home-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .tyfc-home-actions .btn{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }

    .tyfc-home-stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tyfc-home-stat-card{
        min-height:100px;
    }

    .tyfc-feature-card{
        min-height:240px;
    }

    .public-mobile-tabs{
        scrollbar-width:none;
    }

    .public-mobile-tabs::-webkit-scrollbar{
        display:none;
    }

    .tyfc-home-section-head{
        align-items:center;
    }

    .tyfc-home-section-head h2{
        font-size:21px;
    }

    .tyfc-home-section-head > a{
        font-size:12px;
    }

    .tyfc-live-showcase-card.is-empty{
        min-height:165px;
    }

    .tyfc-match-row{
        grid-template-columns:1fr;
        gap:8px;
    }

    .tyfc-match-row .teams{
        display:grid;
        grid-template-columns:1fr auto 1fr;
        align-items:center;
        gap:6px;
    }

    .tyfc-match-row .teams strong:last-child{
        text-align:right;
    }

    .tyfc-match-row .teams span{
        margin:0;
    }

    .tyfc-home-news-card.placeholder{
        display:block;
    }

    .tyfc-home-news-card.placeholder .cover{
        min-height:150px;
        height:150px;
    }

    .public-footer{
        display:grid;
        gap:4px;
        margin-top:8px;
        padding:22px 14px 28px;
        font-size:12px;
    }
}

@media(max-width:390px){
    .tyfc-home-stat-grid{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-home-stat-card strong{
        font-size:22px;
    }
}


/* =========================================================
   TYFC PUBLIC HOME — MOBILE FINAL
   Main audience: Smartphone
   ========================================================= */

@media (max-width:640px){

    /* ---------- overall ---------- */

    .tyfc-public{
        background:#f4f6fa;
    }

    /* ---------- top header ---------- */

    .public-site-header{
        position:sticky;
        top:0;
        z-index:100;
        background:rgba(255,255,255,.97);
    }

    .public-nav-shell{
        padding:0;
    }

    .public-nav{
        min-height:58px;
        padding:8px 13px;
        border-bottom:0;
    }

    .public-brand{
        gap:8px;
    }

    .public-brand span{
        width:36px;
        height:36px;
        border-radius:11px;
        font-size:11px;
    }

    .public-brand strong{
        font-size:17px;
    }

    .public-actions .btn{
        min-height:36px;
        padding:7px 12px;
        border-radius:11px;
        font-size:12px;
        box-shadow:none;
    }

    /* ---------- mobile navigation ---------- */

    .public-mobile-tabs{
        display:flex;
        align-items:center;
        gap:7px;
        overflow-x:auto;
        padding:3px 12px 10px;
        background:#fff;
        border-bottom:1px solid #eceef3;
        scrollbar-width:none;
    }

    .public-mobile-tabs::-webkit-scrollbar{
        display:none;
    }

    .public-mobile-tabs a{
        flex:0 0 auto;
        padding:8px 12px;
        border:0;
        border-radius:999px;
        background:#f1f3f7;
        color:#4c5260;
        font-size:12px;
        font-weight:800;
    }

    .public-mobile-tabs a:first-child{
        background:#171b2e;
        color:#fff;
    }

    /* ---------- hero ---------- */

    .tyfc-home-hero{
        display:block;
        padding:12px;
    }

    .tyfc-home-hero-content{
        padding:17px 15px 15px;
        border-radius:20px;
        box-shadow:0 9px 28px rgba(18,26,45,.055);
    }

    .tyfc-home-kicker{
        font-size:10px;
        letter-spacing:.075em;
    }

    .tyfc-home-hero h1{
        margin:11px 0 8px;
        font-size:29px;
        line-height:1.08;
        letter-spacing:-.035em;
    }

    .tyfc-home-hero p{
        font-size:13px;
        line-height:1.6;
    }

    /* ---------- primary actions ---------- */

    .tyfc-home-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-top:15px;
    }

    .tyfc-home-actions .btn{
        min-height:42px;
        width:auto;
        padding:9px 8px;
        font-size:12px;
        border-radius:12px;
    }

    .tyfc-home-actions .btn:first-child{
        grid-column:1 / -1;
        min-height:46px;
        font-size:14px;
    }

    .tyfc-home-actions .btn:nth-child(3){
        grid-column:1 / -1;
    }

    /* ---------- stat cards ---------- */

    .tyfc-home-stat-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-top:14px;
    }

    .tyfc-home-stat-card{
        min-height:88px;
        padding:12px;
        border-radius:15px;
        box-shadow:none;
    }

    .tyfc-home-stat-card span{
        font-size:10px;
    }

    .tyfc-home-stat-card strong{
        margin:6px 0 2px;
        font-size:25px;
    }

    .tyfc-home-stat-card small{
        font-size:11px;
        line-height:1.35;
    }

    /* ---------- competition feature ---------- */

    .tyfc-home-hero-side{
        margin-top:10px;
    }

    .tyfc-feature-card{
        min-height:auto;
        padding:17px;
        border-radius:20px;
        box-shadow:0 13px 30px rgba(19,28,54,.15);
    }

    .tyfc-feature-card:after{
        right:10px;
        top:35px;
        font-size:55px;
    }

    .tyfc-feature-card h3{
        margin:14px 0 15px;
        font-size:29px;
    }

    .tyfc-feature-meta{
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-bottom:15px;
    }

    .tyfc-feature-meta div{
        padding:11px;
        border-radius:13px;
    }

    .tyfc-feature-meta span{
        font-size:10px;
    }

    .tyfc-feature-meta strong{
        font-size:13px;
    }

    .tyfc-feature-links{
        display:flex;
        flex-direction:row;
        gap:8px;
    }

    .tyfc-feature-links a{
        flex:1;
        padding:10px 8px;
        text-align:center;
        border-radius:11px;
        background:rgba(255,255,255,.10);
        font-size:11px;
    }

    /* ---------- sections ---------- */

    .tyfc-home-section{
        padding:14px 12px;
    }

    .tyfc-home-section-head{
        margin-bottom:10px;
    }

    .tyfc-home-section-head .tyfc-eyebrow{
        font-size:9px;
        letter-spacing:.12em;
    }

    .tyfc-home-section-head h2{
        margin-top:3px;
        font-size:20px;
    }

    /* ---------- live ---------- */

    .tyfc-live-showcase-card{
        padding:16px;
        border-radius:18px;
    }

    .tyfc-live-showcase-card.is-empty{
        min-height:145px;
    }

    .tyfc-live-empty-title{
        margin:15px 0 5px;
        font-size:21px;
    }

    .tyfc-live-showcase-card.is-empty p{
        font-size:12px;
    }

    /* ---------- match row ---------- */

    .tyfc-match-row{
        padding:13px;
        border-radius:15px;
    }

    .tyfc-match-row .teams{
        margin-top:3px;
        font-size:14px;
    }

    /* ---------- result / standings ---------- */

    .tyfc-home-grid-2{
        gap:12px;
    }

    .tyfc-home-panel{
        padding:13px;
        border-radius:18px;
    }

    .tyfc-standing-row{
        padding:9px 10px;
    }

    /* ---------- news ---------- */

    .tyfc-home-news-card img,
    .tyfc-home-news-card .cover{
        height:175px;
    }

    .tyfc-home-news-card .body{
        padding:14px;
    }

    /* ---------- footer CTA ---------- */

    .tyfc-home-bottom-cta .box{
        padding:17px 15px;
    }

    .tyfc-home-bottom-cta h2{
        font-size:22px;
    }

    .tyfc-home-bottom-cta p{
        font-size:12px;
    }
}

/* iPhone SE / very small phone */
@media (max-width:375px){

    .tyfc-home-hero h1{
        font-size:26px;
    }

    .tyfc-home-actions{
        grid-template-columns:1fr;
    }

    .tyfc-home-actions .btn,
    .tyfc-home-actions .btn:first-child,
    .tyfc-home-actions .btn:nth-child(3){
        grid-column:auto;
    }

    .tyfc-feature-meta{
        grid-template-columns:1fr;
    }
}



/* =========================================================
   TYFC V1 — MATCH CENTER LAYOUT FIX
   ========================================================= */

.match-control-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 20px;
    align-items: stretch;
    margin: 18px 0;
}

.match-control-grid > * {
    min-width: 0;
}

.score-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    gap: 16px;
    align-items: end;
    margin: 18px 0;
    width: 100%;
}

.score-inputs label {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.score-inputs input {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    text-align: center;
    font-size: 38px;
    line-height: 1.1;
    font-weight: 900;
}

.score-inputs > strong {
    align-self: center;
    text-align: center;
    font-size: 24px;
    padding-bottom: 8px;
}

.match-control-grid .tyfc-panel {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.match-control-grid .status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.match-control-grid .status-actions .btn {
    white-space: nowrap;
}

.match-control-grid input[name="minute_text"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Tablet */
@media (max-width: 1100px) {
    .match-control-grid {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .score-inputs {
        grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
        gap: 8px;
    }

    .score-inputs input {
        font-size: 30px;
        padding: 10px 8px;
    }

    .score-inputs > strong {
        font-size: 20px;
    }

    .match-control-grid .status-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .match-control-grid .status-actions .btn {
        width: 100%;
    }
}



/* =========================================================
   TYFC V1 — MATCH CENTER CONSOLE FINAL
   ========================================================= */

/* Main operation area */
.match-control-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
    margin: 18px 0 24px;
}

.match-control-grid > * {
    min-width: 0;
}

/* Do NOT stretch right panel */
.match-control-grid .tyfc-panel {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    align-self: start;
}

/* ---------------------------------------------------------
   LIVE SCORE CARD
   --------------------------------------------------------- */

.match-control-grid > form.tyfc-panel {
    padding: 26px 28px 24px;
}

.match-control-grid > form.tyfc-panel > h2 {
    margin: 0 0 22px;
    font-size: 24px;
    line-height: 1.2;
}

.score-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    margin: 0 0 20px;
    align-items: end;
}

.score-inputs label {
    display: grid;
    grid-template-rows: auto 92px;
    gap: 10px;
    min-width: 0;
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}

.score-inputs input {
    display: block;
    width: 100%;
    height: 92px;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 8px 12px;
    box-sizing: border-box;

    border: 1px solid #dfe1e8;
    border-radius: 14px;

    background: #ffffff;

    text-align: center;
    font-size: 44px;
    line-height: 1;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

/* Disabled score must still look like scoreboard */
.score-inputs input:disabled {
    opacity: 1;
    color: #4d4f58;
    background: #f7f7f9;
    -webkit-text-fill-color: #4d4f58;
}

.score-inputs > strong {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 92px;
    padding-top: 30px;

    box-sizing: border-box;

    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

/* minute field */
.match-control-grid > form.tyfc-panel > label {
    display: grid;
    gap: 8px;
    margin-top: 4px;
    font-weight: 700;
}

.match-control-grid input[name="minute_text"] {
    display: block;
    width: 100%;
    height: 44px;
    max-width: 100%;
    box-sizing: border-box;

    padding: 0 14px;

    border: 1px solid #dfe1e8;
    border-radius: 10px;

    text-align: left;
}

.match-control-grid input[name="minute_text"]:disabled {
    opacity: 1;
    color: #777b86;
    background: #f7f7f9;
    -webkit-text-fill-color: #777b86;
}

.match-control-grid > form.tyfc-panel > p {
    margin: 18px 0 0;
    color: #737783;
    font-size: 14px;
}

/* ---------------------------------------------------------
   STATUS CONTROL CARD
   --------------------------------------------------------- */

.match-control-grid > .tyfc-panel {
    padding: 26px 24px;
}

.match-control-grid > .tyfc-panel > h2 {
    margin: 0 0 20px;
    font-size: 24px;
}

.match-control-grid .status-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.match-control-grid .status-actions .btn {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 10px 14px;

    white-space: normal;
    text-align: center;
    line-height: 1.25;
}

/* First primary operational button */
.match-control-grid .status-actions .btn:first-of-type {
    font-weight: 800;
}

/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.score-title {
    vertical-align: middle;
    margin: 0 8px;
    padding: 6px 14px;
    border-radius: 12px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1180px) {
    .match-control-grid {
        grid-template-columns: minmax(0, 1fr) 290px;
    }
}

@media (max-width: 960px) {
    .match-control-grid {
        grid-template-columns: 1fr;
    }

    .match-control-grid > .tyfc-panel {
        width: 100%;
    }

    .match-control-grid .status-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .match-control-grid > form.tyfc-panel,
    .match-control-grid > .tyfc-panel {
        padding: 20px 16px;
    }

    .score-inputs {
        grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr);
        gap: 7px;
    }

    .score-inputs label {
        grid-template-rows: auto 72px;
        font-size: 14px;
    }

    .score-inputs input {
        height: 72px;
        font-size: 34px;
        padding: 6px;
    }

    .score-inputs > strong {
        height: 72px;
        padding-top: 27px;
        font-size: 22px;
    }

    .match-control-grid .status-actions {
        grid-template-columns: 1fr;
    }
}




/* === TYFC V2 TEAM MANAGER CONSOLE START === */

.tyfc-fm-page{
    display:grid;
    gap:22px;
}

.tyfc-fm-hero{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
    gap:22px;
    align-items:stretch;
}

.tyfc-fm-hero-main,
.tyfc-fm-hero-side{
    min-width:0;
}

.tyfc-fm-hero-main{
    position:relative;
    overflow:hidden;
    padding:30px;
    border:1px solid rgba(119,127,160,.18);
    border-radius:28px;
    background:
        radial-gradient(circle at 85% 15%, rgba(112,69,236,.28), transparent 28%),
        radial-gradient(circle at 10% 90%, rgba(0,174,255,.14), transparent 26%),
        linear-gradient(145deg,#0f1221 0%,#171b2f 52%,#1d2240 100%);
    color:#fff;
    box-shadow:0 24px 60px rgba(13,18,34,.18);
}

.tyfc-fm-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    color:#9fb0ff;
    text-transform:uppercase;
    margin-bottom:18px;
}

.tyfc-fm-club-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
}

.tyfc-fm-logo-wrap{
    min-width:0;
}

.tyfc-fm-logo{
    width:98px;
    height:98px;
    border-radius:24px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#20173f,#6e44e7);
    color:#fff;
    font-size:24px;
    font-weight:900;
    letter-spacing:.06em;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
    overflow:hidden;
}

.tyfc-fm-logo.has-image{
    background:#fff;
    padding:10px;
}

.tyfc-fm-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.tyfc-fm-club-copy{
    min-width:0;
}

.tyfc-fm-club-copy h1{
    margin:0;
    font-size:clamp(28px,4vw,42px);
    line-height:1.06;
    letter-spacing:-.03em;
}

.tyfc-fm-club-copy p{
    margin:8px 0 0;
    color:rgba(228,233,255,.76);
    font-size:15px;
    line-height:1.7;
}

.tyfc-fm-pill-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}

.tyfc-fm-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    color:rgba(245,247,255,.8);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
}

.tyfc-fm-pill strong{
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.tyfc-fm-status{
    min-width:180px;
    padding:16px 18px;
    border-radius:20px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    text-align:left;
}

.tyfc-fm-status small{
    display:block;
    margin-bottom:8px;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(226,232,255,.7);
}

.tyfc-fm-status strong{
    display:block;
    font-size:20px;
    line-height:1.2;
    color:#fff;
}

.tyfc-fm-status-preparing{
    box-shadow:inset 0 0 0 1px rgba(255,193,7,.22);
}

.tyfc-fm-status-submitted{
    box-shadow:inset 0 0 0 1px rgba(86,163,255,.22);
}

.tyfc-fm-status-approved{
    box-shadow:inset 0 0 0 1px rgba(76,255,151,.22);
}

.tyfc-fm-status-rejected,
.tyfc-fm-status-withdrawn{
    box-shadow:inset 0 0 0 1px rgba(255,107,115,.22);
}

.tyfc-fm-lead{
    margin:20px 0 0;
    max-width:920px;
    color:rgba(236,240,255,.84);
    font-size:16px;
    line-height:1.8;
}

.tyfc-fm-primary-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.tyfc-fm-primary-btn{
    min-width:210px;
    font-weight:900;
}

.tyfc-fm-hero-card{
    height:100%;
    padding:28px;
    border-radius:28px;
    background:
        radial-gradient(circle at 85% 10%, rgba(112,69,236,.20), transparent 34%),
        linear-gradient(145deg,#121729 0%,#171d34 60%,#1f2646 100%);
    color:#fff;
    border:1px solid rgba(119,127,160,.16);
    box-shadow:0 24px 60px rgba(13,18,34,.16);
}

.tyfc-fm-hero-card small{
    display:block;
    margin-bottom:16px;
    color:#9fb0ff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.tyfc-fm-ready-score{
    font-size:52px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}

.tyfc-fm-progress{
    position:relative;
    height:12px;
    margin:20px 0 18px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    overflow:hidden;
}

.tyfc-fm-progress span{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#5eead4,#3b82f6,#8b5cf6);
}

.tyfc-fm-hero-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.tyfc-fm-hero-stats > div{
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.tyfc-fm-hero-stats strong{
    display:block;
    font-size:18px;
    line-height:1.2;
    color:#fff;
}

.tyfc-fm-hero-stats span{
    display:block;
    margin-top:6px;
    color:rgba(235,239,255,.72);
    font-size:12px;
}

.tyfc-fm-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.tyfc-fm-kpi-card{
    padding:22px;
    border-radius:22px;
    background:#fff;
    border:1px solid #e7e9f1;
    box-shadow:0 12px 30px rgba(23,24,43,.06);
}

.tyfc-fm-kpi-card small{
    display:block;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#76809a;
}

.tyfc-fm-kpi-card strong{
    display:block;
    margin-top:10px;
    font-size:28px;
    line-height:1.15;
    color:#141729;
    letter-spacing:-.03em;
}

.tyfc-fm-kpi-card span{
    display:block;
    margin-top:8px;
    color:#6f7588;
    line-height:1.6;
}

.tyfc-fm-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:18px;
}

.tyfc-fm-panel{
    padding:24px;
    border-radius:24px;
    background:#fff;
    border:1px solid #e8ebf3;
    box-shadow:0 12px 30px rgba(23,24,43,.05);
}

.tyfc-fm-panel-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.tyfc-fm-panel-head small{
    display:block;
    margin-bottom:6px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#7d86a0;
}

.tyfc-fm-panel-head h2{
    margin:0;
    font-size:24px;
    line-height:1.2;
    letter-spacing:-.02em;
    color:#121526;
}

.tyfc-fm-panel-head a{
    text-decoration:none;
    color:#5a35d5;
    font-weight:800;
    white-space:nowrap;
}

.tyfc-fm-mission-list{
    display:grid;
    gap:12px;
}

.tyfc-fm-mission-item{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:14px 16px;
    border-radius:18px;
    background:#f8f9fc;
    border:1px solid #eceff5;
}

.tyfc-fm-mission-item.is-done{
    background:#effcf5;
    border-color:#c8f3d7;
}

.tyfc-fm-mission-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:#171b2f;
    color:#fff;
    font-size:18px;
    font-weight:900;
}

.tyfc-fm-mission-item.is-done .tyfc-fm-mission-icon{
    background:#17a25a;
}

.tyfc-fm-mission-copy strong{
    display:block;
    color:#111526;
    line-height:1.4;
}

.tyfc-fm-mission-copy span{
    display:block;
    margin-top:3px;
    color:#6a7185;
    font-size:13px;
}

.tyfc-fm-submit-box{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    margin-top:18px;
    padding:18px;
    border-radius:22px;
    background:linear-gradient(145deg,#0f1221,#1a2040 72%,#2a2f61);
    color:#fff;
}

.tyfc-fm-submit-copy small{
    display:block;
    margin-bottom:8px;
    color:#a7b8ff;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:900;
}

.tyfc-fm-submit-copy h3{
    margin:0 0 8px;
    font-size:22px;
    line-height:1.2;
}

.tyfc-fm-submit-copy p{
    margin:0;
    color:rgba(232,236,255,.78);
    line-height:1.7;
}

.tyfc-fm-submit-action{
    display:flex;
    align-items:center;
    justify-content:center;
}

.tyfc-fm-lock-note{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 16px;
    border-radius:14px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.14);
    color:#fff;
    font-size:13px;
    font-weight:800;
    text-align:center;
}

.tyfc-fm-lock-note.is-warning{
    background:rgba(255,193,7,.16);
    border-color:rgba(255,193,7,.20);
}

.tyfc-fm-lock-note.is-approved{
    background:rgba(22,163,74,.18);
    border-color:rgba(34,197,94,.24);
}

.tyfc-fm-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.tyfc-fm-info-grid > div{
    padding:16px;
    border-radius:18px;
    background:#f8f9fc;
    border:1px solid #eceff5;
}

.tyfc-fm-info-grid small{
    display:block;
    margin-bottom:6px;
    color:#7b8297;
    font-size:12px;
    font-weight:800;
}

.tyfc-fm-info-grid strong{
    display:block;
    color:#111526;
    line-height:1.55;
}

.tyfc-fm-module-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.tyfc-fm-module-card{
    display:block;
    padding:24px;
    border-radius:24px;
    text-decoration:none;
    color:inherit;
    background:
        radial-gradient(circle at 90% 10%, rgba(107,70,255,.12), transparent 28%),
        #fff;
    border:1px solid #e7eaf2;
    box-shadow:0 12px 30px rgba(23,24,43,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tyfc-fm-module-card:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 42px rgba(23,24,43,.10);
    border-color:#d7dcf0;
}

.tyfc-fm-module-card small{
    display:block;
    margin-bottom:12px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#7c86a0;
}

.tyfc-fm-module-card h3{
    margin:0;
    font-size:26px;
    line-height:1.15;
    letter-spacing:-.02em;
    color:#13172a;
}

.tyfc-fm-module-card p{
    margin:14px 0 0;
    color:#697084;
    line-height:1.8;
    min-height:86px;
}

.tyfc-fm-module-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #eceff5;
}

.tyfc-fm-module-meta strong{
    color:#13172a;
    font-size:18px;
}

.tyfc-fm-module-meta span{
    color:#5b35d5;
    font-weight:800;
}

.tyfc-fm-dual-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.tyfc-fm-list{
    display:grid;
    gap:12px;
}

.tyfc-fm-list-item{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:12px 14px;
    border-radius:18px;
    background:#f8f9fc;
    border:1px solid #edf0f6;
}

.tyfc-fm-jersey,
.tyfc-fm-avatar{
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#161a2d,#2a3270);
    color:#fff;
    font-weight:900;
    font-size:17px;
}

.tyfc-fm-list-copy{
    min-width:0;
}

.tyfc-fm-list-copy strong{
    display:block;
    color:#121526;
    line-height:1.4;
}

.tyfc-fm-list-copy strong em{
    margin-left:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#eef2ff;
    color:#4f46e5;
    font-style:normal;
    font-size:11px;
    font-weight:900;
    vertical-align:middle;
}

.tyfc-fm-list-copy span{
    display:block;
    margin-top:4px;
    color:#6e7487;
    font-size:13px;
    line-height:1.5;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tyfc-fm-empty{
    padding:20px;
    border-radius:20px;
    background:#f8f9fc;
    border:1px dashed #dbe0eb;
    color:#70788d;
    line-height:1.8;
}

.tyfc-fm-doc-list{
    display:grid;
    gap:12px;
}

.tyfc-fm-doc-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-radius:18px;
    background:#f8f9fc;
    border:1px solid #edf0f6;
}

.tyfc-fm-doc-item strong{
    display:block;
    color:#121526;
    line-height:1.45;
}

.tyfc-fm-doc-item span{
    display:block;
    margin-top:4px;
    color:#6e7487;
    font-size:13px;
}

.tyfc-fm-doc-item b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    padding:8px 10px;
    border-radius:999px;
    background:#eef2ff;
    color:#4338ca;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

@media (max-width: 1240px){
    .tyfc-fm-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tyfc-fm-module-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 1100px){
    .tyfc-fm-hero,
    .tyfc-fm-main-grid,
    .tyfc-fm-dual-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 820px){
    .tyfc-fm-club-row{
        grid-template-columns:1fr;
        align-items:start;
    }

    .tyfc-fm-status{
        min-width:0;
    }

    .tyfc-fm-submit-box{
        grid-template-columns:1fr;
    }

    .tyfc-fm-info-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 640px){
    .tyfc-fm-hero-main,
    .tyfc-fm-panel,
    .tyfc-fm-hero-card,
    .tyfc-fm-module-card{
        padding:20px 16px;
    }

    .tyfc-fm-kpi-grid{
        grid-template-columns:1fr;
    }

    .tyfc-fm-logo{
        width:82px;
        height:82px;
        border-radius:20px;
        font-size:21px;
    }

    .tyfc-fm-club-copy h1{
        font-size:30px;
    }

    .tyfc-fm-primary-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .tyfc-fm-primary-btn,
    .tyfc-fm-primary-actions .btn{
        width:100%;
        min-width:0;
    }

    .tyfc-fm-hero-stats{
        grid-template-columns:1fr;
    }

    .tyfc-fm-doc-item{
        display:grid;
        grid-template-columns:1fr;
        justify-content:start;
    }
}

/* === TYFC V2 TEAM MANAGER CONSOLE END === */




/* === TYFC V2 SQUAD CENTER START === */

.tyfc-squad-page{
    display:grid;
    gap:22px;
}

.tyfc-squad-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:24px;
    align-items:center;
    padding:30px;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(115,78,255,.30),
            transparent 31%
        ),
        radial-gradient(
            circle at 14% 92%,
            rgba(0,198,255,.13),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #0e1220 0%,
            #171b30 50%,
            #21274a 100%
        );
    border:1px solid rgba(130,139,174,.15);
    box-shadow:0 24px 60px rgba(15,18,35,.18);
}

.tyfc-squad-eyebrow{
    color:#9fb0ff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.tyfc-squad-hero h1{
    margin:8px 0 8px;
    max-width:900px;
    font-size:clamp(32px,4vw,48px);
    line-height:1.08;
    letter-spacing:-.035em;
}

.tyfc-squad-hero p{
    margin:0;
    max-width:720px;
    color:rgba(234,239,255,.75);
    font-size:16px;
    line-height:1.75;
}

.tyfc-squad-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.tyfc-squad-add-btn{
    min-width:180px;
    font-weight:900;
}

.tyfc-squad-hero-stat{
    min-height:160px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.tyfc-squad-hero-stat small{
    color:#9fb0ff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.13em;
}

.tyfc-squad-hero-stat strong{
    display:block;
    margin-top:10px;
    font-size:56px;
    line-height:1;
    letter-spacing:-.05em;
}

.tyfc-squad-hero-stat span{
    margin-top:7px;
    color:rgba(235,239,255,.72);
    font-size:13px;
}

.tyfc-squad-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.tyfc-squad-kpi-grid article{
    padding:20px;
    border-radius:20px;
    background:#fff;
    border:1px solid #e7eaf2;
    box-shadow:0 10px 26px rgba(22,24,44,.05);
}

.tyfc-squad-kpi-grid small{
    display:block;
    color:#818aa1;
    font-size:11px;
    font-weight:900;
    letter-spacing:.11em;
}

.tyfc-squad-kpi-grid strong{
    display:block;
    margin-top:8px;
    color:#141729;
    font-size:31px;
    line-height:1;
}

.tyfc-squad-kpi-grid span{
    display:block;
    margin-top:8px;
    color:#747b8f;
    font-size:13px;
}

.tyfc-squad-form-panel,
.tyfc-squad-roster{
    padding:24px;
    border-radius:24px;
    background:#fff;
    border:1px solid #e7eaf2;
    box-shadow:0 12px 30px rgba(22,24,44,.05);
}

.tyfc-squad-form-panel{
    scroll-margin-top:24px;
}

.tyfc-squad-form-panel.is-editing{
    border-color:#c9c3ff;
    box-shadow:
        0 14px 34px rgba(87,62,210,.08),
        inset 0 0 0 1px rgba(108,76,255,.08);
}

.tyfc-squad-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
}

.tyfc-squad-section-head small{
    display:block;
    margin-bottom:5px;
    color:#7f889f;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
}

.tyfc-squad-section-head h2{
    margin:0;
    color:#121526;
    font-size:25px;
    letter-spacing:-.02em;
}

.tyfc-squad-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:74px;
    padding:9px 12px;
    border-radius:999px;
    background:#eef1f7;
    color:#34394b;
    font-size:12px;
    font-weight:900;
}

.tyfc-squad-player-form{
    display:grid;
    gap:18px;
}

.tyfc-squad-form-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.tyfc-squad-form-grid label{
    display:grid;
    gap:8px;
}

.tyfc-squad-form-grid label > span{
    color:#41475a;
    font-size:13px;
    font-weight:800;
}

.tyfc-squad-form-grid input,
.tyfc-squad-form-grid select{
    width:100%;
    height:48px;
    box-sizing:border-box;
    padding:0 14px;
    border:1px solid #dfe3ec;
    border-radius:13px;
    background:#fff;
    color:#181b29;
    outline:none;
    transition:
        border-color .16s ease,
        box-shadow .16s ease;
}

.tyfc-squad-form-grid input:focus,
.tyfc-squad-form-grid select:focus{
    border-color:#795af0;
    box-shadow:0 0 0 3px rgba(121,90,240,.10);
}

.tyfc-squad-form-actions{
    display:flex;
    justify-content:flex-end;
}

.tyfc-squad-save-btn{
    min-width:190px;
    font-weight:900;
}

.tyfc-player-card-grid{
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:18px;
}

.tyfc-player-game-card{
    position:relative;
    overflow:hidden;
    min-width:0;
    border-radius:24px;
    background:
        radial-gradient(
            circle at 50% 22%,
            rgba(104,76,255,.18),
            transparent 28%
        ),
        linear-gradient(
            165deg,
            #14182a 0%,
            #1b2037 52%,
            #111522 100%
        );
    color:#fff;
    border:1px solid rgba(119,128,165,.18);
    box-shadow:0 18px 38px rgba(15,18,36,.14);
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.tyfc-player-game-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 48px rgba(15,18,36,.22);
}

.tyfc-player-game-card.role-captain{
    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(255,204,80,.19),
            transparent 28%
        ),
        linear-gradient(
            165deg,
            #211b15,
            #30271c 52%,
            #15181f
        );
    border-color:rgba(241,196,76,.25);
}

.tyfc-player-card-top{
    position:absolute;
    z-index:3;
    top:17px;
    left:18px;
    display:grid;
    gap:3px;
}

.tyfc-player-number{
    font-size:32px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}

.tyfc-player-position{
    color:#aeb8d8;
    font-size:11px;
    font-weight:900;
    letter-spacing:.10em;
}

.tyfc-player-portrait{
    position:relative;
    min-height:215px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:hidden;
}

.tyfc-player-portrait:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:90px;
    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(17,21,34,.96)
        );
}

.tyfc-player-portrait-glow{
    position:absolute;
    width:170px;
    height:170px;
    border-radius:50%;
    background:rgba(104,76,255,.15);
    filter:blur(1px);
}

.tyfc-player-initials{
    position:relative;
    z-index:2;
    width:130px;
    height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:64px 64px 20px 20px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.13),
            rgba(255,255,255,.04)
        );
    border:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.78);
    font-size:48px;
    font-weight:900;
}

.tyfc-player-card-body{
    position:relative;
    z-index:3;
    padding:0 18px 17px;
}

.tyfc-player-card-body h3{
    margin:0;
    min-height:52px;
    color:#fff;
    font-size:20px;
    line-height:1.3;
    letter-spacing:-.02em;
}

.tyfc-player-card-meta{
    display:grid;
    gap:3px;
    margin-top:9px;
}

.tyfc-player-card-meta span{
    color:#aeb4c6;
    font-size:12px;
    line-height:1.4;
}

.tyfc-player-role-badge{
    display:inline-flex;
    align-items:center;
    margin-top:13px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    color:#d8dded;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.tyfc-player-role-badge.is-captain{
    background:rgba(241,196,76,.14);
    border-color:rgba(241,196,76,.22);
    color:#f4d576;
}

.tyfc-player-role-badge.is-vice{
    background:rgba(93,182,255,.12);
    border-color:rgba(93,182,255,.18);
    color:#a5d7ff;
}

.tyfc-player-code{
    margin-top:12px;
    color:#757e98;
    font-size:10px;
    letter-spacing:.06em;
}

.tyfc-player-card-actions{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:14px 18px 18px;
    border-top:1px solid rgba(255,255,255,.07);
}

.tyfc-player-card-actions .btn,
.tyfc-player-card-actions form,
.tyfc-player-card-actions form button{
    width:100%;
    box-sizing:border-box;
}

.tyfc-player-card-actions .btn{
    display:flex;
    min-height:40px;
    align-items:center;
    justify-content:center;
}

.tyfc-player-remove-btn{
    background:rgba(255,92,104,.08)!important;
    border-color:rgba(255,92,104,.15)!important;
    color:#ff9ca4!important;
}

.tyfc-squad-empty{
    min-height:280px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:30px;
    border-radius:22px;
    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(110,78,255,.10),
            transparent 25%
        ),
        #f8f9fc;
    border:1px dashed #dbe0eb;
}

.tyfc-squad-empty-icon{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    border-radius:24px;
    background:
        linear-gradient(
            145deg,
            #161b30,
            #2a3270
        );
    color:#fff;
    font-size:24px;
    font-weight:900;
}

.tyfc-squad-empty h3{
    margin:18px 0 5px;
    color:#171a2b;
    font-size:23px;
}

.tyfc-squad-empty p{
    max-width:520px;
    margin:0 0 18px;
    color:#72798d;
    line-height:1.7;
}

@media(max-width:1300px){
    .tyfc-player-card-grid{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}

@media(max-width:1080px){
    .tyfc-squad-kpi-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tyfc-player-card-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:820px){
    .tyfc-squad-hero{
        grid-template-columns:1fr;
    }

    .tyfc-squad-hero-stat{
        min-height:130px;
    }

    .tyfc-squad-form-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .tyfc-squad-hero,
    .tyfc-squad-form-panel,
    .tyfc-squad-roster{
        padding:20px 16px;
    }

    .tyfc-squad-kpi-grid,
    .tyfc-player-card-grid,
    .tyfc-squad-form-grid{
        grid-template-columns:1fr;
    }

    .tyfc-squad-section-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-squad-hero-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .tyfc-squad-hero-actions .btn,
    .tyfc-squad-save-btn{
        width:100%;
        min-width:0;
    }

    .tyfc-squad-form-actions{
        justify-content:stretch;
    }
}

/* === TYFC V2 SQUAD CENTER END === */




/* === TYFC V2 PLAYER PROFILE START === */

.tyfc-player-photo-editor{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:24px;
    align-items:center;
    padding:20px;
    margin-bottom:4px;
    border-radius:22px;
    background:
        radial-gradient(
            circle at 10% 15%,
            rgba(112,78,255,.12),
            transparent 32%
        ),
        #f7f8fc;
    border:1px solid #e7eaf2;
}

.tyfc-player-photo-preview{
    position:relative;
    width:180px;
    aspect-ratio:4/5;
    overflow:hidden;
    border-radius:22px;
    background:
        linear-gradient(
            145deg,
            #151a2e,
            #29316d
        );
    box-shadow:
        0 14px 32px rgba(21,25,48,.16);
}

.tyfc-player-photo-preview img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.tyfc-player-photo-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:rgba(255,255,255,.78);
    font-size:18px;
    font-weight:900;
    letter-spacing:.12em;
}

.tyfc-player-photo-copy small{
    display:block;
    margin-bottom:5px;
    color:#7665d8;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
}

.tyfc-player-photo-copy h3{
    margin:0;
    color:#14172a;
    font-size:24px;
}

.tyfc-player-photo-copy p{
    max-width:720px;
    margin:8px 0 16px;
    color:#6e7588;
    line-height:1.75;
}

.tyfc-player-photo-upload{
    position:relative;
    display:inline-flex!important;
    width:auto!important;
    cursor:pointer;
}

.tyfc-player-photo-upload > span{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border-radius:12px;
    background:#171b30;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
}

.tyfc-player-photo-upload input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
}

.tyfc-player-photo-help{
    margin-top:10px;
    color:#888fa1;
    font-size:12px;
}

.tyfc-player-card-photo{
    position:relative;
    z-index:2;
    width:100%;
    height:235px;
    object-fit:cover;
    object-position:center top;
    align-self:flex-end;
}

.tyfc-player-nickname{
    margin-top:4px;
    color:#9fa8c4;
    font-size:12px;
    font-weight:700;
}

@media(max-width:760px){
    .tyfc-player-photo-editor{
        grid-template-columns:1fr;
    }

    .tyfc-player-photo-preview{
        width:150px;
        margin:0 auto;
    }

    .tyfc-player-photo-copy{
        text-align:center;
    }

    .tyfc-player-photo-upload{
        margin:0 auto;
    }
}

/* === TYFC V2 PLAYER PROFILE END === */


/* =========================================================
   TYFC PLAYER PROFILE V2
========================================================= */

.tyfc-player-profile-v2{
    max-width:1280px;
    margin:0 auto;
}

.tyfc-player-profile-v2-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
}

.tyfc-player-profile-v2-head h1{
    margin:4px 0 8px;
    font-size:clamp(34px,4vw,54px);
    line-height:.98;
    letter-spacing:-.04em;
}

.tyfc-player-profile-v2-head p{
    margin:0;
    color:#85899a;
}

.tyfc-player-profile-v2-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}


/* HERO */

.tyfc-player-hero-v2{
    display:grid;
    grid-template-columns:390px 1fr;
    gap:28px;
    padding:28px;
    border:1px solid rgba(87,73,149,.14);
    border-radius:28px;
    background:
        radial-gradient(
            circle at 18% 5%,
            rgba(111,76,255,.12),
            transparent 34%
        ),
        #fff;
    box-shadow:
        0 24px 60px rgba(25,17,55,.08);
}


/* GAME CARD */

.tyfc-player-game-card-v2{
    position:relative;
    overflow:hidden;
    min-height:590px;
    padding:24px 22px 22px;
    border-radius:30px 30px 44px 44px;
    color:#fff;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(127,95,255,.34),
            transparent 32%
        ),
        linear-gradient(
            160deg,
            #17172a 0%,
            #241a47 48%,
            #0f1020 100%
        );
    box-shadow:
        0 28px 60px rgba(26,18,59,.28);
}

.tyfc-player-game-card-v2:before{
    content:"";
    position:absolute;
    inset:9px;
    border:1px solid rgba(206,191,255,.22);
    border-radius:24px 24px 38px 38px;
    pointer-events:none;
}

.tyfc-player-game-card-v2:after{
    content:"TYFC";
    position:absolute;
    right:-8px;
    top:45%;
    font-size:70px;
    font-weight:900;
    letter-spacing:.1em;
    color:rgba(255,255,255,.025);
    transform:rotate(-90deg);
}

.tyfc-player-game-card-top{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
}

.tyfc-player-game-card-rating{
    display:flex;
    flex-direction:column;
}

.tyfc-player-game-card-rating strong{
    font-size:38px;
    line-height:1;
    font-weight:950;
}

.tyfc-player-game-card-rating span{
    margin-top:5px;
    font-size:13px;
    font-weight:900;
    letter-spacing:.15em;
    color:#b9b1dc;
}

.tyfc-player-game-card-status{
    padding:7px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.tyfc-player-game-card-status.is-active{
    background:rgba(46,211,142,.16);
    color:#74f2bd;
}

.tyfc-player-game-card-status.is-inactive{
    background:rgba(255,255,255,.09);
    color:#b5b7c4;
}

.tyfc-player-game-card-photo{
    position:relative;
    z-index:1;
    height:315px;
    margin:12px -8px 0;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:hidden;
}

.tyfc-player-game-card-photo:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:80px;
    background:
        linear-gradient(
            transparent,
            #19172d
        );
}

.tyfc-player-game-card-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    border-radius:18px 18px 0 0;
}

.tyfc-player-game-card-fallback{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    font-size:96px;
    font-weight:950;
    color:#d9d4ff;
    background:
        linear-gradient(
            160deg,
            rgba(121,86,255,.22),
            rgba(255,255,255,.02)
        );
}

.tyfc-player-game-card-name{
    position:relative;
    z-index:2;
    padding:12px 8px 14px;
    text-align:center;
    border-bottom:
        1px solid rgba(255,255,255,.10);
}

.tyfc-player-game-card-name strong{
    display:block;
    font-size:30px;
    line-height:1.1;
    letter-spacing:-.02em;
}

.tyfc-player-game-card-name span{
    display:block;
    margin-top:6px;
    color:#aaa4c6;
    font-size:12px;
    font-weight:700;
}

.tyfc-player-game-card-stats{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    margin-top:12px;
    background:rgba(255,255,255,.08);
}

.tyfc-player-game-card-stats>div{
    min-height:58px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:#171527;
}

.tyfc-player-game-card-stats strong{
    font-size:16px;
}

.tyfc-player-game-card-stats span{
    margin-top:3px;
    font-size:9px;
    letter-spacing:.14em;
    color:#8f89a8;
}


/* HERO INFO */

.tyfc-player-hero-info-v2{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.tyfc-player-hero-strip{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:12px;
    margin-bottom:20px;
}

.tyfc-player-hero-strip>div{
    padding:18px;
    border-radius:18px;
    background:#171426;
    color:#fff;
}

.tyfc-player-hero-strip span{
    display:block;
    margin-bottom:6px;
    font-size:10px;
    letter-spacing:.12em;
    color:#89829e;
}

.tyfc-player-hero-strip strong{
    font-size:15px;
}

.tyfc-player-profile-kpi-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.tyfc-player-profile-kpi-grid article{
    min-height:96px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:18px 20px;
    border:1px solid #eceaf4;
    border-radius:18px;
    background:#faf9fc;
}

.tyfc-player-profile-kpi-grid span{
    font-size:11px;
    color:#9093a3;
}

.tyfc-player-profile-kpi-grid strong{
    margin-top:6px;
    font-size:19px;
    line-height:1.25;
}


/* PANELS */

.tyfc-player-profile-panel-v2{
    margin-top:22px;
    padding:24px;
    border:1px solid #e9e7ef;
    border-radius:24px;
    background:#fff;
    box-shadow:
        0 16px 40px rgba(25,17,55,.045);
}

.tyfc-player-profile-panel-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.tyfc-player-profile-panel-head span{
    display:block;
    color:#6e50e8;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
}

.tyfc-player-profile-panel-head h2{
    margin:4px 0 0;
    font-size:23px;
}

.tyfc-player-profile-panel-head small{
    color:#9799a6;
}

.tyfc-player-profile-info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.tyfc-player-profile-info-grid>div{
    padding:16px 18px;
    border-radius:16px;
    background:#f8f7fa;
}

.tyfc-player-profile-info-grid span{
    display:block;
    color:#9799a8;
    font-size:11px;
}

.tyfc-player-profile-info-grid strong{
    display:block;
    margin-top:5px;
    font-size:16px;
}

.tyfc-player-football-grid-v2{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.tyfc-player-football-grid-v2 article{
    min-height:108px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:18px;
    border-radius:18px;
    color:#fff;
    background:
        linear-gradient(
            145deg,
            #1b1830,
            #2f215e
        );
}

.tyfc-player-football-grid-v2 span{
    font-size:9px;
    font-weight:900;
    letter-spacing:.13em;
    color:#8f88aa;
}

.tyfc-player-football-grid-v2 strong{
    margin-top:7px;
    font-size:18px;
}


/* STATS */

.tyfc-player-stat-grid-v2{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}

.tyfc-player-stat-grid-v2 article{
    min-height:100px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:
        linear-gradient(
            180deg,
            #f9f8fc,
            #f3f1f8
        );
}

.tyfc-player-stat-grid-v2 strong{
    font-size:28px;
    line-height:1;
}

.tyfc-player-stat-grid-v2 span{
    margin-top:8px;
    color:#878998;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}


/* RESPONSIVE */

@media(max-width:1100px){

    .tyfc-player-hero-v2{
        grid-template-columns:330px 1fr;
    }

    .tyfc-player-stat-grid-v2{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:860px){

    .tyfc-player-profile-v2-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-player-hero-v2{
        grid-template-columns:1fr;
    }

    .tyfc-player-game-card-v2{
        max-width:420px;
        width:100%;
        margin:0 auto;
    }

    .tyfc-player-profile-info-grid,
    .tyfc-player-football-grid-v2{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px){

    .tyfc-player-hero-v2,
    .tyfc-player-profile-panel-v2{
        padding:16px;
        border-radius:18px;
    }

    .tyfc-player-profile-kpi-grid,
    .tyfc-player-profile-info-grid,
    .tyfc-player-football-grid-v2,
    .tyfc-player-stat-grid-v2,
    .tyfc-player-hero-strip{
        grid-template-columns:1fr;
    }

    .tyfc-player-game-card-v2{
        min-height:auto;
        padding:18px;
    }

    .tyfc-player-game-card-photo{
        height:300px;
    }
}

/* === TYFC PLAYER PROFILE V2 END === */

/* =========================================================
   TYFC PLAYERS COMPACT ROSTER V2
========================================================= */

.tyfc-player-roster-v2{
    overflow:hidden;
    border:1px solid #e9e7f0;
    border-radius:22px;
    background:#fff;
    box-shadow:
        0 16px 42px rgba(25,17,55,.055);
}

.tyfc-player-roster-head{
    display:grid;
    grid-template-columns:
        minmax(340px,1.7fr)
        minmax(130px,.65fr)
        minmax(210px,1fr)
        110px
        170px;
    gap:18px;
    align-items:center;
    min-height:52px;
    padding:0 22px;
    border-bottom:1px solid #eceaf1;
    background:#f8f7fb;
    color:#9294a3;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}

.tyfc-player-roster-action-head{
    text-align:right;
}

.tyfc-player-roster-row{
    display:grid;
    grid-template-columns:
        minmax(340px,1.7fr)
        minmax(130px,.65fr)
        minmax(210px,1fr)
        110px
        170px;
    gap:18px;
    align-items:center;
    min-height:102px;
    padding:13px 22px;
    border-bottom:1px solid #efedf3;
    transition:
        background .15s ease,
        transform .15s ease;
}

.tyfc-player-roster-row:last-child{
    border-bottom:0;
}

.tyfc-player-roster-row:hover{
    background:#faf9fd;
}

.tyfc-player-roster-player{
    min-width:0;
    display:grid;
    grid-template-columns:
        72px
        48px
        minmax(0,1fr);
    gap:14px;
    align-items:center;
    color:inherit;
    text-decoration:none;
}

.tyfc-player-roster-photo{
    width:72px;
    height:72px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(119,83,255,.32),
            transparent 48%
        ),
        linear-gradient(
            145deg,
            #1d1935,
            #312360
        );
    color:#ddd7ff;
    font-size:28px;
    font-weight:900;
    box-shadow:
        0 9px 20px rgba(48,35,97,.16);
}

.tyfc-player-roster-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.tyfc-player-roster-number{
    color:#282436;
    font-size:23px;
    font-weight:950;
    letter-spacing:-.04em;
}

.tyfc-player-roster-identity{
    min-width:0;
}

.tyfc-player-roster-identity strong{
    display:block;
    overflow:hidden;
    color:#191724;
    font-size:17px;
    line-height:1.2;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-player-roster-identity span{
    display:block;
    overflow:hidden;
    margin-top:5px;
    color:#6f7180;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-player-roster-identity small{
    display:block;
    overflow:hidden;
    margin-top:5px;
    color:#9b9dab;
    font-size:10px;
    font-weight:700;
    letter-spacing:.03em;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-player-roster-position,
.tyfc-player-roster-team{
    min-width:0;
}

.tyfc-player-roster-position strong,
.tyfc-player-roster-team strong{
    display:block;
    overflow:hidden;
    color:#282533;
    font-size:14px;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-player-roster-position span,
.tyfc-player-roster-team span{
    display:block;
    overflow:hidden;
    margin-top:5px;
    color:#9597a5;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-player-roster-status span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:70px;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:9px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-player-roster-status .is-ready{
    background:#e9faf2;
    color:#13845d;
}

.tyfc-player-roster-status .is-inactive{
    background:#f1f1f4;
    color:#858795;
}

.tyfc-player-roster-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

.tyfc-player-roster-profile-btn,
.tyfc-player-roster-edit-btn{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    border-radius:11px;
    text-decoration:none;
    font-size:11px;
    font-weight:850;
    transition:
        transform .15s ease,
        background .15s ease;
}

.tyfc-player-roster-profile-btn{
    background:#191628;
    color:#fff;
}

.tyfc-player-roster-profile-btn:hover{
    background:#292044;
    transform:translateY(-1px);
}

.tyfc-player-roster-edit-btn{
    border:1px solid #e4e1ec;
    background:#fff;
    color:#4f4862;
}

.tyfc-player-roster-edit-btn:hover{
    background:#f5f3fa;
    transform:translateY(-1px);
}


/* TABLET */

@media(max-width:1100px){

    .tyfc-player-roster-head{
        grid-template-columns:
            minmax(300px,1.6fr)
            120px
            minmax(160px,.9fr)
            90px;
    }

    .tyfc-player-roster-row{
        grid-template-columns:
            minmax(300px,1.6fr)
            120px
            minmax(160px,.9fr)
            90px;
    }

    .tyfc-player-roster-head
    > :nth-child(4),
    .tyfc-player-roster-row
    > .tyfc-player-roster-status{
        display:none;
    }

    .tyfc-player-roster-head
    > :nth-child(5){
        grid-column:4;
    }

    .tyfc-player-roster-actions{
        grid-column:4;
    }
}


/* MOBILE */

@media(max-width:760px){

    .tyfc-player-roster-v2{
        overflow:visible;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }

    .tyfc-player-roster-head{
        display:none;
    }

    .tyfc-player-roster-row{
        display:grid;
        grid-template-columns:1fr auto;
        gap:15px;
        min-height:0;
        margin-bottom:12px;
        padding:16px;
        border:1px solid #e9e7f0;
        border-radius:18px;
        background:#fff;
        box-shadow:
            0 10px 26px rgba(25,17,55,.045);
    }

    .tyfc-player-roster-row:last-child{
        border-bottom:
            1px solid #e9e7f0;
    }

    .tyfc-player-roster-player{
        grid-column:1 / -1;
        grid-template-columns:
            64px
            42px
            minmax(0,1fr);
        gap:11px;
    }

    .tyfc-player-roster-photo{
        width:64px;
        height:64px;
        border-radius:15px;
    }

    .tyfc-player-roster-number{
        font-size:20px;
    }

    .tyfc-player-roster-position{
        grid-column:1;
        padding-left:117px;
    }

    .tyfc-player-roster-team{
        display:none;
    }

    .tyfc-player-roster-status{
        grid-column:2;
        grid-row:2;
        align-self:center;
    }

    .tyfc-player-roster-actions{
        grid-column:1 / -1;
        justify-content:stretch;
        margin-top:3px;
    }

    .tyfc-player-roster-profile-btn,
    .tyfc-player-roster-edit-btn{
        flex:1;
        min-height:40px;
    }
}

/* === TYFC PLAYERS COMPACT ROSTER V2 END === */

/* =========================================================
   TYFC PLAYERS + SQUAD COMPACT UI V2
   Typography Tune + Compact Squad
========================================================= */


/* ---------------------------------------------------------
   PLAYERS MASTER — TYPOGRAPHY TUNE
--------------------------------------------------------- */

.tyfc-player-roster-head{
    min-height:56px;
    font-size:11px;
    letter-spacing:.11em;
}

.tyfc-player-roster-row{
    min-height:108px;
}

.tyfc-player-roster-photo{
    width:76px;
    height:76px;
}

.tyfc-player-roster-player{
    grid-template-columns:
        76px
        52px
        minmax(0,1fr);
}

.tyfc-player-roster-number{
    font-size:26px;
}

.tyfc-player-roster-identity strong{
    font-size:19px;
    line-height:1.2;
}

.tyfc-player-roster-identity span{
    margin-top:6px;
    font-size:14px;
}

.tyfc-player-roster-identity small{
    margin-top:6px;
    font-size:11px;
}

.tyfc-player-roster-position strong,
.tyfc-player-roster-team strong{
    font-size:15px;
}

.tyfc-player-roster-position span,
.tyfc-player-roster-team span{
    font-size:12px;
}

.tyfc-player-roster-status span{
    min-height:30px;
    min-width:76px;
    font-size:10px;
}

.tyfc-player-roster-profile-btn,
.tyfc-player-roster-edit-btn{
    min-height:38px;
    padding:0 15px;
    font-size:12px;
}


/* ---------------------------------------------------------
   TEAM PLAYERS / SQUAD CENTER — COMPACT SQUAD V2
--------------------------------------------------------- */

/*
   Existing Squad V2 used football-game cards.
   We keep its HTML and actions, but visually convert
   the cards into operational roster rows.
*/

.tyfc-squad-player-grid,
.tyfc-player-game-grid,
.tyfc-first-team-grid,
.tyfc-player-cards{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
}


/* Main player row */

.tyfc-player-game-card{
    position:relative;
    width:100% !important;
    min-height:112px !important;
    display:grid !important;
    grid-template-columns:
        92px
        minmax(0,1fr)
        auto !important;
    gap:18px !important;
    align-items:center !important;

    padding:14px 16px !important;
    margin:0 !important;

    border:1px solid #e9e7f0 !important;
    border-radius:20px !important;

    background:#fff !important;
    box-shadow:
        0 10px 28px rgba(25,17,55,.05) !important;

    overflow:visible !important;
    color:#201d2c !important;

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease !important;
}

.tyfc-player-game-card:hover{
    border-color:#d8d2ec !important;
    box-shadow:
        0 16px 36px rgba(31,20,67,.08) !important;
    transform:translateY(-1px);
}


/* Remove decorative card overlays */

.tyfc-player-game-card:before,
.tyfc-player-game-card:after,
.tyfc-player-portrait-glow{
    display:none !important;
}


/* Portrait */

.tyfc-player-game-card .tyfc-player-portrait{
    position:relative !important;
    width:92px !important;
    height:92px !important;
    min-height:92px !important;
    margin:0 !important;

    overflow:hidden !important;
    border-radius:18px !important;

    background:
        radial-gradient(
            circle at 50% 18%,
            rgba(116,82,255,.25),
            transparent 46%
        ),
        linear-gradient(
            145deg,
            #1b1730,
            #30225e
        ) !important;

    box-shadow:
        0 10px 24px rgba(52,36,103,.16) !important;
}

.tyfc-player-game-card .tyfc-player-card-photo{
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center top !important;
    border-radius:0 !important;
}

.tyfc-player-game-card .tyfc-player-initials{
    width:100% !important;
    height:100% !important;
    display:grid !important;
    place-items:center !important;

    color:#e2ddff !important;
    font-size:30px !important;
    font-weight:950 !important;

    background:transparent !important;
}


/* Main identity */

.tyfc-player-game-card .tyfc-player-card-body{
    min-width:0 !important;
    padding:0 !important;
}

.tyfc-player-game-card .tyfc-player-card-body h3{
    margin:0 !important;

    color:#191724 !important;
    font-size:19px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
}

.tyfc-player-game-card .tyfc-player-nickname{
    margin-top:4px !important;
    color:#77798a !important;
    font-size:12px !important;
}


/* Metadata */

.tyfc-player-game-card .tyfc-player-card-meta,
.tyfc-player-game-card .tyfc-player-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px 14px !important;

    margin-top:9px !important;

    color:#858795 !important;
    font-size:12px !important;
}

.tyfc-player-game-card .tyfc-player-card-meta strong,
.tyfc-player-game-card .tyfc-player-meta strong{
    color:#45404f !important;
}


/* Jersey number / position */

.tyfc-player-game-card .tyfc-player-number,
.tyfc-player-game-card .tyfc-player-shirt-number{
    color:#5f42da !important;
    font-size:22px !important;
    font-weight:950 !important;
}

.tyfc-player-game-card .tyfc-player-position{
    color:#201c2c !important;
    font-size:13px !important;
    font-weight:850 !important;
}


/* Role badge */

.tyfc-player-game-card .tyfc-player-role,
.tyfc-player-game-card .tyfc-player-role-badge{
    display:inline-flex !important;
    align-items:center !important;

    min-height:27px !important;
    padding:0 9px !important;

    border-radius:999px !important;

    background:#f1eff9 !important;
    color:#6047c8 !important;

    font-size:10px !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
}


/* Captain visual */

.tyfc-player-game-card .is-captain,
.tyfc-player-game-card .captain{
    background:#fff4d8 !important;
    color:#9a6500 !important;
}

.tyfc-player-game-card .is-vice-captain,
.tyfc-player-game-card .vice-captain{
    background:#edf3ff !important;
    color:#315eb8 !important;
}


/* Right-side action area */

.tyfc-player-game-card .tyfc-player-card-actions{
    width:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:wrap !important;

    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
}

.tyfc-player-game-card .tyfc-player-card-actions .btn{
    min-height:38px !important;
    padding:0 14px !important;

    border-radius:11px !important;

    font-size:12px !important;
    font-weight:850 !important;
}


/* Remove / destructive button stays visually distinct */

.tyfc-player-game-card
.tyfc-player-card-actions
.btn-danger,

.tyfc-player-game-card
.tyfc-player-card-actions
.tyfc-btn-remove{
    border-color:#f0d6da !important;
    background:#fff7f8 !important;
    color:#b33c4a !important;
}


/* ---------------------------------------------------------
   SQUAD SECTION HEADER / READINESS
--------------------------------------------------------- */

.tyfc-squad-section-head,
.tyfc-squad-list-head{
    margin-bottom:14px !important;
}

.tyfc-squad-section-head h2,
.tyfc-squad-list-head h2{
    font-size:24px !important;
}

.tyfc-squad-section-head p,
.tyfc-squad-list-head p{
    font-size:13px !important;
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media(max-width:980px){

    .tyfc-player-game-card{
        grid-template-columns:
            82px
            minmax(0,1fr) !important;
    }

    .tyfc-player-game-card .tyfc-player-portrait{
        width:82px !important;
        height:82px !important;
        min-height:82px !important;
    }

    .tyfc-player-game-card .tyfc-player-card-actions{
        grid-column:1 / -1 !important;
        justify-content:flex-end !important;
        padding-top:4px !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media(max-width:620px){

    .tyfc-player-roster-identity strong{
        font-size:17px;
    }

    .tyfc-player-game-card{
        grid-template-columns:
            72px
            minmax(0,1fr) !important;

        gap:13px !important;
        padding:13px !important;
        border-radius:17px !important;
    }

    .tyfc-player-game-card .tyfc-player-portrait{
        width:72px !important;
        height:72px !important;
        min-height:72px !important;
        border-radius:14px !important;
    }

    .tyfc-player-game-card
    .tyfc-player-card-body h3{
        font-size:17px !important;
    }

    .tyfc-player-game-card .tyfc-player-card-meta,
    .tyfc-player-game-card .tyfc-player-meta{
        gap:5px 10px !important;
        font-size:11px !important;
    }

    .tyfc-player-game-card .tyfc-player-card-actions{
        justify-content:stretch !important;
    }

    .tyfc-player-game-card
    .tyfc-player-card-actions .btn{
        flex:1 1 auto !important;
    }
}

/* === TYFC PLAYERS + SQUAD COMPACT UI V2 END === */

/* =========================================================
   TYFC SQUAD COMMAND PANEL V2
========================================================= */

.tyfc-squad-command-v2{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);
    gap:16px;
    margin:0 0 22px;
}

.tyfc-squad-command-main,
.tyfc-squad-leadership-v2{
    border:1px solid #e8e5ef;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 34px rgba(28,18,59,.05);
}

.tyfc-squad-command-main{
    padding:22px;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(105,70,235,.08),
            transparent 36%
        ),
        #fff;
}

.tyfc-squad-command-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

.tyfc-squad-command-title small{
    display:block;
    color:#7558d8;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}

.tyfc-squad-command-title h2{
    margin:3px 0 0;
    color:#1d1928;
    font-size:25px;
}

.tyfc-squad-command-active{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#eaf9f2;
    color:#13845d;
    font-size:9px;
    font-weight:950;
    letter-spacing:.1em;
}

.tyfc-squad-command-active:before{
    content:"";
    width:7px;
    height:7px;
    margin-right:7px;
    border-radius:50%;
    background:#1bb87b;
}

.tyfc-squad-command-counts{
    display:grid;
    grid-template-columns:1.25fr repeat(4,1fr);
    gap:9px;
}

.tyfc-squad-command-counts article{
    min-height:78px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:14px 16px;
    border-radius:15px;
    background:#f7f6fa;
}

.tyfc-squad-command-counts article.is-total{
    background:
        linear-gradient(
            145deg,
            #19162a,
            #31235f
        );
    color:#fff;
}

.tyfc-squad-command-counts span{
    color:#9495a3;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}

.tyfc-squad-command-counts .is-total span{
    color:#aaa3c3;
}

.tyfc-squad-command-counts strong{
    margin-top:5px;
    color:#25212f;
    font-size:25px;
}

.tyfc-squad-command-counts .is-total strong{
    color:#fff;
}

.tyfc-squad-leadership-v2{
    overflow:hidden;
    display:grid;
    grid-template-rows:1fr 1fr;
}

.tyfc-squad-leader-v2{
    min-width:0;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:13px;
    align-items:center;
    padding:17px 19px;
}

.tyfc-squad-leader-v2 + .tyfc-squad-leader-v2{
    border-top:1px solid #eeecf2;
}

.tyfc-squad-leader-mark{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border-radius:14px;
    font-size:12px;
    font-weight:950;
}

.tyfc-squad-leader-mark.is-captain{
    background:#fff1c7;
    color:#9a6500;
}

.tyfc-squad-leader-mark.is-vice{
    background:#eeeaff;
    color:#6244c4;
}

.tyfc-squad-leader-v2 small{
    display:block;
    color:#9b9ca9;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}

.tyfc-squad-leader-v2 strong{
    display:block;
    overflow:hidden;
    margin-top:3px;
    color:#24202e;
    font-size:14px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-squad-leader-v2 div > span{
    display:block;
    overflow:hidden;
    margin-top:3px;
    color:#9293a0;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-player-game-card.role-captain{
    border-left:4px solid #d9a520 !important;
}

.tyfc-player-game-card.role-vice_captain{
    border-left:4px solid #7959da !important;
}

.tyfc-player-game-card
.tyfc-player-role-badge.is-captain{
    background:#fff3cf !important;
    color:#956200 !important;
}

.tyfc-player-game-card
.tyfc-player-role-badge.is-vice{
    background:#eeeaff !important;
    color:#6244c4 !important;
}

.tyfc-squad-profile-btn{
    border:1px solid #dad5e8 !important;
    background:#f7f5fc !important;
    color:#4f3f8d !important;
}

@media(max-width:1000px){

    .tyfc-squad-command-v2{
        grid-template-columns:1fr;
    }

    .tyfc-squad-leadership-v2{
        grid-template-columns:1fr 1fr;
        grid-template-rows:auto;
    }

    .tyfc-squad-leader-v2
    + .tyfc-squad-leader-v2{
        border-top:0;
        border-left:1px solid #eeecf2;
    }
}

@media(max-width:620px){

    .tyfc-squad-command-main{
        padding:17px;
    }

    .tyfc-squad-command-title{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-squad-command-counts{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-squad-command-counts article.is-total{
        grid-column:1 / -1;
    }

    .tyfc-squad-leadership-v2{
        grid-template-columns:1fr;
    }

    .tyfc-squad-leader-v2
    + .tyfc-squad-leader-v2{
        border-left:0;
        border-top:1px solid #eeecf2;
    }
}

/* === TYFC SQUAD COMMAND PANEL V2 END === */

/* =========================================================
   TYFC CLUB PROFILE V2
========================================================= */

.tyfc-club-profile-v2{
    max-width:1320px;
    margin:0 auto;
}


/* =========================================================
   CLUB HERO
========================================================= */

.tyfc-club-hero-v2{
    position:relative;
    overflow:hidden;
    padding:34px;
    border-radius:30px;
    color:#fff;
    background:
        radial-gradient(
            circle at 82% 15%,
            rgba(118,82,255,.30),
            transparent 32%
        ),
        radial-gradient(
            circle at 16% 100%,
            rgba(57,202,170,.10),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #151322 0%,
            #21193c 55%,
            #171325 100%
        );
    box-shadow:
        0 28px 70px rgba(27,19,55,.20);
}

.tyfc-club-hero-v2:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.035),
            transparent 35%
        );
}

.tyfc-club-hero-bg-mark{
    position:absolute;
    right:-25px;
    bottom:-58px;
    color:rgba(255,255,255,.028);
    font-size:190px;
    font-weight:950;
    line-height:1;
    letter-spacing:-.08em;
    pointer-events:none;
}

.tyfc-club-identity-v2{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:150px minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
}

.tyfc-club-logo-frame-v2{
    width:150px;
    height:150px;
    display:grid;
    place-items:center;
    padding:14px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
    border-radius:30px;
    background:
        rgba(255,255,255,.075);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 18px 40px rgba(0,0,0,.22);
}

.tyfc-club-logo-frame-v2 img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.tyfc-club-logo-fallback-v2{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    border-radius:20px;
    color:#e9e4ff;
    font-size:55px;
    font-weight:950;
    background:
        linear-gradient(
            145deg,
            #30245d,
            #6e50e7
        );
}

.tyfc-club-eyebrow-v2{
    color:#a99bea;
    font-size:10px;
    font-weight:950;
    letter-spacing:.18em;
}

.tyfc-club-title-v2 h1{
    max-width:760px;
    margin:7px 0 13px;
    color:#fff;
    font-size:clamp(34px,4vw,58px);
    line-height:.98;
    font-weight:950;
    letter-spacing:-.045em;
}

.tyfc-club-meta-v2{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.tyfc-club-meta-v2 span{
    display:inline-flex;
    min-height:29px;
    align-items:center;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#bcb6d1;
    font-size:10px;
    font-weight:800;
}

.tyfc-club-status-v2{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 13px;
    border-radius:999px;
    font-size:9px;
    font-weight:950;
    letter-spacing:.10em;
}

.tyfc-club-status-v2 span{
    width:7px;
    height:7px;
    margin-right:7px;
    border-radius:50%;
}

.tyfc-club-status-v2.is-active{
    background:rgba(35,205,140,.13);
    color:#7cf1c0;
}

.tyfc-club-status-v2.is-active span{
    background:#2bdc98;
    box-shadow:
        0 0 0 5px rgba(43,220,152,.10);
}

.tyfc-club-status-v2.is-inactive{
    background:rgba(255,255,255,.08);
    color:#aaa6b6;
}

.tyfc-club-status-v2.is-inactive span{
    background:#898493;
}


/* KPI */

.tyfc-club-kpi-v2{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:28px;
}

.tyfc-club-kpi-v2 article{
    min-height:104px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:18px 22px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(6px);
}

.tyfc-club-kpi-v2 span{
    color:#918aa8;
    font-size:9px;
    font-weight:950;
    letter-spacing:.14em;
}

.tyfc-club-kpi-v2 strong{
    margin-top:5px;
    color:#fff;
    font-size:32px;
    line-height:1;
}

.tyfc-club-kpi-v2 small{
    margin-top:7px;
    color:#aaa5b8;
    font-size:11px;
}


/* =========================================================
   PRIMARY GRID
========================================================= */

.tyfc-club-primary-grid-v2{
    display:grid;
    grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);
    gap:20px;
    margin-top:22px;
}


/* =========================================================
   MANAGER CARD
========================================================= */

.tyfc-manager-card-v2{
    position:relative;
    overflow:hidden;
    min-height:330px;
    display:flex;
    flex-direction:column;
    border-radius:26px;
    color:#fff;
    background:
        radial-gradient(
            circle at 85% 18%,
            rgba(124,83,255,.42),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #19162a,
            #291e4c 65%,
            #151320
        );
    box-shadow:
        0 22px 50px rgba(31,20,64,.17);
}

.tyfc-manager-card-v2:after{
    content:"MANAGER";
    position:absolute;
    right:-34px;
    top:78px;
    color:rgba(255,255,255,.025);
    font-size:54px;
    font-weight:950;
    letter-spacing:.08em;
    transform:rotate(-90deg);
}

.tyfc-manager-card-label{
    padding:20px 22px 0;
    color:#9c92b9;
    font-size:9px;
    font-weight:950;
    letter-spacing:.17em;
}

.tyfc-manager-card-main{
    position:relative;
    z-index:2;
    flex:1;
    display:grid;
    grid-template-columns:108px minmax(0,1fr);
    gap:20px;
    align-items:center;
    padding:25px 22px;
}

.tyfc-manager-avatar-v2{
    width:108px;
    height:128px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.13);
    border-radius:24px 24px 32px 32px;
    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(147,119,255,.45),
            transparent 42%
        ),
        linear-gradient(
            160deg,
            #342761,
            #171422
        );
    box-shadow:
        0 18px 34px rgba(0,0,0,.25);
}

.tyfc-manager-avatar-v2 span{
    color:#eeeaff;
    font-size:54px;
    font-weight:950;
}

.tyfc-manager-info-v2{
    min-width:0;
}

.tyfc-manager-info-v2 small{
    color:#9f97b7;
    font-size:9px;
    font-weight:950;
    letter-spacing:.14em;
}

.tyfc-manager-info-v2 h2{
    margin:6px 0 5px;
    color:#fff;
    font-size:26px;
    line-height:1.05;
    letter-spacing:-.025em;
}

.tyfc-manager-info-v2 p{
    margin:0;
    color:#aaa3bc;
    font-size:12px;
}

.tyfc-manager-contact-v2{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-top:17px;
}

.tyfc-manager-contact-v2 span{
    color:#716a86;
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}

.tyfc-manager-contact-v2 strong{
    margin-left:5px;
    color:#c8c2d6;
    font-size:11px;
    letter-spacing:0;
}

.tyfc-manager-card-footer-v2{
    position:relative;
    z-index:2;
    min-height:57px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:0 22px;
    border-top:1px solid rgba(255,255,255,.08);
}

.tyfc-manager-card-footer-v2 span{
    color:#767086;
    font-size:8px;
    font-weight:950;
    letter-spacing:.14em;
}

.tyfc-manager-card-footer-v2 a{
    color:#cfc5ff;
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}


/* =========================================================
   OPERATIONS
========================================================= */

.tyfc-club-quickops-v2,
.tyfc-club-info-panel-v2{
    padding:24px;
    border:1px solid #e8e6ef;
    border-radius:26px;
    background:#fff;
    box-shadow:
        0 16px 40px rgba(28,18,59,.05);
}

.tyfc-club-section-title-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.tyfc-club-section-title-v2 small{
    display:block;
    color:#7151d8;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-club-section-title-v2 h2{
    margin:4px 0 0;
    color:#201c2a;
    font-size:23px;
}

.tyfc-club-section-title-v2 > span{
    color:#9a9ba8;
    font-size:9px;
    font-weight:900;
    letter-spacing:.1em;
}

.tyfc-club-op-grid-v2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px;
}

.tyfc-club-op-card-v2{
    min-width:0;
    min-height:92px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    padding:14px;
    border:1px solid #ece9f2;
    border-radius:18px;
    background:#faf9fc;
    color:inherit;
    text-decoration:none;
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

a.tyfc-club-op-card-v2:hover{
    transform:translateY(-2px);
    border-color:#d8d0ef;
    box-shadow:
        0 12px 28px rgba(44,29,86,.08);
}

.tyfc-club-op-icon-v2{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:
        linear-gradient(
            145deg,
            #201a37,
            #4e398a
        );
    color:#ddd5ff;
    font-size:12px;
    font-weight:950;
}

.tyfc-club-op-card-v2 strong{
    display:block;
    overflow:hidden;
    color:#24202d;
    font-size:13px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-club-op-card-v2 span{
    display:block;
    margin-top:4px;
    color:#9293a1;
    font-size:10px;
}

.tyfc-club-op-card-v2 b{
    color:#7156ce;
    font-size:10px;
}

.tyfc-club-op-card-v2.is-future{
    opacity:.62;
}

.tyfc-club-op-card-v2.is-future b{
    color:#9b9ba7;
    font-size:8px;
    letter-spacing:.08em;
}


/* =========================================================
   TEAM INFORMATION
========================================================= */

.tyfc-club-info-panel-v2{
    margin-top:20px;
}

.tyfc-club-info-grid-v2{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
}

.tyfc-club-info-grid-v2 article{
    min-height:92px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:16px 18px;
    border-radius:17px;
    background:#f8f7fa;
}

.tyfc-club-info-grid-v2 span{
    color:#999aa7;
    font-size:9px;
    font-weight:900;
    letter-spacing:.11em;
}

.tyfc-club-info-grid-v2 strong{
    overflow:hidden;
    margin-top:6px;
    color:#292531;
    font-size:14px;
    font-weight:850;
    text-overflow:ellipsis;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1050px){

    .tyfc-club-primary-grid-v2{
        grid-template-columns:1fr;
    }

    .tyfc-manager-card-v2{
        min-height:280px;
    }
}

@media(max-width:800px){

    .tyfc-club-identity-v2{
        grid-template-columns:110px minmax(0,1fr);
    }

    .tyfc-club-logo-frame-v2{
        width:110px;
        height:110px;
        border-radius:23px;
    }

    .tyfc-club-status-v2{
        grid-column:1 / -1;
        justify-self:flex-start;
    }

    .tyfc-club-info-grid-v2{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:620px){

    .tyfc-club-hero-v2{
        padding:20px;
        border-radius:22px;
    }

    .tyfc-club-identity-v2{
        grid-template-columns:1fr;
        gap:18px;
    }

    .tyfc-club-logo-frame-v2{
        width:104px;
        height:104px;
    }

    .tyfc-club-title-v2 h1{
        font-size:34px;
    }

    .tyfc-club-kpi-v2{
        grid-template-columns:1fr;
    }

    .tyfc-club-kpi-v2 article{
        min-height:78px;
    }

    .tyfc-manager-card-main{
        grid-template-columns:84px minmax(0,1fr);
        gap:14px;
    }

    .tyfc-manager-avatar-v2{
        width:84px;
        height:104px;
    }

    .tyfc-manager-avatar-v2 span{
        font-size:40px;
    }

    .tyfc-manager-info-v2 h2{
        font-size:21px;
    }

    .tyfc-club-op-grid-v2{
        grid-template-columns:1fr;
    }

    .tyfc-club-info-grid-v2{
        grid-template-columns:1fr;
    }

    .tyfc-club-quickops-v2,
    .tyfc-club-info-panel-v2{
        padding:17px;
        border-radius:20px;
    }
}

/* === TYFC CLUB PROFILE V2 END === */

/* =========================================================
   TYFC TEAM STAFF V2
========================================================= */

.tyfc-staff-v2{
    max-width:1280px;
    margin:0 auto;
}


/* HEADER */

.tyfc-staff-head-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.tyfc-staff-head-v2 h1{
    margin:5px 0 6px;
    font-size:clamp(34px,4vw,52px);
    line-height:1;
    letter-spacing:-.04em;
}

.tyfc-staff-head-v2 p{
    margin:0;
    color:#858896;
    font-size:13px;
}

.tyfc-staff-head-actions-v2{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}


/* OVERVIEW */

.tyfc-staff-overview-v2{
    padding:24px;
    border-radius:25px;
    color:#fff;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(124,83,255,.30),
            transparent 30%
        ),
        linear-gradient(
            140deg,
            #171424,
            #261b48
        );
    box-shadow:
        0 22px 55px rgba(30,20,64,.16);
}

.tyfc-staff-overview-title-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.tyfc-staff-overview-title-v2 small{
    color:#a69bc3;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-staff-overview-title-v2 h2{
    margin:4px 0 0;
    color:#fff;
    font-size:24px;
}

.tyfc-staff-overview-title-v2 > span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    background:rgba(38,216,149,.12);
    color:#77efbd;
    font-size:9px;
    font-weight:950;
    letter-spacing:.1em;
}

.tyfc-staff-kpi-grid-v2{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.tyfc-staff-kpi-grid-v2 article{
    min-height:94px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:17px;
    background:rgba(255,255,255,.055);
}

.tyfc-staff-kpi-grid-v2 article.is-total{
    background:
        linear-gradient(
            145deg,
            rgba(117,82,226,.35),
            rgba(255,255,255,.055)
        );
}

.tyfc-staff-kpi-grid-v2 span{
    color:#9790aa;
    font-size:9px;
    font-weight:950;
    letter-spacing:.12em;
}

.tyfc-staff-kpi-grid-v2 strong{
    margin-top:5px;
    color:#fff;
    font-size:27px;
    line-height:1;
}

.tyfc-staff-kpi-grid-v2 small{
    margin-top:6px;
    color:#aaa4b9;
    font-size:10px;
}


/* SECTIONS */

.tyfc-staff-section-v2{
    margin-top:20px;
    padding:22px;
    border:1px solid #e9e6ef;
    border-radius:24px;
    background:#fff;
    box-shadow:
        0 14px 36px rgba(29,19,60,.045);
}

.tyfc-staff-section-head-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
}

.tyfc-staff-section-head-v2 small{
    display:block;
    color:#7050d3;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-staff-section-head-v2 h2{
    margin:4px 0 0;
    color:#211d2a;
    font-size:22px;
}

.tyfc-staff-section-head-v2 p{
    margin:5px 0 0;
    color:#9697a4;
    font-size:11px;
}

.tyfc-staff-section-head-v2 > span{
    color:#858794;
    font-size:11px;
    font-weight:850;
}


/* STAFF ROW */

.tyfc-staff-list-v2{
    display:grid;
    gap:10px;
}

.tyfc-staff-row-v2{
    position:relative;
    display:grid;
    grid-template-columns:
        76px
        minmax(0,1fr)
        100px
        100px;
    gap:16px;
    align-items:center;
    min-height:100px;
    padding:12px 15px;
    border:1px solid #ece9f1;
    border-radius:19px;
    background:#faf9fc;
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.tyfc-staff-row-v2:hover{
    transform:translateY(-1px);
    border-color:#dcd5ec;
    box-shadow:
        0 12px 27px rgba(42,28,82,.06);
}

.tyfc-staff-row-v2.is-primary{
    border-left:4px solid #7658db;
}


/* AVATAR */

.tyfc-staff-avatar-v2{
    position:relative;
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:18px;
    background:
        radial-gradient(
            circle at 50% 18%,
            rgba(137,100,255,.30),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #1c1831,
            #38276d
        );
    box-shadow:
        0 10px 22px rgba(40,28,77,.16);
}

.tyfc-staff-avatar-v2 > span{
    color:#e5dfff;
    font-size:29px;
    font-weight:950;
}

.tyfc-staff-avatar-v2 b{
    position:absolute;
    right:5px;
    bottom:5px;
    min-width:27px;
    height:20px;
    display:grid;
    place-items:center;
    padding:0 5px;
    border-radius:7px;
    background:rgba(255,255,255,.13);
    color:#bfb4ea;
    font-size:7px;
    font-weight:950;
    letter-spacing:.05em;
}


/* IDENTITY */

.tyfc-staff-identity-v2{
    min-width:0;
}

.tyfc-staff-role-line-v2{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.tyfc-staff-role-line-v2 > span{
    color:#7558cf;
    font-size:9px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-staff-primary-v2{
    display:inline-flex;
    align-items:center;
    min-height:21px;
    padding:0 7px;
    border-radius:999px;
    background:#eee9ff;
    color:#6044bd;
    font-size:7px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-staff-identity-v2 h3{
    margin:4px 0 0;
    overflow:hidden;
    color:#211e29;
    font-size:18px;
    line-height:1.15;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-staff-contact-v2{
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
    margin-top:7px;
}

.tyfc-staff-contact-v2 span{
    color:#a0a1ad;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.tyfc-staff-contact-v2 strong{
    margin-left:4px;
    color:#66636f;
    font-size:11px;
    letter-spacing:0;
}


/* STATUS */

.tyfc-staff-state-v2{
    text-align:center;
}

.tyfc-staff-state-v2 span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:74px;
    min-height:29px;
    padding:0 9px;
    border-radius:999px;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-staff-state-v2 .is-active{
    background:#e9f9f1;
    color:#16815c;
}

.tyfc-staff-state-v2 .is-inactive{
    background:#efeff2;
    color:#888995;
}


/* ACTIONS */

.tyfc-staff-actions-v2{
    display:flex;
    justify-content:flex-end;
}

.tyfc-staff-actions-v2 .btn{
    min-height:37px;
    padding:0 14px;
    font-size:11px;
}


/* ROLE ACCENTS */

.tyfc-staff-row-v2.role-team_manager{
    background:
        linear-gradient(
            90deg,
            rgba(116,83,215,.045),
            #faf9fc 30%
        );
}

.tyfc-staff-row-v2.role-head_coach{
    border-left-color:#276eae;
}

.tyfc-staff-row-v2.role-medical_staff,
.tyfc-staff-row-v2.role-physio{
    border-left-color:#2a9b7d;
}


/* EMPTY */

.tyfc-staff-section-empty-v2{
    padding:18px;
    border:1px dashed #dedbe7;
    border-radius:15px;
    color:#9899a5;
    background:#faf9fb;
    font-size:12px;
}

.tyfc-staff-empty-v2{
    margin-top:20px;
    padding:50px 25px;
    text-align:center;
    border:1px solid #e9e6ef;
    border-radius:24px;
    background:#fff;
}

.tyfc-staff-empty-mark-v2{
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    margin:0 auto 16px;
    border-radius:20px;
    background:
        linear-gradient(
            145deg,
            #211a3a,
            #5941a3
        );
    color:#ddd5ff;
    font-size:16px;
    font-weight:950;
}

.tyfc-staff-empty-v2 h2{
    margin:0;
}

.tyfc-staff-empty-v2 p{
    margin:8px 0 18px;
    color:#9293a0;
}


/* RESPONSIVE */

@media(max-width:900px){

    .tyfc-staff-kpi-grid-v2{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-staff-row-v2{
        grid-template-columns:
            70px
            minmax(0,1fr)
            auto;
    }

    .tyfc-staff-avatar-v2{
        width:70px;
        height:70px;
    }

    .tyfc-staff-actions-v2{
        grid-column:1 / -1;
    }

    .tyfc-staff-actions-v2 .btn{
        margin-left:auto;
    }
}

@media(max-width:620px){

    .tyfc-staff-head-v2{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-staff-head-actions-v2{
        width:100%;
    }

    .tyfc-staff-head-actions-v2 .btn{
        flex:1;
    }

    .tyfc-staff-overview-v2{
        padding:17px;
        border-radius:20px;
    }

    .tyfc-staff-kpi-grid-v2{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-staff-section-v2{
        padding:15px;
        border-radius:19px;
    }

    .tyfc-staff-row-v2{
        grid-template-columns:
            64px
            minmax(0,1fr);
        gap:12px;
        padding:12px;
    }

    .tyfc-staff-avatar-v2{
        width:64px;
        height:64px;
        border-radius:15px;
    }

    .tyfc-staff-state-v2{
        grid-column:1;
        text-align:left;
    }

    .tyfc-staff-actions-v2{
        grid-column:2;
        align-self:center;
    }

    .tyfc-staff-actions-v2 .btn{
        margin-left:0;
        width:100%;
    }
}

/* === TYFC TEAM STAFF V2 END === */

/* =========================================================
   TYFC STAFF CREATE / EDIT V2
========================================================= */

.tyfc-staff-form-page-v2{
    max-width:1180px;
    margin:0 auto;
}

.tyfc-staff-form-head-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.tyfc-staff-form-head-v2 h1{
    margin:5px 0 6px;
    font-size:clamp(32px,4vw,48px);
    line-height:1;
    letter-spacing:-.035em;
}

.tyfc-staff-form-head-v2 p{
    margin:0;
    color:#878995;
    font-size:13px;
}


/* LAYOUT */

.tyfc-staff-form-layout-v2{
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    gap:20px;
    align-items:start;
}


/* PREVIEW */

.tyfc-staff-form-preview-v2{
    position:sticky;
    top:24px;
    overflow:hidden;
    min-height:410px;
    display:flex;
    flex-direction:column;
    padding:24px;
    border-radius:26px;
    color:#fff;
    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(124,83,255,.40),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #171422,
            #2b204e
        );
    box-shadow:
        0 22px 50px rgba(30,20,63,.16);
}

.tyfc-staff-form-preview-v2:after{
    content:"STAFF";
    position:absolute;
    right:-22px;
    bottom:54px;
    color:rgba(255,255,255,.025);
    font-size:64px;
    font-weight:950;
    transform:rotate(-90deg);
}

.tyfc-staff-form-preview-label{
    position:relative;
    z-index:2;
    color:#9e96b5;
    font-size:9px;
    font-weight:950;
    letter-spacing:.16em;
}

.tyfc-staff-form-preview-avatar{
    position:relative;
    z-index:2;
    width:110px;
    height:130px;
    display:grid;
    place-items:center;
    margin:35px auto 22px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:24px 24px 34px 34px;
    background:
        linear-gradient(
            145deg,
            #342663,
            #181423
        );
    color:#ded7ff;
    font-size:48px;
    font-weight:300;
}

.tyfc-staff-form-preview-v2 > h2{
    position:relative;
    z-index:2;
    margin:0;
    color:#fff;
    font-size:25px;
}

.tyfc-staff-form-preview-v2 > p{
    position:relative;
    z-index:2;
    margin:9px 0 22px;
    color:#aaa4ba;
    font-size:12px;
    line-height:1.65;
}

.tyfc-staff-form-preview-team{
    position:relative;
    z-index:2;
    margin-top:auto;
    padding-top:17px;
    border-top:1px solid rgba(255,255,255,.08);
}

.tyfc-staff-form-preview-team span{
    display:block;
    color:#777186;
    font-size:8px;
    font-weight:950;
    letter-spacing:.14em;
}

.tyfc-staff-form-preview-team strong{
    display:block;
    margin-top:4px;
    color:#d3cde0;
    font-size:12px;
}


/* EDIT PREVIEW */

.tyfc-staff-edit-avatar-v2{
    position:relative;
    width:112px;
    height:132px;
    display:grid;
    place-items:center;
    margin:30px auto 22px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:25px 25px 34px 34px;
    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(140,105,255,.38),
            transparent 42%
        ),
        linear-gradient(
            150deg,
            #352762,
            #181422
        );
}

.tyfc-staff-edit-avatar-v2 > span{
    color:#e8e2ff;
    font-size:50px;
    font-weight:950;
}

.tyfc-staff-edit-avatar-v2 > b{
    position:absolute;
    right:8px;
    bottom:8px;
    min-width:31px;
    min-height:23px;
    display:grid;
    place-items:center;
    padding:0 6px;
    border-radius:8px;
    background:rgba(255,255,255,.12);
    color:#c2b7ec;
    font-size:8px;
}

.tyfc-staff-edit-role-v2{
    position:relative;
    z-index:2;
    color:#aa9be9;
    font-size:9px;
    font-weight:950;
    letter-spacing:.12em;
}

.tyfc-staff-edit-badges-v2{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:14px;
}

.tyfc-staff-edit-badges-v2 span{
    min-height:25px;
    display:inline-flex;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-staff-edit-badges-v2 .is-primary{
    background:rgba(145,106,255,.15);
    color:#c8baff;
}

.tyfc-staff-edit-badges-v2 .is-active{
    background:rgba(39,211,144,.13);
    color:#78efbc;
}

.tyfc-staff-edit-badges-v2 .is-inactive{
    background:rgba(255,255,255,.08);
    color:#aaa6b5;
}

.tyfc-staff-preview-contact-v2{
    margin-top:25px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.08);
}

.tyfc-staff-preview-contact-v2 span{
    display:block;
    color:#766f84;
    font-size:8px;
    font-weight:950;
}

.tyfc-staff-preview-contact-v2 strong{
    display:block;
    margin-top:4px;
    color:#d0cada;
    font-size:12px;
}


/* FORM CARD */

.tyfc-staff-form-card-v2{
    padding:26px;
    border:1px solid #e8e5ee;
    border-radius:26px;
    background:#fff;
    box-shadow:
        0 17px 42px rgba(28,18,59,.05);
}

.tyfc-staff-form-card-head-v2{
    margin-bottom:22px;
}

.tyfc-staff-form-card-head-v2 small{
    color:#7354d3;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-staff-form-card-head-v2 h2{
    margin:4px 0 4px;
    color:#211e29;
    font-size:24px;
}

.tyfc-staff-form-card-head-v2 p{
    margin:0;
    color:#9697a3;
    font-size:11px;
}


/* FIELDS */

.tyfc-staff-form-grid-v2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.tyfc-staff-form-grid-v2 label{
    display:block;
}

.tyfc-staff-form-grid-v2 label > span{
    display:block;
    margin-bottom:7px;
    color:#686571;
    font-size:11px;
    font-weight:850;
}

.tyfc-staff-form-grid-v2 input,
.tyfc-staff-form-grid-v2 select{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:0 13px;
    border:1px solid #dfdce6;
    border-radius:12px;
    outline:none;
    background:#fff;
    color:#25222c;
    font-size:13px;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.tyfc-staff-form-grid-v2 input:focus,
.tyfc-staff-form-grid-v2 select:focus{
    border-color:#8d71dd;
    box-shadow:
        0 0 0 4px rgba(117,82,210,.08);
}


/* PRIMARY OPTION */

.tyfc-staff-primary-option-v2{
    cursor:pointer;
    display:grid;
    grid-template-columns:auto 45px minmax(0,1fr);
    gap:13px;
    align-items:center;
    margin-top:19px;
    padding:15px;
    border:1px solid #e9e6ef;
    border-radius:16px;
    background:#faf9fc;
}

.tyfc-staff-primary-option-v2
> input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.tyfc-staff-primary-toggle-v2{
    position:relative;
    width:45px;
    height:25px;
    border-radius:999px;
    background:#d9d7df;
    transition:.18s ease;
}

.tyfc-staff-primary-toggle-v2:after{
    content:"";
    position:absolute;
    top:4px;
    left:4px;
    width:17px;
    height:17px;
    border-radius:50%;
    background:#fff;
    box-shadow:
        0 2px 6px rgba(0,0,0,.14);
    transition:.18s ease;
}

.tyfc-staff-primary-option-v2
input:checked
+ .tyfc-staff-primary-toggle-v2{
    background:#7352d5;
}

.tyfc-staff-primary-option-v2
input:checked
+ .tyfc-staff-primary-toggle-v2:after{
    transform:translateX(20px);
}

.tyfc-staff-primary-option-v2 strong{
    display:block;
    color:#312d38;
    font-size:12px;
}

.tyfc-staff-primary-option-v2 small{
    display:block;
    margin-top:3px;
    color:#9a9ba6;
    font-size:10px;
}


/* ACTIONS */

.tyfc-staff-form-actions-v2{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #efedf2;
}


/* RESPONSIVE */

@media(max-width:900px){

    .tyfc-staff-form-layout-v2{
        grid-template-columns:1fr;
    }

    .tyfc-staff-form-preview-v2{
        position:relative;
        top:auto;
        min-height:260px;
    }

    .tyfc-staff-form-preview-avatar,
    .tyfc-staff-edit-avatar-v2{
        margin-left:0;
    }
}

@media(max-width:620px){

    .tyfc-staff-form-head-v2{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-staff-form-grid-v2{
        grid-template-columns:1fr;
    }

    .tyfc-staff-form-card-v2{
        padding:17px;
        border-radius:20px;
    }

    .tyfc-staff-form-preview-v2{
        padding:19px;
        border-radius:20px;
    }

    .tyfc-staff-form-actions-v2{
        flex-direction:column-reverse;
    }

    .tyfc-staff-form-actions-v2 .btn{
        width:100%;
    }
}

/* === TYFC STAFF CREATE / EDIT V2 END === */

/* =========================================================
   TYFC STAFF PORTRAIT V1
========================================================= */

.tyfc-staff-avatar-v2 img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.tyfc-manager-avatar-v2{
    overflow:hidden;
}

.tyfc-manager-avatar-v2 img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.tyfc-staff-edit-avatar-v2{
    overflow:hidden;
}

.tyfc-staff-edit-avatar-v2 img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.tyfc-staff-edit-avatar-v2 b{
    z-index:3;
}

.tyfc-staff-photo-field-v2{
    display:grid;
    grid-template-columns:78px minmax(0,1fr);
    gap:16px;
    align-items:center;
    margin-bottom:20px;
    padding:15px;
    border:1px solid #e7e3ed;
    border-radius:17px;
    background:#faf9fc;
}

.tyfc-staff-photo-field-v2 strong{
    display:block;
    color:#302c37;
    font-size:12px;
}

.tyfc-staff-photo-field-v2 small{
    display:block;
    margin:4px 0 10px;
    color:#9697a2;
    font-size:10px;
}

.tyfc-staff-photo-field-v2 input[type="file"]{
    width:100%;
    font-size:11px;
}

.tyfc-staff-photo-field-icon-v2,
.tyfc-staff-photo-current-v2{
    width:78px;
    height:88px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:17px;
    background:
        linear-gradient(
            145deg,
            #211a3c,
            #5840a0
        );
    color:#ded6ff;
    font-size:14px;
    font-weight:950;
}

.tyfc-staff-photo-current-v2 img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.tyfc-staff-photo-current-v2 span{
    font-size:30px;
    font-weight:950;
}

@media(max-width:620px){

    .tyfc-staff-photo-field-v2{
        grid-template-columns:64px minmax(0,1fr);
    }

    .tyfc-staff-photo-field-icon-v2,
    .tyfc-staff-photo-current-v2{
        width:64px;
        height:74px;
    }
}

/* === TYFC STAFF PORTRAIT V1 END === */

/* =========================================================
   TYFC TEAM BRANDING V1
========================================================= */

.tyfc-team-branding-v1{
    max-width:1120px;
    margin:0 auto;
}

.tyfc-team-branding-head-v1{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.tyfc-team-branding-head-v1 h1{
    margin:5px 0 6px;
    font-size:clamp(34px,4vw,50px);
    line-height:1;
    letter-spacing:-.04em;
}

.tyfc-team-branding-head-v1 p{
    margin:0;
    color:#898a97;
    font-size:13px;
}

.tyfc-team-branding-layout-v1{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:20px;
    align-items:start;
}


/* PREVIEW */

.tyfc-team-logo-preview-v1{
    position:relative;
    overflow:hidden;
    min-height:470px;
    padding:25px;
    text-align:center;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(
            circle at 82% 12%,
            rgba(123,82,255,.40),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            #171421,
            #2b204e
        );
    box-shadow:
        0 24px 55px rgba(30,20,63,.17);
}

.tyfc-team-logo-preview-v1 > small{
    display:block;
    text-align:left;
    color:#9d95b3;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-team-logo-preview-frame-v1{
    width:210px;
    height:210px;
    display:grid;
    place-items:center;
    margin:43px auto 25px;
    padding:20px;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.15);
    border-radius:38px;
    background:rgba(255,255,255,.065);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 25px 45px rgba(0,0,0,.25);
}

.tyfc-team-logo-preview-frame-v1 img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.tyfc-team-logo-empty-v1{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    border-radius:26px;
    color:#e5deff;
    background:
        linear-gradient(
            145deg,
            #362769,
            #6b4bd7
        );
    font-size:42px;
    font-weight:950;
}

.tyfc-team-logo-preview-v1 h2{
    margin:0;
    color:#fff;
    font-size:22px;
}

.tyfc-team-logo-preview-v1 p{
    margin:6px 0 16px;
    color:#aaa4b9;
}

.tyfc-team-logo-ready-v1,
.tyfc-team-logo-missing-v1{
    display:inline-flex;
    min-height:27px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    font-size:8px;
    font-weight:950;
    letter-spacing:.09em;
}

.tyfc-team-logo-ready-v1{
    background:rgba(36,211,143,.13);
    color:#79efbc;
}

.tyfc-team-logo-missing-v1{
    background:rgba(255,255,255,.08);
    color:#aaa5b6;
}


/* FORM */

.tyfc-team-branding-form-v1{
    padding:27px;
    border:1px solid #e8e5ed;
    border-radius:27px;
    background:#fff;
    box-shadow:
        0 17px 42px rgba(30,20,60,.05);
}

.tyfc-team-branding-form-head-v1 small{
    color:#7354d5;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-team-branding-form-head-v1 h2{
    margin:5px 0;
    color:#211d29;
    font-size:25px;
}

.tyfc-team-branding-form-head-v1 p{
    max-width:570px;
    margin:0;
    color:#9596a2;
    font-size:11px;
    line-height:1.6;
}

.tyfc-team-logo-upload-v1{
    display:block;
    margin-top:25px;
    padding:22px;
    border:1px dashed #d8d2e4;
    border-radius:19px;
    background:#faf9fc;
}

.tyfc-team-logo-upload-v1 strong{
    display:block;
    color:#302c38;
    font-size:13px;
}

.tyfc-team-logo-upload-v1 small{
    display:block;
    margin-top:4px;
    color:#999aa6;
    font-size:10px;
}

.tyfc-team-logo-upload-v1 input{
    width:100%;
    margin-top:17px;
    font-size:12px;
}

.tyfc-team-branding-actions-v1{
    display:flex;
    justify-content:flex-end;
    margin-top:17px;
}

.tyfc-team-logo-remove-form-v1{
    display:flex;
    justify-content:flex-end;
    margin-top:9px;
}

.tyfc-team-branding-note-v1{
    margin-top:24px;
    padding:16px;
    border-radius:16px;
    background:#f6f4fb;
}

.tyfc-team-branding-note-v1 strong{
    color:#5f49a8;
    font-size:10px;
}

.tyfc-team-branding-note-v1 p{
    margin:5px 0 0;
    color:#858591;
    font-size:10px;
    line-height:1.55;
}

@media(max-width:850px){

    .tyfc-team-branding-layout-v1{
        grid-template-columns:1fr;
    }

    .tyfc-team-logo-preview-v1{
        min-height:auto;
    }
}

@media(max-width:620px){

    .tyfc-team-branding-head-v1{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-team-branding-form-v1,
    .tyfc-team-logo-preview-v1{
        padding:19px;
        border-radius:21px;
    }

    .tyfc-team-logo-preview-frame-v1{
        width:170px;
        height:170px;
        margin-top:30px;
    }

    .tyfc-team-branding-actions-v1 .btn,
    .tyfc-team-logo-remove-form-v1 .btn{
        width:100%;
    }
}

/* === TYFC TEAM BRANDING V1 END === */

/* =========================================================
   TYFC DOCUMENTS CENTER V2
========================================================= */

.tyfc-doc-center-v2{
    max-width:1280px;
    margin:0 auto;
}


/* HEADER */

.tyfc-doc-head-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.tyfc-doc-head-v2 h1{
    margin:5px 0 6px;
    font-size:clamp(34px,4vw,52px);
    line-height:1;
    letter-spacing:-.04em;
}

.tyfc-doc-head-v2 p{
    margin:0;
    color:#898a97;
    font-size:13px;
}

.tyfc-doc-head-actions-v2{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}


/* LOCK */

.tyfc-doc-lock-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
    padding:15px 18px;
    border-radius:16px;
}

.tyfc-doc-lock-v2 strong{
    font-size:9px;
    font-weight:950;
    letter-spacing:.10em;
}

.tyfc-doc-lock-v2 span{
    font-size:11px;
}

.tyfc-doc-lock-v2.is-approved{
    background:#eaf9f2;
    color:#177c59;
}

.tyfc-doc-lock-v2.is-submitted{
    background:#f3efff;
    color:#674ab5;
}


/* OVERVIEW */

.tyfc-doc-overview-v2{
    padding:24px;
    border-radius:25px;
    color:#fff;
    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(124,83,255,.34),
            transparent 31%
        ),
        linear-gradient(
            140deg,
            #171424,
            #281c4b
        );
    box-shadow:
        0 22px 55px rgba(30,20,64,.16);
}

.tyfc-doc-overview-title-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.tyfc-doc-overview-title-v2 small{
    color:#a69bc3;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}

.tyfc-doc-overview-title-v2 h2{
    margin:4px 0 0;
    color:#fff;
    font-size:24px;
}

.tyfc-doc-overview-title-v2 > span{
    min-height:28px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#bbb3d1;
    font-size:8px;
    font-weight:950;
    letter-spacing:.09em;
}

.tyfc-doc-kpi-grid-v2{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.tyfc-doc-kpi-grid-v2 article{
    min-height:94px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:17px;
    background:rgba(255,255,255,.055);
}

.tyfc-doc-kpi-grid-v2 article.is-total{
    background:
        linear-gradient(
            145deg,
            rgba(118,82,224,.36),
            rgba(255,255,255,.055)
        );
}

.tyfc-doc-kpi-grid-v2 article.is-accepted{
    background:rgba(37,202,139,.08);
}

.tyfc-doc-kpi-grid-v2 article.is-rejected{
    background:rgba(226,92,100,.08);
}

.tyfc-doc-kpi-grid-v2 span{
    color:#9790aa;
    font-size:8px;
    font-weight:950;
    letter-spacing:.11em;
}

.tyfc-doc-kpi-grid-v2 strong{
    margin-top:5px;
    color:#fff;
    font-size:28px;
    line-height:1;
}

.tyfc-doc-kpi-grid-v2 small{
    margin-top:6px;
    color:#aaa4b9;
    font-size:10px;
}


/* PANELS */

.tyfc-doc-upload-v2,
.tyfc-doc-library-v2{
    margin-top:20px;
    padding:23px;
    border:1px solid #e8e5ee;
    border-radius:24px;
    background:#fff;
    box-shadow:
        0 15px 38px rgba(29,19,60,.045);
}

.tyfc-doc-section-head-v2{
    margin-bottom:18px;
}

.tyfc-doc-section-head-v2 small{
    display:block;
    color:#7050d4;
    font-size:9px;
    font-weight:950;
    letter-spacing:.14em;
}

.tyfc-doc-section-head-v2 h2{
    margin:4px 0 3px;
    color:#211d2a;
    font-size:22px;
}

.tyfc-doc-section-head-v2 p{
    margin:0;
    max-width:700px;
    color:#9697a4;
    font-size:10px;
    line-height:1.55;
}


/* UPLOAD */

.tyfc-doc-upload-grid-v2{
    display:grid;
    grid-template-columns:
        minmax(190px,.8fr)
        minmax(240px,1.2fr)
        minmax(250px,1fr);
    gap:14px;
}

.tyfc-doc-upload-grid-v2 label{
    display:block;
}

.tyfc-doc-upload-grid-v2 label > span{
    display:block;
    margin-bottom:7px;
    color:#65626d;
    font-size:10px;
    font-weight:850;
}

.tyfc-doc-upload-grid-v2 input,
.tyfc-doc-upload-grid-v2 select{
    width:100%;
    min-height:45px;
    box-sizing:border-box;
    padding:0 12px;
    border:1px solid #dedbe5;
    border-radius:11px;
    background:#fff;
    color:#27232d;
    font-size:12px;
}

.tyfc-doc-file-field-v2 small{
    display:block;
    margin-top:6px;
    color:#9b9ca7;
    font-size:9px;
}

.tyfc-doc-upload-actions-v2{
    display:flex;
    justify-content:flex-end;
    margin-top:17px;
}


/* DOCUMENT ROW */

.tyfc-doc-list-v2{
    display:grid;
    gap:10px;
}

.tyfc-doc-row-v2{
    display:grid;
    grid-template-columns:
        70px
        minmax(0,1fr)
        130px
        auto;
    gap:15px;
    align-items:center;
    min-height:98px;
    padding:13px 15px;
    border:1px solid #ece9f1;
    border-radius:18px;
    background:#faf9fc;
}

.tyfc-doc-row-v2.status-accepted{
    border-left:4px solid #2d9b75;
}

.tyfc-doc-row-v2.status-rejected{
    border-left:4px solid #c95c66;
}

.tyfc-doc-row-v2.status-submitted{
    border-left:4px solid #7254d0;
}

.tyfc-doc-icon-v2{
    position:relative;
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:
        linear-gradient(
            145deg,
            #211a3c,
            #493384
        );
    color:#ddd6ff;
}

.tyfc-doc-icon-v2 span{
    font-size:10px;
    font-weight:950;
}

.tyfc-doc-icon-v2 b{
    position:absolute;
    right:5px;
    bottom:5px;
    min-width:28px;
    min-height:18px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border-radius:6px;
    background:rgba(255,255,255,.13);
    color:#c5b9ee;
    font-size:7px;
}

.tyfc-doc-main-v2{
    min-width:0;
}

.tyfc-doc-type-v2{
    color:#7656ce;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-doc-main-v2 h3{
    margin:4px 0 0;
    overflow:hidden;
    color:#24202c;
    font-size:16px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tyfc-doc-meta-v2{
    display:flex;
    flex-wrap:wrap;
    gap:6px 14px;
    margin-top:7px;
}

.tyfc-doc-meta-v2 span{
    color:#a0a0aa;
    font-size:7px;
    font-weight:900;
    letter-spacing:.07em;
}

.tyfc-doc-meta-v2 strong{
    margin-left:4px;
    color:#77747f;
    font-size:9px;
    letter-spacing:0;
}

.tyfc-doc-status-v2{
    text-align:center;
}

.tyfc-doc-status-v2 span,
.tyfc-doc-locked-pill-v2{
    min-height:27px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    border-radius:999px;
    font-size:7px;
    font-weight:950;
    letter-spacing:.07em;
}

.tyfc-doc-status-v2 .is-accepted{
    background:#e8f8f0;
    color:#18815c;
}

.tyfc-doc-status-v2 .is-rejected{
    background:#fbeaec;
    color:#aa4650;
}

.tyfc-doc-status-v2 .is-submitted{
    background:#efebff;
    color:#6549b9;
}

.tyfc-doc-locked-pill-v2{
    background:#eeeef1;
    color:#898995;
}

.tyfc-doc-actions-v2{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
}

.tyfc-doc-actions-v2 form{
    margin:0;
}


/* EMPTY */

.tyfc-doc-empty-v2{
    padding:45px 20px;
    text-align:center;
    border:1px dashed #ddd9e6;
    border-radius:18px;
    background:#faf9fb;
}

.tyfc-doc-empty-mark-v2{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    margin:0 auto 13px;
    border-radius:17px;
    background:
        linear-gradient(
            145deg,
            #211a3b,
            #57409c
        );
    color:#ddd5ff;
    font-size:10px;
    font-weight:950;
}

.tyfc-doc-empty-v2 h3{
    margin:0;
}

.tyfc-doc-empty-v2 p{
    margin:7px 0 0;
    color:#9697a2;
    font-size:10px;
}


/* RESPONSIVE */

@media(max-width:950px){

    .tyfc-doc-upload-grid-v2{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-doc-file-field-v2{
        grid-column:1 / -1;
    }

    .tyfc-doc-row-v2{
        grid-template-columns:
            64px
            minmax(0,1fr)
            auto;
    }

    .tyfc-doc-icon-v2{
        width:64px;
        height:64px;
    }

    .tyfc-doc-actions-v2{
        grid-column:2 / -1;
    }
}

@media(max-width:700px){

    .tyfc-doc-kpi-grid-v2{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:620px){

    .tyfc-doc-head-v2{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-doc-head-actions-v2{
        width:100%;
    }

    .tyfc-doc-head-actions-v2 .btn{
        flex:1;
    }

    .tyfc-doc-overview-v2,
    .tyfc-doc-upload-v2,
    .tyfc-doc-library-v2{
        padding:16px;
        border-radius:19px;
    }

    .tyfc-doc-upload-grid-v2{
        grid-template-columns:1fr;
    }

    .tyfc-doc-file-field-v2{
        grid-column:auto;
    }

    .tyfc-doc-row-v2{
        grid-template-columns:
            58px
            minmax(0,1fr);
        gap:11px;
        padding:11px;
    }

    .tyfc-doc-icon-v2{
        width:58px;
        height:58px;
        border-radius:14px;
    }

    .tyfc-doc-status-v2{
        grid-column:1;
        text-align:left;
    }

    .tyfc-doc-actions-v2{
        grid-column:2;
        justify-content:flex-start;
    }
}

/* === TYFC DOCUMENTS CENTER V2 END === */

/* =========================================================
   TYFC TEAM FIXTURES V1
========================================================= */

.tyfc-team-fixtures-v1{
    max-width:1280px;
    margin:0 auto;
}

.tyfc-fixtures-head-v1{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.tyfc-fixtures-head-v1 h1{
    margin:5px 0 6px;
    font-size:clamp(34px,4vw,50px);
    line-height:1;
    letter-spacing:-.04em;
}

.tyfc-fixtures-head-v1 p{
    margin:0;
    color:#8e8f9a;
    font-size:12px;
}

.tyfc-fixtures-overview-v1{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:18px;
}

.tyfc-fixtures-overview-v1 article{
    min-height:92px;
    padding:17px;
    border:1px solid #e8e5ed;
    border-radius:18px;
    background:#fff;
}

.tyfc-fixtures-overview-v1 small{
    display:block;
    color:#8d8b96;
    font-size:8px;
    font-weight:950;
    letter-spacing:.11em;
}

.tyfc-fixtures-overview-v1 strong{
    display:block;
    margin-top:5px;
    color:#241f2d;
    font-size:27px;
}

.tyfc-fixtures-overview-v1 span{
    display:block;
    margin-top:3px;
    color:#9d9da7;
    font-size:9px;
}


/* NEXT MATCH */

.tyfc-next-match-v1{
    margin-bottom:18px;
    padding:22px;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(122,80,255,.38),
            transparent 31%
        ),
        linear-gradient(
            140deg,
            #171322,
            #2b1d50
        );
    box-shadow:
        0 22px 52px rgba(30,20,65,.15);
}

.tyfc-next-match-label-v1{
    color:#aa9fc4;
    font-size:9px;
    font-weight:950;
    letter-spacing:.14em;
}

.tyfc-next-match-main-v1{
    display:grid;
    grid-template-columns:170px 1fr 190px;
    gap:20px;
    align-items:center;
    margin-top:18px;
}

.tyfc-next-match-time-v1 strong{
    display:block;
    font-size:17px;
}

.tyfc-next-match-time-v1 span{
    display:block;
    margin-top:5px;
    color:#bdb5cf;
    font-size:25px;
    font-weight:950;
}

.tyfc-next-match-vs-v1{
    display:grid;
    grid-template-columns:1fr 50px 1fr;
    gap:12px;
    align-items:center;
    text-align:center;
}

.tyfc-next-match-vs-v1 small,
.tyfc-next-match-venue-v1 small{
    display:block;
    color:#9991ad;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.tyfc-next-match-vs-v1 strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:19px;
}

.tyfc-next-match-vs-v1 b{
    color:#9b82ec;
    font-size:12px;
}

.tyfc-next-match-venue-v1{
    text-align:right;
}

.tyfc-next-match-venue-v1 strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:13px;
}

.tyfc-next-match-venue-v1 span{
    display:block;
    margin-top:4px;
    color:#aaa2bb;
    font-size:9px;
}


/* MATCH LIST */

.tyfc-fixture-list-panel-v1{
    padding:22px;
    border:1px solid #e8e5ed;
    border-radius:24px;
    background:#fff;
}

.tyfc-fixture-panel-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:16px;
}

.tyfc-fixture-panel-head-v1 small{
    color:#7252d0;
    font-size:9px;
    font-weight:950;
    letter-spacing:.12em;
}

.tyfc-fixture-panel-head-v1 h2{
    margin:4px 0 0;
    font-size:22px;
}

.tyfc-fixture-panel-head-v1 > span{
    color:#8f8d99;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-fixture-list-v1{
    display:grid;
    gap:9px;
}

.tyfc-fixture-row-v1{
    display:grid;
    grid-template-columns:
        145px
        minmax(260px,1fr)
        minmax(150px,210px)
        130px;
    gap:15px;
    align-items:center;
    min-height:82px;
    padding:12px 15px;
    border:1px solid #ece9f1;
    border-radius:16px;
    background:#faf9fc;
}

.tyfc-fixture-row-v1.status-live,
.tyfc-fixture-row-v1.status-halftime{
    border-left:4px solid #e45b65;
}

.tyfc-fixture-row-v1.status-finished{
    border-left:4px solid #2e9b73;
}

.tyfc-fixture-date-v1 strong{
    display:block;
    color:#34303b;
    font-size:12px;
}

.tyfc-fixture-date-v1 span{
    display:block;
    margin-top:3px;
    color:#7253cc;
    font-size:19px;
    font-weight:950;
}

.tyfc-fixture-match-v1 > small{
    color:#9a98a3;
    font-size:8px;
}

.tyfc-fixture-match-v1 > div{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:5px;
}

.tyfc-fixture-match-v1 strong{
    color:#4b4852;
    font-size:13px;
}

.tyfc-fixture-match-v1 strong.is-my-team{
    color:#6749bd;
    font-weight:950;
}

.tyfc-fixture-match-v1 b{
    color:#aaa5b3;
    font-size:10px;
}

.tyfc-fixture-venue-v1 small{
    color:#9a98a3;
    font-size:8px;
}

.tyfc-fixture-venue-v1 strong{
    display:block;
    margin-top:4px;
    color:#48444f;
    font-size:11px;
}

.tyfc-fixture-venue-v1 span{
    display:block;
    margin-top:3px;
    color:#9c9aa4;
    font-size:8px;
}

.tyfc-fixture-status-v1{
    text-align:right;
}

.tyfc-fixture-status-v1 span{
    display:inline-flex;
    min-height:26px;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:#efecf7;
    color:#6b579c;
    font-size:7px;
    font-weight:950;
}

.tyfc-fixture-status-v1 .status-live,
.tyfc-fixture-status-v1 .status-halftime{
    background:#fce9ea;
    color:#b4434d;
}

.tyfc-fixture-status-v1 .status-finished{
    background:#e8f7f0;
    color:#177d59;
}

.tyfc-fixture-status-v1 .status-postponed,
.tyfc-fixture-status-v1 .status-cancelled{
    background:#f4eeee;
    color:#97666a;
}


/* EMPTY */

.tyfc-fixture-empty-v1{
    padding:48px 20px;
    text-align:center;
    border:1px dashed #ddd9e6;
    border-radius:18px;
    background:#faf9fb;
}

.tyfc-fixture-empty-v1 > div{
    width:66px;
    height:66px;
    display:grid;
    place-items:center;
    margin:0 auto 13px;
    border-radius:17px;
    background:linear-gradient(
        145deg,
        #211a3b,
        #57409c
    );
    color:#ddd5ff;
    font-weight:950;
}

.tyfc-fixture-empty-v1 h3{
    margin:0;
}

.tyfc-fixture-empty-v1 p{
    max-width:500px;
    margin:7px auto 0;
    color:#9697a2;
    font-size:10px;
    line-height:1.6;
}


/* RESPONSIVE */

@media(max-width:950px){

    .tyfc-fixture-row-v1{
        grid-template-columns:
            120px
            minmax(0,1fr)
            130px;
    }

    .tyfc-fixture-status-v1{
        grid-column:2 / -1;
    }

    .tyfc-next-match-main-v1{
        grid-template-columns:140px 1fr;
    }

    .tyfc-next-match-venue-v1{
        grid-column:1 / -1;
        text-align:left;
    }
}

@media(max-width:700px){

    .tyfc-fixtures-overview-v1{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-fixture-row-v1{
        grid-template-columns:1fr;
    }

    .tyfc-fixture-status-v1{
        grid-column:auto;
        text-align:left;
    }

    .tyfc-next-match-main-v1{
        grid-template-columns:1fr;
    }

    .tyfc-next-match-vs-v1{
        grid-template-columns:1fr 36px 1fr;
    }
}

@media(max-width:620px){

    .tyfc-fixtures-head-v1{
        align-items:flex-start;
        flex-direction:column;
    }

    .tyfc-fixture-list-panel-v1,
    .tyfc-next-match-v1{
        padding:16px;
        border-radius:19px;
    }
}

/* === TYFC TEAM FIXTURES V1 END === */

/* =========================================================
   TYFC REGISTRATION REVIEW V2
========================================================= */

.tyfc-review-return-form-v2{
    display:grid;
    gap:7px;
    min-width:210px;
    margin-top:7px;
}

.tyfc-review-return-form-v2 textarea{
    width:100%;
    min-height:68px;
    padding:9px 10px;
    resize:vertical;
    border:1px solid #ded9e8;
    border-radius:10px;
    background:#fff;
    color:#36313f;
    font:inherit;
    font-size:10px;
    line-height:1.45;
    box-sizing:border-box;
}

.tyfc-review-return-form-v2 textarea:focus{
    outline:none;
    border-color:#8061d3;
    box-shadow:0 0 0 3px rgba(128,97,211,.10);
}

.tyfc-registration-return-note-v2{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:14px;
    align-items:flex-start;
    margin-bottom:14px;
    padding:16px 17px;
    border:1px solid #f0ce8e;
    border-radius:16px;
    background:#fff8e9;
}

.tyfc-registration-return-icon-v2{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#f0a62a;
    color:#fff;
    font-size:20px;
    font-weight:950;
}

.tyfc-registration-return-note-v2 small{
    color:#aa731a;
    font-size:8px;
    font-weight:950;
    letter-spacing:.12em;
}

.tyfc-registration-return-note-v2 h3{
    margin:3px 0 6px;
    color:#503a17;
    font-size:15px;
}

.tyfc-registration-return-note-v2 p{
    margin:0;
    color:#725a31;
    font-size:11px;
    line-height:1.6;
}

.tyfc-registration-return-note-v2 span{
    display:block;
    margin-top:7px;
    color:#a08458;
    font-size:8px;
}

/* === TYFC REGISTRATION REVIEW V2 END === */

/* =========================================================
   TYFC ELECTRONIC CERTIFICATION V1
========================================================= */

.tyfc-registration-certify-v1{
    display:flex;
    align-items:flex-start;
    gap:10px;
    max-width:520px;
    margin:0 0 12px;
    padding:12px 14px;
    border:1px solid #ddd7ed;
    border-radius:13px;
    background:#faf8ff;
    cursor:pointer;
}

.tyfc-registration-certify-v1 input{
    width:18px;
    height:18px;
    margin:1px 0 0;
    flex:0 0 auto;
}

.tyfc-registration-certify-v1 span{
    color:#625c6d;
    font-size:10px;
    line-height:1.6;
}

/* === TYFC ELECTRONIC CERTIFICATION V1 END === */

/* =========================================================
   TYFC FINAL SUBMISSION PANEL V2
========================================================= */

.tyfc-final-submit-v2{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:20px;
    padding:24px;
    border-radius:26px;
    background:
        radial-gradient(circle at top right, rgba(112,87,255,.30), transparent 38%),
        linear-gradient(135deg, #15132b 0%, #18224a 55%, #2a2462 100%);
    color:#fff;
    box-shadow:0 20px 50px rgba(20,18,43,.18);
    overflow:hidden;
}

.tyfc-final-submit-v2::after{
    content:"";
    position:absolute;
    right:-40px;
    bottom:-40px;
    width:160px;
    height:160px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.08), transparent 70%);
    pointer-events:none;
}

.tyfc-final-submit-head-v2{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.tyfc-final-submit-head-v2 .eyebrow{
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
}

.tyfc-final-submit-head-v2 h3{
    margin:0;
    max-width:760px;
    font-size:34px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.02em;
}

.tyfc-final-submit-head-v2 p{
    margin:0;
    max-width:760px;
    font-size:15px;
    line-height:1.75;
    color:rgba(255,255,255,.82);
}

.tyfc-final-submit-criteria-v2{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.tyfc-final-submit-criteria-v2 article{
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    background:rgba(255,255,255,.08);
}

.tyfc-final-submit-criteria-v2 strong{
    display:block;
    margin-bottom:6px;
    color:#d7ccff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}

.tyfc-final-submit-criteria-v2 span{
    display:block;
    color:#fff;
    font-size:14px;
    line-height:1.6;
}

.tyfc-final-submit-status-v2{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px 18px;
    border:1px solid rgba(255,199,92,.28);
    border-radius:18px;
    background:rgba(255,199,92,.12);
}

.tyfc-final-submit-status-v2.is-ready{
    border-color:rgba(58,201,125,.28);
    background:rgba(58,201,125,.12);
}

.tyfc-final-submit-status-v2 .icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.10);
    font-weight:900;
}

.tyfc-final-submit-status-v2 strong{
    display:block;
    margin-bottom:4px;
    font-size:14px;
}

.tyfc-final-submit-status-v2 p{
    margin:0;
    color:rgba(255,255,255,.84);
    font-size:13px;
    line-height:1.6;
}

.tyfc-final-submit-actions-v2{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.tyfc-final-submit-actions-v2 .btn{
    min-height:52px;
    border-radius:15px;
    font-size:15px;
    font-weight:900;
}

@media (max-width:1080px){

    .tyfc-final-submit-criteria-v2{
        grid-template-columns:1fr;
    }

    .tyfc-final-submit-head-v2 h3{
        font-size:28px;
    }
}

@media (max-width:640px){

    .tyfc-final-submit-v2{
        padding:20px;
        border-radius:22px;
    }

    .tyfc-final-submit-head-v2 h3{
        font-size:24px;
    }

    .tyfc-final-submit-head-v2 p,
    .tyfc-final-submit-criteria-v2 span,
    .tyfc-final-submit-status-v2 p{
        font-size:14px;
    }
}

/* === TYFC FINAL SUBMISSION PANEL V2 END === */


/* =========================================================
   TYFC REGISTRATION REVIEW DETAIL V1
========================================================= */

.tyfc-review-detail-v1{
    max-width:1280px;
    margin:0 auto;
}

.tyfc-review-detail-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:18px;
}

.tyfc-review-detail-head-v1 h1{
    margin:5px 0;
    font-size:clamp(30px,4vw,46px);
    line-height:1.05;
    letter-spacing:-.035em;
}

.tyfc-review-detail-head-v1 p{
    margin:0;
    color:#92909a;
    font-size:11px;
}

.tyfc-review-readiness-v1{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:16px;
}

.tyfc-review-readiness-v1 article{
    padding:16px;
    border:1px solid #e8e5ed;
    border-radius:18px;
    background:#fff;
}

.tyfc-review-readiness-v1 article.is-ready{
    border-color:#bfe8d7;
    background:#f5fcf8;
}

.tyfc-review-readiness-v1 article.is-waiting{
    border-color:#eadfbf;
    background:#fffaf0;
}

.tyfc-review-readiness-v1 small{
    display:block;
    color:#92909a;
    font-size:8px;
    font-weight:950;
    letter-spacing:.1em;
}

.tyfc-review-readiness-v1 strong{
    display:block;
    margin-top:5px;
    color:#292432;
    font-size:24px;
}

.tyfc-review-readiness-v1 span{
    display:block;
    margin-top:3px;
    color:#8b8994;
    font-size:9px;
}

.tyfc-review-panel-v1{
    margin-bottom:16px;
    padding:20px;
    border:1px solid #e8e5ed;
    border-radius:22px;
    background:#fff;
}

.tyfc-review-panel-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:15px;
}

.tyfc-review-panel-head-v1 small{
    color:#7655cc;
    font-size:8px;
    font-weight:950;
    letter-spacing:.12em;
}

.tyfc-review-panel-head-v1 h2{
    margin:4px 0 0;
    font-size:20px;
}

.tyfc-review-panel-head-v1 > strong{
    color:#898590;
    font-size:10px;
}

.tyfc-review-player-list-v1{
    display:grid;
    gap:8px;
}

.tyfc-review-player-list-v1 article{
    display:grid;
    grid-template-columns:50px 1fr auto;
    gap:12px;
    align-items:center;
    min-height:68px;
    padding:9px 12px;
    border:1px solid #ece9f1;
    border-radius:14px;
    background:#faf9fc;
}

.tyfc-review-avatar-v1{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:13px;
    background:#28213d;
    color:#fff;
    font-size:17px;
    font-weight:950;
}

.tyfc-review-avatar-v1 img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.tyfc-review-player-copy-v1 strong{
    display:block;
    color:#332f38;
    font-size:12px;
}

.tyfc-review-player-copy-v1 span{
    display:block;
    margin-top:3px;
    color:#93909a;
    font-size:9px;
}

.tyfc-review-staff-grid-v1{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.tyfc-review-staff-grid-v1 article{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:12px;
    align-items:center;
    padding:11px;
    border:1px solid #ece9f1;
    border-radius:15px;
    background:#faf9fc;
}

.tyfc-review-staff-grid-v1 strong{
    color:#34303a;
    font-size:11px;
}

.tyfc-review-staff-grid-v1 span,
.tyfc-review-staff-grid-v1 small{
    display:block;
    margin-top:3px;
    color:#94919b;
    font-size:8px;
}

.tyfc-review-primary-v1{
    display:inline-flex;
    margin-left:5px;
    padding:3px 5px;
    border-radius:999px;
    background:#ebe5fa;
    color:#6649b4;
    font-size:6px;
}

.tyfc-review-doc-list-v1{
    display:grid;
    gap:10px;
}

.tyfc-review-doc-list-v1 > article{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,360px);
    gap:18px;
    align-items:center;
    padding:14px;
    border:1px solid #e9e6ee;
    border-radius:16px;
    background:#faf9fc;
}

.tyfc-review-doc-list-v1 > article.status-accepted{
    border-left:4px solid #2b9d73;
}

.tyfc-review-doc-list-v1 > article.status-rejected{
    border-left:4px solid #d75d68;
}

.tyfc-review-doc-main-v1{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:12px;
    align-items:center;
}

.tyfc-review-doc-icon-v1{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#2c2344;
    color:#fff;
    font-size:9px;
    font-weight:950;
}

.tyfc-review-doc-main-v1 small{
    display:block;
    color:#876bc5;
    font-size:8px;
    font-weight:850;
}

.tyfc-review-doc-main-v1 strong{
    display:block;
    margin-top:3px;
    color:#343039;
    font-size:12px;
}

.tyfc-review-doc-main-v1 span{
    display:block;
    margin-top:4px;
    color:#98959e;
    font-size:7px;
    font-weight:950;
}

.tyfc-review-doc-main-v1 p{
    margin:6px 0 0;
    color:#80646b;
    font-size:9px;
    line-height:1.5;
}

.tyfc-review-doc-actions-v1{
    display:grid;
    gap:7px;
}

.tyfc-review-doc-actions-v1 form{
    margin:0;
}

.tyfc-review-doc-reject-v1{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px;
}

.tyfc-review-doc-reject-v1 textarea,
.tyfc-review-return-detail-v1 textarea{
    width:100%;
    min-height:52px;
    padding:9px;
    border:1px solid #ded9e7;
    border-radius:10px;
    resize:vertical;
    box-sizing:border-box;
    font:inherit;
    font-size:9px;
}

.tyfc-review-decision-v1{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,420px);
    gap:22px;
    align-items:center;
    padding:22px;
    border-radius:22px;
    color:#fff;
    background:
        radial-gradient(
            circle at top right,
            rgba(117,85,235,.35),
            transparent 35%
        ),
        linear-gradient(
            140deg,
            #171426,
            #29204c
        );
}

.tyfc-review-decision-v1 small{
    color:#aa9dc3;
    font-size:8px;
    font-weight:950;
    letter-spacing:.13em;
}

.tyfc-review-decision-v1 h2{
    margin:4px 0 7px;
    font-size:24px;
}

.tyfc-review-decision-v1 p{
    margin:0;
    max-width:620px;
    color:#beb7cc;
    font-size:10px;
    line-height:1.6;
}

.tyfc-review-decision-actions-v1{
    display:grid;
    gap:9px;
}

.tyfc-review-return-detail-v1{
    display:grid;
    gap:7px;
}

@media(max-width:900px){

    .tyfc-review-readiness-v1{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-review-doc-list-v1 > article,
    .tyfc-review-decision-v1{
        grid-template-columns:1fr;
    }

    .tyfc-review-staff-grid-v1{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){

    .tyfc-review-detail-head-v1{
        flex-direction:column;
        align-items:flex-start;
    }

    .tyfc-review-readiness-v1{
        grid-template-columns:1fr;
    }

    .tyfc-review-player-list-v1 article{
        grid-template-columns:48px 1fr;
    }

    .tyfc-review-player-list-v1 .btn{
        grid-column:2;
        justify-self:start;
    }

    .tyfc-review-doc-reject-v1{
        grid-template-columns:1fr;
    }
}

/* === TYFC REGISTRATION REVIEW DETAIL V1 END === */

/* =========================================================
   TYFC REGISTRATION REVIEW DETAIL V2
   Competition Control Visual Refinement
========================================================= */

.tyfc-review-detail-v1{
    max-width:1380px;
    margin:0 auto;
    padding-bottom:40px;
}


/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */

.tyfc-review-detail-head-v1{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:18px;
    padding:30px 32px;
    border-radius:28px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(
            circle at 82% 15%,
            rgba(112,76,230,.40),
            transparent 34%
        ),
        radial-gradient(
            circle at 12% 100%,
            rgba(77,65,176,.22),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #171524 0%,
            #1f1c39 48%,
            #2d225c 100%
        );
    box-shadow:
        0 22px 50px rgba(25,20,50,.16);
}

.tyfc-review-detail-head-v1::after{
    content:"REVIEW";
    position:absolute;
    right:24px;
    bottom:-36px;
    font-size:108px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.08em;
    color:rgba(255,255,255,.035);
    pointer-events:none;
}

.tyfc-review-detail-head-v1 > div,
.tyfc-review-detail-head-v1 > a{
    position:relative;
    z-index:1;
}

.tyfc-review-detail-head-v1 .tyfc-eyebrow{
    color:#b9aaff;
    font-size:10px;
    font-weight:950;
    letter-spacing:.22em;
}

.tyfc-review-detail-head-v1 h1{
    margin:8px 0 8px;
    max-width:900px;
    color:#fff;
    font-size:clamp(34px,4vw,52px);
    line-height:1.04;
    font-weight:950;
    letter-spacing:-.045em;
}

.tyfc-review-detail-head-v1 p{
    margin:0;
    color:rgba(255,255,255,.64);
    font-size:12px;
    font-weight:650;
}

.tyfc-review-detail-head-v1 > .btn{
    border-color:rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    backdrop-filter:blur(8px);
}

.tyfc-review-detail-head-v1 > .btn:hover{
    background:rgba(255,255,255,.14);
}


/* ---------------------------------------------------------
   READINESS CARDS
--------------------------------------------------------- */

.tyfc-review-readiness-v1{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.tyfc-review-readiness-v1 article{
    position:relative;
    min-height:118px;
    padding:19px 20px;
    border:1px solid #e6e2eb;
    border-radius:20px;
    background:#fff;
    box-shadow:
        0 8px 25px rgba(38,32,53,.035);
    overflow:hidden;
}

.tyfc-review-readiness-v1 article::after{
    content:"";
    position:absolute;
    width:70px;
    height:70px;
    right:-24px;
    bottom:-26px;
    border-radius:50%;
    background:rgba(65,53,93,.04);
}

.tyfc-review-readiness-v1 article.is-ready{
    border-color:#bde5d4;
    background:
        linear-gradient(
            145deg,
            #f8fffb,
            #f1faf6
        );
}

.tyfc-review-readiness-v1 article.is-ready::before{
    content:"✓";
    position:absolute;
    top:16px;
    right:16px;
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#dff5ea;
    color:#16815b;
    font-size:12px;
    font-weight:950;
}

.tyfc-review-readiness-v1 article.is-waiting{
    border-color:#ead9ad;
    background:
        linear-gradient(
            145deg,
            #fffdf8,
            #fff8e9
        );
}

.tyfc-review-readiness-v1 article.is-waiting::before{
    content:"!";
    position:absolute;
    top:16px;
    right:16px;
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#fff0c8;
    color:#9e6d14;
    font-size:12px;
    font-weight:950;
}

.tyfc-review-readiness-v1 small{
    display:block;
    padding-right:34px;
    color:#928d9c;
    font-size:8px;
    font-weight:950;
    letter-spacing:.16em;
}

.tyfc-review-readiness-v1 strong{
    display:block;
    margin-top:10px;
    color:#25212e;
    font-size:28px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.035em;
}

.tyfc-review-readiness-v1 span{
    display:block;
    margin-top:9px;
    color:#8d8994;
    font-size:9px;
    font-weight:650;
}


/* ---------------------------------------------------------
   MAIN PANELS
--------------------------------------------------------- */

.tyfc-review-panel-v1{
    margin-bottom:18px;
    padding:24px;
    border:1px solid #e8e5ed;
    border-radius:24px;
    background:#fff;
    box-shadow:
        0 10px 32px rgba(35,29,47,.035);
}

.tyfc-review-panel-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:18px;
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid #efedf2;
}

.tyfc-review-panel-head-v1 small{
    display:block;
    color:#7153ce;
    font-size:8px;
    font-weight:950;
    letter-spacing:.18em;
}

.tyfc-review-panel-head-v1 h2{
    margin:4px 0 0;
    color:#28232f;
    font-size:23px;
    line-height:1.2;
    font-weight:900;
}

.tyfc-review-panel-head-v1 > strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:54px;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#f1eef8;
    color:#625379;
    font-size:9px;
    font-weight:900;
}


/* ---------------------------------------------------------
   PLAYER ROSTER
--------------------------------------------------------- */

.tyfc-review-player-list-v1{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.tyfc-review-player-list-v1 article{
    display:grid;
    grid-template-columns:56px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    min-height:76px;
    padding:10px 12px;
    border:1px solid #ebe8ef;
    border-radius:17px;
    background:
        linear-gradient(
            145deg,
            #fcfbfd,
            #f8f6fb
        );
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.tyfc-review-player-list-v1 article:hover{
    transform:translateY(-1px);
    border-color:#d9d0eb;
    box-shadow:
        0 8px 22px rgba(46,35,70,.06);
}

.tyfc-review-avatar-v1{
    width:54px;
    height:54px;
    border-radius:15px;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.12);
}

.tyfc-review-player-copy-v1 strong{
    display:block;
    color:#2c2832;
    font-size:12px;
    font-weight:850;
}

.tyfc-review-player-copy-v1 span{
    display:block;
    margin-top:5px;
    color:#97929d;
    font-size:8px;
    font-weight:600;
}

.tyfc-review-player-list-v1 .btn{
    border-radius:10px;
    background:#fff;
}


/* ---------------------------------------------------------
   STAFF
--------------------------------------------------------- */

.tyfc-review-staff-grid-v1{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.tyfc-review-staff-grid-v1 article{
    min-height:76px;
    padding:11px 13px;
    border:1px solid #ebe8ef;
    border-radius:17px;
    background:#faf9fc;
}

.tyfc-review-primary-v1{
    display:inline-flex;
    align-items:center;
    min-height:18px;
    margin-left:6px;
    padding:0 7px;
    border-radius:999px;
    background:#ece4ff;
    color:#694eb7;
    font-size:6px;
    font-weight:950;
    letter-spacing:.08em;
}


/* ---------------------------------------------------------
   DOCUMENT REVIEW
--------------------------------------------------------- */

.tyfc-review-doc-list-v1{
    display:grid;
    gap:12px;
}

.tyfc-review-doc-list-v1 > article{
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    gap:18px;
    align-items:center;
    padding:18px;
    border:1px solid #e7e3eb;
    border-radius:19px;
    background:#fbfafc;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.tyfc-review-doc-list-v1 > article:hover{
    border-color:#d7cfe5;
    box-shadow:
        0 10px 26px rgba(40,30,57,.05);
}

.tyfc-review-doc-list-v1 > article.status-submitted{
    border-left:4px solid #d39a31;
}

.tyfc-review-doc-list-v1 > article.status-accepted{
    border-left:4px solid #22a070;
    background:#f8fdfb;
}

.tyfc-review-doc-list-v1 > article.status-rejected{
    border-left:4px solid #d55765;
    background:#fffafb;
}

.tyfc-review-doc-main-v1{
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
}

.tyfc-review-doc-icon-v1{
    width:56px;
    height:56px;
    border-radius:15px;
    background:
        linear-gradient(
            145deg,
            #261f40,
            #493583
        );
    box-shadow:
        0 8px 18px rgba(47,35,79,.16);
}

.tyfc-review-doc-main-v1 small{
    color:#7151c7;
    font-size:8px;
    font-weight:950;
    letter-spacing:.06em;
}

.tyfc-review-doc-main-v1 strong{
    margin-top:5px;
    color:#2d2932;
    font-size:13px;
    line-height:1.35;
    font-weight:850;
}

.tyfc-review-doc-main-v1 span{
    display:inline-flex;
    margin-top:8px;
    padding:5px 8px;
    border-radius:999px;
    background:#f0edf5;
    color:#77717e;
    font-size:7px;
    font-weight:950;
    letter-spacing:.08em;
}

.tyfc-review-doc-actions-v1{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.tyfc-review-doc-actions-v1 > .btn{
    min-height:38px;
}

.tyfc-review-doc-actions-v1 > form:first-of-type{
    display:grid;
}

.tyfc-review-doc-actions-v1 > form:first-of-type .btn{
    width:100%;
    min-height:38px;
    border-color:#bfe6d5;
    background:#edf9f3;
    color:#1a805c;
}

.tyfc-review-doc-reject-v1{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
}

.tyfc-review-doc-reject-v1 textarea{
    min-height:48px;
    border-color:#e0dbe5;
    background:#fff;
}

.tyfc-review-doc-reject-v1 .btn{
    border-color:#efcfd4;
    background:#fff5f6;
    color:#a34550;
}


/* ---------------------------------------------------------
   FINAL DECISION
--------------------------------------------------------- */

.tyfc-review-decision-v1{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 400px;
    gap:28px;
    align-items:center;
    margin-top:20px;
    padding:28px 30px;
    border-radius:26px;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 88% 20%,
            rgba(113,83,231,.36),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #171522,
            #211d3a 58%,
            #30245f
        );
    box-shadow:
        0 22px 46px rgba(29,22,52,.14);
}

.tyfc-review-decision-v1::after{
    content:"FINAL";
    position:absolute;
    right:20px;
    bottom:-34px;
    color:rgba(255,255,255,.035);
    font-size:100px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.08em;
    pointer-events:none;
}

.tyfc-review-decision-v1 > *{
    position:relative;
    z-index:1;
}

.tyfc-review-decision-v1 small{
    color:#b7a6ef;
    font-size:8px;
    font-weight:950;
    letter-spacing:.18em;
}

.tyfc-review-decision-v1 h2{
    margin:6px 0 10px;
    color:#fff;
    font-size:28px;
    font-weight:950;
}

.tyfc-review-decision-v1 p{
    max-width:680px;
    color:rgba(255,255,255,.68);
    font-size:11px;
    line-height:1.7;
}

.tyfc-review-decision-actions-v1{
    display:grid;
    gap:10px;
}

.tyfc-review-decision-actions-v1 .btn{
    min-height:46px;
    border-radius:13px;
    font-weight:850;
}

.tyfc-review-return-detail-v1{
    display:grid;
    gap:8px;
}

.tyfc-review-return-detail-v1 textarea{
    min-height:68px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.tyfc-review-return-detail-v1 textarea::placeholder{
    color:rgba(255,255,255,.45);
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media(max-width:1100px){

    .tyfc-review-player-list-v1{
        grid-template-columns:1fr;
    }

    .tyfc-review-doc-list-v1 > article{
        grid-template-columns:1fr;
    }

    .tyfc-review-decision-v1{
        grid-template-columns:1fr;
    }
}

@media(max-width:900px){

    .tyfc-review-readiness-v1{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-review-staff-grid-v1{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){

    .tyfc-review-detail-head-v1{
        padding:23px 20px;
        align-items:flex-start;
    }

    .tyfc-review-detail-head-v1 h1{
        font-size:32px;
    }

    .tyfc-review-readiness-v1{
        grid-template-columns:1fr;
    }

    .tyfc-review-panel-v1{
        padding:17px;
    }

    .tyfc-review-player-list-v1 article{
        grid-template-columns:50px minmax(0,1fr);
    }

    .tyfc-review-player-list-v1 article .btn{
        grid-column:2;
        justify-self:start;
    }

    .tyfc-review-doc-actions-v1{
        grid-template-columns:1fr;
    }

    .tyfc-review-doc-reject-v1{
        grid-column:auto;
        grid-template-columns:1fr;
    }

    .tyfc-review-decision-v1{
        padding:22px 19px;
    }
}

/* === TYFC REGISTRATION REVIEW DETAIL V2 END === */


/* =========================================================
   TYFC GLOBAL READABILITY V1
   Increase small text sizes across the platform
========================================================= */

/* Base readable size */
body{
    font-size:15px;
    line-height:1.6;
}

/* General paragraphs / descriptions */
p,
.tyfc-page p,
.tyfc-panel p{
    font-size:14px;
    line-height:1.7;
}

/* Small helper / metadata text */
small,
.tyfc-page small,
.tyfc-panel small{
    font-size:11px;
    line-height:1.5;
}

/* Eyebrow / section labels */
.tyfc-eyebrow,
[class*="eyebrow"],
[class*="-eyebrow"]{
    font-size:11px;
    line-height:1.4;
}

/* Card metadata / subtitle / supporting text */
[class*="-meta"],
[class*="-subtitle"],
[class*="-description"],
[class*="-detail"],
[class*="-copy"] span,
[class*="-copy"] small{
    font-size:12px;
    line-height:1.55;
}

/* Status / pills */
.status-pill,
[class*="-pill"],
[class*="-badge"]{
    font-size:10px;
}

/* Buttons */
.btn,
button.btn{
    font-size:13px;
    line-height:1.4;
}

/* Forms */
label,
input,
select,
textarea,
button{
    font-size:14px;
}

/* Tables */
.tyfc-table{
    font-size:13px;
}

.tyfc-table th{
    font-size:11px;
}

.tyfc-table td{
    font-size:13px;
}

/* Sidebar */
.tyfc-sidebar{
    font-size:14px;
}

.tyfc-sidebar a{
    font-size:14px;
}

/* Navigation section labels */
.tyfc-sidebar small,
.tyfc-sidebar [class*="section"],
.tyfc-sidebar [class*="group"]{
    font-size:11px;
}

/* Team profile / team operations */
.tyfc-team-profile-v2 p,
.tyfc-team-profile-v2 span,
.tyfc-team-profile-v2 small{
    font-size:12px;
}

/* Team Manager Dashboard */
.tyfc-team-dashboard-v2 p,
.tyfc-team-dashboard-v2 span,
.tyfc-team-dashboard-v2 small{
    font-size:12px;
}

/* Documents */
.tyfc-doc-upload-v2 p,
.tyfc-doc-upload-v2 small,
.tyfc-doc-library-v2 small,
.tyfc-doc-list-v2 small{
    font-size:12px;
}

/* Registration Review Detail */
.tyfc-review-detail-v1 p{
    font-size:13px;
}

.tyfc-review-detail-v1 small{
    font-size:10px;
}

.tyfc-review-readiness-v1 small{
    font-size:10px;
}

.tyfc-review-readiness-v1 span{
    font-size:11px;
}

.tyfc-review-player-copy-v1 strong{
    font-size:14px;
}

.tyfc-review-player-copy-v1 span{
    font-size:11px;
}

.tyfc-review-staff-grid-v1 strong{
    font-size:13px;
}

.tyfc-review-staff-grid-v1 span,
.tyfc-review-staff-grid-v1 small{
    font-size:11px;
}

.tyfc-review-doc-main-v1 small{
    font-size:10px;
}

.tyfc-review-doc-main-v1 strong{
    font-size:14px;
}

.tyfc-review-doc-main-v1 span{
    font-size:10px;
}

.tyfc-review-doc-main-v1 p{
    font-size:11px;
}

.tyfc-review-decision-v1 p{
    font-size:13px;
}

/* Final Submission */
.tyfc-final-submit-head-v2 .eyebrow{
    font-size:11px;
}

.tyfc-final-submit-head-v2 p{
    font-size:14px;
}

.tyfc-final-submit-criteria-v2 strong{
    font-size:11px;
}

.tyfc-final-submit-criteria-v2 span{
    font-size:13px;
}

.tyfc-final-submit-status-v2 p{
    font-size:13px;
}

/* Keep mobile readable */
@media(max-width:640px){

    body{
        font-size:14px;
    }

    p{
        font-size:13px;
    }

    small{
        font-size:10px;
    }

    .btn,
    button.btn{
        font-size:12px;
    }
}

/* === TYFC GLOBAL READABILITY V1 END === */


/* =========================================================
   TYFC DOCUMENT REVIEW ACTION EMPHASIS V1
========================================================= */

.tyfc-review-doc-actions-v1 > form:first-of-type .btn{
    min-height:42px;
    border:1px solid #9ed9be;
    background:linear-gradient(135deg,#e9f8f1,#dff3e9);
    color:#137552;
    font-weight:900;
    box-shadow:0 6px 16px rgba(25,126,88,.08);
}

.tyfc-review-doc-actions-v1 > form:first-of-type .btn:hover{
    background:linear-gradient(135deg,#def4e9,#d1ecdf);
    border-color:#7bc8a5;
}

.tyfc-review-doc-reject-v1 .btn{
    min-height:42px;
    border:1px solid #edc4ca;
    background:#fff3f5;
    color:#a53e4b;
    font-weight:850;
}

.tyfc-review-doc-list-v1 > article.status-submitted
.tyfc-review-doc-main-v1 span{
    background:#fff1c9;
    color:#93630e;
}

.tyfc-review-doc-list-v1 > article.status-accepted
.tyfc-review-doc-main-v1 span{
    background:#dff5ea;
    color:#197653;
}

.tyfc-review-doc-list-v1 > article.status-rejected
.tyfc-review-doc-main-v1 span{
    background:#fde4e7;
    color:#a33f4c;
}

/* === TYFC DOCUMENT REVIEW ACTION EMPHASIS V1 END === */


/* =========================================================
   TYFC COMPETITION COMMAND CENTER V3
   + ROSTER CONTROL V1
========================================================= */

.tyfc-competition-page{
    max-width:1500px;
    margin:0 auto;
    padding:26px 28px 48px;
}

.tyfc-competition-page .page-header{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:34px 36px;
    margin-bottom:22px;
    border:1px solid rgba(133,119,255,.22);
    border-radius:24px;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(105,82,255,.28),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #121b35 0%,
            #182447 52%,
            #131d38 100%
        );
    box-shadow:0 24px 60px rgba(14,24,48,.14);
}

.tyfc-competition-page .page-header:after{
    content:"TYFC";
    position:absolute;
    right:30px;
    bottom:-42px;
    font-size:124px;
    font-weight:950;
    letter-spacing:-8px;
    color:rgba(255,255,255,.035);
    pointer-events:none;
}

.tyfc-competition-page .page-header h1{
    position:relative;
    z-index:1;
    margin:4px 0 4px;
    color:#fff;
    font-size:34px;
    line-height:1.15;
    font-weight:950;
    letter-spacing:-.8px;
}

.tyfc-competition-page .page-header .eyebrow{
    color:#a9b8ff;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.5px;
}

.tyfc-competition-page .page-subtitle{
    position:relative;
    z-index:1;
    max-width:700px;
    margin:6px 0 0;
    color:#b8c4dd;
    font-size:14px;
    line-height:1.7;
}

.tyfc-competition-page .page-header > .btn{
    position:relative;
    z-index:2;
    min-height:46px;
    padding:0 20px;
    border-radius:13px;
}

.tyfc-competition-page .stat-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.tyfc-competition-page .stat-card{
    position:relative;
    overflow:hidden;
    min-height:118px;
    padding:20px;
    border:1px solid #e4e8f2;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 32px rgba(17,30,62,.055);
}

.tyfc-competition-page .stat-card:before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(#6d5cff,#8576ff);
}

.tyfc-competition-page .stat-label{
    color:#7a8499;
    font-size:11px;
    font-weight:850;
    letter-spacing:.45px;
}

.tyfc-competition-page .stat-value{
    margin-top:5px;
    color:#17213a;
    font-size:30px;
    line-height:1;
    font-weight:950;
}

.tyfc-competition-page .stat-meta{
    margin-top:8px;
    color:#a0a8b8;
    font-size:11px;
}

.tyfc-competition-page .competition-filter{
    padding:18px 20px;
    margin-bottom:18px;
    border:1px solid #e3e7f0;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 26px rgba(16,31,62,.045);
}

.tyfc-competition-page .competition-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.tyfc-competition-page .competition-card{
    position:relative;
    overflow:hidden;
    min-height:255px;
    padding:24px;
    border:1px solid #e0e5ef;
    border-radius:22px;
    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #fbfcff 100%
        );
    box-shadow:0 14px 36px rgba(17,31,62,.06);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.tyfc-competition-page .competition-card:hover{
    transform:translateY(-3px);
    border-color:#cfc8ff;
    box-shadow:0 22px 48px rgba(36,41,94,.11);
}

.tyfc-competition-page .competition-card:after{
    content:"";
    position:absolute;
    width:150px;
    height:150px;
    right:-55px;
    top:-58px;
    border-radius:50%;
    background:rgba(102,84,255,.06);
}

.tyfc-competition-page .competition-code{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:9px;
    background:#f0efff;
    color:#5548cf;
    font-size:11px;
    font-weight:900;
    letter-spacing:.65px;
}

.tyfc-competition-page .competition-card h3{
    margin:19px 0 5px;
    color:#18223b;
    font-size:20px;
    line-height:1.35;
    font-weight:950;
}

.tyfc-competition-page .competition-type{
    color:#727d92;
    font-size:13px;
    font-weight:700;
}

.tyfc-competition-page .competition-meta-grid{
    margin-top:20px;
    padding:14px 0;
    border-top:1px solid #edf0f5;
    border-bottom:1px solid #edf0f5;
}

.tyfc-competition-page .competition-meta-grid span{
    color:#9aa3b5;
    font-size:10px;
    font-weight:800;
}

.tyfc-competition-page .competition-meta-grid strong{
    color:#273149;
    font-size:13px;
    font-weight:900;
}

.tyfc-competition-page .competition-card-footer{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.tyfc-competition-page .btn-roster-v1{
    border-color:#c9c2ff;
    background:#f1efff;
    color:#5548d6;
    font-weight:900;
}

.tyfc-competition-page
.status-registration_open{
    border-color:#b8e7d1;
    background:#e8f8f0;
    color:#16845d;
}

/* -----------------------------
   ROSTER CONTROL
----------------------------- */

.tyfc-roster-admin-v1{
    max-width:1500px;
    margin:0 auto;
    padding:26px 28px 50px;
}

.tyfc-roster-hero-v1{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:34px 36px;
    margin-bottom:20px;
    border-radius:24px;
    background:
        radial-gradient(
            circle at 82% 15%,
            rgba(111,88,255,.34),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #111b34,
            #192748 52%,
            #111a31
        );
    box-shadow:0 22px 54px rgba(16,27,54,.14);
}

.tyfc-roster-hero-v1 h1{
    margin:4px 0 5px;
    color:#fff;
    font-size:31px;
    line-height:1.25;
    font-weight:950;
}

.tyfc-roster-hero-v1 p{
    margin:0;
    color:#b9c5da;
    font-size:13px;
}

.tyfc-roster-hero-actions-v1{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}

.tyfc-roster-alert-v1{
    padding:13px 16px;
    margin-bottom:16px;
    border-radius:13px;
    font-size:13px;
    font-weight:800;
}

.tyfc-roster-alert-v1.success{
    border:1px solid #b7e4ce;
    background:#ebf8f2;
    color:#187453;
}

.tyfc-roster-alert-v1.error{
    border:1px solid #efc5ca;
    background:#fff0f2;
    color:#a13a47;
}

.tyfc-roster-stats-v1{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.tyfc-roster-stats-v1 article{
    min-height:110px;
    padding:18px;
    border:1px solid #e3e7ef;
    border-radius:17px;
    background:#fff;
    box-shadow:0 9px 24px rgba(16,30,60,.045);
}

.tyfc-roster-stats-v1 small{
    display:block;
    color:#949caf;
    font-size:10px;
    font-weight:900;
    letter-spacing:.65px;
}

.tyfc-roster-stats-v1 strong{
    display:block;
    margin:5px 0;
    color:#17213a;
    font-size:27px;
    line-height:1;
    font-weight:950;
}

.tyfc-roster-stats-v1 span{
    color:#778197;
    font-size:11px;
}

.tyfc-roster-control-panel-v1,
.tyfc-roster-team-panel-v1{
    margin-bottom:18px;
    padding:24px;
    border:1px solid #e1e5ee;
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 34px rgba(16,31,63,.05);
}

.tyfc-roster-control-head-v1,
.tyfc-roster-section-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:20px;
}

.tyfc-roster-control-head-v1 small,
.tyfc-roster-section-head-v1 small{
    color:#7466e8;
    font-size:10px;
    font-weight:900;
    letter-spacing:.85px;
}

.tyfc-roster-control-head-v1 h2,
.tyfc-roster-section-head-v1 h2{
    margin:4px 0;
    color:#17213a;
    font-size:20px;
    font-weight:950;
}

.tyfc-roster-control-head-v1 p{
    max-width:700px;
    margin:4px 0 0;
    color:#758096;
    font-size:13px;
    line-height:1.7;
}

.tyfc-roster-state-v1{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    font-size:10px;
    font-weight:950;
    letter-spacing:.45px;
}

.tyfc-roster-state-v1.open{
    background:#e6f7ef;
    color:#147955;
}

.tyfc-roster-state-v1.locked{
    background:#fbe9eb;
    color:#a23d49;
}

.tyfc-roster-control-grid-v1{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:16px;
}

.tyfc-roster-deadline-card-v1,
.tyfc-roster-global-actions-v1{
    padding:20px;
    border:1px solid #e8eaf1;
    border-radius:17px;
    background:#fafbfe;
}

.tyfc-roster-deadline-card-v1 > small,
.tyfc-roster-global-actions-v1 > small{
    color:#8a93a5;
    font-size:10px;
    font-weight:900;
}

.tyfc-roster-deadline-card-v1 > strong{
    display:block;
    margin:6px 0 14px;
    color:#1b2640;
    font-size:19px;
    font-weight:950;
}

.tyfc-roster-deadline-card-v1 form{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}

.tyfc-roster-deadline-card-v1
input[type="datetime-local"]{
    min-height:42px;
    padding:0 12px;
    border:1px solid #d9deea;
    border-radius:11px;
    background:#fff;
    font-size:13px;
}

.tyfc-roster-global-actions-v1 p{
    color:#778196;
    font-size:12px;
    line-height:1.65;
}

.tyfc-roster-global-actions-v1 > div{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:13px;
}

.tyfc-btn-lock-v1{
    border-color:#efc2c8 !important;
    background:#fff0f2 !important;
    color:#a33d49 !important;
    font-weight:900 !important;
}

.tyfc-btn-open-v1{
    border-color:#b9dfcd !important;
    background:#eaf7f1 !important;
    color:#177454 !important;
    font-weight:900 !important;
}

.tyfc-roster-team-list-v1{
    display:grid;
    gap:10px;
}

.tyfc-roster-team-card-v1{
    display:grid;
    grid-template-columns:
        minmax(280px,1.5fr)
        170px
        180px
        minmax(180px,.7fr);
    gap:16px;
    align-items:center;
    padding:15px 16px;
    border:1px solid #e8eaf0;
    border-radius:16px;
    background:#fcfdff;
}

.tyfc-roster-team-main-v1{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.tyfc-roster-team-mark-v1{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            #252f52,
            #6659e8
        );
    color:#fff;
    font-size:12px;
    font-weight:950;
}

.tyfc-roster-team-main-v1 small{
    color:#989fb0;
    font-size:9px;
    font-weight:900;
}

.tyfc-roster-team-main-v1 h3{
    margin:2px 0;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#1d2740;
    font-size:14px;
    font-weight:950;
    white-space:nowrap;
}

.tyfc-roster-team-main-v1 p{
    margin:0;
    color:#7b8497;
    font-size:11px;
}

.tyfc-roster-team-counts-v1{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.tyfc-roster-team-counts-v1 div{
    padding:8px 10px;
    border-radius:10px;
    background:#f3f5fa;
}

.tyfc-roster-team-counts-v1 small{
    display:block;
    color:#9aa2b2;
    font-size:8px;
    font-weight:900;
}

.tyfc-roster-team-counts-v1 strong{
    color:#202a42;
    font-size:15px;
    font-weight:950;
}

.tyfc-roster-team-status-v1 span{
    display:inline-flex;
    min-height:29px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    font-size:9px;
    font-weight:950;
}

.tyfc-roster-team-status-v1 .open{
    background:#e6f7ef;
    color:#167554;
}

.tyfc-roster-team-status-v1 .locked{
    background:#fbe8eb;
    color:#a43c49;
}

.tyfc-roster-team-status-v1 .waiting{
    background:#fff3d7;
    color:#956817;
}

.tyfc-roster-team-actions-v1{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}

.tyfc-roster-team-actions-v1 form{
    margin:0;
}

.tyfc-roster-empty-v1{
    padding:34px;
    text-align:center;
    color:#8b94a6;
}

@media (max-width:1200px){

    .tyfc-roster-stats-v1{
        grid-template-columns:repeat(3,1fr);
    }

    .tyfc-roster-team-card-v1{
        grid-template-columns:
            minmax(260px,1.4fr)
            150px
            170px;
    }

    .tyfc-roster-team-actions-v1{
        grid-column:1 / -1;
        justify-content:flex-start;
    }
}

@media (max-width:900px){

    .tyfc-competition-page .stat-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-competition-page .competition-grid{
        grid-template-columns:1fr;
    }

    .tyfc-roster-control-grid-v1{
        grid-template-columns:1fr;
    }

    .tyfc-roster-team-card-v1{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-roster-team-main-v1{
        grid-column:1 / -1;
    }
}

@media (max-width:640px){

    .tyfc-competition-page,
    .tyfc-roster-admin-v1{
        padding:18px 14px 36px;
    }

    .tyfc-competition-page .page-header,
    .tyfc-roster-hero-v1{
        align-items:flex-start;
        flex-direction:column;
        padding:25px 20px;
    }

    .tyfc-competition-page .stat-grid,
    .tyfc-roster-stats-v1{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-roster-control-head-v1,
    .tyfc-roster-section-head-v1{
        flex-direction:column;
    }

    .tyfc-roster-team-card-v1{
        grid-template-columns:1fr;
    }

    .tyfc-roster-team-main-v1,
    .tyfc-roster-team-actions-v1{
        grid-column:auto;
    }

    .tyfc-roster-team-actions-v1{
        justify-content:flex-start;
    }
}

/* === TYFC COMPETITION COMMAND CENTER V3 END === */


/* =========================================================
   TYFC COMPETITION DETAIL COMMAND CENTER V3
========================================================= */

.tyfc-competition-page .title-with-status{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
}

.tyfc-competition-page .title-with-status h1{
    margin-right:4px;
}

.tyfc-competition-page
.page-header
.status-pill{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(8px);
    color:#fff;
    font-size:10px;
    font-weight:950;
    letter-spacing:.45px;
}

.tyfc-competition-page
.page-header
.status-registration_open{
    border-color:rgba(112,232,174,.4);
    background:rgba(39,175,113,.18);
    color:#99f0c8;
}

.tyfc-competition-page .page-actions{
    position:relative;
    z-index:2;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.competition-command-kpis-v3{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin:0 0 18px;
}

.competition-command-kpis-v3 article{
    position:relative;
    overflow:hidden;
    min-height:105px;
    padding:17px 18px;
    border:1px solid #e3e7f0;
    border-radius:17px;
    background:#fff;
    box-shadow:0 9px 26px rgba(15,28,58,.045);
}

.competition-command-kpis-v3 article:after{
    content:"";
    position:absolute;
    width:44px;
    height:44px;
    right:-15px;
    top:-15px;
    border-radius:50%;
    background:#7364ef;
    opacity:.07;
}

.competition-command-kpis-v3 small{
    display:block;
    color:#929bad;
    font-size:9px;
    font-weight:950;
    letter-spacing:.7px;
}

.competition-command-kpis-v3 strong{
    display:block;
    margin:5px 0 4px;
    color:#172139;
    font-size:27px;
    line-height:1;
    font-weight:950;
}

.competition-command-kpis-v3 span{
    color:#7b8598;
    font-size:11px;
}

.tyfc-competition-page .competition-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    padding:27px 30px;
    margin-bottom:18px;
    border:1px solid #e0e4ee;
    border-radius:21px;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(109,88,239,.1),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #fbfcff,
            #f5f6fc
        );
    box-shadow:0 11px 30px rgba(20,31,59,.045);
}

.tyfc-competition-page .hero-kicker{
    color:#7264df;
    font-size:9px;
    font-weight:950;
    letter-spacing:1.2px;
}

.tyfc-competition-page .hero-title{
    margin-top:5px;
    color:#17213a;
    font-size:24px;
    line-height:1.25;
    font-weight:950;
}

.tyfc-competition-page .hero-code{
    margin-top:5px;
    color:#7c8598;
    font-size:12px;
    font-weight:800;
}

.tyfc-competition-page .competition-hero-date{
    min-width:220px;
    padding:13px 16px;
    border:1px solid #e1e4ed;
    border-radius:14px;
    background:#fff;
}

.tyfc-competition-page .competition-hero-date span{
    display:block;
    color:#959dae;
    font-size:9px;
    font-weight:900;
}

.tyfc-competition-page .competition-hero-date strong{
    display:block;
    margin-top:3px;
    color:#273149;
    font-size:13px;
    font-weight:950;
}

.tyfc-competition-page .detail-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:18px;
    margin-bottom:18px;
}

.tyfc-competition-page .detail-grid .panel{
    margin:0;
    border-radius:21px;
}

.tyfc-competition-page .rules-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.tyfc-competition-page .rule-card{
    padding:14px;
    border:1px solid #e8eaf0;
    border-radius:13px;
    background:#fafbfe;
}

.tyfc-competition-page .rule-card span{
    display:block;
    color:#919aab;
    font-size:9px;
    font-weight:850;
}

.tyfc-competition-page .rule-card strong{
    display:block;
    margin-top:3px;
    color:#242e47;
    font-size:14px;
    font-weight:950;
}

.tyfc-competition-page .points-box{
    margin-top:13px;
    padding:15px;
    border:1px solid #dfdcfa;
    border-radius:14px;
    background:#f7f5ff;
}

.tyfc-competition-page .points-title{
    margin-bottom:10px;
    color:#6254cc;
    font-size:10px;
    font-weight:950;
    letter-spacing:.4px;
}

.tyfc-competition-page .points-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
}

.tyfc-competition-page .points-grid > div{
    padding:9px 11px;
    border-radius:10px;
    background:#fff;
}

.tyfc-competition-page .points-grid span{
    color:#929aac;
    font-size:9px;
}

.tyfc-competition-page .points-grid strong{
    display:block;
    color:#202a43;
    font-size:17px;
    font-weight:950;
}

/* Operations Hub */

.competition-ops-hub-v3{
    margin-bottom:18px;
    padding:24px;
    border:1px solid #e1e5ed;
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 34px rgba(16,31,63,.05);
}

.competition-ops-head-v3{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:18px;
}

.competition-ops-head-v3 small{
    color:#7062df;
    font-size:9px;
    font-weight:950;
    letter-spacing:1px;
}

.competition-ops-head-v3 h2{
    margin:4px 0;
    color:#17213a;
    font-size:21px;
    font-weight:950;
}

.competition-ops-head-v3 p{
    margin:0;
    color:#788296;
    font-size:12px;
}

.competition-ops-head-v3 > span{
    min-height:29px;
    display:inline-flex;
    align-items:center;
    padding:0 11px;
    border-radius:999px;
    background:#e9f7f1;
    color:#177757;
    font-size:9px;
    font-weight:950;
}

.competition-ops-grid-v3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.competition-op-card-v3{
    min-height:105px;
    display:grid;
    grid-template-columns:42px 1fr 20px;
    gap:12px;
    align-items:center;
    padding:16px;
    border:1px solid #e7e9f0;
    border-radius:15px;
    background:#fafbfe;
    color:inherit;
    text-decoration:none;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.competition-op-card-v3:hover{
    transform:translateY(-2px);
    border-color:#cbc5f8;
    background:#fff;
    box-shadow:0 13px 28px rgba(32,40,85,.08);
}

.competition-op-icon-v3{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#eef0f7;
    color:#58637a;
    font-size:15px;
    font-weight:950;
}

.competition-op-card-v3.primary
.competition-op-icon-v3{
    background:#e6f7ef;
    color:#177555;
}

.competition-op-card-v3.roster
.competition-op-icon-v3{
    background:#eeeaff;
    color:#5d50d1;
}

.competition-op-card-v3 small{
    display:block;
    color:#9aa2b2;
    font-size:8px;
    font-weight:950;
    letter-spacing:.55px;
}

.competition-op-card-v3 strong{
    display:block;
    margin:2px 0;
    color:#202a42;
    font-size:13px;
    font-weight:950;
}

.competition-op-card-v3 span{
    display:block;
    color:#7e8798;
    font-size:10px;
    line-height:1.45;
}

.competition-op-card-v3 b{
    color:#9a91e8;
    font-size:17px;
}

/* Workflow */

.competition-workflow-actions-v3{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:12px;
}

.tyfc-competition-page
.competition-workflow-actions-v3 form{
    margin:0 !important;
}

.tyfc-competition-page
.competition-workflow-actions-v3 textarea{
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d8deea;
    border-radius:11px;
    background:#fff;
    font-family:inherit;
    font-size:13px;
}

.tyfc-competition-page .workflow{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:8px 0 2px;
}

.tyfc-competition-page .workflow-step{
    flex:0 0 130px;
    min-height:86px;
    padding:13px;
    border:1px solid #e4e7ee;
    border-radius:14px;
    background:#fafbfe;
}

.tyfc-competition-page .workflow-step.current{
    border-color:#bdb5ff;
    background:#f1efff;
    box-shadow:0 8px 20px rgba(91,76,203,.09);
}

.tyfc-competition-page .workflow-step > span{
    display:block;
    color:#8376e6;
    font-size:9px;
    font-weight:950;
}

.tyfc-competition-page .workflow-step strong{
    display:block;
    margin:4px 0 2px;
    color:#222c45;
    font-size:12px;
    font-weight:950;
}

.tyfc-competition-page .workflow-step small{
    color:#8891a3;
    font-size:9px;
}

.tyfc-competition-page .workflow-line{
    flex:1 1 auto;
    height:2px;
    min-width:20px;
    background:#e5e7ef;
}

@media (max-width:1200px){

    .competition-command-kpis-v3{
        grid-template-columns:repeat(3,1fr);
    }

    .competition-ops-grid-v3{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:900px){

    .tyfc-competition-page .detail-grid{
        grid-template-columns:1fr;
    }

    .tyfc-competition-page .workflow{
        overflow-x:auto;
        justify-content:flex-start;
        padding-bottom:10px;
    }

    .tyfc-competition-page .workflow-line{
        flex:0 0 28px;
    }
}

@media (max-width:640px){

    .competition-command-kpis-v3{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-competition-page .competition-hero{
        flex-direction:column;
        align-items:flex-start;
        padding:22px 18px;
    }

    .tyfc-competition-page
    .competition-hero-date{
        width:100%;
        min-width:0;
    }

    .tyfc-competition-page .rules-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .competition-ops-head-v3{
        flex-direction:column;
    }

    .competition-ops-grid-v3{
        grid-template-columns:1fr;
    }
}

/* === TYFC COMPETITION DETAIL COMMAND CENTER V3 END === */


/* =========================================================
   TYFC ROSTER CHANGE REQUEST V1
========================================================= */

.tyfc-roster-request-v1,
.tyfc-rcr-admin-v1{
    max-width:1450px;
    margin:0 auto;
    padding:26px 28px 50px;
}

.tyfc-roster-request-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    padding:30px 32px;
    margin-bottom:18px;
    border-radius:22px;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(111,88,255,.3),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #111b34,
            #192748 55%,
            #121b32
        );
    color:#fff;
}

.tyfc-roster-request-head-v1 small{
    color:#aebaff;
    font-size:10px;
    font-weight:950;
    letter-spacing:1px;
}

.tyfc-roster-request-head-v1 h1{
    margin:5px 0;
    font-size:29px;
    font-weight:950;
}

.tyfc-roster-request-head-v1 p{
    margin:0;
    color:#bac5da;
    font-size:12px;
}

.tyfc-rcr-form-v1,
.tyfc-rcr-history-v1,
.tyfc-rcr-admin-list-v1{
    padding:22px;
    margin-bottom:18px;
    border:1px solid #e2e6ef;
    border-radius:20px;
    background:#fff;
    box-shadow:0 11px 30px rgba(17,31,62,.05);
}

.tyfc-rcr-section-head-v1{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.tyfc-rcr-section-head-v1 small{
    color:#7163dd;
    font-size:9px;
    font-weight:950;
}

.tyfc-rcr-section-head-v1 h2{
    margin:3px 0;
    color:#19233c;
    font-size:20px;
    font-weight:950;
}

.tyfc-rcr-section-head-v1 > span{
    color:#a13e49;
    font-size:9px;
    font-weight:950;
}

.tyfc-rcr-grid-v1{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.tyfc-rcr-form-v1 textarea{
    width:100%;
    box-sizing:border-box;
}

.tyfc-rcr-list-v1{
    display:grid;
    gap:10px;
}

.tyfc-rcr-list-v1 article{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:15px;
    border:1px solid #e8eaf0;
    border-radius:14px;
    background:#fbfcfe;
}

.tyfc-rcr-list-v1 h3{
    margin:3px 0;
    color:#202a42;
    font-size:14px;
}

.tyfc-rcr-list-v1 p{
    margin:3px 0 0;
    color:#737d91;
    font-size:11px;
}

.rcr-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    height:max-content;
    padding:0 10px;
    border-radius:999px;
    font-size:9px;
    font-weight:950;
}

.rcr-status.pending{
    background:#fff1cf;
    color:#956716;
}

.rcr-status.approved{
    background:#e5f7ef;
    color:#147652;
}

.rcr-status.rejected{
    background:#fbe9eb;
    color:#a23e49;
}

.rcr-status.cancelled{
    background:#eef0f4;
    color:#697386;
}

.tyfc-rcr-tabs-v1{
    display:flex;
    gap:7px;
    margin-bottom:14px;
}

.tyfc-rcr-tabs-v1 a{
    padding:9px 13px;
    border:1px solid #e0e4ed;
    border-radius:10px;
    background:#fff;
    color:#737d91;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}

.tyfc-rcr-tabs-v1 a.active{
    border-color:#c9c2fa;
    background:#eeeaff;
    color:#594dca;
}

.tyfc-rcr-admin-list-v1{
    display:grid;
    gap:12px;
}

.tyfc-rcr-admin-card-v1{
    display:grid;
    grid-template-columns:1fr 300px;
    gap:20px;
    padding:18px;
    border:1px solid #e7e9f0;
    border-radius:16px;
    background:#fbfcfe;
}

.tyfc-rcr-admin-main-v1 > small{
    color:#939caf;
    font-size:9px;
    font-weight:900;
}

.tyfc-rcr-admin-main-v1 h3{
    margin:4px 0;
    color:#1d2740;
    font-size:16px;
    font-weight:950;
}

.tyfc-rcr-admin-main-v1 p{
    margin:4px 0;
    color:#6f798e;
    font-size:11px;
}

.tyfc-rcr-payload-v1{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:12px 0;
}

.tyfc-rcr-payload-v1 span{
    padding:7px 10px;
    border-radius:9px;
    background:#f0f2f7;
}

.tyfc-rcr-payload-v1 small{
    display:block;
    color:#989faf;
    font-size:7px;
}

.tyfc-rcr-payload-v1 strong{
    color:#273149;
    font-size:10px;
}

.tyfc-rcr-reason-v1{
    margin-top:12px;
    padding:12px;
    border-left:3px solid #7567df;
    background:#f6f5ff;
}

.tyfc-rcr-reason-v1 small{
    color:#786ae0;
    font-size:8px;
    font-weight:950;
}

.tyfc-rcr-admin-side-v1{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:flex-start;
}

.tyfc-rcr-admin-side-v1 form{
    width:100%;
}

.tyfc-rcr-admin-side-v1 textarea{
    width:100%;
    box-sizing:border-box;
    margin:9px 0;
}

.tyfc-rcr-admin-side-v1 form > div{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.tyfc-rcr-review-note-v1{
    padding:10px;
    border-radius:10px;
    background:#f1f3f7;
}

.tyfc-rcr-review-note-v1 small{
    color:#8c95a7;
    font-size:8px;
    font-weight:900;
}

@media (max-width:1000px){

    .tyfc-rcr-grid-v1{
        grid-template-columns:repeat(2,1fr);
    }

    .tyfc-rcr-admin-card-v1{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){

    .tyfc-roster-request-v1,
    .tyfc-rcr-admin-v1{
        padding:18px 14px 36px;
    }

    .tyfc-roster-request-head-v1{
        flex-direction:column;
        align-items:flex-start;
        padding:24px 20px;
    }

    .tyfc-rcr-grid-v1{
        grid-template-columns:1fr;
    }

    .tyfc-rcr-list-v1 article{
        flex-direction:column;
    }
}

/* === TYFC ROSTER CHANGE REQUEST V1 END === */


/* === TYFC TEAM DASHBOARD / ROSTER CHANGE ALIGNMENT === */

.tyfc-fm-approved-action{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
}

.tyfc-fm-roster-request-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:12px;
    font-weight:700;
    text-decoration:none;
}

@media (max-width: 640px){

    .tyfc-fm-approved-action{
        width:100%;
        align-items:stretch;
        flex-direction:column;
    }

    .tyfc-fm-roster-request-btn{
        width:100%;
    }
}

/* === TYFC TEAM DASHBOARD / ROSTER CHANGE ALIGNMENT END === */


/* === TYFC ROSTER CHANGE PLAYER PREFILL V1 === */

.tyfc-rcr-current-player{
    grid-column:1 / -1;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(255,255,255,.04);
}

.tyfc-rcr-current-player small{
    display:block;
    margin-bottom:5px;
    opacity:.65;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

.tyfc-rcr-current-player > strong{
    display:block;
    font-size:18px;
    margin-bottom:12px;
}

.tyfc-rcr-current-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.tyfc-rcr-current-grid span{
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.05);
    font-size:12px;
}

.tyfc-rcr-current-grid b{
    display:block;
    margin-top:3px;
    font-size:15px;
}

.tyfc-rcr-current-player p{
    margin:12px 0 0;
    opacity:.72;
    font-size:12px;
}

@media (max-width:640px){

    .tyfc-rcr-current-grid{
        grid-template-columns:1fr;
    }
}

/* === TYFC ROSTER CHANGE PLAYER PREFILL V1 END === */


/* === TYFC RCR BEFORE AFTER V1 === */

.tyfc-rcr-compare-v1{
    margin-top:14px;
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(255,255,255,.035);
}

.tyfc-rcr-compare-title-v1{
    display:block;
    margin-bottom:10px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.10em;
    opacity:.62;
}

.tyfc-rcr-change-row-v1{
    display:grid;
    grid-template-columns:
        minmax(110px,1.2fr)
        minmax(80px,1fr)
        28px
        minmax(80px,1fr);
    align-items:center;
    gap:8px;
    padding:10px 0;
    border-top:1px solid rgba(255,255,255,.07);
}

.tyfc-rcr-change-row-v1:first-of-type{
    border-top:0;
}

.tyfc-rcr-change-label-v1{
    font-size:12px;
    font-weight:700;
}

.tyfc-rcr-change-old-v1{
    opacity:.55;
    text-decoration:line-through;
}

.tyfc-rcr-change-arrow-v1{
    text-align:center;
    font-size:16px;
}

.tyfc-rcr-change-new-v1{
    font-weight:800;
}

.tyfc-rcr-no-change-v1{
    padding:10px 0 2px;
    opacity:.65;
    font-size:12px;
}

@media (max-width:640px){

    .tyfc-rcr-change-row-v1{
        grid-template-columns:1fr auto auto;
    }

    .tyfc-rcr-change-label-v1{
        grid-column:1 / -1;
    }
}

/* === TYFC RCR BEFORE AFTER V1 END === */


/* ============================================================
   TYFC V3.33B — PUBLIC FINAL EXPERIENCE
   Sports Portal / 2026
   ============================================================ */

.tyfc-public{
    --pub-ink:#111827;
    --pub-soft:#667085;
    --pub-border:#e5e7eb;
    --pub-surface:#ffffff;
    --pub-canvas:#f5f7fb;
    --pub-accent:#ff6b22;
    --pub-accent-2:#ff8b4a;
    --pub-deep:#17142d;
    --pub-deep-2:#241c47;
    --pub-lime:#d6ff40;
    --pub-radius:24px;

    margin:0;
    color:var(--pub-ink);
    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(255,107,34,.06),
            transparent 24rem
        ),
        var(--pub-canvas);

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Tahoma,
        sans-serif;

    -webkit-font-smoothing:antialiased;
}

.tyfc-public *{
    box-sizing:border-box;
}

.tyfc-public a{
    text-decoration:none;
}

.tyfc-public .public-main{
    min-height:70vh;
}


/* HEADER */

.tyfc-public .public-site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.92);
    border-bottom:1px solid rgba(17,24,39,.07);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.tyfc-public .public-nav-shell{
    width:min(1440px,100%);
    margin:auto;
}

.tyfc-public .public-nav{
    min-height:78px;
    display:flex;
    align-items:center;
    gap:28px;
    padding:0 32px;
}

.tyfc-public .public-brand{
    display:inline-flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
    color:var(--pub-ink);
}

.tyfc-public .public-brand-mark{
    position:relative;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:16px;
    color:#fff;
    background:
        linear-gradient(
            145deg,
            var(--pub-deep),
            #2f255b
        );
    box-shadow:
        0 12px 28px rgba(23,20,45,.20);
}

.tyfc-public .public-brand-mark::before{
    content:"";
    position:absolute;
    width:34px;
    height:34px;
    border:2px solid rgba(214,255,64,.75);
    transform:rotate(45deg);
    border-radius:10px;
}

.tyfc-public .public-brand-mark-line{
    position:absolute;
    inset:auto 7px 7px;
    height:4px;
    background:var(--pub-accent);
    border-radius:999px;
}

.tyfc-public .public-brand-mark b{
    position:relative;
    z-index:2;
    font-size:14px;
    font-weight:950;
    letter-spacing:-.05em;
}

.tyfc-public .public-brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.tyfc-public .public-brand-copy strong{
    font-size:22px;
    font-weight:950;
    letter-spacing:-.04em;
}

.tyfc-public .public-brand-copy small{
    margin-top:5px;
    color:#848b98;
    font-size:9px;
    font-weight:850;
    letter-spacing:.14em;
}

.tyfc-public .public-menu{
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:auto;
}

.tyfc-public .public-menu a{
    position:relative;
    padding:12px 12px;
    border-radius:12px;
    color:#596171;
    font-size:13px;
    font-weight:750;
    transition:.18s ease;
}

.tyfc-public .public-menu a:hover{
    color:var(--pub-ink);
    background:#f3f4f6;
}

.tyfc-public .public-menu a.is-active{
    color:var(--pub-ink);
}

.tyfc-public .public-menu a.is-active::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:4px;
    height:3px;
    border-radius:999px;
    background:var(--pub-accent);
}

.tyfc-public .public-login-btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:16px;
    padding:0 16px;
    border-radius:14px;
    color:#fff;
    background:var(--pub-deep);
    font-size:12px;
    font-weight:850;
    box-shadow:
        0 8px 20px rgba(23,20,45,.16);
}

.tyfc-public .public-login-btn b{
    color:var(--pub-lime);
    font-size:16px;
}

.tyfc-public .public-mobile-tabs{
    display:none;
}


/* PAGE HERO */

.tyfc-public .public-page-head-v333{
    position:relative;
    overflow:hidden;
    max-width:none;
    min-height:330px;
    margin:0;
    padding:
        82px max(32px,calc((100vw - 1320px)/2))
        72px;

    color:#fff;

    background:
        linear-gradient(
            115deg,
            rgba(23,20,45,.98),
            rgba(31,25,61,.95) 60%,
            rgba(55,37,92,.92)
        );
}

.tyfc-public .public-page-head-v333::before{
    content:"";
    position:absolute;
    width:440px;
    height:440px;
    right:-120px;
    top:-190px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:50%;
    box-shadow:
        0 0 0 52px rgba(255,255,255,.025),
        0 0 0 110px rgba(255,255,255,.018);
}

.tyfc-public .public-page-head-v333::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:5px;
    background:
        linear-gradient(
            90deg,
            var(--pub-accent) 0 18%,
            var(--pub-lime) 18% 26%,
            transparent 26%
        );
}

.tyfc-public .public-page-head-v333 > *{
    position:relative;
    z-index:2;
}

.tyfc-public .public-page-head-v333 .tyfc-eyebrow{
    color:var(--pub-lime);
    font-size:11px;
    font-weight:900;
    letter-spacing:.20em;
}

.tyfc-public .public-page-head-v333 h1{
    max-width:820px;
    margin:12px 0 12px;
    font-size:clamp(42px,6vw,78px);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:950;
}

.tyfc-public .public-page-head-v333 p{
    max-width:690px;
    margin:0;
    color:rgba(255,255,255,.70);
    font-size:17px;
    line-height:1.75;
}

.tyfc-public .public-page-orb{
    position:absolute;
    right:max(32px,calc((100vw - 1320px)/2));
    bottom:36px;
    font-size:130px;
    line-height:.8;
    font-weight:950;
    color:rgba(255,255,255,.035);
    letter-spacing:-.08em;
}


/* GENERAL PUBLIC SECTIONS */

.tyfc-public .public-section-v333{
    width:min(1320px,100%);
    margin:0 auto;
    padding:64px 32px 90px;
}

.tyfc-public .public-content-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin:54px 0 22px;
}

.tyfc-public .public-content-section-head:first-child{
    margin-top:0;
}

.tyfc-public .public-content-section-head h2{
    margin:5px 0 0;
    font-size:30px;
    letter-spacing:-.04em;
}

.tyfc-public .public-count-pill{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 13px;
    border:1px solid var(--pub-border);
    border-radius:999px;
    background:#fff;
    color:#667085;
    font-size:12px;
    font-weight:800;
}


/* PREMIUM EMPTY */

.tyfc-public .public-empty-premium{
    position:relative;
    min-height:340px;
    display:grid;
    grid-template-columns:260px 1fr;
    align-items:center;
    gap:48px;
    overflow:hidden;
    padding:52px;
    border-radius:32px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            var(--pub-deep),
            #30255b
        );
    box-shadow:
        0 24px 70px rgba(17,24,39,.12);
}

.tyfc-public .public-empty-premium::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-180px;
    top:-190px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
}

.tyfc-public .public-empty-premium-mark{
    min-height:220px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.09),
            rgba(255,255,255,.02)
        );
    color:var(--pub-lime);
    font-size:46px;
    font-weight:950;
    letter-spacing:-.06em;
}

.tyfc-public .public-empty-premium h2{
    margin:8px 0;
    font-size:36px;
    letter-spacing:-.04em;
}

.tyfc-public .public-empty-premium p{
    max-width:650px;
    margin:0;
    color:rgba(255,255,255,.68);
    line-height:1.8;
}


/* NEWS */

.tyfc-public .public-featured-news{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
    min-height:500px;
    overflow:hidden;
    border:1px solid var(--pub-border);
    border-radius:32px;
    background:#fff;
    box-shadow:
        0 24px 70px rgba(17,24,39,.08);
}

.tyfc-public .public-featured-news-cover{
    min-height:500px;
    overflow:hidden;
    background:var(--pub-deep);
}

.tyfc-public .public-featured-news-cover img{
    width:100%;
    height:100%;
    min-height:500px;
    object-fit:cover;
    display:block;
}

.tyfc-public .public-featured-news-body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:46px;
}

.tyfc-public .public-featured-news-body h2{
    margin:15px 0;
    font-size:36px;
    line-height:1.2;
    letter-spacing:-.045em;
}

.tyfc-public .public-featured-news-body p{
    margin:0 0 25px;
    color:var(--pub-soft);
    line-height:1.75;
}

.tyfc-public .public-news-meta-row{
    display:flex;
    align-items:center;
    gap:12px;
    color:#8a93a3;
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
}

.tyfc-public .public-news-meta-row span{
    color:var(--pub-accent);
}

.tyfc-public .public-text-link{
    color:var(--pub-deep);
    font-size:13px;
    font-weight:900;
}

.tyfc-public .public-news-grid-v333{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:22px;
}

.tyfc-public .public-news-card-v333{
    overflow:hidden;
    border:1px solid var(--pub-border);
    border-radius:24px;
    background:#fff;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.tyfc-public .public-news-card-v333:hover{
    transform:translateY(-4px);
    box-shadow:
        0 22px 55px rgba(17,24,39,.09);
}

.tyfc-public .public-news-card-v333 .cover{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:var(--pub-deep);
}

.tyfc-public .public-news-card-v333 .cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.tyfc-public .public-news-card-v333 .body{
    padding:23px;
}

.tyfc-public .public-news-card-v333 time{
    color:#949baa;
    font-size:11px;
    font-weight:750;
}

.tyfc-public .public-news-card-v333 h3{
    margin:8px 0 10px;
    font-size:19px;
    line-height:1.38;
}

.tyfc-public .public-news-card-v333 p{
    margin:0 0 16px;
    color:var(--pub-soft);
    font-size:13px;
    line-height:1.65;
}

.tyfc-public .public-news-card-v333 .body > a{
    color:var(--pub-accent);
    font-size:12px;
    font-weight:900;
}

.tyfc-public .tyfc-news-graphic{
    width:100%;
    height:100%;
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        linear-gradient(
            145deg,
            #17142d,
            #372864
        );
}

.tyfc-public .tyfc-news-graphic::before{
    content:"";
    position:absolute;
    width:270px;
    height:270px;
    border:1px solid rgba(214,255,64,.24);
    transform:rotate(45deg);
    border-radius:50px;
}

.tyfc-public .tyfc-news-graphic small,
.tyfc-public .tyfc-news-graphic strong,
.tyfc-public .tyfc-news-graphic span{
    position:relative;
    z-index:2;
}

.tyfc-public .tyfc-news-graphic small{
    color:var(--pub-lime);
    letter-spacing:.24em;
    font-weight:900;
}

.tyfc-public .tyfc-news-graphic strong{
    font-size:74px;
    letter-spacing:-.08em;
    line-height:1;
}

.tyfc-public .tyfc-news-graphic span{
    font-size:11px;
    letter-spacing:.2em;
}

.tyfc-public .tyfc-news-graphic.mini{
    min-height:100%;
}

.tyfc-public .tyfc-news-graphic.mini strong{
    font-size:52px;
}


/* NEWS DETAIL */

.tyfc-public .public-news-detail-v333{
    padding-bottom:90px;
}

.tyfc-public .public-news-detail-hero{
    padding:
        78px max(32px,calc((100vw - 1050px)/2))
        42px;
    background:#fff;
}

.tyfc-public .public-news-detail-meta{
    display:flex;
    align-items:center;
    gap:16px;
    color:#8c94a3;
    font-size:12px;
}

.tyfc-public .public-news-category{
    padding:7px 10px;
    border-radius:999px;
    color:#fff;
    background:var(--pub-accent);
    font-weight:900;
}

.tyfc-public .public-news-detail-hero h1{
    max-width:1000px;
    margin:18px 0;
    font-size:clamp(40px,6vw,72px);
    line-height:1.05;
    letter-spacing:-.055em;
}

.tyfc-public .public-news-detail-hero .lead{
    max-width:820px;
    margin:0;
    color:var(--pub-soft);
    font-size:19px;
    line-height:1.75;
}

.tyfc-public .public-news-cover-v333{
    width:min(1160px,calc(100% - 64px));
    max-height:680px;
    aspect-ratio:16/9;
    margin:12px auto 0;
    overflow:hidden;
    border-radius:30px;
    background:var(--pub-deep);
    box-shadow:
        0 30px 80px rgba(17,24,39,.14);
}

.tyfc-public .public-news-cover-v333 img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.tyfc-public .public-news-reading-shell{
    width:min(860px,calc(100% - 48px));
    margin:58px auto 0;
}

.tyfc-public .public-news-reading-line{
    width:52px;
    height:5px;
    margin-bottom:28px;
    border-radius:999px;
    background:var(--pub-accent);
}

.tyfc-public .public-news-reading-shell .article-body{
    color:#313947;
    font-size:17px;
    line-height:2;
}

.tyfc-public .public-news-detail-back{
    margin-top:38px;
    padding-top:26px;
    border-top:1px solid var(--pub-border);
}

.tyfc-public .public-news-detail-back a{
    color:var(--pub-deep);
    font-weight:850;
}


/* MEDIA */

.tyfc-public .public-media-grid-v333{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:22px;
}

.tyfc-public .public-media-card-v333{
    overflow:hidden;
    border:1px solid var(--pub-border);
    border-radius:24px;
    background:#fff;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.tyfc-public .public-media-card-v333:hover{
    transform:translateY(-4px);
    box-shadow:
        0 22px 55px rgba(17,24,39,.09);
}

.tyfc-public .public-media-visual{
    position:relative;
    display:block;
    aspect-ratio:16/11;
    overflow:hidden;
    background:var(--pub-deep);
}

.tyfc-public .public-media-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.tyfc-public .public-media-type-pill{
    position:absolute;
    top:14px;
    left:14px;
    min-height:29px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    color:#fff;
    background:rgba(17,24,39,.74);
    backdrop-filter:blur(8px);
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}

.tyfc-public .public-media-type-graphic{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:
        radial-gradient(
            circle at 70% 20%,
            rgba(255,107,34,.27),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            var(--pub-deep),
            #35265f
        );
}

.tyfc-public .public-media-type-graphic span{
    color:var(--pub-lime);
    font-size:11px;
    font-weight:900;
    letter-spacing:.18em;
}

.tyfc-public .public-media-type-graphic strong{
    margin-top:4px;
    font-size:50px;
    line-height:1;
    letter-spacing:-.07em;
}

.tyfc-public .public-media-type-graphic small{
    margin-top:5px;
    color:rgba(255,255,255,.55);
    font-size:9px;
    letter-spacing:.18em;
}

.tyfc-public .public-media-card-body{
    padding:22px;
}

.tyfc-public .public-media-card-body h3{
    margin:0 0 8px;
    font-size:18px;
}

.tyfc-public .public-media-card-body p{
    min-height:42px;
    margin:0 0 16px;
    color:var(--pub-soft);
    font-size:13px;
    line-height:1.65;
}


/* EXISTING HOME — FINAL POLISH */

.tyfc-public .tyfc-home-hero{
    position:relative;
    overflow:hidden;
    width:min(1440px,100%);
    margin:0 auto;
    padding:72px 42px;
    border-radius:0 0 38px 38px;
    color:#fff;
    background:
        radial-gradient(
            circle at 84% 15%,
            rgba(214,255,64,.12),
            transparent 28rem
        ),
        radial-gradient(
            circle at 8% 110%,
            rgba(255,107,34,.23),
            transparent 30rem
        ),
        linear-gradient(
            120deg,
            #151229,
            #261d4a 68%,
            #32225d
        );
}

.tyfc-public .tyfc-home-hero::after{
    content:"TYFC";
    position:absolute;
    right:-20px;
    bottom:-45px;
    color:rgba(255,255,255,.035);
    font-size:min(20vw,250px);
    line-height:.8;
    font-weight:950;
    letter-spacing:-.1em;
    pointer-events:none;
}

.tyfc-public .tyfc-home-hero > *{
    position:relative;
    z-index:2;
}

.tyfc-public .tyfc-home-kicker{
    color:var(--pub-lime);
    font-weight:900;
    letter-spacing:.18em;
}

.tyfc-public .tyfc-home-hero h1{
    margin-top:12px;
    font-size:clamp(46px,6vw,84px);
    line-height:.96;
    letter-spacing:-.06em;
}

.tyfc-public .tyfc-home-hero-content > p{
    max-width:720px;
    color:rgba(255,255,255,.70);
    font-size:17px;
    line-height:1.8;
}

.tyfc-public .tyfc-home-stat-card{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(8px);
}

.tyfc-public .tyfc-home-stat-card span,
.tyfc-public .tyfc-home-stat-card small{
    color:rgba(255,255,255,.58);
}

.tyfc-public .tyfc-home-stat-card strong{
    color:#fff;
}

.tyfc-public .tyfc-feature-card{
    border:1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.12),
            rgba(255,255,255,.04)
        );
    box-shadow:
        0 26px 70px rgba(0,0,0,.18);
    backdrop-filter:blur(12px);
}

.tyfc-public .tyfc-feature-card,
.tyfc-public .tyfc-feature-card span,
.tyfc-public .tyfc-feature-card strong,
.tyfc-public .tyfc-feature-card h3,
.tyfc-public .tyfc-feature-card a{
    color:#fff;
}

.tyfc-public .tyfc-feature-links a{
    color:var(--pub-lime);
}

.tyfc-public .tyfc-home-section{
    width:min(1320px,100%);
    margin-left:auto;
    margin-right:auto;
}

.tyfc-public .tyfc-home-section-head h2{
    letter-spacing:-.04em;
}

.tyfc-public .tyfc-home-panel,
.tyfc-public .tyfc-live-showcase-card,
.tyfc-public .tyfc-home-news-card,
.tyfc-public .tyfc-result-card{
    border-radius:22px;
}


/* REGISTRATION INFO */

.tyfc-public .tyfc-public-registration-callout{
    width:min(1320px,calc(100% - 64px));
    display:grid;
    grid-template-columns:1fr 320px;
    gap:40px;
    align-items:center;
    margin:60px auto;
    padding:48px;
    border-radius:32px;
    color:#fff;
    background:
        linear-gradient(
            130deg,
            #17142d,
            #2e2257
        );
    box-shadow:
        0 30px 80px rgba(17,24,39,.13);
}

.tyfc-public .tyfc-public-registration-callout h2{
    margin:8px 0 12px;
    font-size:36px;
    letter-spacing:-.04em;
}

.tyfc-public .tyfc-public-registration-callout p{
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.66);
    line-height:1.8;
}

.tyfc-public .tyfc-registration-steps{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
}

.tyfc-public .tyfc-registration-steps span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    font-size:12px;
    font-weight:750;
}

.tyfc-public .tyfc-registration-steps b{
    color:var(--pub-lime);
}

.tyfc-public .tyfc-registration-callout-side{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    padding:26px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:25px;
    background:rgba(255,255,255,.055);
}

.tyfc-public .tyfc-registration-qr-symbol{
    width:112px;
    height:112px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    padding:12px;
    border-radius:20px;
    background:#fff;
}

.tyfc-public .tyfc-registration-qr-symbol span{
    border:7px solid var(--pub-deep);
    border-radius:3px;
}

.tyfc-public .tyfc-registration-callout-side strong{
    font-size:13px;
}


/* SCHEDULE / LIVE / STANDINGS — existing markup polish */

.tyfc-public .public-page-head:not(.public-page-head-v333){
    width:min(1320px,100%);
    margin:0 auto;
    padding:58px 32px 24px;
}

.tyfc-public .public-page-head:not(.public-page-head-v333) h1{
    margin:6px 0;
    font-size:clamp(38px,5vw,62px);
    letter-spacing:-.05em;
}

.tyfc-public .public-section:not(.public-section-v333){
    width:min(1320px,100%);
    margin:0 auto;
    padding-left:32px;
    padding-right:32px;
}

.tyfc-public .public-filter{
    margin-bottom:20px;
}

.tyfc-public .public-filter select{
    min-height:46px;
    padding:0 42px 0 14px;
    border:1px solid var(--pub-border);
    border-radius:14px;
    color:var(--pub-ink);
    background:#fff;
    font-weight:750;
}

.tyfc-public .fixture-list{
    display:grid;
    gap:12px;
}

.tyfc-public .fixture-item{
    position:relative;
    overflow:hidden;
    padding:20px 22px;
    border:1px solid var(--pub-border);
    border-radius:19px;
    background:#fff;
    box-shadow:
        0 10px 30px rgba(17,24,39,.035);
}

.tyfc-public .fixture-item::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#cbd5e1;
}

.tyfc-public .fixture-item.status-live::before,
.tyfc-public .fixture-item.status-halftime::before{
    background:var(--pub-accent);
}

.tyfc-public .fixture-item.status-finished::before{
    background:var(--pub-deep);
}

.tyfc-public .fixture-item strong{
    font-size:15px;
}

.tyfc-public .fixture-item strong span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:34px;
    margin:0 13px;
    padding:0 9px;
    border-radius:11px;
    color:#fff;
    background:var(--pub-deep);
    font-size:13px;
}

.tyfc-public .live-grid.large{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:18px;
}

.tyfc-public .live-card{
    position:relative;
    overflow:hidden;
    padding:30px;
    border:0;
    border-radius:26px;
    color:#fff;
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(255,107,34,.22),
            transparent 18rem
        ),
        linear-gradient(
            135deg,
            #17142d,
            #33245e
        );
    box-shadow:
        0 22px 55px rgba(17,24,39,.12);
}

.tyfc-public .live-card .live-badge{
    color:var(--pub-lime);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
}

.tyfc-public .live-card .score-row{
    margin:26px 0;
}

.tyfc-public .live-card .score-row b{
    font-size:32px;
    letter-spacing:-.05em;
}

.tyfc-public .tyfc-table{
    overflow:hidden;
    border:1px solid var(--pub-border);
    border-radius:20px;
    background:#fff;
}

.tyfc-public .tyfc-table thead th{
    background:#f8fafc;
    color:#667085;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.tyfc-public .tyfc-table tbody tr:hover{
    background:#fbfcfe;
}

.tyfc-public .tyfc-table tbody td:first-child{
    font-weight:900;
}

.tyfc-public .tyfc-table tbody td:last-child strong{
    display:inline-grid;
    place-items:center;
    min-width:36px;
    height:36px;
    border-radius:11px;
    color:#fff;
    background:var(--pub-deep);
}


/* FOOTER */

.tyfc-public .public-footer-v333{
    margin-top:70px;
    color:#fff;
    background:#11101f;
}

.tyfc-public .public-footer-v333-inner{
    width:min(1320px,100%);
    display:grid;
    grid-template-columns:1.8fr .7fr .7fr;
    gap:60px;
    margin:auto;
    padding:58px 32px;
}

.tyfc-public .public-footer-brand{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.tyfc-public .public-footer-mark{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    flex:0 0 58px;
    border-radius:17px;
    color:var(--pub-deep);
    background:var(--pub-lime);
    font-size:16px;
    font-weight:950;
}

.tyfc-public .public-footer-brand strong{
    display:block;
    font-size:26px;
    letter-spacing:-.05em;
}

.tyfc-public .public-footer-brand span{
    color:var(--pub-lime);
    font-size:9px;
    font-weight:850;
    letter-spacing:.18em;
}

.tyfc-public .public-footer-brand p{
    max-width:470px;
    margin:13px 0 0;
    color:rgba(255,255,255,.5);
    font-size:13px;
    line-height:1.75;
}

.tyfc-public .public-footer-links{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.tyfc-public .public-footer-links strong{
    margin-bottom:4px;
    color:#fff;
    font-size:12px;
}

.tyfc-public .public-footer-links a{
    color:rgba(255,255,255,.53);
    font-size:12px;
}

.tyfc-public .public-footer-links a:hover{
    color:var(--pub-lime);
}

.tyfc-public .public-footer-bottom{
    width:min(1320px,100%);
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin:auto;
    padding:18px 32px 26px;
    border-top:1px solid rgba(255,255,255,.07);
    color:rgba(255,255,255,.35);
    font-size:10px;
    letter-spacing:.05em;
}


/* RESPONSIVE */

@media(max-width:1120px){

    .tyfc-public .public-menu{
        gap:0;
    }

    .tyfc-public .public-menu a{
        padding-left:8px;
        padding-right:8px;
    }

    .tyfc-public .public-brand-copy small{
        display:none;
    }

    .tyfc-public .public-featured-news{
        grid-template-columns:1.1fr .9fr;
    }

}


@media(max-width:900px){

    .tyfc-public .public-nav{
        min-height:68px;
        padding:0 18px;
    }

    .tyfc-public .public-menu{
        display:none;
    }

    .tyfc-public .public-actions{
        margin-left:auto;
    }

    .tyfc-public .public-mobile-tabs{
        display:flex;
        gap:4px;
        overflow-x:auto;
        padding:0 14px 10px;
        scrollbar-width:none;
    }

    .tyfc-public .public-mobile-tabs::-webkit-scrollbar{
        display:none;
    }

    .tyfc-public .public-mobile-tabs a{
        flex:0 0 auto;
        padding:9px 12px;
        border-radius:10px;
        color:#747c8b;
        font-size:11px;
        font-weight:800;
    }

    .tyfc-public .public-mobile-tabs a.is-active{
        color:#fff;
        background:var(--pub-deep);
    }

    .tyfc-public .public-featured-news{
        grid-template-columns:1fr;
    }

    .tyfc-public .public-featured-news-cover,
    .tyfc-public .public-featured-news-cover img{
        min-height:360px;
    }

    .tyfc-public .public-news-grid-v333,
    .tyfc-public .public-media-grid-v333{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tyfc-public .public-empty-premium{
        grid-template-columns:180px 1fr;
        padding:32px;
    }

    .tyfc-public .public-empty-premium-mark{
        min-height:180px;
        font-size:32px;
    }

    .tyfc-public .tyfc-public-registration-callout{
        grid-template-columns:1fr;
    }

    .tyfc-public .tyfc-registration-callout-side{
        align-items:flex-start;
    }

    .tyfc-public .public-footer-v333-inner{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-public .public-footer-brand{
        grid-column:1 / -1;
    }

    .tyfc-public .live-grid.large{
        grid-template-columns:1fr;
    }

}


@media(max-width:640px){

    .tyfc-public .public-nav{
        min-height:62px;
        padding:0 13px;
    }

    .tyfc-public .public-brand-mark{
        width:42px;
        height:42px;
        border-radius:13px;
    }

    .tyfc-public .public-brand-copy strong{
        font-size:19px;
    }

    .tyfc-public .public-login-btn{
        min-height:40px;
        padding:0 12px;
    }

    .tyfc-public .public-login-btn span{
        display:none;
    }

    .tyfc-public .public-page-head-v333{
        min-height:275px;
        padding:58px 18px 52px;
    }

    .tyfc-public .public-page-head-v333 h1{
        font-size:43px;
    }

    .tyfc-public .public-page-head-v333 p{
        font-size:14px;
    }

    .tyfc-public .public-page-orb{
        right:10px;
        bottom:22px;
        font-size:95px;
    }

    .tyfc-public .public-section-v333{
        padding:38px 16px 65px;
    }

    .tyfc-public .public-featured-news{
        border-radius:23px;
    }

    .tyfc-public .public-featured-news-cover,
    .tyfc-public .public-featured-news-cover img{
        min-height:260px;
    }

    .tyfc-public .public-featured-news-body{
        padding:25px;
    }

    .tyfc-public .public-featured-news-body h2{
        font-size:27px;
    }

    .tyfc-public .public-news-grid-v333,
    .tyfc-public .public-media-grid-v333{
        grid-template-columns:1fr;
    }

    .tyfc-public .public-empty-premium{
        grid-template-columns:1fr;
        gap:22px;
        padding:24px;
        border-radius:24px;
    }

    .tyfc-public .public-empty-premium-mark{
        min-height:140px;
    }

    .tyfc-public .public-empty-premium h2{
        font-size:28px;
    }

    .tyfc-public .public-news-detail-hero{
        padding:48px 18px 28px;
    }

    .tyfc-public .public-news-detail-hero h1{
        font-size:40px;
    }

    .tyfc-public .public-news-detail-hero .lead{
        font-size:16px;
    }

    .tyfc-public .public-news-cover-v333{
        width:calc(100% - 28px);
        border-radius:20px;
    }

    .tyfc-public .public-news-reading-shell{
        width:calc(100% - 34px);
        margin-top:38px;
    }

    .tyfc-public .tyfc-home-hero{
        padding:50px 20px;
        border-radius:0 0 27px 27px;
    }

    .tyfc-public .tyfc-home-hero h1{
        font-size:46px;
    }

    .tyfc-public .tyfc-public-registration-callout{
        width:calc(100% - 28px);
        margin:36px auto;
        padding:24px;
        border-radius:24px;
    }

    .tyfc-public .tyfc-public-registration-callout h2{
        font-size:28px;
    }

    .tyfc-public .tyfc-registration-steps{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .tyfc-public .public-page-head:not(.public-page-head-v333){
        padding:38px 17px 18px;
    }

    .tyfc-public .public-section:not(.public-section-v333){
        padding-left:16px;
        padding-right:16px;
    }

    .tyfc-public .fixture-item{
        padding:17px;
    }

    .tyfc-public .fixture-item strong span{
        margin:0 6px;
    }

    .tyfc-public .public-footer-v333-inner{
        grid-template-columns:1fr;
        gap:34px;
        padding:42px 20px;
    }

    .tyfc-public .public-footer-brand{
        grid-column:auto;
    }

    .tyfc-public .public-footer-bottom{
        flex-direction:column;
        padding:18px 20px 24px;
    }

}


/* ============================================================
   TYFC V3.33B END
   ============================================================ */



/* ============================================================
   TYFC V3.33D — FEATURED NEWS FINAL
   Latest story = Featured
   Older stories = Thumbnail archive
   ============================================================ */

.tyfc-home-newsroom {
    position: relative;
}

.tyfc-news-empty {
    min-height: 220px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 30px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    background: #fff;
}

.tyfc-news-empty-mark {
    width: 100px;
    min-width: 100px;
    height: 100px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -.04em;
    background: #111827;
    color: #fff;
}

.tyfc-news-empty small {
    display: block;
    margin-bottom: 6px;
    font-weight: 800;
    color: #6b7280;
}

.tyfc-news-empty h3 {
    margin: 0 0 8px;
    font-size: 24px;
}

.tyfc-news-empty p {
    margin: 0;
    color: #6b7280;
}


/* FEATURED */

.tyfc-news-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .9fr);
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}

.tyfc-news-featured-cover {
    position: relative;
    display: block;
    min-height: 390px;
    overflow: hidden;
    background: #e5e7eb;
}

.tyfc-news-featured-cover img {
    width: 100%;
    height: 100%;
    min-height: 390px;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.tyfc-news-featured-cover:hover img {
    transform: scale(1.025);
}

.tyfc-news-cover-placeholder {
    min-height: 390px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            135deg,
            #111827 0%,
            #1f2937 55%,
            #374151 100%
        );
    color: #fff;
}

.tyfc-news-cover-placeholder span {
    font-size: 58px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.06em;
}

.tyfc-news-cover-placeholder small {
    margin-top: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .22em;
    opacity: .72;
}

.tyfc-news-latest-badge {
    position: absolute;
    left: 22px;
    top: 22px;
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 8px 28px rgba(15, 23, 42, .18);
}

.tyfc-news-featured-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px;
}

.tyfc-news-featured-meta {
    margin-bottom: 14px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: .08em;
    color: #6b7280;
}

.tyfc-news-featured-body h3 {
    margin: 0;
    font-size: clamp(27px, 3vw, 42px);
    line-height: 1.13;
    letter-spacing: -.035em;
}

.tyfc-news-featured-body h3 a {
    color: #111827;
    text-decoration: none;
}

.tyfc-news-featured-body h3 a:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.tyfc-news-featured-body p {
    margin: 18px 0 24px;
    color: #667085;
    font-size: 15px;
    line-height: 1.8;
}

.tyfc-news-readmore {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 900;
}


/* ARCHIVE HEADER */

.tyfc-news-archive-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin: 34px 0 17px;
}

.tyfc-news-archive-head div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.tyfc-news-archive-head span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    color: #9ca3af;
}

.tyfc-news-archive-head strong {
    font-size: 21px;
    color: #111827;
}

.tyfc-news-archive-head > a {
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}


/* THUMBNAILS */

.tyfc-news-thumbnail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tyfc-news-thumbnail-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    min-height: 150px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    background: #fff;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tyfc-news-thumbnail-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.tyfc-news-thumbnail-cover {
    display: block;
    min-height: 150px;
    overflow: hidden;
    background: #e5e7eb;
}

.tyfc-news-thumbnail-cover img {
    width: 100%;
    height: 100%;
    min-height: 150px;
    display: block;
    object-fit: cover;
}

.tyfc-news-thumb-placeholder {
    height: 100%;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111827;
    color: #fff;
    font-size: 23px;
    font-weight: 900;
    letter-spacing: -.04em;
}

.tyfc-news-thumbnail-body {
    min-width: 0;
    padding: 18px;
}

.tyfc-news-thumbnail-body small {
    display: block;
    margin-bottom: 6px;
    color: #9ca3af;
    font-size: 11px;
    font-weight: 800;
}

.tyfc-news-thumbnail-body h3 {
    margin: 0;
    font-size: 17px;
    line-height: 1.35;
}

.tyfc-news-thumbnail-body h3 a {
    color: #111827;
    text-decoration: none;
}

.tyfc-news-thumbnail-body p {
    margin: 8px 0 10px;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.55;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tyfc-news-thumb-link {
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 960px) {

    .tyfc-news-featured {
        grid-template-columns: 1fr;
    }

    .tyfc-news-featured-cover,
    .tyfc-news-featured-cover img,
    .tyfc-news-cover-placeholder {
        min-height: 330px;
    }

    .tyfc-news-featured-body {
        padding: 28px;
    }

    .tyfc-news-thumbnail-list {
        grid-template-columns: 1fr;
    }
}


/* MOBILE */

@media (max-width: 640px) {

    .tyfc-news-featured {
        border-radius: 20px;
    }

    .tyfc-news-featured-cover,
    .tyfc-news-featured-cover img,
    .tyfc-news-cover-placeholder {
        min-height: 230px;
    }

    .tyfc-news-featured-body {
        padding: 22px 18px 24px;
    }

    .tyfc-news-featured-body h3 {
        font-size: 25px;
    }

    .tyfc-news-featured-body p {
        margin: 13px 0 18px;
    }

    .tyfc-news-archive-head {
        align-items: center;
        margin-top: 28px;
    }

    .tyfc-news-thumbnail-card {
        grid-template-columns: 118px minmax(0, 1fr);
        min-height: 126px;
        border-radius: 16px;
    }

    .tyfc-news-thumbnail-cover,
    .tyfc-news-thumbnail-cover img,
    .tyfc-news-thumb-placeholder {
        min-height: 126px;
    }

    .tyfc-news-thumbnail-body {
        padding: 13px;
    }

    .tyfc-news-thumbnail-body h3 {
        font-size: 15px;
    }

    .tyfc-news-thumbnail-body p {
        display: none;
    }

    .tyfc-news-empty {
        align-items: flex-start;
        padding: 20px;
    }

    .tyfc-news-empty-mark {
        width: 70px;
        min-width: 70px;
        height: 70px;
        font-size: 20px;
    }
}



/* ============================================================
   TYFC V3.34A — SPORTS GRAPHIC + SCHEDULE UI
   Public matchup graphics + Admin Fixture Builder
   ============================================================ */


/* ============================================================
   A. PUBLIC — MATCHUP GRAPHIC LANGUAGE
   ============================================================ */

/* Live / fixture / result sections become part of one
   consistent match-poster visual language */

.tyfc-live-showcase-card,
.tyfc-match-row,
.tyfc-result-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.tyfc-live-showcase-card::before,
.tyfc-match-row::before,
.tyfc-result-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .9;
    z-index: -1;
    background:
        radial-gradient(
            circle at 0 0,
            rgba(255,255,255,.08),
            transparent 36%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(255,255,255,.05),
            transparent 38%
        );
}


/* ---------------------------
   LIVE MATCH GRAPHIC
   --------------------------- */

.tyfc-live-showcase-card:not(.is-empty) {
    border: 0;
    border-radius: 26px;
    padding: 25px;
    background:
        linear-gradient(
            135deg,
            #111827 0%,
            #192233 52%,
            #111827 100%
        );
    color: #fff;
    box-shadow:
        0 20px 48px rgba(15,23,42,.16);
}

.tyfc-live-showcase-card:not(.is-empty)
.tyfc-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tyfc-live-showcase-card:not(.is-empty)
.tyfc-live-league {
    margin-top: 16px;
    text-align: center;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tyfc-live-score-row {
    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        auto
        minmax(0,1fr);
    align-items: center;
    gap: 20px;
    padding: 28px 0 22px;
}

.tyfc-live-score-row .team {
    min-width: 0;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 900;
}

.tyfc-live-score-row .team-left {
    text-align: right;
}

.tyfc-live-score-row .team-right {
    text-align: left;
}

.tyfc-live-score-row .score {
    min-width: 110px;
    text-align: center;
    font-size: 38px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.055em;
}

.tyfc-live-score-row .score span {
    opacity: .38;
}

.tyfc-live-footer {
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 15px;
}


/* ---------------------------
   UPCOMING FIXTURE = MATCHUP CARD
   --------------------------- */

.tyfc-match-list {
    display: grid;
    gap: 12px;
}

.tyfc-match-row {
    display: grid;
    grid-template-columns:
        minmax(160px,.8fr)
        minmax(340px,1.8fr)
        auto;
    align-items: center;
    gap: 20px;
    min-height: 104px;
    padding: 18px 20px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow:
        0 8px 26px rgba(15,23,42,.045);
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.tyfc-match-row:hover {
    transform: translateY(-2px);
    box-shadow:
        0 16px 34px rgba(15,23,42,.08);
}

.tyfc-match-row .meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tyfc-match-row .meta .date {
    font-weight: 900;
    color: #111827;
}

.tyfc-match-row .meta .venue {
    font-size: 12px;
    color: #8490a2;
}

.tyfc-match-row .teams {
    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        46px
        minmax(0,1fr);
    align-items: center;
    gap: 12px;
}

.tyfc-match-row .teams strong {
    min-width: 0;
    font-size: 17px;
    line-height: 1.35;
}

.tyfc-match-row .teams strong:first-child {
    text-align: right;
}

.tyfc-match-row .teams strong:last-child {
    text-align: left;
}

.tyfc-match-row .teams > span {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #111827;
    color: #fff;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow:
        0 8px 18px rgba(15,23,42,.15);
}


/* ---------------------------
   RESULTS = SCORE GRAPHIC
   --------------------------- */

.tyfc-result-card {
    border-radius: 22px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow:
        0 10px 30px rgba(15,23,42,.05);
}

.tyfc-result-card .scoreline {
    position: relative;
}

.tyfc-result-card .scoreline b {
    font-size: 26px;
    font-weight: 950;
    letter-spacing: -.04em;
}


/* ============================================================
   B. ADMIN — SCHEDULE / FIXTURE BUILDER
   Scope ONLY to Schedule page.
   ============================================================ */

.tyfc-schedule-v334 {
    --fixture-bg: #f5f7fb;
    --fixture-card: #ffffff;
    --fixture-line: rgba(15,23,42,.08);
    --fixture-text: #111827;
    --fixture-muted: #707b8d;
}


/* PAGE HEADER */

.tyfc-schedule-v334 > .tyfc-page-header {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 28px 30px;
    border: 0;
    border-radius: 26px;
    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(255,255,255,.10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #111827 0%,
            #192335 55%,
            #111827 100%
        );
    color: #fff;
    box-shadow:
        0 18px 42px rgba(15,23,42,.16);
}

.tyfc-schedule-v334
> .tyfc-page-header .tyfc-eyebrow {
    color: rgba(255,255,255,.56);
}

.tyfc-schedule-v334
> .tyfc-page-header h1 {
    margin-top: 5px;
    margin-bottom: 8px;
    color: #fff;
    font-size: clamp(28px,3vw,40px);
    letter-spacing: -.04em;
}

.tyfc-schedule-v334
> .tyfc-page-header p {
    margin: 0;
    color: rgba(255,255,255,.65);
}


/* COMPETITION FILTER */

.tyfc-schedule-v334 .tyfc-filter-card {
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--fixture-line);
    border-radius: 18px;
    background: var(--fixture-card);
    box-shadow:
        0 8px 26px rgba(15,23,42,.04);
}

.tyfc-schedule-v334 .tyfc-filter-grid {
    align-items: end;
}

.tyfc-schedule-v334 label {
    color: #485468;
    font-size: 12px;
    font-weight: 850;
}

.tyfc-schedule-v334 input,
.tyfc-schedule-v334 select,
.tyfc-schedule-v334 textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid #dfe4ec;
    border-radius: 12px;
    background: #fff;
    color: #111827;
    box-shadow: none;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.tyfc-schedule-v334 input:focus,
.tyfc-schedule-v334 select:focus,
.tyfc-schedule-v334 textarea:focus {
    outline: none;
    border-color: #8b98aa;
    box-shadow:
        0 0 0 4px rgba(17,24,39,.055);
}


/* PANELS */

.tyfc-schedule-v334 .tyfc-panel {
    position: relative;
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid var(--fixture-line);
    border-radius: 22px;
    background: var(--fixture-card);
    box-shadow:
        0 10px 32px rgba(15,23,42,.05);
}

.tyfc-schedule-v334 .tyfc-panel-head {
    gap: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(15,23,42,.07);
}

.tyfc-schedule-v334 .tyfc-panel-head h2 {
    margin-top: 3px;
    margin-bottom: 4px;
    font-size: 21px;
    letter-spacing: -.025em;
}

.tyfc-schedule-v334 .tyfc-panel-head p {
    max-width: 760px;
    color: var(--fixture-muted);
    line-height: 1.65;
}


/* AUTO SCHEDULER panel — visual distinction only */

.tyfc-schedule-v334
.tyfc-panel:has(.tyfc-eyebrow) {
    border-color: rgba(15,23,42,.09);
}

.tyfc-schedule-v334
.tyfc-panel .tyfc-eyebrow {
    font-size: 10px;
    letter-spacing: .13em;
}


/* FORM GRIDS */

.tyfc-schedule-v334 form {
    position: relative;
}

.tyfc-schedule-v334 .form-grid,
.tyfc-schedule-v334 .tyfc-form-grid,
.tyfc-schedule-v334 .tyfc-filter-grid {
    gap: 14px;
}


/* BUTTONS */

.tyfc-schedule-v334 .btn {
    min-height: 42px;
    border-radius: 11px;
    font-weight: 850;
    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.tyfc-schedule-v334 .btn:hover {
    transform: translateY(-1px);
}

.tyfc-schedule-v334 .btn-primary {
    background: #111827;
    border-color: #111827;
    color: #fff;
    box-shadow:
        0 8px 20px rgba(15,23,42,.15);
}


/* TABLE / MATCH LIST */

.tyfc-schedule-v334 .table-wrap {
    margin-top: 14px;
    border: 1px solid rgba(15,23,42,.07);
    border-radius: 17px;
    overflow: auto;
}

.tyfc-schedule-v334 .tyfc-table {
    margin: 0;
    border: 0;
}

.tyfc-schedule-v334 .tyfc-table thead th {
    padding: 12px 14px;
    background: #f7f8fa;
    color: #788395;
    border-bottom: 1px solid rgba(15,23,42,.08);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tyfc-schedule-v334 .tyfc-table tbody td {
    padding: 15px 14px;
    vertical-align: middle;
    border-bottom: 1px solid rgba(15,23,42,.055);
}

.tyfc-schedule-v334
.tyfc-table tbody tr:last-child td {
    border-bottom: 0;
}

.tyfc-schedule-v334
.tyfc-table tbody tr:hover td {
    background: #fbfcfd;
}


/* MATCHUP COLUMN */

.tyfc-schedule-v334
.tyfc-table td:nth-child(2) {
    min-width: 310px;
    color: #8a94a4;
    font-size: 11px;
    text-align: center;
    text-transform: uppercase;
}

.tyfc-schedule-v334
.tyfc-table td:nth-child(2) strong {
    display: inline-block;
    max-width: 40%;
    margin: 0 7px;
    color: #111827;
    font-size: 14px;
    line-height: 1.35;
    text-transform: none;
    vertical-align: middle;
}


/* STATUS PILL compatibility */

.tyfc-schedule-v334 .status-pill {
    white-space: nowrap;
}


/* EMPTY TABLE */

.tyfc-schedule-v334
.tyfc-table tbody td[colspan] {
    padding: 40px 20px;
    text-align: center;
    color: #8b95a5;
}


/* ============================================================
   C. RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {

    .tyfc-match-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .tyfc-match-row .meta {
        align-items: center;
        text-align: center;
    }

    .tyfc-match-row .cta {
        text-align: center;
    }

    .tyfc-schedule-v334
    > .tyfc-page-header {
        padding: 24px 22px;
        border-radius: 20px;
    }

}


@media (max-width: 640px) {

    .tyfc-live-showcase-card:not(.is-empty) {
        padding: 20px 16px;
        border-radius: 20px;
    }

    .tyfc-live-score-row {
        grid-template-columns:
            minmax(0,1fr)
            66px
            minmax(0,1fr);
        gap: 8px;
    }

    .tyfc-live-score-row .team {
        font-size: 14px;
    }

    .tyfc-live-score-row .score {
        min-width: 66px;
        font-size: 27px;
    }

    .tyfc-match-row {
        padding: 16px;
        border-radius: 17px;
    }

    .tyfc-match-row .teams {
        grid-template-columns:
            minmax(0,1fr)
            40px
            minmax(0,1fr);
        gap: 7px;
    }

    .tyfc-match-row .teams strong {
        font-size: 14px;
    }

    .tyfc-match-row .teams > span {
        width: 40px;
        height: 40px;
        font-size: 9px;
    }


    /* Schedule mobile */

    .tyfc-schedule-v334
    > .tyfc-page-header {
        margin-left: -2px;
        margin-right: -2px;
        padding: 22px 18px;
    }

    .tyfc-schedule-v334 .tyfc-panel,
    .tyfc-schedule-v334 .tyfc-filter-card {
        border-radius: 17px;
    }

    .tyfc-schedule-v334 input,
    .tyfc-schedule-v334 select {
        min-height: 48px;
    }

    .tyfc-schedule-v334 .btn {
        min-height: 44px;
    }

    .tyfc-schedule-v334 .table-wrap {
        border-radius: 14px;
    }
}



/* ============================================================
   TYFC V3.36B — PUBLIC LIVE CENTER CORE
   ============================================================ */

.tyfc-live-center-v336 {
    width: 100%;
}


/* SECTION HEAD */

.tyfc-live-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    margin-bottom: 18px;
}

.tyfc-live-section-head h2 {
    margin: 3px 0 0;
    font-size: 25px;
    letter-spacing: -.025em;
}

.tyfc-live-section-head > span,
.tyfc-live-section-head > a {
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}


/* HEADER */

.tyfc-live-center-head {
    position: relative;
}

.tyfc-live-competition-label {
    display: inline-flex;
    margin-top: 12px;
    padding: 7px 12px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    font-weight: 850;
}


/* EMPTY */

.tyfc-live-empty-card {
    padding: 30px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 22px;
    background: #fff;
    text-align: center;
}

.tyfc-live-empty-card strong {
    display: block;
    color: #111827;
    font-size: 18px;
}

.tyfc-live-empty-card p {
    max-width: 580px;
    margin: 8px auto 0;
    color: #788395;
    line-height: 1.65;
}


/* LIVE CARDS */

.tyfc-live-match-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tyfc-live-match-card {
    display: block;
    padding: 22px;
    overflow: hidden;
    border-radius: 24px;
    text-decoration: none;
}

.tyfc-live-match-card.is-live {
    background:
        radial-gradient(
            circle at 95% 5%,
            rgba(255,255,255,.10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #111827,
            #202b3c
        );
    color: #fff;
    box-shadow:
        0 18px 42px rgba(15,23,42,.15);
}

.tyfc-live-card-top,
.tyfc-live-card-bottom,
.tyfc-live-result-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.tyfc-live-card-top small {
    color: rgba(255,255,255,.5);
}

.tyfc-live-state {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
}

.tyfc-live-state.state-live {
    background: rgba(34,197,94,.16);
    color: #86efac;
}

.tyfc-live-state.state-halftime {
    background: rgba(250,204,21,.15);
    color: #fde68a;
}

.tyfc-live-state.state-finished {
    background: rgba(15,23,42,.08);
    color: #111827;
}

.tyfc-live-state.state-scheduled {
    background: rgba(99,102,241,.10);
    color: #4f46e5;
}

.tyfc-live-state.state-postponed,
.tyfc-live-state.state-cancelled {
    background: rgba(239,68,68,.10);
    color: #dc2626;
}


/* SCORE */

.tyfc-live-card-score,
.tyfc-live-result-score {
    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        auto
        minmax(0,1fr);
    align-items: center;
    gap: 16px;
    padding: 27px 0 23px;
}

.tyfc-live-card-score strong,
.tyfc-live-result-score strong {
    min-width: 0;
    font-size: 17px;
    line-height: 1.4;
}

.tyfc-live-card-score strong:first-child,
.tyfc-live-result-score strong:first-child {
    text-align: right;
}

.tyfc-live-card-score strong:last-child,
.tyfc-live-result-score strong:last-child {
    text-align: left;
}

.tyfc-live-card-score b {
    font-size: 34px;
    letter-spacing: -.05em;
}

.tyfc-live-card-score b span,
.tyfc-live-result-score b span {
    opacity: .35;
}

.tyfc-live-card-bottom {
    padding-top: 13px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.62);
    font-size: 11px;
}

.tyfc-live-card-bottom b {
    color: #fff;
}


/* FIXTURES */

.tyfc-live-fixture-list {
    display: grid;
    gap: 10px;
}

.tyfc-live-fixture-row {
    display: grid;
    grid-template-columns:
        120px
        minmax(360px,1fr)
        minmax(180px,.65fr);
    align-items: center;
    gap: 18px;
    min-height: 90px;
    padding: 15px 18px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.tyfc-live-fixture-row:hover {
    transform: translateY(-1px);
    box-shadow:
        0 12px 30px rgba(15,23,42,.06);
}

.tyfc-live-fixture-time {
    display: flex;
    flex-direction: column;
}

.tyfc-live-fixture-time strong {
    font-size: 18px;
}

.tyfc-live-fixture-time small,
.tyfc-live-fixture-venue small {
    margin-top: 3px;
    color: #8b95a5;
}

.tyfc-live-fixture-teams {
    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        40px
        minmax(0,1fr);
    align-items: center;
    gap: 10px;
}

.tyfc-live-fixture-teams strong:first-child {
    text-align: right;
}

.tyfc-live-fixture-teams strong:last-child {
    text-align: left;
}

.tyfc-live-fixture-teams span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #111827;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
}

.tyfc-live-fixture-venue {
    display: flex;
    flex-direction: column;
    text-align: right;
    font-size: 12px;
}


/* RESULT */

.tyfc-live-result-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0,1fr));
    gap: 14px;
}

.tyfc-live-result-card {
    display: block;
    padding: 20px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    background: #fff;
    color: #111827;
    text-decoration: none;
}

.tyfc-live-result-meta span {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tyfc-live-result-meta small {
    color: #8b95a5;
}

.tyfc-live-result-score b {
    min-width: 88px;
    text-align: center;
    font-size: 28px;
}

.tyfc-live-result-bottom {
    border-top: 1px solid rgba(15,23,42,.07);
    padding-top: 12px;
    color: #8b95a5;
    text-align: center;
    font-size: 11px;
}


/* ============================================================
   MATCH DETAIL
   ============================================================ */

.tyfc-live-detail-head {
    padding-top: 6px;
}

.tyfc-live-back {
    display: inline-flex;
    margin-bottom: 16px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 850;
}

.tyfc-live-detail-kicker {
    color: #7b8494;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
}

.tyfc-live-detail-score {
    margin-top: 14px;
    padding: 28px;
    border-radius: 27px;
    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(255,255,255,.09),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #111827,
            #202b3c
        );
    color: #fff;
    box-shadow:
        0 20px 46px rgba(15,23,42,.16);
}

.tyfc-live-detail-status {
    display: flex;
    justify-content: center;
}

.tyfc-live-detail-teams {
    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        150px
        minmax(0,1fr);
    align-items: center;
    gap: 20px;
    padding: 34px 0 28px;
}

.tyfc-live-detail-team {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.tyfc-live-detail-team.home {
    text-align: right;
}

.tyfc-live-detail-team.away {
    text-align: left;
}

.tyfc-live-detail-team small {
    color: rgba(255,255,255,.4);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.tyfc-live-detail-team strong {
    font-size: clamp(18px,2vw,25px);
    line-height: 1.35;
}

.tyfc-live-detail-score-number {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.tyfc-live-detail-score-number b {
    font-size: 48px;
    line-height: 1;
    letter-spacing: -.06em;
}

.tyfc-live-detail-score-number span {
    opacity: .35;
    font-size: 30px;
}

.tyfc-live-detail-score-number em {
    width: 74px;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
}

.tyfc-live-detail-meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.11);
    color: rgba(255,255,255,.58);
    font-size: 11px;
}


/* MATCH INFO */

.tyfc-public-match-info-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0,1fr));
    gap: 12px;
    margin: 16px 0 28px;
}

.tyfc-public-match-info-grid > div {
    padding: 16px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    background: #fff;
}

.tyfc-public-match-info-grid small {
    display: block;
    margin-bottom: 4px;
    color: #8b95a5;
    font-size: 10px;
    font-weight: 850;
}

.tyfc-public-match-info-grid strong {
    font-size: 13px;
}


/* TIMELINE */

.tyfc-live-timeline-section {
    margin-top: 16px;
}

.tyfc-live-timeline {
    position: relative;
    display: grid;
    gap: 8px;
}

.tyfc-live-event {
    display: grid;
    grid-template-columns:
        54px
        44px
        minmax(0,1fr);
    align-items: start;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(15,23,42,.07);
    border-radius: 16px;
    background: #fff;
}

.tyfc-live-event-minute {
    padding-top: 8px;
    color: #606b7c;
    text-align: right;
    font-size: 12px;
    font-weight: 900;
}

.tyfc-live-event-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f5f6f8;
    font-size: 18px;
}

.tyfc-live-event-body {
    min-width: 0;
}

.tyfc-live-event-label {
    margin-bottom: 3px;
    color: #8b95a5;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tyfc-live-event-body strong,
.tyfc-live-event-body span,
.tyfc-live-event-body small {
    display: block;
}

.tyfc-live-event-body strong {
    font-size: 14px;
}

.tyfc-live-event-body span {
    margin-top: 2px;
    color: #697386;
    font-size: 12px;
}

.tyfc-live-event-body small {
    margin-top: 4px;
    color: #4f5a6b;
    font-size: 11px;
}

.tyfc-live-event-body p {
    margin: 6px 0 0;
    color: #7a8493;
    font-size: 12px;
}

.tyfc-live-event.event-goal,
.tyfc-live-event.event-own_goal {
    border-left: 4px solid #22c55e;
}

.tyfc-live-event.event-yellow_card {
    border-left: 4px solid #eab308;
}

.tyfc-live-event.event-second_yellow_red,
.tyfc-live-event.event-red_card {
    border-left: 4px solid #ef4444;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {

    .tyfc-live-match-grid,
    .tyfc-live-result-grid {
        grid-template-columns: 1fr;
    }

    .tyfc-live-fixture-row {
        grid-template-columns:
            90px
            minmax(0,1fr);
    }

    .tyfc-live-fixture-venue {
        grid-column: 1 / -1;
        padding-top: 10px;
        border-top: 1px solid rgba(15,23,42,.06);
        text-align: left;
    }

    .tyfc-live-detail-teams {
        grid-template-columns:
            minmax(0,1fr)
            110px
            minmax(0,1fr);
    }

}


@media (max-width: 640px) {

    .tyfc-live-section-head {
        align-items: center;
    }

    .tyfc-live-section-head h2 {
        font-size: 21px;
    }

    .tyfc-live-match-card {
        padding: 18px 15px;
        border-radius: 19px;
    }

    .tyfc-live-card-score,
    .tyfc-live-result-score {
        grid-template-columns:
            minmax(0,1fr)
            74px
            minmax(0,1fr);
        gap: 8px;
    }

    .tyfc-live-card-score strong,
    .tyfc-live-result-score strong {
        font-size: 13px;
    }

    .tyfc-live-card-score b {
        font-size: 25px;
        text-align: center;
    }

    .tyfc-live-fixture-row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 15px;
    }

    .tyfc-live-fixture-time {
        align-items: center;
        text-align: center;
    }

    .tyfc-live-fixture-teams {
        grid-template-columns:
            minmax(0,1fr)
            38px
            minmax(0,1fr);
    }

    .tyfc-live-fixture-teams span {
        width: 38px;
        height: 38px;
    }

    .tyfc-live-fixture-venue {
        grid-column: auto;
        text-align: center;
    }

    .tyfc-live-detail-score {
        padding: 20px 14px;
        border-radius: 20px;
    }

    .tyfc-live-detail-teams {
        grid-template-columns:
            minmax(0,1fr)
            74px
            minmax(0,1fr);
        gap: 8px;
        padding: 25px 0 21px;
    }

    .tyfc-live-detail-team strong {
        font-size: 14px;
    }

    .tyfc-live-detail-score-number b {
        font-size: 31px;
    }

    .tyfc-live-detail-score-number em {
        width: 58px;
        height: 58px;
        font-size: 11px;
    }

    .tyfc-public-match-info-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tyfc-live-event {
        grid-template-columns:
            42px
            36px
            minmax(0,1fr);
        gap: 8px;
        padding: 12px;
    }

    .tyfc-live-event-icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        font-size: 15px;
    }

}



/* ============================================================
   TYFC V3.37B — LIVE SCORE VIEWER UI FINAL
   MULTI-MATCH CLARITY / COMPACT VIEW
   ============================================================ */


/* ------------------------------------------------------------
   LIVE CENTER PAGE SPACING
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-center-head {
    padding-bottom: 28px;
}

.tyfc-live-center-v336 .public-section {
    padding-top: 34px;
    padding-bottom: 34px;
}


/* ------------------------------------------------------------
   SECTION HEADER
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-section-head {
    align-items: center;
    margin-bottom: 16px;
}

.tyfc-live-center-v336 .tyfc-live-count {
    padding: 7px 11px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    background: #fff;
    color: #4b5563;
    font-size: 11px;
    font-weight: 850;
}


/* ------------------------------------------------------------
   LIVE MATCH CARD
   EACH CARD = ONE MATCH / ONE VENUE
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-match-grid {
    gap: 14px;
}

.tyfc-live-center-v336 .tyfc-live-match-card {
    min-height: 0;
    padding: 20px 22px 17px;
    border-radius: 22px;
}

.tyfc-live-center-v336 .tyfc-live-card-top {
    min-height: 30px;
}

.tyfc-live-center-v336 .tyfc-live-card-venue {
    display: block;
    max-width: 55%;
    overflow: hidden;
    color: rgba(255,255,255,.62);
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 700;
}

.tyfc-live-center-v336 .tyfc-live-card-score {
    padding: 21px 0 20px;
}

.tyfc-live-center-v336 .tyfc-live-card-score strong {
    font-size: 16px;
}

.tyfc-live-center-v336 .tyfc-live-card-score b {
    min-width: 96px;
    text-align: center;
    font-size: 32px;
}

.tyfc-live-center-v336 .tyfc-live-card-bottom {
    padding-top: 12px;
}

.tyfc-live-center-v336 .tyfc-live-card-bottom > span {
    font-weight: 700;
}

.tyfc-live-center-v336 .tyfc-live-card-bottom > b {
    font-size: 11px;
}


/* LIVE gets stronger visual priority */

.tyfc-live-center-v336
.tyfc-live-match-card.is-live
.state-live {
    box-shadow:
        0 0 0 1px rgba(34,197,94,.16),
        0 0 22px rgba(34,197,94,.06);
}


/* ------------------------------------------------------------
   FIXTURE ROW
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-fixture-row {
    min-height: 78px;
}

.tyfc-live-center-v336 .tyfc-live-fixture-time strong {
    font-size: 17px;
}


/* ------------------------------------------------------------
   RESULTS
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-result-card {
    padding: 18px 20px;
}

.tyfc-live-center-v336 .tyfc-live-result-score {
    padding: 20px 0 17px;
}


/* ============================================================
   MATCH DETAIL WIDTH FIX
   ============================================================ */

.tyfc-live-center-v336
> .tyfc-live-detail-head,

.tyfc-live-center-v336
> .tyfc-live-detail-score,

.tyfc-live-center-v336
> .tyfc-public-match-info-grid,

.tyfc-live-center-v336
> .tyfc-live-timeline-section {
    width: calc(100% - 48px);
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
}


.tyfc-live-center-v336
> .tyfc-live-detail-head {
    padding-top: 30px;
}


.tyfc-live-center-v336
> .tyfc-live-detail-score {
    margin-top: 12px;
}


.tyfc-live-center-v336
> .tyfc-public-match-info-grid {
    margin-top: 14px;
    margin-bottom: 30px;
}


.tyfc-live-center-v336
> .tyfc-live-timeline-section {
    padding-bottom: 48px;
}


/* ------------------------------------------------------------
   DETAIL HERO
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-detail-score {
    padding: 24px 28px;
}

.tyfc-live-center-v336 .tyfc-live-detail-teams {
    padding: 28px 0 24px;
}

.tyfc-live-center-v336
.tyfc-live-detail-score-number b {
    font-size: 44px;
}


/* ------------------------------------------------------------
   MATCH INFO
   ------------------------------------------------------------ */

.tyfc-live-center-v336
.tyfc-public-match-info-grid > div {
    min-height: 72px;
    padding: 14px 16px;
}


/* ------------------------------------------------------------
   TIMELINE
   ------------------------------------------------------------ */

.tyfc-live-center-v336 .tyfc-live-timeline {
    gap: 7px;
}

.tyfc-live-center-v336 .tyfc-live-event {
    min-height: 72px;
    padding: 12px 15px;
}

.tyfc-live-center-v336 .tyfc-live-event-minute {
    padding-top: 7px;
}

.tyfc-live-center-v336 .tyfc-live-event-icon {
    width: 38px;
    height: 38px;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .tyfc-live-center-v336
    > .tyfc-live-detail-head,

    .tyfc-live-center-v336
    > .tyfc-live-detail-score,

    .tyfc-live-center-v336
    > .tyfc-public-match-info-grid,

    .tyfc-live-center-v336
    > .tyfc-live-timeline-section {
        width: calc(100% - 32px);
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .tyfc-live-center-v336 .public-section {
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .tyfc-live-center-v336 .tyfc-live-section-head {
        align-items: flex-start;
        gap: 10px;
    }

    .tyfc-live-center-v336 .tyfc-live-count {
        padding: 6px 9px;
        white-space: nowrap;
    }

    .tyfc-live-center-v336 .tyfc-live-match-card {
        padding: 16px 14px 14px;
    }

    .tyfc-live-center-v336 .tyfc-live-card-venue {
        max-width: 48%;
        font-size: 9px;
    }

    .tyfc-live-center-v336 .tyfc-live-card-score {
        padding: 20px 0 17px;
    }

    .tyfc-live-center-v336 .tyfc-live-card-score b {
        min-width: 66px;
        font-size: 25px;
    }

    .tyfc-live-center-v336
    > .tyfc-live-detail-head,

    .tyfc-live-center-v336
    > .tyfc-live-detail-score,

    .tyfc-live-center-v336
    > .tyfc-public-match-info-grid,

    .tyfc-live-center-v336
    > .tyfc-live-timeline-section {
        width: calc(100% - 24px);
    }

    .tyfc-live-center-v336
    > .tyfc-live-detail-head {
        padding-top: 20px;
    }

    .tyfc-live-center-v336 .tyfc-live-detail-score {
        padding: 18px 12px;
    }

    .tyfc-live-center-v336 .tyfc-live-detail-teams {
        padding: 22px 0 19px;
    }

    .tyfc-live-center-v336
    .tyfc-live-detail-score-number b {
        font-size: 30px;
    }

}



/* ============================================================
   TYFC V3.38B — PUBLIC STANDINGS CONSISTENCY
   ============================================================ */

.tyfc-standings-competition {
    display: inline-flex;
    margin-top: 12px;
    padding: 7px 12px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 12px;
    font-weight: 850;
}

.tyfc-standings-table {
    min-width: 780px;
}

.tyfc-standings-table th:not(:nth-child(2)),
.tyfc-standings-table td:not(:nth-child(2)) {
    text-align: center;
}

.tyfc-standings-table .tyfc-standing-team {
    min-width: 260px;
}

.tyfc-rank-cell {
    width: 54px;
    font-weight: 900;
}

.tyfc-points-cell strong {
    display: inline-flex;
    min-width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #111827;
    color: #fff;
}

.tyfc-standings-note {
    margin-top: 12px;
    color: #7a8494;
    font-size: 11px;
}

.tyfc-standings-note strong {
    color: #111827;
}

.tyfc-fixture-detail-link {
    color: inherit;
    font-weight: 850;
    text-decoration: none;
}

.tyfc-fixture-detail-link:hover {
    text-decoration: underline;
}



/* ============================================================
   TYFC V3.39A — PUBLIC SCHEDULE / FIXTURES VIEWER
   ============================================================ */

.tyfc-public-schedule-v339 {
    width: 100%;
}


/* COMPETITION */

.tyfc-schedule-competition-pill {
    display: inline-flex;
    margin-top: 12px;
    padding: 7px 12px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 12px;
    font-weight: 850;
}


/* TOOLBAR */

.tyfc-schedule-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 28px;
}

.tyfc-schedule-competition-filter label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tyfc-schedule-competition-filter label > span {
    color: #7a8494;
    font-size: 10px;
    font-weight: 850;
}

.tyfc-schedule-competition-filter select {
    min-width: 280px;
    height: 42px;
    padding: 0 38px 0 13px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 12px;
    background: #fff;
    color: #111827;
    font-weight: 750;
}


/* VIEW TABS */

.tyfc-schedule-view-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.tyfc-schedule-view-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    background: #fff;
    color: #5d6777;
    text-decoration: none;
    font-size: 11px;
    font-weight: 850;
}

.tyfc-schedule-view-tabs a b {
    display: inline-flex;
    min-width: 21px;
    height: 21px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f1f3f6;
    color: #111827;
    font-size: 9px;
}

.tyfc-schedule-view-tabs a.is-active {
    border-color: #111827;
    background: #111827;
    color: #fff;
}

.tyfc-schedule-view-tabs a.is-active b {
    background: rgba(255,255,255,.14);
    color: #fff;
}


/* EMPTY */

.tyfc-schedule-empty {
    padding: 32px 20px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    background: #fff;
    text-align: center;
}

.tyfc-schedule-empty strong {
    display: block;
    color: #111827;
    font-size: 18px;
}

.tyfc-schedule-empty p {
    margin: 7px 0 0;
    color: #7a8494;
}


/* DAY */

.tyfc-schedule-day-list {
    display: grid;
    gap: 30px;
}

.tyfc-schedule-day {
    min-width: 0;
}

.tyfc-schedule-day-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 14px;
    margin-bottom: 12px;
}

.tyfc-schedule-day-head h2 {
    margin: 2px 0 0;
    color: #111827;
    font-size: 20px;
    letter-spacing: -.025em;
}

.tyfc-schedule-day-head > span {
    padding: 6px 9px;
    border-radius: 999px;
    background: #f1f3f6;
    color: #647083;
    font-size: 10px;
    font-weight: 850;
}


/* MATCH LIST */

.tyfc-schedule-match-list {
    display: grid;
    gap: 8px;
}


/* MATCH */

.tyfc-schedule-match {
    display: grid;
    grid-template-columns:
        115px
        minmax(360px, 1.4fr)
        minmax(210px, .8fr)
        105px;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 13px 15px;
    border: 1px solid rgba(15,23,42,.075);
    border-radius: 17px;
    background: #fff;
}


/* LIVE highlight */

.tyfc-schedule-match.status-live {
    border-left: 4px solid #22c55e;
}

.tyfc-schedule-match.status-halftime {
    border-left: 4px solid #eab308;
}

.tyfc-schedule-match.status-finished {
    border-left: 4px solid #111827;
}

.tyfc-schedule-match.status-postponed {
    opacity: .8;
    border-left: 4px solid #ef4444;
}


/* TIME */

.tyfc-schedule-match-time {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.tyfc-schedule-match-time > strong {
    color: #111827;
    font-size: 18px;
}

.tyfc-schedule-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .04em;
}

.tyfc-schedule-status.status-scheduled {
    background: #eef2ff;
    color: #4f46e5;
}

.tyfc-schedule-status.status-live {
    background: #dcfce7;
    color: #15803d;
}

.tyfc-schedule-status.status-halftime {
    background: #fef9c3;
    color: #854d0e;
}

.tyfc-schedule-status.status-finished {
    background: #eef0f3;
    color: #111827;
}

.tyfc-schedule-status.status-postponed {
    background: #fee2e2;
    color: #b91c1c;
}


/* MATCHUP */

.tyfc-schedule-matchup {
    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        86px
        minmax(0,1fr);
    align-items: center;
    gap: 10px;
}

.tyfc-schedule-matchup > strong {
    min-width: 0;
    color: #111827;
    line-height: 1.35;
    font-size: 14px;
}

.tyfc-schedule-matchup .home {
    text-align: right;
}

.tyfc-schedule-matchup .away {
    text-align: left;
}

.tyfc-schedule-score {
    display: flex;
    min-width: 76px;
    height: 48px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 14px;
    background: #111827;
    color: #fff;
}

.tyfc-schedule-score b {
    font-size: 20px;
}

.tyfc-schedule-score span {
    opacity: .35;
}

.tyfc-schedule-score em {
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
}


/* META */

.tyfc-schedule-match-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.tyfc-schedule-match-meta > span {
    overflow: hidden;
    color: #4f5969;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 700;
}

.tyfc-schedule-match-meta > small {
    color: #929baa;
    font-size: 9px;
}


/* ACTION */

.tyfc-schedule-match-action {
    text-align: right;
}

.tyfc-schedule-match-action a {
    display: inline-flex;
    align-items: center;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f1f3f6;
    color: #111827;
    text-decoration: none;
    font-size: 10px;
    font-weight: 850;
}

.tyfc-schedule-match-action span {
    color: #9aa3b1;
    font-size: 9px;
    font-weight: 750;
}


/* TABLET */

@media (max-width: 1000px) {

    .tyfc-schedule-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .tyfc-schedule-match {
        grid-template-columns:
            92px
            minmax(0,1fr)
            110px;
    }

    .tyfc-schedule-match-meta {
        grid-column: 2 / 3;
    }

    .tyfc-schedule-match-action {
        grid-column: 3 / 4;
        grid-row: 1 / 3;
    }

}


/* MOBILE */

@media (max-width: 640px) {

    .tyfc-schedule-competition-filter select {
        width: 100%;
        min-width: 0;
    }

    .tyfc-schedule-view-tabs {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tyfc-schedule-view-tabs a {
        justify-content: space-between;
        border-radius: 12px;
    }

    .tyfc-schedule-day-head {
        align-items: center;
    }

    .tyfc-schedule-day-head h2 {
        font-size: 17px;
    }

    .tyfc-schedule-match {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px;
    }

    .tyfc-schedule-match-time {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .tyfc-schedule-matchup {
        grid-template-columns:
            minmax(0,1fr)
            66px
            minmax(0,1fr);
        gap: 7px;
        padding: 8px 0;
    }

    .tyfc-schedule-matchup > strong {
        font-size: 12px;
    }

    .tyfc-schedule-score {
        min-width: 62px;
        height: 42px;
    }

    .tyfc-schedule-score b {
        font-size: 17px;
    }

    .tyfc-schedule-match-meta {
        grid-column: auto;
        padding-top: 9px;
        border-top: 1px solid rgba(15,23,42,.06);
        text-align: center;
    }

    .tyfc-schedule-match-action {
        grid-column: auto;
        grid-row: auto;
        text-align: center;
    }

}



/* ============================================================
   TYFC V3.40B — PUBLIC NEWS + MEDIA FUNCTIONAL CLOSEOUT
   ============================================================ */


/* MEDIA META */

.tyfc-public .public-media-card-meta-v340 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    color: #8a93a3;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .04em;
}

.tyfc-public .public-media-card-meta-v340 span {
    color: #5d35d5;
}

.tyfc-public .public-media-card-meta-v340 time {
    font-variant-numeric: tabular-nums;
}


/* make visual target clearer */

.tyfc-public .public-media-visual {
    position: relative;
    display: block;
    overflow: hidden;
}

.tyfc-public .public-media-card-v333.type-image
.public-media-visual img {
    transition: transform .22s ease;
}

.tyfc-public .public-media-card-v333.type-image:hover
.public-media-visual img {
    transform: scale(1.025);
}


/* type pill remains readable */

.tyfc-public .public-media-type-pill {
    max-width: calc(100% - 20px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* mobile */

@media (max-width: 640px) {

    .tyfc-public .public-media-card-meta-v340 {
        font-size: 9px;
    }

}



/* ============================================================
   TYFC V3.50B — GLOBAL DESIGN SYSTEM FOUNDATION
   Final UI Sweep Foundation

   Presentation only.
   Does not change application/business logic.
   ============================================================ */

:root {

    /* --------------------------------------------------------
       Brand
       -------------------------------------------------------- */

    --tyfc-ui-primary: #5b35d5;
    --tyfc-ui-primary-strong: #4524b8;
    --tyfc-ui-primary-soft: #f0ecff;

    --tyfc-ui-navy: #141b2d;
    --tyfc-ui-navy-soft: #202a42;

    --tyfc-ui-accent: #18bfae;

    /* --------------------------------------------------------
       Text
       -------------------------------------------------------- */

    --tyfc-ui-text: #171827;
    --tyfc-ui-text-soft: #45485a;
    --tyfc-ui-muted: #747789;
    --tyfc-ui-subtle: #9699a8;

    /* --------------------------------------------------------
       Surface
       -------------------------------------------------------- */

    --tyfc-ui-bg: #f6f7fb;
    --tyfc-ui-surface: #ffffff;
    --tyfc-ui-surface-soft: #fafbfe;

    --tyfc-ui-border: #e6e8ef;
    --tyfc-ui-border-strong: #d8dbe5;

    /* --------------------------------------------------------
       Semantic
       -------------------------------------------------------- */

    --tyfc-ui-success: #15803d;
    --tyfc-ui-success-bg: #ecfdf3;

    --tyfc-ui-warning: #a15c00;
    --tyfc-ui-warning-bg: #fff7df;

    --tyfc-ui-danger: #c62828;
    --tyfc-ui-danger-bg: #fff0f0;

    --tyfc-ui-info: #225bc3;
    --tyfc-ui-info-bg: #eef5ff;

    /* --------------------------------------------------------
       Shape
       -------------------------------------------------------- */

    --tyfc-ui-radius-xs: 8px;
    --tyfc-ui-radius-sm: 11px;
    --tyfc-ui-radius-md: 15px;
    --tyfc-ui-radius-lg: 20px;
    --tyfc-ui-radius-xl: 26px;

    /* --------------------------------------------------------
       Shadow
       -------------------------------------------------------- */

    --tyfc-ui-shadow-xs:
        0 1px 2px rgba(20, 27, 45, .04);

    --tyfc-ui-shadow-sm:
        0 5px 18px rgba(20, 27, 45, .055);

    --tyfc-ui-shadow-md:
        0 14px 36px rgba(20, 27, 45, .075);

    /* --------------------------------------------------------
       Layout
       -------------------------------------------------------- */

    --tyfc-ui-content-max: 1440px;
    --tyfc-ui-sidebar-width: 250px;

    /* --------------------------------------------------------
       Motion
       -------------------------------------------------------- */

    --tyfc-ui-ease:
        cubic-bezier(.2, .75, .25, 1);
}


/* ============================================================
   1. GLOBAL TYPOGRAPHY
   ============================================================ */

html {
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

body {
    color: var(--tyfc-ui-text);
    font-family:
        Inter,
        "Noto Sans Thai",
        "Leelawadee UI",
        Tahoma,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    line-height: 1.55;
}

button,
input,
select,
textarea {
    font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--tyfc-ui-text);
    font-weight: 800;
    letter-spacing: -.018em;
}


/* ============================================================
   2. ADMIN APP SHELL
   ============================================================ */

.tyfc-main {
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(91, 53, 213, .045),
            transparent 28rem
        ),
        var(--tyfc-ui-bg);
}

.tyfc-main > .tyfc-topbar {
    min-height: 66px;
    box-sizing: border-box;

    background: rgba(255, 255, 255, .94);

    border-bottom:
        1px solid var(--tyfc-ui-border);

    box-shadow:
        0 1px 0 rgba(20, 27, 45, .02);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.tyfc-main > .tyfc-topbar > strong {
    color: var(--tyfc-ui-text);
    font-size: 16px;
    font-weight: 800;
}

.tyfc-page {
    width: 100%;
    max-width: var(--tyfc-ui-content-max);
    box-sizing: border-box;

    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   3. SIDEBAR FOUNDATION
   ============================================================ */

.tyfc-sidebar {
    width: var(--tyfc-ui-sidebar-width);

    background:
        linear-gradient(
            180deg,
            #15182a 0%,
            #19162c 58%,
            #20183e 100%
        );

    border-right:
        1px solid rgba(255, 255, 255, .06);

    box-shadow:
        12px 0 34px rgba(17, 16, 34, .07);
}

.tyfc-sidebar-brand {
    border-bottom:
        1px solid rgba(255, 255, 255, .07);
}

.tyfc-sidebar-brand strong {
    letter-spacing: -.01em;
}

.tyfc-nav-item {
    border-radius: 10px;

    transition:
        background-color .16s var(--tyfc-ui-ease),
        color .16s var(--tyfc-ui-ease),
        transform .16s var(--tyfc-ui-ease);
}

.tyfc-nav-item:hover {
    transform: translateX(2px);
}

.tyfc-nav-item.active {
    box-shadow:
        inset 3px 0 0 rgba(255, 255, 255, .76);
}


/* ============================================================
   4. PAGE HEADERS
   ============================================================ */

.tyfc-page-header,
.page-header {
    gap: 18px;
}

.tyfc-page-header h1,
.page-header h1 {
    color: var(--tyfc-ui-text);
    letter-spacing: -.025em;
}

.tyfc-page-header p,
.page-header p {
    color: var(--tyfc-ui-muted);
    line-height: 1.65;
}


/* ============================================================
   5. BUTTON SYSTEM
   ============================================================ */

.btn,
.tyfc-btn,
.tyfc-primary-btn {
    box-sizing: border-box;

    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    padding: 9px 15px;

    border-radius: var(--tyfc-ui-radius-sm);

    font-weight: 750;
    line-height: 1.2;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform .15s var(--tyfc-ui-ease),
        box-shadow .15s var(--tyfc-ui-ease),
        background-color .15s var(--tyfc-ui-ease),
        border-color .15s var(--tyfc-ui-ease);
}

.btn:hover,
.tyfc-btn:hover,
.tyfc-primary-btn:hover {
    transform: translateY(-1px);
}

.btn:active,
.tyfc-btn:active,
.tyfc-primary-btn:active {
    transform: translateY(0);
}

.btn-primary,
.tyfc-primary-btn {
    background:
        linear-gradient(
            135deg,
            var(--tyfc-ui-primary),
            var(--tyfc-ui-primary-strong)
        );

    border-color:
        var(--tyfc-ui-primary);

    color: #fff;

    box-shadow:
        0 7px 16px rgba(91, 53, 213, .17);
}

.btn-primary:hover,
.tyfc-primary-btn:hover {
    box-shadow:
        0 10px 22px rgba(91, 53, 213, .22);
}

.btn:focus-visible,
.tyfc-btn:focus-visible,
.tyfc-primary-btn:focus-visible {
    outline: 3px solid rgba(91, 53, 213, .19);
    outline-offset: 2px;
}


/* ============================================================
   6. CARD / PANEL FOUNDATION
   ============================================================ */

.panel,
.tyfc-panel,
.tyfc-form-card,
.tyfc-module-card {
    border-color:
        var(--tyfc-ui-border);

    box-shadow:
        var(--tyfc-ui-shadow-xs);
}

.tyfc-panel-header,
.panel-header {
    border-color:
        var(--tyfc-ui-border);
}

.tyfc-module-card {
    transition:
        transform .17s var(--tyfc-ui-ease),
        border-color .17s var(--tyfc-ui-ease),
        box-shadow .17s var(--tyfc-ui-ease);
}

.tyfc-module-card:hover {
    transform: translateY(-2px);

    border-color:
        rgba(91, 53, 213, .19);

    box-shadow:
        var(--tyfc-ui-shadow-sm);
}


/* ============================================================
   7. FORM FOUNDATION
   ============================================================ */

.tyfc-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tyfc-page select,
.tyfc-page textarea {

    box-sizing: border-box;

    border:
        1px solid var(--tyfc-ui-border-strong);

    border-radius:
        var(--tyfc-ui-radius-sm);

    background:
        var(--tyfc-ui-surface);

    color:
        var(--tyfc-ui-text);

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background-color .15s ease;
}

.tyfc-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
.tyfc-page select:hover,
.tyfc-page textarea:hover {

    border-color:
        #c8cbd8;
}

.tyfc-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.tyfc-page select:focus,
.tyfc-page textarea:focus {

    border-color:
        rgba(91, 53, 213, .70);

    outline: none;

    box-shadow:
        0 0 0 3px rgba(91, 53, 213, .10);
}

.tyfc-page input:disabled,
.tyfc-page select:disabled,
.tyfc-page textarea:disabled {

    background:
        #f2f3f7;

    color:
        #8c8f9c;

    cursor:
        not-allowed;
}


/* ============================================================
   8. TABLE FOUNDATION
   ============================================================ */

.table-wrap {
    width: 100%;
    overflow-x: auto;

    border-radius:
        var(--tyfc-ui-radius-md);
}

.tyfc-table {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    background:
        var(--tyfc-ui-surface);
}

.tyfc-table th {
    color:
        var(--tyfc-ui-muted);

    background:
        #f9fafc;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .035em;
}

.tyfc-table th,
.tyfc-table td {
    border-bottom:
        1px solid var(--tyfc-ui-border);
}

.tyfc-table tbody tr {
    transition:
        background-color .12s ease;
}

.tyfc-table tbody tr:hover {
    background:
        #faf9ff;
}


/* ============================================================
   9. STATUS FOUNDATION
   ============================================================ */

.status-pill,
.tyfc-status,
.tyfc-badge {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 5px;

    border-radius: 999px;

    font-weight: 800;
    line-height: 1.2;
}

.status-approved,
.status-finished,
.tyfc-status.approved {

    background:
        var(--tyfc-ui-success-bg);

    color:
        var(--tyfc-ui-success);
}

.status-live {

    background:
        var(--tyfc-ui-danger-bg);

    color:
        var(--tyfc-ui-danger);
}

.status-halftime {

    background:
        var(--tyfc-ui-warning-bg);

    color:
        var(--tyfc-ui-warning);
}

.status-draft,
.status-scheduled {

    background:
        #f0f2f6;

    color:
        #555968;
}

.status-locked {

    background:
        #eeeaff;

    color:
        var(--tyfc-ui-primary-strong);
}

.status-rejected,
.status-cancelled {

    background:
        var(--tyfc-ui-danger-bg);

    color:
        var(--tyfc-ui-danger);
}


/* ============================================================
   10. ALERTS / EMPTY STATE
   ============================================================ */

.tyfc-alert,
.tyfc-empty,
.tyfc-fm-empty,
.tyfc-live-empty-card {

    border-radius:
        var(--tyfc-ui-radius-md);
}

.tyfc-alert-success {

    background:
        var(--tyfc-ui-success-bg);

    border-color:
        #b9eac8;

    color:
        var(--tyfc-ui-success);
}


/* ============================================================
   11. PUBLIC TYPOGRAPHY FOUNDATION
   Keep specialized sports layouts intact.
   ============================================================ */

.tyfc-public {
    color:
        var(--tyfc-ui-text);

    background:
        var(--tyfc-ui-bg);
}

.tyfc-public .public-main {
    min-height: 72vh;
}

.tyfc-public .public-page-head h1,
.tyfc-public .public-section-head h2 {

    color:
        var(--tyfc-ui-text);

    letter-spacing:
        -.025em;
}

.tyfc-public .public-page-head p {
    color:
        var(--tyfc-ui-muted);
}


/* ============================================================
   12. ACCESSIBILITY
   ============================================================ */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {

    outline:
        3px solid rgba(91, 53, 213, .18);

    outline-offset:
        2px;
}


/* ============================================================
   13. GLOBAL MOBILE FOUNDATION
   ============================================================ */

@media (max-width: 900px) {

    .tyfc-page {
        padding-left: 18px;
        padding-right: 18px;
    }

    .tyfc-page-header,
    .page-header {

        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .tyfc-page-header > *,
    .page-header > * {

        max-width:
            100%;
    }

    .status-actions {
        width: 100%;
    }
}


@media (max-width: 640px) {

    .tyfc-page {
        padding-left: 14px;
        padding-right: 14px;
    }

    .tyfc-page-header h1,
    .page-header h1 {

        font-size:
            clamp(25px, 7vw, 32px);
    }

    .btn,
    .tyfc-btn,
    .tyfc-primary-btn {

        min-height:
            42px;
    }

    .tyfc-table th,
    .tyfc-table td {

        padding-left:
            12px;

        padding-right:
            12px;
    }
}


/* ============================================================
   14. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        scroll-behavior:
            auto !important;

        transition-duration:
            .01ms !important;

        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;
    }
}


/* ============================================================
   END TYFC V3.50B
   ============================================================ */



/* ============================================================
   TYFC V3.51B — PUBLIC PORTAL FINAL POLISH
   Presentation only.
   Core Function remains unchanged.
   ============================================================ */


/* ============================================================
   1. PUBLIC BASE
   ============================================================ */

.tyfc-public {
    background:
        radial-gradient(
            circle at 8% 4%,
            rgba(91, 53, 213, .055),
            transparent 28rem
        ),
        linear-gradient(
            180deg,
            #f8f9fc 0,
            #f6f7fb 36rem,
            #f7f8fb 100%
        );

    color:
        var(--tyfc-ui-text);
}

.tyfc-public .public-main {
    overflow: hidden;
}


/* ============================================================
   2. PREMIUM PUBLIC HEADER
   ============================================================ */

.tyfc-public .public-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    border-bottom:
        1px solid rgba(229, 231, 239, .9);

    background:
        rgba(255, 255, 255, .91);

    backdrop-filter:
        blur(18px) saturate(145%);

    -webkit-backdrop-filter:
        blur(18px) saturate(145%);

    box-shadow:
        0 6px 25px rgba(20, 27, 45, .035);
}

.tyfc-public .public-nav-shell {
    max-width: 1260px;
    margin: 0 auto;
}

.tyfc-public .public-nav {
    min-height: 72px;
    padding-top: 9px;
    padding-bottom: 9px;
}


/* Brand */

.tyfc-public .public-brand {
    gap: 11px;
}

.tyfc-public .public-brand-mark {
    width: 43px;
    height: 43px;

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            #171a30,
            #4726ac 60%,
            #6940dc
        );

    box-shadow:
        0 8px 20px rgba(74, 42, 174, .18);
}

.tyfc-public .public-brand-mark b {
    font-size: 15px;
    letter-spacing: -.03em;
}

.tyfc-public .public-brand-copy strong {
    color: #181827;

    font-size: 18px;
    font-weight: 900;

    letter-spacing: -.025em;
}

.tyfc-public .public-brand-copy small {
    color: #777a8b;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .115em;
}


/* Desktop menu */

.tyfc-public .public-menu {
    gap: 3px;
}

.tyfc-public .public-menu a {
    padding: 10px 12px;

    border-radius: 9px;

    color: #545768;

    font-size: 13px;
    font-weight: 750;

    transition:
        color .15s ease,
        background-color .15s ease;
}

.tyfc-public .public-menu a:hover {
    color:
        var(--tyfc-ui-primary-strong);

    background:
        rgba(91, 53, 213, .055);
}

.tyfc-public .public-menu a.is-active {
    color:
        var(--tyfc-ui-primary-strong);

    background:
        var(--tyfc-ui-primary-soft);
}

.tyfc-public .public-menu a.is-active::after {
    height: 2px;
    border-radius: 99px;
}


/* Login */

.tyfc-public .public-login-btn {
    min-height: 40px;

    padding:
        9px 14px;

    border:
        1px solid rgba(91, 53, 213, .16);

    border-radius:
        11px;

    background:
        linear-gradient(
            135deg,
            #5b35d5,
            #4524b8
        );

    color: #fff;

    box-shadow:
        0 8px 19px rgba(91, 53, 213, .18);

    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.tyfc-public .public-login-btn:hover {
    transform:
        translateY(-1px);

    box-shadow:
        0 11px 24px rgba(91, 53, 213, .23);
}


/* ============================================================
   3. HOME HERO
   ============================================================ */

.tyfc-public .tyfc-home-hero {
    position: relative;

    max-width: 1260px;

    padding-top:
        clamp(58px, 7vw, 96px);

    padding-bottom:
        clamp(52px, 7vw, 86px);
}

.tyfc-public .tyfc-home-hero::before {
    content: "";

    position: absolute;

    width: 430px;
    height: 430px;

    top: -150px;
    left: -180px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(91, 53, 213, .10),
            transparent 68%
        );

    pointer-events: none;
}

.tyfc-public .tyfc-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    width: fit-content;

    padding:
        7px 11px;

    margin-bottom: 14px;

    border:
        1px solid rgba(91, 53, 213, .16);

    border-radius:
        999px;

    background:
        #ebe5ff;

    /* FIX: old pale green/low contrast */
    color:
        #43239e;

    font-size: 11px;
    font-weight: 900;

    letter-spacing:
        .105em;

    box-shadow:
        0 4px 12px rgba(91, 53, 213, .055);
}

.tyfc-public .tyfc-home-kicker::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background:
        #17a877;

    box-shadow:
        0 0 0 4px rgba(23, 168, 119, .11);
}

.tyfc-public .tyfc-home-hero h1 {
    max-width: 790px;

    margin:
        0 0 18px;

    color:
        #171827;

    font-size:
        clamp(42px, 5.2vw, 70px);

    line-height:
        1.07;

    letter-spacing:
        -.045em;
}

.tyfc-public .tyfc-home-hero-content > p {
    max-width:
        670px;

    color:
        #646778;

    font-size:
        clamp(16px, 1.35vw, 19px);

    line-height:
        1.8;
}

.tyfc-public .tyfc-home-actions {
    gap: 10px;

    margin-top:
        26px;
}

.tyfc-public .tyfc-home-actions .btn {
    min-height:
        43px;

    border-radius:
        11px;
}


/* Hero KPI */

.tyfc-public .tyfc-home-stat-grid {
    gap: 10px;

    margin-top:
        34px;
}

.tyfc-public .tyfc-home-stat-card {
    padding:
        15px 17px;

    border:
        1px solid rgba(223, 225, 234, .9);

    border-radius:
        14px;

    background:
        rgba(255, 255, 255, .82);

    box-shadow:
        0 7px 22px rgba(20, 27, 45, .045);

    backdrop-filter:
        blur(8px);
}

.tyfc-public .tyfc-home-stat-card strong {
    color:
        #171827;

    font-size:
        22px;
    font-weight:
        900;

    font-variant-numeric:
        tabular-nums;
}


/* Competition feature card */

.tyfc-public .tyfc-feature-card {
    position:
        relative;

    overflow:
        hidden;

    border:
        1px solid rgba(255, 255, 255, .08);

    border-radius:
        25px;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(113, 76, 255, .45),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            #111827,
            #191d36 50%,
            #34206d
        );

    box-shadow:
        0 28px 65px rgba(27, 22, 55, .20);
}

.tyfc-public .tyfc-feature-card::before {
    content: "";

    position:
        absolute;

    width:
        180px;

    height:
        180px;

    right:
        -85px;

    bottom:
        -80px;

    border-radius:
        50%;

    background:
        rgba(24, 191, 174, .10);

    pointer-events:
        none;
}

.tyfc-public .tyfc-feature-links a {
    color:
        rgba(255, 255, 255, .90);
}


/* ============================================================
   4. PUBLIC SECTION RHYTHM
   ============================================================ */

.tyfc-public .public-section,
.tyfc-public .tyfc-home-section {
    max-width:
        1260px;
}

.tyfc-public .tyfc-home-section {
    padding-top:
        42px;

    padding-bottom:
        42px;
}

.tyfc-public .tyfc-home-section-head,
.tyfc-public .public-content-section-head,
.tyfc-public .tyfc-live-section-head {
    margin-bottom:
        20px;
}

.tyfc-public .tyfc-home-section-head h2,
.tyfc-public .public-content-section-head h2,
.tyfc-public .tyfc-live-section-head h2 {
    color:
        #181827;

    font-weight:
        900;

    letter-spacing:
        -.025em;
}


/* Eyebrow */

.tyfc-public .tyfc-eyebrow {
    color:
        #5b35d5;

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        .13em;
}


/* ============================================================
   5. GENERIC PUBLIC PAGE HEAD
   ============================================================ */

.tyfc-public .public-page-head {
    max-width:
        1260px;

    padding-top:
        clamp(44px, 6vw, 72px);

    padding-bottom:
        24px;
}

.tyfc-public .public-page-head h1 {
    margin:
        7px 0 9px;

    color:
        #181827;

    font-size:
        clamp(34px, 4.2vw, 50px);

    font-weight:
        900;

    line-height:
        1.12;

    letter-spacing:
        -.035em;
}

.tyfc-public .public-page-head p {
    max-width:
        760px;

    color:
        #6d7081;

    line-height:
        1.72;
}


/* Premium v333 header */

.tyfc-public .public-page-head-v333 {
    border-radius:
        0 0 28px 28px;
}


/* ============================================================
   6. SCHEDULE VIEWER
   ============================================================ */

.tyfc-public .tyfc-public-schedule-v339 {
    padding-bottom:
        40px;
}

.tyfc-public .tyfc-schedule-toolbar {
    gap:
        14px;

    padding:
        14px;

    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        16px;

    background:
        rgba(255, 255, 255, .88);

    box-shadow:
        var(--tyfc-ui-shadow-xs);
}

.tyfc-public .tyfc-schedule-competition-filter select {
    border-color:
        var(--tyfc-ui-border-strong);

    border-radius:
        10px;

    background:
        #fff;
}

.tyfc-public .tyfc-schedule-view-tabs {
    padding:
        4px;

    border:
        1px solid #e6e8ef;

    border-radius:
        12px;

    background:
        #f4f5f9;
}

.tyfc-public .tyfc-schedule-view-tabs a {
    min-height:
        36px;

    border-radius:
        8px;

    color:
        #5e6170;

    font-weight:
        750;
}

.tyfc-public .tyfc-schedule-view-tabs a.is-active {
    background:
        #fff;

    color:
        var(--tyfc-ui-primary-strong);

    box-shadow:
        0 2px 8px rgba(20, 27, 45, .07);
}


/* Day */

.tyfc-public .tyfc-schedule-day {
    overflow:
        hidden;

    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        18px;

    background:
        #fff;

    box-shadow:
        0 7px 22px rgba(20, 27, 45, .045);
}

.tyfc-public .tyfc-schedule-day-head {
    padding:
        18px 20px;

    border-bottom:
        1px solid var(--tyfc-ui-border);

    background:
        linear-gradient(
            180deg,
            #fbfbfd,
            #f8f9fc
        );
}

.tyfc-public .tyfc-schedule-day-head h2 {
    margin:
        3px 0 0;

    font-weight:
        900;
}


/* Match rows */

.tyfc-public .tyfc-schedule-match {
    position:
        relative;

    border-bottom:
        1px solid #eceef3;

    background:
        #fff;

    transition:
        background-color .15s ease,
        box-shadow .15s ease;
}

.tyfc-public .tyfc-schedule-match:last-child {
    border-bottom:
        0;
}

.tyfc-public .tyfc-schedule-match:hover {
    background:
        #fbfaff;
}

.tyfc-public .tyfc-schedule-match.status-live,
.tyfc-public .tyfc-schedule-match.status-halftime {
    background:
        linear-gradient(
            90deg,
            rgba(239, 68, 68, .045),
            #fff 40%
        );
}

.tyfc-public .tyfc-schedule-match.status-live::before,
.tyfc-public .tyfc-schedule-match.status-halftime::before {
    content: "";

    position:
        absolute;

    top:
        0;

    bottom:
        0;

    left:
        0;

    width:
        3px;

    background:
        #ef4452;
}

.tyfc-public .tyfc-schedule-matchup > strong {
    color:
        #202231;

    font-weight:
        800;
}

.tyfc-public .tyfc-schedule-score {
    min-width:
        70px;

    font-variant-numeric:
        tabular-nums;
}

.tyfc-public .tyfc-schedule-score b {
    font-weight:
        950;
}


/* ============================================================
   7. LIVE CENTER
   ============================================================ */

.tyfc-public .tyfc-live-center-v336 {
    padding-bottom:
        44px;
}

.tyfc-public .tyfc-live-match-grid,
.tyfc-public .tyfc-live-result-grid {
    gap:
        15px;
}

.tyfc-public .tyfc-live-match-card,
.tyfc-public .tyfc-live-result-card {
    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        18px;

    background:
        #fff;

    box-shadow:
        0 6px 21px rgba(20, 27, 45, .045);

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.tyfc-public .tyfc-live-match-card:hover,
.tyfc-public .tyfc-live-result-card:hover {
    transform:
        translateY(-2px);

    border-color:
        rgba(91, 53, 213, .17);

    box-shadow:
        0 13px 30px rgba(20, 27, 45, .075);
}


/* LIVE special */

.tyfc-public .tyfc-live-match-card.is-live {
    overflow:
        hidden;

    border-color:
        rgba(239, 68, 82, .24);

    background:
        radial-gradient(
            circle at 100% 0,
            rgba(239, 68, 82, .075),
            transparent 44%
        ),
        #fff;

    box-shadow:
        0 10px 28px rgba(239, 68, 82, .075);
}

.tyfc-public .tyfc-live-state.state-live {
    position:
        relative;

    padding-left:
        20px;
}

.tyfc-public .tyfc-live-state.state-live::before {
    content: "";

    position:
        absolute;

    width:
        7px;
    height:
        7px;

    left:
        8px;
    top:
        50%;

    transform:
        translateY(-50%);

    border-radius:
        50%;

    background:
        #e93646;

    box-shadow:
        0 0 0 4px rgba(233, 54, 70, .10);

    animation:
        tyfcPublicLivePulse 1.7s ease-in-out infinite;
}

@keyframes tyfcPublicLivePulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .43;
    }
}

.tyfc-public .tyfc-live-card-score b,
.tyfc-public .tyfc-live-result-score b {
    color:
        #181827;

    font-weight:
        950;

    font-variant-numeric:
        tabular-nums;
}


/* Upcoming fixture */

.tyfc-public .tyfc-live-fixture-row {
    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        14px;

    background:
        #fff;
}

.tyfc-public .tyfc-live-fixture-row:hover {
    border-color:
        rgba(91, 53, 213, .18);

    background:
        #fcfbff;
}


/* Match detail */

.tyfc-public .tyfc-live-detail-score {
    overflow:
        hidden;

    border:
        1px solid rgba(220, 222, 231, .9);

    border-radius:
        23px;

    background:
        radial-gradient(
            circle at 50% -50%,
            rgba(91, 53, 213, .12),
            transparent 65%
        ),
        #fff;

    box-shadow:
        0 17px 42px rgba(20, 27, 45, .075);
}

.tyfc-public .tyfc-live-detail-score-number b {
    color:
        #181827;

    font-weight:
        950;

    letter-spacing:
        -.055em;

    font-variant-numeric:
        tabular-nums;
}

.tyfc-public .tyfc-public-match-info-grid > div {
    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        14px;

    background:
        #fff;
}


/* Timeline */

.tyfc-public .tyfc-live-timeline-section {
    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        18px;

    background:
        #fff;
}

.tyfc-public .tyfc-live-event {
    border-bottom:
        1px solid #eff0f4;
}

.tyfc-public .tyfc-live-event:last-child {
    border-bottom:
        0;
}


/* ============================================================
   8. STANDINGS
   ============================================================ */

.tyfc-public .tyfc-public-standings-v338 .table-wrap {
    overflow:
        hidden;

    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        18px;

    background:
        #fff;

    box-shadow:
        0 9px 27px rgba(20, 27, 45, .055);
}

.tyfc-public .tyfc-standings-table {
    margin:
        0;
}

.tyfc-public .tyfc-standings-table thead th {
    padding-top:
        14px;

    padding-bottom:
        14px;

    background:
        #f5f6fa;

    color:
        #676a79;

    font-size:
        11px;

    font-weight:
        900;

    letter-spacing:
        .06em;
}

.tyfc-public .tyfc-standings-table tbody td {
    padding-top:
        15px;

    padding-bottom:
        15px;
}

.tyfc-public .tyfc-standings-table tbody tr:hover {
    background:
        #faf9ff;
}

.tyfc-public .tyfc-rank-cell {
    color:
        #777a89;

    font-weight:
        900;

    font-variant-numeric:
        tabular-nums;
}

.tyfc-public .tyfc-standing-team {
    color:
        #202231;

    font-weight:
        800;
}

.tyfc-public .tyfc-points-cell {
    color:
        var(--tyfc-ui-primary-strong);

    font-size:
        18px;

    font-weight:
        950;
}


/* ============================================================
   9. NEWS
   ============================================================ */

.tyfc-public .public-featured-news {
    overflow:
        hidden;

    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        23px;

    background:
        #fff;

    box-shadow:
        0 14px 36px rgba(20, 27, 45, .065);
}

.tyfc-public .public-featured-news-body h2 {
    color:
        #181827;

    font-weight:
        900;

    letter-spacing:
        -.025em;
}

.tyfc-public .public-news-card-v333 {
    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        17px;

    background:
        #fff;

    box-shadow:
        0 5px 18px rgba(20, 27, 45, .04);
}

.tyfc-public .public-news-card-v333:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(91, 53, 213, .17);

    box-shadow:
        0 14px 31px rgba(20, 27, 45, .075);
}

.tyfc-public .public-news-card-v333 h3 {
    color:
        #202231;

    font-weight:
        850;

    line-height:
        1.45;
}


/* News detail */

.tyfc-public .public-news-detail-hero h1 {
    color:
        #181827;

    font-weight:
        900;

    letter-spacing:
        -.035em;
}

.tyfc-public .public-news-reading-shell {
    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        18px;

    background:
        #fff;

    box-shadow:
        0 8px 25px rgba(20, 27, 45, .045);
}

.tyfc-public .public-news-reading-shell .article-body {
    color:
        #363947;

    line-height:
        1.92;
}


/* ============================================================
   10. MEDIA
   ============================================================ */

.tyfc-public .public-media-grid-v333 {
    gap:
        17px;
}

.tyfc-public .public-media-card-v333 {
    overflow:
        hidden;

    border:
        1px solid var(--tyfc-ui-border);

    border-radius:
        18px;

    background:
        #fff;

    box-shadow:
        0 5px 18px rgba(20, 27, 45, .04);
}

.tyfc-public .public-media-card-v333:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(91, 53, 213, .18);

    box-shadow:
        0 14px 32px rgba(20, 27, 45, .075);
}

.tyfc-public .public-media-card-body h3 {
    color:
        #202231;

    font-weight:
        850;
}


/* ============================================================
   11. EMPTY STATES
   ============================================================ */

.tyfc-public .public-empty-premium,
.tyfc-public .tyfc-schedule-empty,
.tyfc-public .tyfc-live-empty-card,
.tyfc-public .tyfc-news-empty {

    border:
        1px dashed #d9dbe5;

    border-radius:
        18px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fafaff
        );

    color:
        #666979;
}

.tyfc-public .public-empty-premium-mark,
.tyfc-public .tyfc-news-empty-mark {
    box-shadow:
        0 10px 25px rgba(91, 53, 213, .10);
}


/* ============================================================
   12. HOME REGISTRATION CTA
   ============================================================ */

.tyfc-public .tyfc-public-registration-callout {
    overflow:
        hidden;

    border:
        1px solid rgba(91, 53, 213, .10);

    border-radius:
        25px;

    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(91, 53, 213, .16),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #16172a,
            #252047 58%,
            #432a82
        );

    box-shadow:
        0 24px 60px rgba(28, 23, 60, .15);
}

.tyfc-public
.tyfc-public-registration-callout
.tyfc-eyebrow {
    color:
        #c8bcff;
}

.tyfc-public
.tyfc-public-registration-callout
h2 {
    color:
        #fff;
}

.tyfc-public
.tyfc-public-registration-callout
p {
    color:
        rgba(255, 255, 255, .74);
}


/* ============================================================
   13. FOOTER
   ============================================================ */

.tyfc-public .public-footer-v333 {
    margin-top:
        60px;

    border-top:
        1px solid rgba(255, 255, 255, .06);

    background:
        linear-gradient(
            145deg,
            #111422,
            #17162a 54%,
            #21183e
        );

    color:
        rgba(255, 255, 255, .74);
}

.tyfc-public .public-footer-v333-inner {
    max-width:
        1260px;

    padding-top:
        44px;

    padding-bottom:
        40px;
}

.tyfc-public .public-footer-mark {
    background:
        linear-gradient(
            145deg,
            #6d46e0,
            #4b29af
        );

    box-shadow:
        0 8px 20px rgba(91, 53, 213, .24);
}

.tyfc-public .public-footer-brand strong {
    color:
        #fff;
}

.tyfc-public .public-footer-brand span {
    color:
        #aaa1d2;
}

.tyfc-public .public-footer-brand p {
    color:
        rgba(255, 255, 255, .58);
}

.tyfc-public .public-footer-links strong {
    color:
        #fff;
}

.tyfc-public .public-footer-links a {
    color:
        rgba(255, 255, 255, .63);
}

.tyfc-public .public-footer-links a:hover {
    color:
        #fff;
}

.tyfc-public .public-footer-bottom {
    border-top:
        1px solid rgba(255, 255, 255, .07);

    color:
        rgba(255, 255, 255, .47);
}


/* ============================================================
   14. MOBILE NAV / RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {

    .tyfc-public .public-nav {
        min-height:
            64px;
    }

    .tyfc-public .public-menu,
    .tyfc-public .public-actions {
        display:
            none;
    }

    .tyfc-public .public-mobile-tabs {
        display:
            flex;

        overflow-x:
            auto;

        gap:
            4px;

        padding:
            7px 14px 9px;

        border-top:
            1px solid #eff0f4;

        background:
            rgba(255, 255, 255, .96);

        scrollbar-width:
            none;
    }

    .tyfc-public .public-mobile-tabs::-webkit-scrollbar {
        display:
            none;
    }

    .tyfc-public .public-mobile-tabs a {
        flex:
            0 0 auto;

        min-height:
            34px;

        display:
            inline-flex;

        align-items:
            center;

        justify-content:
            center;

        padding:
            7px 12px;

        border-radius:
            9px;

        color:
            #676a7a;

        font-size:
            12px;

        font-weight:
            800;
    }

    .tyfc-public .public-mobile-tabs a.is-active {
        background:
            var(--tyfc-ui-primary-soft);

        color:
            var(--tyfc-ui-primary-strong);
    }


    /* Hero */

    .tyfc-public .tyfc-home-hero {
        grid-template-columns:
            1fr;

        gap:
            28px;

        padding-top:
            48px;

        padding-bottom:
            52px;
    }

    .tyfc-public .tyfc-home-hero h1 {
        max-width:
            720px;
    }


    /* Schedule */

    .tyfc-public .tyfc-schedule-toolbar {
        align-items:
            stretch;

        flex-direction:
            column;
    }


    /* Footer */

    .tyfc-public .public-footer-v333-inner {
        grid-template-columns:
            1.4fr 1fr 1fr;

        gap:
            28px;
    }
}


@media (max-width: 640px) {

    .tyfc-public .public-nav {
        padding-left:
            14px;

        padding-right:
            14px;
    }

    .tyfc-public .public-brand-copy small {
        display:
            none;
    }

    .tyfc-public .public-brand-mark {
        width:
            39px;

        height:
            39px;
    }


    /* Page spacing */

    .tyfc-public .public-page-head,
    .tyfc-public .public-section,
    .tyfc-public .tyfc-home-section {

        padding-left:
            15px;

        padding-right:
            15px;
    }


    /* Home */

    .tyfc-public .tyfc-home-hero {
        padding-left:
            15px;

        padding-right:
            15px;

        padding-top:
            40px;
    }

    .tyfc-public .tyfc-home-hero h1 {
        font-size:
            clamp(36px, 11vw, 48px);

        line-height:
            1.08;
    }

    .tyfc-public .tyfc-home-kicker {
        font-size:
            9px;
    }

    .tyfc-public .tyfc-home-actions {
        display:
            grid;

        grid-template-columns:
            1fr;
    }

    .tyfc-public .tyfc-home-actions .btn {
        width:
            100%;
    }

    .tyfc-public .tyfc-home-stat-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* Schedule */

    .tyfc-public .tyfc-schedule-toolbar {
        padding:
            10px;
    }

    .tyfc-public .tyfc-schedule-view-tabs {
        display:
            grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .tyfc-public .tyfc-schedule-view-tabs a {
        justify-content:
            center;
    }

    .tyfc-public .tyfc-schedule-day {
        border-radius:
            15px;
    }

    .tyfc-public .tyfc-schedule-day-head {
        padding:
            15px;
    }


    /* LIVE */

    .tyfc-public .tyfc-live-match-grid,
    .tyfc-public .tyfc-live-result-grid {
        grid-template-columns:
            1fr;
    }

    .tyfc-public .tyfc-live-detail-score {
        border-radius:
            17px;
    }


    /* Standings horizontal safety */

    .tyfc-public
    .tyfc-public-standings-v338
    .table-wrap {

        overflow-x:
            auto;

        -webkit-overflow-scrolling:
            touch;
    }

    .tyfc-public .tyfc-standings-table {
        min-width:
            690px;
    }


    /* Footer */

    .tyfc-public .public-footer-v333 {
        margin-top:
            42px;
    }

    .tyfc-public .public-footer-v333-inner {
        grid-template-columns:
            1fr;

        padding:
            34px 18px 28px;
    }

    .tyfc-public .public-footer-bottom {
        padding-left:
            18px;

        padding-right:
            18px;

        text-align:
            center;
    }
}


/* ============================================================
   15. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .tyfc-public
    .tyfc-live-state.state-live::before {

        animation:
            none;
    }
}


/* ============================================================
   END TYFC V3.51B
   ============================================================ */



/* ============================================================
   TYFC V3.51R2 — PUBLIC CONTENT + UI RECOVERY
   - Fix dark News/Media hero readability
   - Reset public brand copy affected by legacy .public-brand span
   - Add public original-file download action
   ============================================================ */


/* ============================================================
   A. HEADER BRAND RESET
   Legacy rule:
   .public-brand span { width:38px; height:38px; display:grid; ... }
   was also affecting .public-brand-copy.
   ============================================================ */

.tyfc-public
.public-brand
> .public-brand-copy {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    width: auto;
    height: auto;

    min-width: 0;

    padding: 0;
    margin: 0;

    border: 0;
    border-radius: 0;

    background: none;

    box-shadow: none;

    color: inherit;

    place-items: initial;
}

.tyfc-public
.public-brand
> .public-brand-copy
> strong {

    display: block;

    width: auto;
    height: auto;

    margin: 0;

    background: none;

    color: #181827;

    line-height: 1.05;
}

.tyfc-public
.public-brand
> .public-brand-copy
> small {

    display: block;

    width: auto;
    height: auto;

    margin-top: 5px;

    background: none;

    color: #777a8b;

    line-height: 1.1;
}


/* ============================================================
   B. PREMIUM DARK PAGE HERO
   Must override generic V3.51B public-page-head h1 / p.
   ============================================================ */

.tyfc-public
.public-page-head.public-page-head-v333 {

    color: #fff;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(116, 76, 214, .38),
            transparent 38%
        ),
        linear-gradient(
            125deg,
            #15152a 0%,
            #211c3e 55%,
            #3d2b68 100%
        );
}

.tyfc-public
.public-page-head.public-page-head-v333
.tyfc-eyebrow {

    color: #d7ff32;
}

.tyfc-public
.public-page-head.public-page-head-v333
h1 {

    color: #ffffff;

    text-shadow:
        0 2px 18px rgba(0, 0, 0, .14);
}

.tyfc-public
.public-page-head.public-page-head-v333
p {

    color:
        rgba(255, 255, 255, .74);

    max-width:
        790px;
}


/* Decorative orb stays subtle */

.tyfc-public
.public-page-head.public-page-head-v333
.public-page-orb {

    opacity:
        .42;
}


/* ============================================================
   C. NEWS EMPTY STATE
   ============================================================ */

.tyfc-public
.public-empty-premium {

    color:
        #5f6272;
}

.tyfc-public
.public-empty-premium
h2 {

    color:
        #1b1d2b;
}


/* ============================================================
   D. MEDIA DOWNLOAD ACTION
   ============================================================ */

.tyfc-public
.public-media-download-v351r2 {

    min-height:
        38px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    padding:
        8px 12px;

    margin-top:
        10px;

    border:
        1px solid rgba(91, 53, 213, .16);

    border-radius:
        10px;

    background:
        #f1edff;

    color:
        #4a28ad;

    font-size:
        13px;

    font-weight:
        850;

    text-decoration:
        none;

    transition:
        transform .15s ease,
        background-color .15s ease,
        border-color .15s ease;
}

.tyfc-public
.public-media-download-v351r2:hover {

    transform:
        translateY(-1px);

    border-color:
        rgba(91, 53, 213, .27);

    background:
        #e9e2ff;

    color:
        #3f219b;
}

.tyfc-public
.public-media-download-v351r2
span {

    font-size:
        16px;

    line-height:
        1;
}


/* ============================================================
   E. MOBILE BRAND / HERO
   ============================================================ */

@media (max-width: 640px) {

    .tyfc-public
    .public-brand
    > .public-brand-copy
    > strong {

        font-size:
            17px;
    }

    .tyfc-public
    .public-brand
    > .public-brand-copy
    > small {

        display:
            none;
    }

    .tyfc-public
    .public-page-head.public-page-head-v333 {

        border-radius:
            0 0 20px 20px;
    }

    .tyfc-public
    .public-page-head.public-page-head-v333
    h1 {

        font-size:
            clamp(31px, 9vw, 40px);
    }
}


/* ============================================================
   END TYFC V3.51R2
   ============================================================ */


/* ============================================================
   TYFC V3.51R3 — HOME PUBLIC CENTER CONTRAST FIX
   Target:
   .tyfc-home-bottom-cta only

   CSS ONLY
   NO DATABASE CHANGE
   NO QUERY CHANGE
   NO MATCH GENERATION
   ============================================================ */

/*
 * Bottom Public Center CTA uses a dark premium background.
 * Force foreground colors locally so generic public typography
 * cannot make the heading/subtitle unreadable.
 */

.tyfc-public
.tyfc-home-bottom-cta
.box {
    color: #ffffff;
}

.tyfc-public
.tyfc-home-bottom-cta
.tyfc-eyebrow {
    color: #d7ff32 !important;
    opacity: 1;
}

.tyfc-public
.tyfc-home-bottom-cta
h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .18);
}

.tyfc-public
.tyfc-home-bottom-cta
p {
    color: rgba(255, 255, 255, .82) !important;
}

/* Primary Live Score action */

.tyfc-public
.tyfc-home-bottom-cta
.actions
.btn.btn-primary {
    color: #ffffff !important;
}

/*
 * Secondary Media action:
 * make it a visible glass-style button instead of pale text
 * floating on the dark background.
 */

.tyfc-public
.tyfc-home-bottom-cta
.actions
.btn:not(.btn-primary) {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .22);
    box-shadow: none;
}

.tyfc-public
.tyfc-home-bottom-cta
.actions
.btn:not(.btn-primary):hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .17);
    border-color: rgba(255, 255, 255, .34);
}

/* Keep contrast strong on tablet/mobile as well */

@media (max-width: 900px) {

    .tyfc-public
    .tyfc-home-bottom-cta
    h2 {
        color: #ffffff !important;
    }

    .tyfc-public
    .tyfc-home-bottom-cta
    p {
        color: rgba(255, 255, 255, .82) !important;
    }
}

/* ============================================================
   END TYFC V3.51R3
   ============================================================ */


/* ============================================================
   TYFC V3.53B — ADMIN MEDIA ALBUM + MULTI IMAGE UPLOAD
   ============================================================ */

.tyfc-album-page-v353b{
    display:grid;
    gap:22px;
}

.tyfc-album-topbar-v353b{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:26px;
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            #17152b,
            #30205d
        );
    color:#fff;
}

.tyfc-album-topbar-v353b h1{
    margin:5px 0 8px;
    color:#fff;
}

.tyfc-album-topbar-v353b p{
    margin:0;
    color:rgba(255,255,255,.72);
}

.tyfc-album-topbar-v353b .tyfc-eyebrow{
    color:#d7ff32;
}

.tyfc-album-top-actions-v353b{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.tyfc-album-create-v353b,
.tyfc-album-list-v353b,
.tyfc-album-focus-v353b{
    padding:22px;
    border:1px solid #e8e8ef;
    border-radius:20px;
    background:#fff;
}

.tyfc-album-focus-head-v353b{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:18px;
}

.tyfc-album-focus-head-v353b h2{
    margin:4px 0 7px;
}

.tyfc-album-upload-v353b{
    display:flex;
    align-items:end;
    gap:14px;
    padding:16px;
    margin-bottom:20px;
    border:1px dashed #d7d5e4;
    border-radius:15px;
    background:#faf9ff;
}

.tyfc-album-upload-v353b label{
    flex:1;
    display:grid;
    gap:7px;
}

.tyfc-album-upload-v353b input[type=file]{
    width:100%;
}

.tyfc-album-card-grid-v353b{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:16px;
}

.tyfc-album-card-v353b{
    overflow:hidden;
    border:1px solid #e7e7ef;
    border-radius:18px;
    background:#fff;
    text-decoration:none;
    color:inherit;
    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.tyfc-album-card-v353b:hover{
    transform:translateY(-2px);
    box-shadow:
        0 14px 32px rgba(30,24,60,.10);
}

.tyfc-album-card-cover-v353b{
    height:190px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:
        linear-gradient(
            135deg,
            #211a3d,
            #6440c8
        );
    color:#fff;
    font-size:30px;
    font-weight:900;
}

.tyfc-album-card-cover-v353b img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.tyfc-album-card-cover-v353b small{
    display:block;
    margin-top:3px;
    font-size:10px;
    letter-spacing:.14em;
    opacity:.7;
    text-align:center;
}

.tyfc-album-card-body-v353b{
    display:grid;
    gap:7px;
    padding:16px;
}

.tyfc-album-card-body-v353b > span{
    font-size:11px;
    font-weight:900;
    color:#6541c7;
}

.tyfc-album-card-body-v353b h3{
    margin:0;
    font-size:18px;
}

.tyfc-album-card-body-v353b small{
    color:#7b7d89;
}

.tyfc-album-card-body-v353b strong{
    color:#555866;
    font-size:13px;
}

.tyfc-album-photo-grid-v353b{
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:12px;
}

.tyfc-album-photo-v353b{
    overflow:hidden;
    border:1px solid #e7e7ed;
    border-radius:14px;
    background:#fff;
}

.tyfc-album-photo-v353b > img{
    width:100%;
    height:165px;
    object-fit:cover;
    display:block;
}

.tyfc-album-photo-v353b > div{
    display:grid;
    gap:8px;
    padding:11px;
}

.tyfc-album-photo-v353b strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}

.tyfc-album-cover-badge-v353b{
    display:inline-flex;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    background:#eaf9be;
    color:#476900;
    font-size:10px;
    font-weight:900;
}

.tyfc-album-empty-v353b{
    padding:28px;
    border:1px dashed #dedee7;
    border-radius:14px;
    color:#7a7d89;
    text-align:center;
}

.tyfc-media-album-entry-v353b{
    margin-top:22px;
}

@media(max-width:900px){

    .tyfc-album-topbar-v353b,
    .tyfc-album-focus-head-v353b{
        display:grid;
    }

    .tyfc-album-card-grid-v353b{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tyfc-album-photo-grid-v353b{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}

@media(max-width:640px){

    .tyfc-album-topbar-v353b{
        padding:20px 16px;
        border-radius:17px;
    }

    .tyfc-album-top-actions-v353b{
        display:grid;
        grid-template-columns:1fr;
    }

    .tyfc-album-upload-v353b{
        display:grid;
    }

    .tyfc-album-card-grid-v353b{
        grid-template-columns:1fr;
    }

    .tyfc-album-photo-grid-v353b{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tyfc-album-photo-v353b > img{
        height:145px;
    }
}

/* ============================================================
   END TYFC V3.53B
   ============================================================ */


/* ============================================================
   TYFC V3.53C — PUBLIC ALBUM GALLERY + DETAIL
   ============================================================ */

.tyfc-public
.public-album-card-grid-v353c{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:20px;
}

.tyfc-public
.public-album-card-v353c{
    overflow:hidden;
    border:1px solid rgba(25,30,50,.09);
    border-radius:22px;
    background:#fff;
    box-shadow:
        0 12px 32px rgba(22,20,47,.07);
}

.tyfc-public
.public-album-cover-v353c{
    position:relative;
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            #17162f,
            #5133a8
        );
}

.tyfc-public
.public-album-cover-v353c img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .25s ease;
}

.tyfc-public
.public-album-card-v353c:hover
.public-album-cover-v353c img{
    transform:scale(1.025);
}

.tyfc-public
.public-album-placeholder-v353c{
    width:100%;
    height:100%;
    display:grid;
    place-content:center;
    text-align:center;
    color:#fff;
}

.tyfc-public
.public-album-placeholder-v353c strong{
    font-size:34px;
    letter-spacing:.08em;
}

.tyfc-public
.public-album-placeholder-v353c small{
    margin-top:5px;
    font-size:10px;
    letter-spacing:.18em;
    opacity:.7;
}

.tyfc-public
.public-album-type-pill-v353c{
    position:absolute;
    left:14px;
    top:14px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(17,16,37,.82);
    backdrop-filter:blur(10px);
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.tyfc-public
.public-album-card-body-v353c{
    padding:18px;
}

.tyfc-public
.public-album-card-meta-v353c{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
    color:#737687;
    font-size:11px;
    font-weight:800;
}

.tyfc-public
.public-album-card-body-v353c h3{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.35;
    color:#171725;
}

.tyfc-public
.public-album-card-body-v353c p{
    margin:0 0 14px;
    color:#6e7181;
    line-height:1.65;
}

.tyfc-public
.public-album-card-footer-v353c{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:15px;
    padding-top:13px;
    border-top:1px solid #ececf2;
}

.tyfc-public
.public-album-card-footer-v353c strong{
    color:#666978;
    font-size:12px;
}

.tyfc-public
.public-album-card-footer-v353c a{
    color:#5534bd;
    font-weight:900;
    text-decoration:none;
}

.tyfc-public
.public-album-meta-v353c{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.tyfc-public
.public-album-meta-v353c span{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.tyfc-public
.public-album-photo-grid-v353c{
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:14px;
}

.tyfc-public
.public-album-photo-card-v353c{
    overflow:hidden;
    border:1px solid #e8e8ef;
    border-radius:17px;
    background:#fff;
}

.tyfc-public
.public-album-photo-link-v353c{
    position:relative;
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#efeff4;
}

.tyfc-public
.public-album-photo-link-v353c img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .2s ease;
}

.tyfc-public
.public-album-photo-card-v353c:hover
.public-album-photo-link-v353c img{
    transform:scale(1.025);
}

.tyfc-public
.public-album-cover-pill-v353c{
    position:absolute;
    top:10px;
    left:10px;
    padding:5px 8px;
    border-radius:999px;
    background:#d7ff32;
    color:#243000;
    font-size:9px;
    font-weight:950;
}

.tyfc-public
.public-album-photo-actions-v353c{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:10px 12px;
}

.tyfc-public
.public-album-photo-actions-v353c a{
    color:#5636bb;
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}

.tyfc-public
.public-standalone-media-v353c{
    margin-top:8px;
}

@media(max-width:1000px){

    .tyfc-public
    .public-album-card-grid-v353c{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tyfc-public
    .public-album-photo-grid-v353c{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}

@media(max-width:640px){

    .tyfc-public
    .public-album-card-grid-v353c{
        grid-template-columns:1fr;
    }

    .tyfc-public
    .public-album-photo-grid-v353c{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .tyfc-public
    .public-album-photo-actions-v353c{
        display:grid;
    }

    .tyfc-public
    .public-album-card-body-v353c{
        padding:15px;
    }
}

/* ============================================================
   END TYFC V3.53C
   ============================================================ */


/* ============================================================
   TYFC V3.53D — ADMIN ALBUM MANAGEMENT FINAL
   ============================================================ */

.tyfc-album-manage-v353d{
    margin-bottom:20px;
    padding:18px;
    border:1px solid #e6e5ee;
    border-radius:17px;
    background:#fafaff;
}

.tyfc-album-manage-head-v353d{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    margin-bottom:16px;
}

.tyfc-album-manage-head-v353d h3{
    margin:4px 0 0;
}

.tyfc-album-status-v353d{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.tyfc-album-status-v353d span{
    padding:6px 9px;
    border-radius:999px;
    background:#ece9fa;
    color:#5536b0;
    font-size:10px;
    font-weight:900;
}

.tyfc-album-edit-form-v353d{
    display:grid;
    gap:15px;
}

.tyfc-album-admin-actions-v353d{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:15px;
    padding-top:14px;
    border-top:1px solid #e7e6ef;
}

.tyfc-album-item-manager-v353d,
.tyfc-album-trash-v353d{
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid #ececf1;
}

.tyfc-album-admin-thumb-v353d{
    width:90px;
    height:68px;
    object-fit:cover;
    border-radius:9px;
    display:block;
}

.tyfc-item-edit-v353d{
    min-width:260px;
    display:grid;
    gap:7px;
}

.tyfc-item-edit-v353d input,
.tyfc-item-edit-v353d textarea{
    width:100%;
    box-sizing:border-box;
}

.tyfc-sort-actions-v353d{
    display:flex;
    gap:5px;
}

.tyfc-album-trash-grid-v353d{
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:12px;
}

.tyfc-album-trash-grid-v353d article{
    overflow:hidden;
    display:grid;
    gap:9px;
    padding:10px;
    border:1px solid #e8e7ef;
    border-radius:13px;
    background:#fff;
}

.tyfc-album-trash-grid-v353d img{
    width:100%;
    height:120px;
    object-fit:cover;
    border-radius:9px;
}

.tyfc-album-trash-grid-v353d strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}

@media(max-width:900px){

    .tyfc-album-trash-grid-v353d{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){

    .tyfc-album-manage-head-v353d{
        display:grid;
    }

    .tyfc-album-admin-actions-v353d{
        display:grid;
    }

    .tyfc-album-trash-grid-v353d{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tyfc-item-edit-v353d{
        min-width:190px;
    }
}

/* ============================================================
   END TYFC V3.53D
   ============================================================ */


/* ============================================================
   TYFC V3.54B — GRAPHIC CENTER / MATCH DAY TEMPLATE V1
   ============================================================ */

.tyfc-graphic-center-v354b{
    display:grid;
    gap:22px;
}

.tyfc-graphic-head-v354b{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:24px;
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            #18142d,
            #37206c
        );
    color:#fff;
}

.tyfc-graphic-head-v354b h1{
    margin:5px 0 8px;
    color:#fff;
}

.tyfc-graphic-head-v354b p{
    margin:0;
    color:rgba(255,255,255,.68);
}

.tyfc-graphic-mode-v354b{
    padding:8px 12px;
    border-radius:999px;
    background:#d7ff32;
    color:#252b00;
    font-size:11px;
    font-weight:950;
}

.tyfc-graphic-workspace-v354b{
    display:grid;
    grid-template-columns:
        minmax(300px,380px)
        minmax(0,1fr);
    gap:20px;
    align-items:start;
}

.tyfc-graphic-controls-v354b{
    padding:20px;
    border:1px solid #e8e7ee;
    border-radius:20px;
    background:#fff;
    position:sticky;
    top:18px;
}

.tyfc-graphic-field-v354b{
    display:grid;
    gap:6px;
    margin-bottom:14px;
}

.tyfc-graphic-field-v354b label{
    font-size:12px;
    font-weight:850;
    color:#555768;
}

.tyfc-graphic-field-v354b input,
.tyfc-graphic-field-v354b select{
    width:100%;
    min-height:43px;
    box-sizing:border-box;
}

.tyfc-graphic-control-grid-v354b{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.tyfc-graphic-actions-v354b{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:18px;
}

.tyfc-graphic-safe-v354b{
    display:grid;
    gap:4px;
    margin-top:15px;
    padding:12px;
    border-radius:12px;
    background:#f4f3fa;
}

.tyfc-graphic-safe-v354b strong{
    color:#5f41bf;
    font-size:10px;
}

.tyfc-graphic-safe-v354b span{
    color:#777988;
    font-size:11px;
}

.tyfc-graphic-preview-shell-v354b{
    overflow:hidden;
    border:1px solid #e7e6ee;
    border-radius:20px;
    background:#fff;
}

.tyfc-graphic-preview-toolbar-v354b{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:14px 17px;
    border-bottom:1px solid #ecebf1;
}

.tyfc-graphic-preview-toolbar-v354b > div{
    display:grid;
    gap:2px;
}

.tyfc-graphic-preview-toolbar-v354b strong{
    font-size:12px;
}

.tyfc-graphic-preview-toolbar-v354b span{
    color:#858795;
    font-size:10px;
}

.tyfc-graphic-live-badge-v354b{
    padding:6px 9px;
    border-radius:999px;
    background:#eff9cb;
    color:#536d00 !important;
    font-weight:900;
}

.tyfc-graphic-canvas-wrap-v354b{
    display:flex;
    justify-content:center;
    padding:20px;
    background:
        linear-gradient(
            45deg,
            #f2f2f5 25%,
            transparent 25%
        ),
        linear-gradient(
            -45deg,
            #f2f2f5 25%,
            transparent 25%
        ),
        linear-gradient(
            45deg,
            transparent 75%,
            #f2f2f5 75%
        ),
        linear-gradient(
            -45deg,
            transparent 75%,
            #f2f2f5 75%
        );
    background-size:20px 20px;
    background-position:
        0 0,
        0 10px,
        10px -10px,
        -10px 0;
}

.tyfc-graphic-canvas-wrap-v354b canvas{
    display:block;
    width:min(100%,540px);
    height:auto;
    aspect-ratio:4/5;
    box-shadow:
        0 22px 55px rgba(18,16,40,.20);
}

@media(max-width:1050px){

    .tyfc-graphic-workspace-v354b{
        grid-template-columns:1fr;
    }

    .tyfc-graphic-controls-v354b{
        position:static;
    }
}

@media(max-width:640px){

    .tyfc-graphic-head-v354b{
        display:grid;
    }

    .tyfc-graphic-control-grid-v354b,
    .tyfc-graphic-actions-v354b{
        grid-template-columns:1fr;
    }

    .tyfc-graphic-canvas-wrap-v354b{
        padding:10px;
    }
}

/* ============================================================
   END TYFC V3.54B
   ============================================================ */


/* ============================================================
   TYFC V3.54C — MATCH DAY PREMIUM ASSET PICKER
   ============================================================ */

.tyfc-graphic-center-v354c .tyfc-graphic-controls-v354b{
    display:grid;
    gap:0;
}

.tyfc-graphic-dual-v354c{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:12px;
}

.tyfc-graphic-side-v354c{
    padding:14px;
    border:1px solid #e9e7f1;
    border-radius:16px;
    background:#fafaff;
}

.tyfc-graphic-side-head-v354c{
    margin-bottom:12px;
    font-size:12px;
    font-weight:900;
    color:#5536b0;
}

.tyfc-graphic-center-v354c .gc-media-picker small{
    color:#7a7c88;
    font-size:11px;
}

.tyfc-graphic-center-v354c .tyfc-graphic-field-v354b{
    margin-bottom:12px;
}

.tyfc-graphic-center-v354c .tyfc-graphic-field-v354b input,
.tyfc-graphic-center-v354c .tyfc-graphic-field-v354b select{
    border-radius:12px;
}

@media(max-width:640px){
    .tyfc-graphic-dual-v354c{
        grid-template-columns:1fr;
    }
}

/* ============================================================
   END TYFC V3.54C
   ============================================================ */


/* ============================================================
   TYFC V3.54D — PREMIER MATCH DAY COMPOSER
   ============================================================ */

.tyfc-premier-composer-v354d{
    display:grid;
    gap:20px;
}

.tyfc-premier-head-v354d{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    padding:24px;
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            #151126,
            #37165e
        );
    color:#fff;
}

.tyfc-premier-head-v354d h1{
    margin:5px 0 7px;
    color:#fff;
}

.tyfc-premier-head-v354d p{
    max-width:700px;
    margin:0;
    color:rgba(255,255,255,.68);
}

.tyfc-premier-head-badges-v354d{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.tyfc-premier-head-badges-v354d span{
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.tyfc-premier-head-badges-v354d span:last-child{
    background:#d7ff32;
    color:#283000;
}

.tyfc-premier-layout-v354d{
    display:grid;
    grid-template-columns:
        minmax(320px,400px)
        minmax(0,1fr);
    gap:20px;
    align-items:start;
}

.tyfc-premier-controls-v354d{
    display:grid;
    gap:14px;
}

.tyfc-premier-panel-v354d{
    padding:18px;
    border:1px solid #e7e5ee;
    border-radius:18px;
    background:#fff;
}

.tyfc-premier-team-title-v354d{
    margin:-4px 0 16px;
    padding:8px 10px;
    border-radius:10px;
    font-size:11px;
    font-weight:950;
}

.tyfc-premier-team-title-v354d.home{
    background:#efeaff;
    color:#5135ae;
}

.tyfc-premier-team-title-v354d.away{
    background:#f6e9f3;
    color:#8a305f;
}

.tyfc-premier-field-v354d{
    display:grid;
    gap:6px;
    margin-bottom:12px;
}

.tyfc-premier-field-v354d > span{
    color:#555767;
    font-size:11px;
    font-weight:850;
}

.tyfc-premier-field-v354d input,
.tyfc-premier-field-v354d select{
    width:100%;
    min-height:42px;
    box-sizing:border-box;
}

.tyfc-premier-field-v354d input[type=file]{
    min-height:unset;
    padding:8px;
    border:1px solid #dddce5;
    border-radius:10px;
}

.tyfc-premier-field-v354d small{
    color:#858694;
    font-size:10px;
    line-height:1.45;
}

.tyfc-premier-grid2-v354d{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.tyfc-premier-actions-v354d{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:14px;
}

.tyfc-premier-ai-note-v354d{
    display:grid;
    gap:4px;
    margin-top:14px;
    padding:12px;
    border-radius:12px;
    background:#f0f7d8;
}

.tyfc-premier-ai-note-v354d strong{
    color:#566d08;
    font-size:10px;
}

.tyfc-premier-ai-note-v354d span{
    color:#6e7658;
    font-size:11px;
    line-height:1.5;
}

.tyfc-premier-preview-v354d{
    overflow:hidden;
    position:sticky;
    top:18px;
    border:1px solid #e6e5eb;
    border-radius:20px;
    background:#fff;
}

.tyfc-premier-preview-bar-v354d{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:13px 16px;
    border-bottom:1px solid #ecebf0;
}

.tyfc-premier-preview-bar-v354d > div{
    display:grid;
    gap:2px;
}

.tyfc-premier-preview-bar-v354d strong{
    font-size:11px;
}

.tyfc-premier-preview-bar-v354d span{
    color:#888995;
    font-size:10px;
}

.tyfc-premier-live-v354d{
    padding:5px 8px;
    border-radius:999px;
    background:#eaf6c5;
    color:#516800 !important;
    font-weight:900;
}

.tyfc-premier-canvas-wrap-v354d{
    display:flex;
    justify-content:center;
    padding:20px;
    background:#efeff3;
}

.tyfc-premier-canvas-wrap-v354d canvas{
    display:block;
    width:min(100%,594px);
    height:auto;
    aspect-ratio:4/5;
    background:#111;
    box-shadow:
        0 20px 55px rgba(16,14,35,.22);
}

@media(max-width:1100px){

    .tyfc-premier-layout-v354d{
        grid-template-columns:1fr;
    }

    .tyfc-premier-preview-v354d{
        position:static;
    }
}

@media(max-width:640px){

    .tyfc-premier-head-v354d{
        display:grid;
    }

    .tyfc-premier-grid2-v354d,
    .tyfc-premier-actions-v354d{
        grid-template-columns:1fr;
    }

    .tyfc-premier-canvas-wrap-v354d{
        padding:8px;
    }
}

/* ============================================================
   END TYFC V3.54D
   ============================================================ */


/* ============================================================
   TYFC V3.54E — GRAPHIC SAVE / MEDIA PUBLISH FLOW
   ============================================================ */

.tyfc-graphic-save-panel-v354e{
    display:grid;
    gap:10px;
    margin-top:16px;
    padding:14px;
    border:1px solid #e5e3ee;
    border-radius:14px;
    background:#fafaff;
}

.tyfc-graphic-save-panel-v354e > div:first-child{
    display:grid;
    gap:3px;
}

.tyfc-graphic-save-panel-v354e > div:first-child strong{
    color:#5636b6;
    font-size:10px;
}

.tyfc-graphic-save-panel-v354e > div:first-child span{
    color:#747683;
    font-size:11px;
}

.tyfc-graphic-save-panel-v354e label{
    display:grid;
    gap:5px;
    color:#555765;
    font-size:11px;
    font-weight:800;
}

.tyfc-graphic-save-panel-v354e input,
.tyfc-graphic-save-panel-v354e textarea,
.tyfc-graphic-save-panel-v354e select{
    width:100%;
    box-sizing:border-box;
}

.tyfc-graphic-save-status-v354e{
    min-height:18px;
    color:#737582;
    font-size:11px;
}

.tyfc-graphic-save-status-v354e.success{
    color:#3c7200;
    font-weight:800;
}

.tyfc-graphic-save-status-v354e.error{
    color:#b42318;
    font-weight:800;
}

/* ============================================================
   END TYFC V3.54E
   ============================================================ */


/* ============================================================
   TYFC V3.54F — PRO COMPOSITING / SMOOTH PLAYER BLEND
   ============================================================ */

.tyfc-smooth-panel-v354f{
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #faf9ff
        );
}

.tyfc-smooth-panel-v354f
.tyfc-premier-field-v354d > span{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.tyfc-smooth-panel-v354f
.tyfc-premier-field-v354d > span b{
    color:#5d3bc2;
}

.tyfc-smooth-panel-v354f
input[type=range]{
    min-height:unset;
    padding:0;
    accent-color:#5e3bc4;
}

.tyfc-tuning-grid-v354f{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:9px;
}

.tyfc-tuning-card-v354f{
    display:grid;
    gap:7px;
    padding:10px;
    border:1px solid #e6e4ef;
    border-radius:12px;
    background:#fff;
}

.tyfc-tuning-card-v354f > strong{
    color:#5b3db5;
    font-size:9px;
    letter-spacing:.04em;
}

.tyfc-tuning-card-v354f label{
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:center;
    gap:6px;
    color:#747684;
    font-size:9px;
    font-weight:800;
}

.tyfc-smooth-help-v354f{
    display:block;
    margin-top:11px;
    color:#858694;
    font-size:10px;
    line-height:1.5;
}

@media(max-width:640px){

    .tyfc-tuning-grid-v354f{
        grid-template-columns:1fr;
    }
}

/* ============================================================
   END TYFC V3.54F
   ============================================================ */


/* ============================================================
   TYFC V3.54G — VISUAL POLISH FINAL
   ============================================================ */

.tyfc-preset-hint-v354g{
    display:block;
    color:#7b7d89;
    font-size:10px;
    line-height:1.5;
}

.tyfc-premier-canvas-wrap-v354d{
    background:
        linear-gradient(
            180deg,
            #ececf2,
            #e7e7ef
        );
}

.tyfc-premier-canvas-wrap-v354d canvas{
    border-radius:14px;
}

.tyfc-graphic-save-panel-v354e{
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.35);
}

/* ============================================================
   END TYFC V3.54G
   ============================================================ */


/* ============================================================
   TYFC V3.55B — MULTI TEMPLATE ENGINE
   ============================================================ */

.tyfc-template-selector-v355b{
    padding:12px;
    border:1px solid #ddd9ed;
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            #f8f6ff,
            #fff
        );
}

.tyfc-template-selector-v355b > span{
    color:#5133ad !important;
    font-size:12px !important;
    font-weight:950 !important;
}

.tyfc-template-selector-v355b select{
    border:1px solid #cfc8e5;
    background:#fff;
    font-weight:900;
}

.tyfc-template-options-v355b{
    background:
        linear-gradient(
            180deg,
            #fff,
            #faf9ff
        );
}

.tyfc-template-option-block-v355b{
    display:grid;
    gap:8px;
}

.tyfc-template-warning-v355b{
    display:block;
    padding:9px 10px;
    border-radius:10px;
    background:#fff6db;
    color:#806000;
    font-size:10px;
    line-height:1.5;
}

.tyfc-template-option-block-v355b[hidden]{
    display:none !important;
}

/* ============================================================
   END TYFC V3.55B
   ============================================================ */


/* ============================================================
   TYFC V3.55C — POSTER TYPOGRAPHY PRO
   ============================================================ */

.tyfc-type-panel-v355c{
    background:
        linear-gradient(
            180deg,
            #fff,
            #f8f6ff
        );
}

.tyfc-type-panel-v355c
input[type=range]{
    min-height:unset;
    padding:0;
    accent-color:#5c3bc4;
}

.tyfc-type-panel-v355c
.tyfc-premier-field-v354d > span{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.tyfc-type-panel-v355c
.tyfc-premier-field-v354d > span b{
    color:#5c39ba;
}

.tyfc-type-note-v355c{
    display:grid;
    gap:4px;
    margin-top:12px;
    padding:11px;
    border-radius:11px;
    background:#171326;
}

.tyfc-type-note-v355c strong{
    color:#d7ff32;
    font-size:10px;
}

.tyfc-type-note-v355c span{
    color:rgba(255,255,255,.67);
    font-size:10px;
    line-height:1.5;
}

/* ============================================================
   END TYFC V3.55C
   ============================================================ */



/* ============================================================
   TYFC V3.57A-R1 — GLOBAL MOBILE ADMIN NAV
   ============================================================ */


/* ============================================================
   TYFC V3.57A-R1 — GLOBAL MOBILE ADMIN NAV
   ============================================================ */

.tyfc-global-menu-toggle{
    display:none;
}

.tyfc-global-sidebar-overlay{
    display:none;
}

@media (max-width:800px){

    /*
     * Shared mobile trigger.
     */
    .tyfc-global-menu-toggle{
        position:fixed;
        top:14px;
        left:14px;
        z-index:1305;

        width:44px;
        height:44px;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;

        padding:0;

        border:1px solid rgba(255,255,255,.16);
        border-radius:13px;

        background:
            linear-gradient(
                145deg,
                #6f46f5,
                #4821c5
            );

        box-shadow:
            0 9px 25px rgba(55,32,143,.28);

        cursor:pointer;

        -webkit-tap-highlight-color:transparent;
    }

    .tyfc-global-menu-toggle span{
        display:block;

        width:20px;
        height:2px;

        border-radius:99px;

        background:#fff;

        transition:
            transform .18s ease,
            opacity .18s ease;
    }

    .tyfc-global-menu-toggle.is-open span:nth-child(1){
        transform:
            translateY(7px)
            rotate(45deg);
    }

    .tyfc-global-menu-toggle.is-open span:nth-child(2){
        opacity:0;
    }

    .tyfc-global-menu-toggle.is-open span:nth-child(3){
        transform:
            translateY(-7px)
            rotate(-45deg);
    }


    /*
     * Sidebar closed by default on mobile.
     */
    .tyfc-sidebar{
        z-index:1300 !important;

        width:min(286px,86vw) !important;

        transform:
            translateX(-105%) !important;

        transition:
            transform .22s ease !important;

        box-shadow:
            20px 0 55px rgba(5,7,20,.28);
    }

    /*
     * Shared open state.
     */
    .tyfc-sidebar.tyfc-mobile-open{
        transform:
            translateX(0) !important;
    }


    /*
     * Backdrop.
     */
    .tyfc-global-sidebar-overlay{
        position:fixed;
        inset:0;

        z-index:1290;

        display:block;

        background:
            rgba(10,12,26,.52);

        opacity:0;
        visibility:hidden;

        pointer-events:none;

        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);

        transition:
            opacity .2s ease,
            visibility .2s ease;
    }

    .tyfc-global-sidebar-overlay.tyfc-mobile-open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }


    /*
     * Stop background scrolling while menu is open.
     */
    body.tyfc-mobile-menu-open{
        overflow:hidden;
    }


    /*
     * Main content fills viewport on mobile.
     */
    .tyfc-main{
        width:100% !important;
        margin-left:0 !important;
    }


    /*
     * Give shared top bars enough left room
     * for the global hamburger button.
     */
    .tyfc-topbar{
        padding-left:70px !important;
    }


    /*
     * Dashboard already has its old local hamburger.
     * Hide it — global trigger is now source of truth.
     */
    #tyfcMenuToggle{
        display:none !important;
    }

    /*
     * Old Dashboard overlay is no longer needed.
     */
    #tyfcSidebarOverlay{
        display:none !important;
    }
}



/* ============================================================
   TYFC V3.57B-R1 — USERS MANAGEMENT COMPLETE
   ============================================================ */

.tyfc-user-admin-v357,
.tyfc-user-form-page-v357{
    width:100%;
}

.tyfc-user-kpi-v357{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:20px 0;
}

.tyfc-user-kpi-v357 article{
    min-height:105px;
    padding:18px;
    border:1px solid #e7e8ef;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(22,25,43,.04);
}

.tyfc-user-kpi-v357 span{
    display:block;
    color:#8c8d99;
    font-size:10px;
    font-weight:850;
    letter-spacing:.08em;
}

.tyfc-user-kpi-v357 strong{
    display:block;
    margin-top:7px;
    color:#171923;
    font-size:30px;
    line-height:1;
}

.tyfc-user-kpi-v357 small{
    display:block;
    margin-top:8px;
    color:#999aa4;
    font-size:11px;
}

.tyfc-user-directory-v357,
.tyfc-user-form-v357{
    overflow:hidden;
    border:1px solid #e7e8ef;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(20,24,42,.045);
}

.tyfc-user-directory-v357 .tyfc-panel-head{
    padding:18px 20px;
}

.tyfc-user-cell-v357{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:180px;
}

.tyfc-user-cell-v357 strong{
    display:block;
    font-size:13px;
}

.tyfc-user-cell-v357 small{
    display:block;
    margin-top:2px;
    color:#9899a3;
    font-size:10px;
}

.tyfc-user-status-v357{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border-radius:999px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
}

.tyfc-user-status-v357.active{
    background:#e8f8ef;
    color:#117b45;
}

.tyfc-user-status-v357.inactive{
    background:#f1f2f5;
    color:#727580;
}

.tyfc-user-status-v357.blocked{
    background:#fff0f0;
    color:#ba3030;
}

.tyfc-user-actions-v357{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
}

.tyfc-user-actions-v357 form{
    margin:0;
}

.tyfc-btn-danger-v357{
    border-color:#f0c9c9 !important;
    color:#b52c2c !important;
    background:#fff7f7 !important;
}


/* ---------- FORM ---------- */

.tyfc-user-form-v357{
    max-width:980px;
    padding:24px;
}

.tyfc-user-form-grid-v357{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.tyfc-user-form-grid-v357 label{
    display:block;
}

.tyfc-user-form-grid-v357 label > span{
    display:block;
    margin-bottom:7px;
    color:#373846;
    font-size:12px;
    font-weight:800;
}

.tyfc-user-form-grid-v357 input,
.tyfc-user-form-grid-v357 select{
    width:100%;
    min-height:43px;
    box-sizing:border-box;
    padding:10px 12px;
    border:1px solid #dfe1e8;
    border-radius:10px;
    background:#fff;
    color:#1a1c28;
    outline:none;
}

.tyfc-user-form-grid-v357 input:focus,
.tyfc-user-form-grid-v357 select:focus{
    border-color:#7357df;
    box-shadow:0 0 0 3px rgba(99,70,210,.09);
}

.tyfc-user-form-grid-v357 small{
    display:block;
    margin-top:5px;
    color:#999aa5;
    font-size:10px;
}

.tyfc-user-role-section-v357{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #eeeeF2;
}

.tyfc-user-role-section-v357 h2{
    margin:4px 0 14px;
    font-size:18px;
}

.tyfc-user-role-grid-v357{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.tyfc-user-role-card-v357{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:13px;
    border:1px solid #e5e5ec;
    border-radius:12px;
    background:#fafafd;
    cursor:pointer;
}

.tyfc-user-role-card-v357:has(input:checked){
    border-color:#765de4;
    background:#f4f1ff;
}

.tyfc-user-role-card-v357 input{
    margin-top:3px;
}

.tyfc-user-role-card-v357 strong{
    display:block;
    font-size:12px;
}

.tyfc-user-role-card-v357 small{
    display:block;
    margin-top:3px;
    color:#9798a3;
    font-size:9px;
}

.tyfc-user-form-actions-v357{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
}


/* ---------- MOBILE ---------- */

@media(max-width:800px){

    .tyfc-user-kpi-v357{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-user-kpi-v357 article:first-child{
        grid-column:1 / -1;
    }

    .tyfc-user-form-v357{
        padding:17px;
    }

    .tyfc-user-form-grid-v357{
        grid-template-columns:1fr;
        gap:14px;
    }

    .tyfc-user-role-grid-v357{
        grid-template-columns:1fr 1fr;
    }

    .tyfc-user-actions-v357{
        min-width:210px;
    }
}

@media(max-width:520px){

    .tyfc-user-role-grid-v357{
        grid-template-columns:1fr;
    }

    .tyfc-user-kpi-v357{
        grid-template-columns:1fr;
    }

    .tyfc-user-kpi-v357 article:first-child{
        grid-column:auto;
    }
}


/* =========================================================
   TYFC V3.58B1-R3
   PLAYER IDENTITY DOCUMENT UI
   ========================================================= */

.tyfc-player-id-panel {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(15, 23, 42, .94),
            rgba(30, 41, 59, .84)
        );
    box-shadow:
        0 14px 34px rgba(15, 23, 42, .14);
}

.tyfc-player-id-panel-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tyfc-player-id-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 20px;
    font-weight: 900;
    background: rgba(148, 163, 184, .12);
    border: 1px solid rgba(148, 163, 184, .22);
}

.tyfc-player-id-copy {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tyfc-player-id-copy small {
    font-size: 10px;
    letter-spacing: .13em;
    font-weight: 800;
    opacity: .58;
}

.tyfc-player-id-copy strong {
    font-size: 14px;
    line-height: 1.25;
}

.tyfc-player-id-copy span {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.45;
    opacity: .72;
}

.tyfc-player-id-status-chip {
    flex: 0 0 auto;
    padding: 7px 9px;
    border-radius: 999px;
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    border: 1px solid rgba(148, 163, 184, .26);
    background: rgba(148, 163, 184, .1);
}

.tyfc-player-id-panel.is-missing
.tyfc-player-id-icon,
.tyfc-player-id-status-chip.is-missing {
    background: rgba(245, 158, 11, .14);
    border-color: rgba(245, 158, 11, .3);
}

.tyfc-player-id-panel.is-pending
.tyfc-player-id-icon,
.tyfc-player-id-status-chip.is-pending {
    background: rgba(59, 130, 246, .14);
    border-color: rgba(59, 130, 246, .3);
}

.tyfc-player-id-panel.is-verified
.tyfc-player-id-icon,
.tyfc-player-id-status-chip.is-verified {
    background: rgba(34, 197, 94, .14);
    border-color: rgba(34, 197, 94, .3);
}

.tyfc-player-id-panel.is-rejected
.tyfc-player-id-icon,
.tyfc-player-id-status-chip.is-rejected {
    background: rgba(239, 68, 68, .14);
    border-color: rgba(239, 68, 68, .3);
}

.tyfc-player-id-form {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, .17);
}

.tyfc-player-id-upload-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.tyfc-player-id-file-picker {
    position: relative;
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 13px;
    cursor: pointer;
    overflow: hidden;
    border: 1px dashed rgba(148, 163, 184, .36);
    background: rgba(255, 255, 255, .035);
    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.tyfc-player-id-file-picker:hover {
    transform: translateY(-1px);
    border-color: rgba(148, 163, 184, .68);
    background: rgba(255, 255, 255, .055);
}

.tyfc-player-id-file-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 400;
    background: rgba(255, 255, 255, .07);
}

.tyfc-player-id-file-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.tyfc-player-id-file-text b {
    font-size: 12px;
}

.tyfc-player-id-file-text small {
    margin-top: 2px;
    font-size: 10px;
    opacity: .58;
}

.tyfc-player-id-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.tyfc-player-id-submit {
    flex: 0 0 auto;
    min-width: 124px;
    border-radius: 13px;
    font-weight: 800;
}

.tyfc-player-id-help {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 10px;
    opacity: .55;
}

.tyfc-player-id-review-note {
    margin-top: 12px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-radius: 12px;
    background: rgba(239, 68, 68, .09);
    border: 1px solid rgba(239, 68, 68, .2);
}

.tyfc-player-id-review-note b {
    font-size: 11px;
}

.tyfc-player-id-review-note span {
    font-size: 12px;
    opacity: .82;
}

.tyfc-player-id-closed {
    margin-top: 14px;
    padding: 10px 12px;
    border-radius: 12px;
    text-align: center;
    font-size: 11px;
    font-weight: 800;
    background: rgba(148, 163, 184, .1);
}

@media (max-width: 640px) {

    .tyfc-player-id-panel {
        padding: 13px;
        border-radius: 15px;
    }

    .tyfc-player-id-status-chip {
        display: none;
    }

    .tyfc-player-id-upload-row {
        flex-direction: column;
    }

    .tyfc-player-id-submit {
        width: 100%;
    }
}


/* ==========================================================
   TYFC V3.58B1-R3R4
   PLAYER IDENTITY — CLEAN CARD UI
   ========================================================== */

/*
 * Identity document must stay INSIDE player card.
 * Never float / overlay other players.
 */
.tyfc-player-id-panel {
    position: static !important;
    inset: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 14px 0 0 !important;
    padding: 14px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    border: 1px solid #e8e8f2 !important;
    border-radius: 14px !important;

    box-shadow: none !important;

    color: #242437 !important;

    overflow: hidden !important;
    transform: none !important;
    z-index: auto !important;
}

/* ----------------------------------------------------------
   Header
   ---------------------------------------------------------- */

.tyfc-player-id-panel-head {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
    margin: 0 !important;
}

.tyfc-player-id-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    flex: 0 0 34px !important;

    border-radius: 10px !important;

    font-size: 17px !important;
    font-weight: 800 !important;

    background: #f3f1ff !important;
    color: #6547db !important;
}

.tyfc-player-id-copy {
    min-width: 0 !important;
}

.tyfc-player-id-copy small {
    display: block !important;

    margin: 0 0 2px !important;

    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;

    color: #8b8b9b !important;
}

.tyfc-player-id-copy strong {
    display: block !important;

    margin: 0 !important;

    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;

    color: #202033 !important;
}

.tyfc-player-id-copy span {
    display: block !important;

    margin-top: 2px !important;

    font-size: 11px !important;
    line-height: 1.45 !important;

    color: #747486 !important;
}

/* ----------------------------------------------------------
   Small status chip
   ---------------------------------------------------------- */

.tyfc-player-id-status-chip {
    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 0 !important;

    padding: 5px 8px !important;

    border-radius: 999px !important;

    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;

    white-space: nowrap !important;
}

/* ----------------------------------------------------------
   Upload form
   ---------------------------------------------------------- */

.tyfc-player-id-form {
    display: block !important;

    width: 100% !important;
    margin: 12px 0 0 !important;
}

.tyfc-player-id-upload-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: stretch !important;

    width: 100% !important;
}

/* Big, obvious file picker */
.tyfc-player-id-file-picker {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;

    padding: 9px 11px !important;

    box-sizing: border-box !important;

    border: 1px dashed #bcb8d8 !important;
    border-radius: 10px !important;

    background: #faf9ff !important;

    cursor: pointer !important;

    overflow: hidden !important;
}

.tyfc-player-id-file-picker:hover {
    border-color: #7357df !important;
    background: #f6f3ff !important;
}

.tyfc-player-id-file-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 28px !important;
    height: 28px !important;

    flex: 0 0 28px !important;

    margin-right: 9px !important;

    border-radius: 8px !important;

    background: #ece8ff !important;
    color: #6547db !important;

    font-size: 18px !important;
    font-weight: 700 !important;
}

.tyfc-player-id-file-text {
    display: block !important;
    min-width: 0 !important;
}

.tyfc-player-id-file-text b {
    display: block !important;

    font-size: 12px !important;
    line-height: 1.3 !important;

    color: #29283d !important;
}

.tyfc-player-id-file-text small {
    display: block !important;

    margin-top: 2px !important;

    font-size: 9px !important;
    line-height: 1.2 !important;

    color: #858496 !important;
}

.tyfc-player-id-file-input {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    opacity: 0 !important;
    pointer-events: none !important;
}

/* Clear upload CTA */
.tyfc-player-id-submit {
    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 92px !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 14px !important;

    border-radius: 10px !important;

    white-space: nowrap !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    transform: none !important;
}

/* ----------------------------------------------------------
   Help / deadline
   ---------------------------------------------------------- */

.tyfc-player-id-help {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 6px !important;

    margin-top: 7px !important;

    font-size: 9px !important;
    line-height: 1.35 !important;

    color: #9393a2 !important;
}

.tyfc-player-id-review-note {
    display: block !important;

    margin-top: 10px !important;
    padding: 9px 10px !important;

    border-radius: 9px !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
}

.tyfc-player-id-review-note b,
.tyfc-player-id-review-note span {
    display: block !important;
}

.tyfc-player-id-closed {
    margin-top: 10px !important;
    padding: 9px 10px !important;

    border-radius: 9px !important;

    font-size: 11px !important;
    text-align: center !important;
}

/* ----------------------------------------------------------
   Status states — subtle, never dark overlay
   ---------------------------------------------------------- */

.tyfc-player-id-panel.is-missing {
    border-color: #e4dcb8 !important;
    background: #fffefa !important;
}

.tyfc-player-id-panel.is-pending {
    border-color: #d9d2f7 !important;
    background: #fdfcff !important;
}

.tyfc-player-id-panel.is-verified {
    border-color: #cfe8da !important;
    background: #fbfffd !important;
}

.tyfc-player-id-panel.is-rejected {
    border-color: #efd1d1 !important;
    background: #fffafa !important;
}

/* ----------------------------------------------------------
   Tablet / narrow player card
   ---------------------------------------------------------- */

@media (max-width: 1200px) {

    .tyfc-player-id-upload-row {
        grid-template-columns: 1fr !important;
    }

    .tyfc-player-id-submit {
        width: 100% !important;
        min-height: 38px !important;
    }
}

@media (max-width: 680px) {

    .tyfc-player-id-panel {
        padding: 12px !important;
    }

    .tyfc-player-id-panel-head {
        grid-template-columns: 34px minmax(0, 1fr) !important;
    }

    .tyfc-player-id-status-chip {
        grid-column: 2 !important;
        justify-self: start !important;
    }
}

/* ==========================================================
   END V3.58B1-R3R4
   ========================================================== */


/* ==========================================================
   TYFC V3.58B1-R4
   TEAM PLAYER CARD — QUICK CLEANUP
   ========================================================== */

/* Old large document panel is no longer used here */
.tyfc-player-id-panel,
.tyfc-player-id-form {
    display: none !important;
}

/* Compact document status */
.tyfc-player-id-mini {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;

    max-width: 100% !important;

    margin: 10px 0 4px !important;
    padding: 6px 10px !important;

    box-sizing: border-box !important;

    border: 1px solid #e7e6ee !important;
    border-radius: 999px !important;

    background: #fafafe !important;

    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;

    color: #565568 !important;

    white-space: nowrap !important;
}

.tyfc-player-id-mini-dot {
    display: block !important;

    width: 7px !important;
    height: 7px !important;

    flex: 0 0 7px !important;

    border-radius: 50% !important;

    background: #a9a8b2 !important;
}

.tyfc-player-id-mini.is-missing {
    background: #fffaf0 !important;
    border-color: #eadfb8 !important;
}

.tyfc-player-id-mini.is-missing
.tyfc-player-id-mini-dot {
    background: #c79b28 !important;
}

.tyfc-player-id-mini.is-pending {
    background: #f7f5ff !important;
    border-color: #dcd5f8 !important;
}

.tyfc-player-id-mini.is-pending
.tyfc-player-id-mini-dot {
    background: #7255d9 !important;
}

.tyfc-player-id-mini.is-verified {
    background: #f4fbf7 !important;
    border-color: #cfe8d9 !important;
}

.tyfc-player-id-mini.is-verified
.tyfc-player-id-mini-dot {
    background: #36955f !important;
}

.tyfc-player-id-mini.is-rejected {
    background: #fff6f6 !important;
    border-color: #efcfcf !important;
}

.tyfc-player-id-mini.is-rejected
.tyfc-player-id-mini-dot {
    background: #cf5757 !important;
}

/* Card actions clearer */
.tyfc-player-card-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;

    margin-top: 12px !important;
}

.tyfc-player-card-actions .btn {
    min-width: 94px !important;

    padding: 9px 14px !important;

    border-radius: 10px !important;

    text-align: center !important;
}

/* Prevent card content from becoming narrow vertical text */
.tyfc-player-card,
.tyfc-squad-player-card {
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Desktop: cards need breathing room */
@media (min-width: 1100px) {

    .tyfc-player-card,
    .tyfc-squad-player-card {
        width: auto !important;
    }
}

/* ==========================================================
   END V3.58B1-R4
   ========================================================== */


/* ==========================================================
   TYFC V3.58B1-R4A
   TEAM PLAYERS — CARD POLISH
   ========================================================== */

/* Card shell */
.tyfc-player-card,
.tyfc-squad-player-card {
    position: relative !important;
    overflow: hidden !important;

    border: 1px solid #ece9f6 !important;
    border-radius: 24px !important;
    background: #ffffff !important;

    box-shadow: 0 10px 30px rgba(34, 29, 79, 0.06) !important;

    padding: 20px 20px 18px !important;
    min-height: 500px !important;

    transition: transform .18s ease, box-shadow .18s ease !important;
}

.tyfc-player-card:hover,
.tyfc-squad-player-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 36px rgba(34, 29, 79, 0.10) !important;
}

/* Photo */
.tyfc-player-card img,
.tyfc-squad-player-card img {
    display: block !important;

    width: 110px !important;
    height: 110px !important;
    object-fit: cover !important;

    border-radius: 22px !important;
    border: 4px solid #ffffff !important;

    box-shadow: 0 8px 22px rgba(35, 31, 84, 0.12) !important;

    margin: 14px auto 14px !important;
    background: #f5f4fb !important;
}

/* Text tone */
.tyfc-player-card,
.tyfc-squad-player-card,
.tyfc-player-card p,
.tyfc-squad-player-card p,
.tyfc-player-card span,
.tyfc-squad-player-card span,
.tyfc-player-card small,
.tyfc-squad-player-card small {
    color: #4f5568 !important;
    line-height: 1.45 !important;
}

/* Main player name */
.tyfc-player-card h3,
.tyfc-player-card h4,
.tyfc-squad-player-card h3,
.tyfc-squad-player-card h4 {
    margin: 4px 0 10px !important;

    color: #1f2233 !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

/* Position / meta labels */
.tyfc-player-card .tyfc-meta,
.tyfc-squad-player-card .tyfc-meta,
.tyfc-player-card .player-meta,
.tyfc-squad-player-card .player-meta {
    font-size: 13px !important;
    color: #6d7285 !important;
}

/* Role badge e.g. PLAYER */
.status-pill,
.tyfc-player-card .status-pill,
.tyfc-squad-player-card .status-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 6px 12px !important;
    border-radius: 999px !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    border: 1px solid #e5e1f7 !important;
    background: #f6f2ff !important;
    color: #6548d9 !important;
}

/* Compact identity badge */
.tyfc-player-id-mini {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;

    margin: 10px 0 8px !important;
    padding: 7px 12px !important;

    border-radius: 999px !important;
    border: 1px solid #ebe6d0 !important;
    background: #fffaf0 !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    color: #7a6540 !important;
}

.tyfc-player-id-mini-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #c89d2c !important;
    flex: 0 0 8px !important;
}

.tyfc-player-id-mini.is-pending {
    background: #f6f3ff !important;
    border-color: #ddd5fb !important;
    color: #5d49b9 !important;
}
.tyfc-player-id-mini.is-pending .tyfc-player-id-mini-dot {
    background: #6e56dc !important;
}

.tyfc-player-id-mini.is-verified {
    background: #f3fbf6 !important;
    border-color: #cde8d7 !important;
    color: #2c7a52 !important;
}
.tyfc-player-id-mini.is-verified .tyfc-player-id-mini-dot {
    background: #2f9a60 !important;
}

.tyfc-player-id-mini.is-rejected {
    background: #fff5f5 !important;
    border-color: #efcfcf !important;
    color: #b04747 !important;
}
.tyfc-player-id-mini.is-rejected .tyfc-player-id-mini-dot {
    background: #d45a5a !important;
}

/* Actions */
.tyfc-player-card-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

.tyfc-player-card-actions .btn,
.tyfc-player-card-actions a.btn,
.tyfc-player-card-actions button.btn {
    min-width: 108px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
}

.tyfc-squad-profile-btn {
    border: 1px solid #ddd8f5 !important;
    background: #f8f7fd !important;
    color: #5d4ab8 !important;
}

.tyfc-player-remove-btn {
    border: 1px solid #f0d1d1 !important;
    background: #fff7f7 !important;
    color: #b94a4a !important;
}

/* Keep locked badge softer */
.tyfc-player-card .status-pill:last-child,
.tyfc-squad-player-card .status-pill:last-child {
    background: #f2f3f7 !important;
    border-color: #e4e6ed !important;
    color: #6c7284 !important;
}

/* Slightly more breathing room on large screens */
@media (min-width: 1200px) {
    .tyfc-player-card,
    .tyfc-squad-player-card {
        padding: 22px 22px 20px !important;
        min-height: 520px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .tyfc-player-card,
    .tyfc-squad-player-card {
        min-height: auto !important;
        padding: 18px !important;
    }

    .tyfc-player-card img,
    .tyfc-squad-player-card img {
        width: 96px !important;
        height: 96px !important;
    }

    .tyfc-player-card-actions .btn,
    .tyfc-player-card-actions a.btn,
    .tyfc-player-card-actions button.btn {
        width: 100% !important;
    }
}

/* ==========================================================
   END TYFC V3.58B1-R4A
   ========================================================== */


/* ==========================================================
   TYFC V3.58B1-R4B
   ACTUAL TEAM PLAYER CARD
   Structural selector via .tyfc-player-card-actions
   ========================================================== */

/*
 * CARD WRAPPER
 * Any DIV whose direct child is .tyfc-player-card-actions
 * = actual player card in Team Players.
 */
div:has(> .tyfc-player-card-actions) {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    min-width: 0 !important;
    min-height: 430px !important;

    padding: 22px 20px 18px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    border: 1px solid #ebeaf2 !important;
    border-radius: 22px !important;

    box-shadow:
        0 8px 24px rgba(33, 29, 71, 0.06) !important;

    overflow: hidden !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease !important;
}

div:has(> .tyfc-player-card-actions):hover {
    transform: translateY(-3px) !important;

    border-color: #ddd8ef !important;

    box-shadow:
        0 14px 34px rgba(33, 29, 71, 0.10) !important;
}


/* ==========================================================
   PLAYER GRID
   Parent containing actual player cards
   ========================================================== */

div:has(> div > .tyfc-player-card-actions) {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 20px !important;

    align-items: stretch !important;

    width: 100% !important;
}


/* ==========================================================
   NUMBER BADGE
   First prominent badge in card
   ========================================================== */

div:has(> .tyfc-player-card-actions)
> :first-child {
    max-width: 100% !important;
}


/* ==========================================================
   PHOTO
   ========================================================== */

div:has(> .tyfc-player-card-actions) img {
    display: block !important;

    width: 118px !important;
    height: 118px !important;

    object-fit: cover !important;

    margin: 18px auto 16px !important;

    border-radius: 20px !important;

    background: #f6f5fa !important;

    box-shadow:
        0 8px 22px rgba(30, 27, 65, 0.10) !important;
}


/* ==========================================================
   TYPOGRAPHY
   ========================================================== */

div:has(> .tyfc-player-card-actions) h2,
div:has(> .tyfc-player-card-actions) h3,
div:has(> .tyfc-player-card-actions) h4,
div:has(> .tyfc-player-card-actions) strong {
    color: #202131 !important;
}

div:has(> .tyfc-player-card-actions) h3,
div:has(> .tyfc-player-card-actions) h4 {
    margin-top: 4px !important;
    margin-bottom: 8px !important;

    font-size: 20px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;

    letter-spacing: -.02em !important;
}

div:has(> .tyfc-player-card-actions) p,
div:has(> .tyfc-player-card-actions) small {
    line-height: 1.45 !important;
}


/* ==========================================================
   IDENTITY STATUS
   ========================================================== */

div:has(> .tyfc-player-card-actions)
.tyfc-player-id-mini {
    align-self: flex-start !important;

    max-width: calc(100% - 8px) !important;

    margin: 12px 0 10px !important;

    padding: 7px 11px !important;

    white-space: normal !important;

    font-size: 11px !important;
    line-height: 1.3 !important;
}


/* ==========================================================
   ACTION AREA — PIN TO BOTTOM
   ========================================================== */

div:has(> .tyfc-player-card-actions)
> .tyfc-player-card-actions {
    margin-top: auto !important;
    padding-top: 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;

    gap: 8px !important;

    width: 100% !important;
}


/* Profile button */
div:has(> .tyfc-player-card-actions)
.tyfc-squad-profile-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 110px !important;
    min-height: 40px !important;

    padding: 9px 16px !important;

    border: 1px solid #dcd7f1 !important;
    border-radius: 11px !important;

    background: #f8f6ff !important;
    color: #5948a8 !important;

    font-weight: 800 !important;
    text-decoration: none !important;

    box-shadow: none !important;
}


/* Locked state */
div:has(> .tyfc-player-card-actions)
.status-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 30px !important;

    padding: 5px 11px !important;

    border-radius: 999px !important;

    background: #f1f2f6 !important;
    border: 1px solid #e5e6ec !important;

    color: #686d7c !important;

    font-size: 10px !important;
    font-weight: 800 !important;
}


/* ==========================================================
   REMOVE OLD VISUAL COLLISIONS
   ========================================================== */

div:has(> .tyfc-player-card-actions)
.tyfc-player-id-panel,

div:has(> .tyfc-player-card-actions)
.tyfc-player-id-form {
    display: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1280px) {

    div:has(> div > .tyfc-player-card-actions) {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {

    div:has(> div > .tyfc-player-card-actions) {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 14px !important;
    }

    div:has(> .tyfc-player-card-actions) {
        min-height: auto !important;

        padding: 18px !important;
    }

    div:has(> .tyfc-player-card-actions) img {
        width: 104px !important;
        height: 104px !important;
    }
}

/* ==========================================================
   END TYFC V3.58B1-R4B
   ========================================================== */


/* ==========================================================
   TYFC V3.58B1-R4C
   REAL TEAM PLAYER CARD = ARTICLE
   ========================================================== */

/* REAL GRID — article cards */
div:has(> article > .tyfc-player-card-actions) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
    width: 100% !important;
}

/* REAL PLAYER CARD */
article:has(.tyfc-player-card-actions) {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    min-width: 0 !important;
    min-height: 440px !important;

    padding: 24px 22px 20px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    border: 1px solid #e9e7f1 !important;
    border-radius: 22px !important;

    box-shadow: 0 8px 26px rgba(31, 27, 70, .06) !important;

    overflow: hidden !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease !important;
}

article:has(.tyfc-player-card-actions):hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 36px rgba(31, 27, 70, .10) !important;
}

/* Player photo */
article:has(.tyfc-player-card-actions) img {
    display: block !important;

    width: 120px !important;
    height: 120px !important;

    object-fit: cover !important;

    margin: 18px auto 16px !important;

    border-radius: 20px !important;

    background: #f5f4fa !important;

    box-shadow: 0 8px 20px rgba(30, 27, 65, .10) !important;
}

/* Name */
article:has(.tyfc-player-card-actions) h3,
article:has(.tyfc-player-card-actions) h4 {
    margin: 4px 0 8px !important;

    color: #202131 !important;

    font-size: 21px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;

    letter-spacing: -.02em !important;
}

/* General text */
article:has(.tyfc-player-card-actions) p,
article:has(.tyfc-player-card-actions) small,
article:has(.tyfc-player-card-actions) span {
    line-height: 1.45 !important;
}

/* Identity badge — compact */
article:has(.tyfc-player-card-actions)
.tyfc-player-id-mini {
    align-self: flex-start !important;

    width: auto !important;
    max-width: 100% !important;

    margin: 12px 0 8px !important;
    padding: 7px 11px !important;

    white-space: nowrap !important;

    border-radius: 999px !important;

    font-size: 11px !important;
    font-weight: 700 !important;
}

/* Actions pinned to bottom */
article:has(.tyfc-player-card-actions)
.tyfc-player-card-actions {
    margin-top: auto !important;
    padding-top: 18px !important;

    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;

    gap: 9px !important;
}

/* Profile button */
article:has(.tyfc-player-card-actions)
.tyfc-squad-profile-btn {
    min-width: 112px !important;
    min-height: 40px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 9px 16px !important;

    border: 1px solid #ddd8f2 !important;
    border-radius: 11px !important;

    background: #f8f6ff !important;
    color: #5946ae !important;

    font-weight: 800 !important;
    box-shadow: none !important;
}

/* Locked badge */
article:has(.tyfc-player-card-actions)
.status-pill {
    min-height: 29px !important;

    padding: 5px 11px !important;

    border-radius: 999px !important;

    background: #f1f2f6 !important;
    border: 1px solid #e5e6ec !important;

    color: #6c7180 !important;

    font-size: 10px !important;
}

/* Make old large identity UI impossible here */
article:has(.tyfc-player-card-actions)
.tyfc-player-id-panel,
article:has(.tyfc-player-card-actions)
.tyfc-player-id-form {
    display: none !important;
}

/* Tablet */
@media (max-width: 1200px) {
    div:has(> article > .tyfc-player-card-actions) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 720px) {
    div:has(> article > .tyfc-player-card-actions) {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    article:has(.tyfc-player-card-actions) {
        min-height: auto !important;
        padding: 18px !important;
    }
}

/* ==========================================================
   END TYFC V3.58B1-R4C
   ========================================================== */


/* ==========================================================
   TYFC V3.58B1-R4D
   PLAYER CARD FINAL POLISH
   ========================================================== */

article:has(.tyfc-player-card-actions) {
    min-height: 0 !important;
    height: auto !important;

    padding: 20px 20px 18px !important;

    border-radius: 20px !important;

    background: #fff !important;

    box-shadow:
        0 8px 24px rgba(31, 27, 70, .055) !important;
}

/* Keep card reasonably compact */
article:has(.tyfc-player-card-actions)
.tyfc-player-card-actions {
    margin-top: 22px !important;
    padding-top: 0 !important;
}

/* Player photo — no head cropping */
article:has(.tyfc-player-card-actions) img {
    width: 112px !important;
    height: 112px !important;

    margin: 8px auto 14px !important;

    object-fit: contain !important;
    object-position: center center !important;

    border-radius: 18px !important;

    background: #f7f6fb !important;

    box-shadow:
        0 7px 18px rgba(34, 30, 73, .09) !important;
}

/* Name */
article:has(.tyfc-player-card-actions) h3,
article:has(.tyfc-player-card-actions) h4 {
    margin: 4px 0 8px !important;

    text-align: center !important;

    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;

    color: #1f2131 !important;
}

/* General metadata */
article:has(.tyfc-player-card-actions) p,
article:has(.tyfc-player-card-actions) small {
    margin-top: 3px !important;
    margin-bottom: 3px !important;

    line-height: 1.35 !important;
}

/* PLAYER badge */
article:has(.tyfc-player-card-actions)
.status-pill:not(:last-child) {
    padding: 5px 10px !important;

    font-size: 10px !important;
    font-weight: 800 !important;

    border-radius: 999px !important;

    background: #f4f1ff !important;
    border: 1px solid #e6e0fb !important;

    color: #6650c9 !important;
}

/* Identity status */
article:has(.tyfc-player-card-actions)
.tyfc-player-id-mini {
    margin: 12px 0 4px !important;

    padding: 6px 10px !important;

    font-size: 10px !important;

    border-radius: 999px !important;
}

/* Buttons */
article:has(.tyfc-player-card-actions)
.tyfc-player-card-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;

    gap: 8px !important;

    width: 100% !important;
}

article:has(.tyfc-player-card-actions)
.tyfc-squad-profile-btn {
    flex: 1 1 auto !important;

    min-width: 0 !important;
    min-height: 40px !important;

    padding: 9px 14px !important;

    border-radius: 11px !important;

    background: #f8f6ff !important;
    border: 1px solid #ddd8f1 !important;

    color: #5c49af !important;

    font-size: 12px !important;
    font-weight: 800 !important;
}

/* Locked badge */
article:has(.tyfc-player-card-actions)
.status-pill:last-child {
    flex: 0 0 auto !important;

    min-height: 29px !important;

    padding: 5px 10px !important;

    background: #f2f3f6 !important;
    border: 1px solid #e6e7ec !important;

    color: #727786 !important;

    font-size: 9px !important;
}

/* Grid spacing */
div:has(> article > .tyfc-player-card-actions) {
    gap: 18px !important;
}

/* Tablet */
@media (max-width: 1200px) {
    div:has(> article > .tyfc-player-card-actions) {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 720px) {
    div:has(> article > .tyfc-player-card-actions) {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    article:has(.tyfc-player-card-actions) {
        padding: 17px !important;
    }
}

/* ==========================================================
   END TYFC V3.58B1-R4D
   ========================================================== */


/* ==========================================================
   TYFC V3.58B1-R4E
   FINAL PLAYER CARD CLEANUP
   ========================================================== */

/* Hide obsolete duplicate identity status */
article:has(.tyfc-player-card-actions)
.tyfc-player-id-badge {
    display: none !important;
}

/* Slightly tighten card information */
article:has(.tyfc-player-card-actions)
.tyfc-player-id-mini {
    margin-top: 9px !important;
    margin-bottom: 3px !important;
}

/* Cleaner action footer */
article:has(.tyfc-player-card-actions)
.tyfc-player-card-actions {
    margin-top: 18px !important;
}

/* ==========================================================
   END TYFC V3.58B1-R4E
   ========================================================== */

