@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Noto+Kufi+Arabic:wght@400;500;600;700;800;900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Custom Global Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: var(--primary, #0a92d7);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--gradient-end, #00f2fe);
}
html {
    scrollbar-width: thin;
    scrollbar-color: var(--primary, #0a92d7) transparent;
}

/* ===== TOKENS ===== */
:root {
    --surface:              #f5f7ff;
    --surface-low:          #edf0f9;
    --surface-container:    #e4e8f7;
    --surface-high:         #d9ddf0;
    --surface-highest:      #cdd2e8;
    --surface-bright:       #ffffff;
    --on-surface:           #1a2035;
    --on-surface-variant:   #4a5472;
    --primary:              #006591;
    --primary-light:        #89ceff;
    --on-primary:           #ffffff;
    --tertiary:             #9a6000;
    --tertiary-container:   #ffddb8;
    --on-tertiary-container:#4c2d00;
    --outline:              #88919d;
    --outline-variant:      rgba(0,0,0,0.08);
    --card-bg:              rgba(255,255,255,0.92);
    --header-bg:            rgba(245,247,255,0.80);
    --header-brand:         #006591;
    --header-shadow:        0 4px 20px rgba(0,0,0,0.08);
    --gradient-start:       #1D60AC;
    --gradient-end:         #0A92D7;
    --shadow:               0 2px 10px rgba(0,0,0,0.06);
    --shadow-hover:         0 10px 30px rgba(10,146,215,0.18);
    --border-color:         rgba(0,0,0,0.09);
    --success:              #10b981;
    --success-bg:           rgba(16,185,129,0.1);
    --success-border:       rgba(16,185,129,0.3);
    --success-color:        #059669;
    --error:                #ef4444;
    --error-bg:             rgba(239,68,68,0.08);
    --error-border:         rgba(239,68,68,0.2);
    --error-color:          #dc2626;
    --warning:              #f59e0b;
    --bg-secondary:         #edf0f9;
    --text-primary:         #1a2035;
    --text-secondary:       #4a5472;
}

body.dark-mode {
    --surface:              #0c1324;
    --surface-low:          #151b2d;
    --surface-container:    #191f31;
    --surface-high:         #23293c;
    --surface-highest:      #2e3447;
    --surface-bright:       #33394c;
    --on-surface:           #dce1fb;
    --on-surface-variant:   #bec7d4;
    --primary:              #89ceff;
    --primary-light:        #89ceff;
    --on-primary:           #00344d;
    --tertiary:             #ffb95f;
    --tertiary-container:   #653e00;
    --on-tertiary-container:#ffddb8;
    --outline:              #88919d;
    --outline-variant:      rgba(255,255,255,0.07);
    --error:                #ffb4ab;
    --error-color:          #ff5252;
    --error-bg:             rgba(255,180,171,0.08);
    --error-border:         rgba(255,180,171,0.15);
    --success-bg:           rgba(16,185,129,0.12);
    --success-border:       rgba(16,185,129,0.3);
    --success-color:        #34d399;
    --card-bg:              rgba(35,41,60,0.75);
    --header-bg:            rgba(12,19,36,0.80);
    --header-brand:         #ffffff;
    --header-shadow:        0 4px 20px rgba(0,0,0,0.4);
    --gradient-start:       #1D60AC;
    --gradient-end:         #0A92D7;
    --shadow:               0 2px 10px rgba(0,0,0,0.35);
    --shadow-hover:         0 10px 30px rgba(10,146,215,0.28);
    --border-color:         rgba(255,255,255,0.07);
    --bg-secondary:         #151b2d;
    --text-primary:         #dce1fb;
    --text-secondary:       #bec7d4;
}

/* ===== BASE ===== */
body {
    font-family: 'Inter', 'Noto Kufi Arabic', sans-serif;
    background: var(--surface);
    color: var(--on-surface);
    transition: background 0.3s ease, color 0.3s ease;
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        repeating-linear-gradient(0deg, var(--border-color) 0px, transparent 1px, transparent 40px, var(--border-color) 41px),
        repeating-linear-gradient(90deg, var(--border-color) 0px, transparent 1px, transparent 40px, var(--border-color) 41px);
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
}

body.dark-mode::after {
    content: '';
    position: fixed;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(29,96,172,0.12), transparent);
    pointer-events: none;
    z-index: 0;
}

/* ===== NAVBAR ===== */
.mn-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 64px;
    background: var(--header-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--outline-variant);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    z-index: 1001;
    box-shadow: var(--header-shadow);
    transition: background 0.3s ease;
}

.mn-nav-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
}

.mn-nav-left img {
    height: 36px;
    width: auto;
}

body.dark-mode .mn-nav-left img {
    content: url('../images/logo white outline.png');
}

body:not(.dark-mode) .mn-nav-left img {
    content: url('../images/logo.png');
}

.mn-nav-brand {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--header-brand);
    text-transform: uppercase;
    white-space: nowrap;
}

body.dark-mode .mn-nav-brand {
    color: #ffffff;
}

.mn-nav-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mn-theme-btn {
    width: 36px;
    height: 36px;
    border-radius: 0.5rem;
    border: none;
    background: var(--outline-variant);
    color: var(--on-surface-variant);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}

.mn-theme-btn:hover {
    background: var(--surface-high);
    color: var(--primary);
}

/* User dropdown */
.mn-user-dropdown {
    position: relative;
}

.mn-user-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.85rem;
    height: 36px;
    background: var(--outline-variant);
    border: none;
    border-radius: 0.5rem;
    color: var(--on-surface);
    font-family: 'Inter', 'Noto Kufi Arabic', sans-serif;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mn-user-btn:hover { background: var(--surface-high); }

.mn-user-btn i.fa-chevron-down {
    font-size: 0.7rem;
    color: var(--on-surface-variant);
}

.mn-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--card-bg);
    border: 1px solid var(--outline-variant);
    border-radius: 0.75rem;
    min-width: 165px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
    overflow: hidden;
    display: none;
    z-index: 200;
}

body.dark-mode .mn-dropdown-menu {
    background: #0f1623;
}

[dir="rtl"] .mn-dropdown-menu {
    right: auto;
    left: 0;
}

.mn-dropdown-menu.open {
    display: block;
    animation: mnFadeDown 0.15s ease;
}

@keyframes mnFadeDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.mn-dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1rem;
    color: var(--on-surface);
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s;
    cursor: pointer;
    border-bottom: 1px solid var(--outline-variant);
}

.mn-dropdown-item:last-child { border-bottom: none; }

.mn-dropdown-item:hover { background: var(--outline-variant); }

.mn-dropdown-item i {
    color: var(--on-surface-variant);
    font-size: 0.85rem;
    width: 16px;
}

/* ===== MAIN CONTAINER ===== */
.mn-container {
    padding: 88px 2rem 3rem;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* ===== WELCOME ===== */
.mn-welcome {
    margin-bottom: 2rem;
    animation: fadeInUp 0.5s ease;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.mn-welcome h1 {
    font-size: 2.4rem;
    font-weight: 900;
    color: var(--on-surface);
    letter-spacing: -0.02em;
    margin-bottom: 0.25rem;
}

body.dark-mode .mn-welcome h1 { color: #fff; }

.mn-welcome .gradient-text {
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

body.dark-mode .mn-welcome .gradient-text {
    background: linear-gradient(135deg, #89ceff, #00f2fe);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.mn-welcome p {
    font-size: 0.95rem;
    color: var(--on-surface-variant);
}

/* ===== STATS GRID ===== */
.mn-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-bottom: 2.5rem;
}

.mn-stat-card {
    background: var(--card-bg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--outline-variant);
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 110px;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
    animation: fadeInUp 0.5s ease both;
}

.mn-stat-card:nth-child(1) { animation-delay: 0.05s; }
.mn-stat-card:nth-child(2) { animation-delay: 0.10s; }
.mn-stat-card:nth-child(3) { animation-delay: 0.15s; }
.mn-stat-card:nth-child(4) { animation-delay: 0.20s; }

.mn-stat-card:hover {
    box-shadow: var(--shadow-hover);
    border-color: rgba(10,146,215,0.3);
    transform: translateY(-2px);
}

.mn-stat-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(10,146,215,0.06), transparent);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.mn-stat-card:hover::after { opacity: 1; }

.mn-stat-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--on-surface-variant);
}

.mn-stat-value {
    font-size: 2.8rem;
    font-weight: 900;
    color: var(--primary);
    letter-spacing: -0.04em;
    line-height: 1;
}

/* Card 3 specific */
.mn-stat-card-3::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(137,206,255,0.1), transparent);
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 0;
    pointer-events: none;
}
.mn-stat-card-3:hover::before {
    opacity: 1;
}

/* Card 4 specific */
.mn-stat-card-4 .mn-stat-value {
    color: var(--tertiary);
}

.mn-stat-bg-icon {
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    opacity: 0.1;
    font-size: 6rem;
    pointer-events: none;
    z-index: 0;
    color: var(--on-surface-variant);
    transform: rotate(-10deg);
}

/* ===== TWO-COLUMN LAYOUT ===== */
.mn-content-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 2rem;
    align-items: start;
}

/* ===== SECTION HEADER ===== */
.mn-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.mn-section-title {
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--on-surface);
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

body.dark-mode .mn-section-title { color: #fff; }

.mn-section-title i {
    color: var(--primary);
    font-size: 1.1rem;
}

/* ===== LEAGUE CARD (OWNED) ===== */
.mn-leagues-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* ===== STITCH LEAGUE CARD (OWNED) ===== */
.stitch-league-card {
    background: var(--surface-low);
    border-radius: 1rem;
    padding: 1.5rem;
    border: 1px solid var(--outline-variant);
    position: relative;
    overflow: hidden;
    animation: fadeInUp 0.5s ease both;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

body.dark-mode .stitch-league-card {
    background: rgba(25, 31, 49, 0.5);
}

.stitch-card-bg-shape {
    position: absolute;
    top: 0;
    right: 0;
    width: 8rem;
    height: 8rem;
    background: var(--primary);
    opacity: 0.05;
    border-bottom-left-radius: 100%;
    pointer-events: none;
}

.stitch-card-inner {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    position: relative;
    z-index: 10;
}

@media (min-width: 768px) {
    .stitch-card-inner {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.stitch-card-left {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.stitch-card-avatar {
    width: 64px;
    height: 64px;
    border-radius: 0.75rem;
    background: var(--surface-high);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--primary);
    opacity: 0.8;
    border: 1px solid var(--outline-variant);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.stitch-card-info {
    display: flex;
    flex-direction: column;
}

.stitch-card-title-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
    flex-wrap: wrap;
}

.stitch-league-name {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--on-surface);
    word-wrap: break-word;
    word-break: break-word;
}

body.dark-mode .stitch-league-name { color: #fff; }

.stitch-badge {
    background: rgba(255, 221, 184, 0.2);
    color: var(--tertiary);
    font-size: 0.625rem;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
}

body.dark-mode .stitch-badge {
    background: rgba(101, 62, 0, 0.4);
    color: #ffb95f;
}

.stitch-league-desc {
    font-size: 0.875rem;
    color: var(--on-surface-variant);
    font-weight: 600;
}

.stitch-card-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    background: rgba(7, 13, 31, 0.03);
    padding: 0.75rem;
    border-radius: 0.5rem;
    width: 100%;
}

body.dark-mode .stitch-card-stats-grid {
    background: rgba(7, 13, 31, 0.3);
}

@media (min-width: 768px) {
    .stitch-card-stats-grid {
        width: auto;
        gap: 2rem;
    }
}

.stitch-card-stat {
    text-align: center;
}

.stitch-card-stat.border-l {
    border-left: 1px solid var(--outline-variant);
    padding-left: 1rem;
}

@media (min-width: 768px) {
    .stitch-card-stat.border-l {
        padding-left: 2rem;
    }
}

.stat-lbl {
    font-size: 0.625rem;
    color: var(--on-surface-variant);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}

.stat-val {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--on-surface);
}

.stat-val.primary-val { color: var(--primary); }
.stat-val.text-tertiary { color: var(--tertiary); }


.stitch-card-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.stitch-card-actions-left,
.stitch-card-actions-right {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    flex: 1 1 auto;
}

@media (min-width: 768px) {
    .stitch-card-actions-left,
    .stitch-card-actions-right {
        flex: none;
    }
}

.stitch-card-actions button, .stitch-card-actions a {
    flex: 1;
    text-align: center;
    justify-content: center;
    padding: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    transition: all 0.2s;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

@media (min-width: 768px) {
    .stitch-card-actions button, .stitch-card-actions a {
        flex: none;
    }
}

.btn-stitch-primary {
    background: var(--surface-bright);
    color: var(--on-surface);
    border: 1px solid var(--outline-variant);
}

body.dark-mode .btn-stitch-primary {
    background: rgba(51, 57, 76, 0.5);
    color: #fff;
}

.btn-stitch-primary:hover {
    background: var(--surface-highest);
}

.btn-stitch-secondary {
    background: rgba(10,146,215,0.1);
    color: var(--primary);
    border: 1px solid rgba(10,146,215,0.2);
    cursor: pointer;
}

.btn-stitch-secondary:hover {
    background: rgba(10,146,215,0.2);
}

.btn-stitch-danger {
    background: rgba(239, 68, 68, 0.1);
    color: var(--error);
    border: 1px solid rgba(239, 68, 68, 0.2);
    cursor: pointer;
}

.btn-stitch-danger:hover {
    background: rgba(239, 68, 68, 0.2);
}

.mn-league-card {
    background: var(--card-bg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--outline-variant);
    border-radius: 1rem;
    padding: 1.5rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    animation: fadeInUp 0.5s ease both;
}

body.dark-mode .mn-league-card {
    background: rgba(21,27,45,0.85);
    border-color: rgba(63,72,82,0.15);
}

.mn-league-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--gradient-start), var(--gradient-end));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
    border-radius: 1rem 1rem 0 0;
}

.mn-league-card:hover::before { transform: scaleX(1); }

.mn-league-card:hover {
    box-shadow: var(--shadow-hover);
    border-color: rgba(10,146,215,0.25);
    transform: translateY(-2px);
}

/* fantazina special league */
.mn-league-card.fantazina-league {
    border: 1.5px solid rgba(251,191,36,0.45);
}

body.dark-mode .mn-league-card.fantazina-league {
    border-color: rgba(251,191,36,0.55);
}

.mn-league-card.fantazina-league::before {
    background: linear-gradient(90deg, #fbbf24, #f59e0b);
}

.mn-league-card.fantazina-league:hover {
    box-shadow: 0 10px 30px rgba(251,191,36,0.25);
    border-color: rgba(251,191,36,0.7);
}

/* ---- inner layout ---- */
.mn-card-top {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    margin-bottom: 1.25rem;
    position: relative;
}

/* Initials avatar */
.mn-league-initials {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(10,146,215,0.25);
    user-select: none;
    transition: transform 0.2s ease;
}

.mn-league-card:hover .mn-league-initials { transform: scale(1.05); }

.mn-league-card.fantazina-league .mn-league-initials {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    box-shadow: 0 4px 14px rgba(251,191,36,0.3);
}

.mn-card-meta {
    flex: 1;
    min-width: 0;
}

.mn-card-name-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}

.mn-league-name {
    font-size: 1.1rem;
    font-weight: 900;
    color: var(--on-surface);
    letter-spacing: -0.02em;
    word-wrap: break-word;
    word-break: break-word;
}

body.dark-mode .mn-league-name { color: #fff; }

/* badges */
.mn-badge {
    padding: 0.2rem 0.65rem;
    border-radius: 9999px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
}

.mn-badge-owner {
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    color: #fff;
}

.mn-badge-contributor {
    background: rgba(10,146,215,0.1);
    color: var(--primary);
    border: 1px solid rgba(10,146,215,0.25);
}

.mn-badge-fantazina {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #fff;
    animation: fantazinaPulse 2s ease-in-out infinite;
}

@keyframes fantazinaPulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(251,191,36,0.3); }
    50%      { box-shadow: 0 0 0 4px rgba(251,191,36,0); }
}

/* card info chips */
.mn-card-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.3rem;
}

.mn-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.18rem 0.6rem;
    background: var(--surface-container);
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--on-surface-variant);
}

body.dark-mode .mn-chip { background: rgba(255,255,255,0.06); }

.mn-chip i { font-size: 0.65rem; color: var(--primary); }

/* card top action buttons (invitation / payment / delete) */
.mn-card-top-actions {
    display: flex;
    gap: 0.4rem;
    flex-shrink: 0;
    align-items: flex-start;
}

.mn-top-btn {
    height: 30px;
    padding: 0 0.75rem;
    border: none;
    border-radius: 0.4rem;
    font-family: 'Inter', 'Noto Kufi Arabic', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.mn-top-btn-share {
    background: rgba(10,146,215,0.1);
    color: var(--primary);
    border: 1px solid rgba(10,146,215,0.2);
}

.mn-top-btn-share:hover {
    background: rgba(10,146,215,0.18);
    box-shadow: 0 4px 12px rgba(10,146,215,0.2);
}

.mn-top-btn-pay {
    background: rgba(245,158,11,0.1);
    color: #d97706;
    border: 1px solid rgba(245,158,11,0.25);
}

body.dark-mode .mn-top-btn-pay { color: #fbbf24; }

.mn-top-btn-pay:hover { background: rgba(245,158,11,0.18); }

.mn-top-btn-delete {
    background: rgba(239,68,68,0.08);
    color: var(--error-color);
    border: 1px solid rgba(239,68,68,0.2);
}

.mn-top-btn-delete:hover { background: rgba(239,68,68,0.15); }

/* card stats row */
.mn-card-stats {
    display: flex;
    gap: 0;
    padding: 0.9rem 0;
    border-top: 1px solid var(--outline-variant);
    border-bottom: 1px solid var(--outline-variant);
    margin-bottom: 1.1rem;
}

.mn-card-stat {
    flex: 1;
    text-align: center;
    position: relative;
}

.mn-card-stat + .mn-card-stat::before {
    content: '';
    position: absolute;
    left: 0; top: 15%;
    height: 70%;
    width: 1px;
    background: var(--outline-variant);
}

.mn-card-stat-value {
    display: block;
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--primary);
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 0.2rem;
}

.mn-card-stat-label {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--on-surface-variant);
}

/* status pills */
.mn-status {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mn-status-active  { background: rgba(16,185,129,0.12); color: #059669; }
.mn-status-trial   { background: rgba(245,158,11,0.12);  color: #d97706; }
.mn-status-payment { background: rgba(239,68,68,0.1);    color: var(--error-color); }
.mn-status-setup   { background: rgba(107,114,128,0.12); color: #6b7280; }

body.dark-mode .mn-status-active  { color: #34d399; background: rgba(16,185,129,0.15); }
body.dark-mode .mn-status-trial   { color: #fbbf24; background: rgba(245,158,11,0.15); }
body.dark-mode .mn-status-payment { color: #ff5252; background: rgba(255,82,82,0.12); }
body.dark-mode .mn-status-setup   { color: #9ca3af; }

/* card action buttons */
.mn-card-actions {
    display: flex;
    gap: 0.6rem;
}

/* ===== BUTTONS ===== */
.btn {
    padding: 0.55rem 1.35rem;
    border: none;
    border-radius: 9999px;
    font-family: 'Inter', 'Noto Kufi Arabic', sans-serif;
    font-weight: 700;
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.btn:active { transform: scale(0.96); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: all !important; }

.btn-gradient {
    background: var(--primary);
    color: var(--on-primary);
    box-shadow: 0 4px 14px rgba(10,146,215,0.2);
}

body.dark-mode .btn-gradient { color: #00344d; }

.btn-gradient:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 22px rgba(10,146,215,0.32);
}

.btn-outline {
    background: transparent;
    color: var(--on-surface);
    border: 1px solid var(--outline-variant);
}

.btn-outline:hover {
    background: var(--surface-high);
    border-color: var(--on-surface-variant);
}

.btn-secondary {
    background: rgba(10,146,215,0.08);
    color: var(--primary);
    border: 1px solid rgba(10,146,215,0.2);
}

.btn-secondary:hover {
    background: rgba(10,146,215,0.15);
    box-shadow: 0 4px 14px rgba(10,146,215,0.2);
}

/* ===== RIGHT COLUMN — JOINED LEAGUES ===== */
.mn-right-section {
    position: sticky;
    top: 80px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.mn-joined-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Compact joined league item */
.mn-joined-item {
    background: var(--card-bg);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--outline-variant);
    border-radius: 0.85rem;
    padding: 1rem 1.1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: block;
    animation: fadeInUp 0.5s ease both;
    position: relative;
    overflow: hidden;
}

body.dark-mode .mn-joined-item {
    background: rgba(21,27,45,0.85);
    border-color: rgba(63,72,82,0.12);
}

.mn-joined-item.fantazina-league {
    border-color: rgba(251,191,36,0.4);
}

.mn-joined-item:hover {
    border-color: rgba(10,146,215,0.3);
    transform: translateX(3px);
    box-shadow: 0 6px 20px rgba(10,146,215,0.12);
}

[dir="rtl"] .mn-joined-item:hover {
    transform: translateX(-3px);
}

.mn-joined-item-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.mn-joined-initials {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.mn-joined-item.fantazina-league .mn-joined-initials {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
}

.mn-joined-name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--on-surface);
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.dark-mode .mn-joined-name { color: #fff; }

.mn-joined-rank {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--tertiary);
    flex-shrink: 0;
}

body.dark-mode .mn-joined-rank { color: var(--tertiary); }

.mn-joined-item-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mn-joined-meta {
    font-size: 0.72rem;
    color: var(--on-surface-variant);
    font-weight: 500;
}

.mn-joined-arrow {
    color: var(--on-surface-variant);
    font-size: 0.75rem;
    transition: color 0.2s, transform 0.2s;
}

.mn-joined-item:hover .mn-joined-arrow {
    color: var(--primary);
    transform: translateX(2px);
}

[dir="rtl"] .mn-joined-item:hover .mn-joined-arrow {
    transform: translateX(-2px);
}

/* ===== EMPTY STATES ===== */
.mn-empty {
    background: var(--card-bg);
    border: 1.5px dashed var(--outline-variant);
    border-radius: 1rem;
    padding: 2.5rem 1.5rem;
    text-align: center;
    animation: fadeInUp 0.5s ease;
}

body.dark-mode .mn-empty { background: rgba(21,27,45,0.5); }

.mn-empty i {
    font-size: 2.5rem;
    color: var(--on-surface-variant);
    opacity: 0.4;
    margin-bottom: 0.85rem;
    display: block;
}

.mn-empty h3 {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--on-surface);
    margin-bottom: 0.4rem;
    letter-spacing: -0.01em;
}

body.dark-mode .mn-empty h3 { color: #fff; }

.mn-empty p {
    font-size: 0.85rem;
    color: var(--on-surface-variant);
    margin-bottom: 1.25rem;
    line-height: 1.6;
}

/* ===== MODALS ===== */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.modal-content {
    background: var(--card-bg);
    border: 1px solid var(--outline-variant);
    border-radius: 1.25rem;
    padding: 2rem;
    max-width: 480px;
    width: 90%;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: modalSlideUp 0.3s ease;
}

body.dark-mode .modal-content {
    background: rgba(25,31,49,0.96);
    border-color: rgba(63,72,82,0.15);
}

.modal-content[style*="max-height"] {
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes modalSlideUp {
    from { transform: translateY(30px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

.modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 30px;
    height: 30px;
    background: var(--outline-variant);
    border: none;
    border-radius: 0.5rem;
    color: var(--on-surface-variant);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transition: all 0.2s;
}

[dir="rtl"] .modal-close { right: auto; left: 1rem; }

.modal-close:hover {
    background: var(--surface-high);
    color: var(--on-surface);
}

.modal-header {
    margin-bottom: 1.5rem;
    padding-right: 2rem;
}

[dir="rtl"] .modal-header { padding-right: 0; padding-left: 2rem; }

.modal-header h2 {
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--on-surface);
    letter-spacing: -0.02em;
    margin-bottom: 0.3rem;
}

body.dark-mode .modal-header h2 { color: #fff; }

.modal-header p {
    font-size: 0.85rem;
    color: var(--on-surface-variant);
}

.modal-body { /* inherits */ }

.modal-footer {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--outline-variant);
}

.modal-footer p {
    font-size: 0.8rem;
    color: var(--on-surface-variant);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Copy section */
.copy-section { margin-bottom: 1.25rem; }

.copy-section-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--on-surface-variant);
    margin-bottom: 0.5rem;
}

.copy-input-group {
    display: flex;
    gap: 0.5rem;
}

.copy-input {
    flex: 1;
    padding: 0.65rem 0.9rem;
    background: var(--surface-low);
    border: 1px solid var(--outline-variant);
    border-radius: 0.6rem;
    color: var(--on-surface);
    font-family: 'Inter', 'Noto Kufi Arabic', monospace;
    font-size: 0.85rem;
    font-weight: 600;
    outline: none;
}

body.dark-mode .copy-input { background: rgba(7,13,31,0.5); }

.copy-btn {
    padding: 0.65rem 1rem;
    background: rgba(10,146,215,0.1);
    border: 1px solid rgba(10,146,215,0.2);
    border-radius: 0.6rem;
    color: var(--primary);
    font-family: 'Inter', 'Noto Kufi Arabic', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: all 0.2s;
    white-space: nowrap;
}

.copy-btn:hover { background: rgba(10,146,215,0.18); }

.copy-btn.copied {
    background: rgba(16,185,129,0.12);
    border-color: rgba(16,185,129,0.3);
    color: #059669;
}

body.dark-mode .copy-btn.copied { color: #34d399; }

/* Join modal form */
.form-group { margin-bottom: 1.1rem; }

.form-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--on-surface-variant);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 0.5rem;
}

.form-input {
    width: 100%;
    padding: 0.75rem 1rem;
    background: var(--surface-low);
    border: 1px solid var(--outline-variant);
    border-radius: 0.75rem;
    color: var(--on-surface);
    font-family: 'Inter', 'Noto Kufi Arabic', sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
    outline: none;
    transition: all 0.2s;
}

body.dark-mode .form-input { background: rgba(7,13,31,0.5); }

.form-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(10,146,215,0.1);
}

/* League preview */
.league-preview {
    display: none;
    background: var(--surface-container);
    border: 1px solid var(--outline-variant);
    border-radius: 0.85rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

body.dark-mode .league-preview { background: rgba(7,13,31,0.4); }

.league-preview.active { display: block; animation: fadeInUp 0.3s ease; }

.league-preview-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--outline-variant);
}

.league-preview-icon {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.league-preview-name {
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--on-surface);
}

body.dark-mode .league-preview-name { color: #fff; }

.league-preview-owner {
    font-size: 0.78rem;
    color: var(--on-surface-variant);
}

.league-preview-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.league-preview-detail {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--on-surface-variant);
}

.league-preview-detail i { color: var(--primary); width: 14px; font-size: 0.75rem; }

/* Modal actions */
.modal-actions {
    display: flex;
    gap: 0.6rem;
    margin-top: 1.25rem;
}

/* Alert in modal */
.alert {
    padding: 0.7rem 0.9rem;
    border-radius: 0.65rem;
    margin-bottom: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    font-weight: 500;
}

.alert-success {
    background: var(--success-bg);
    border: 1px solid var(--success-border);
    color: var(--success-color);
}

.alert-error {
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    color: var(--error-color);
}

/* Payment modal */
.price-display {
    text-align: center;
    padding: 1rem;
    background: var(--surface-container);
    border-radius: 0.75rem;
    margin-bottom: 1.5rem;
}

body.dark-mode .price-display { background: rgba(7,13,31,0.4); }

.price-display h3 {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--on-surface-variant);
    margin-bottom: 0.5rem;
}

.price {
    font-size: 2rem;
    font-weight: 900;
    color: var(--primary);
    letter-spacing: -0.03em;
}

.role-section h4 {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--on-surface);
    margin-bottom: 0.75rem;
}

body.dark-mode .role-section h4 { color: #fff; }

.info-box {
    display: flex;
    gap: 0.75rem;
    background: rgba(10,146,215,0.06);
    border: 1px solid rgba(10,146,215,0.2);
    border-radius: 0.75rem;
    padding: 0.9rem 1rem;
    margin-top: 1rem;
    font-size: 0.83rem;
    color: var(--on-surface-variant);
    line-height: 1.5;
}

.info-box i { color: var(--primary); font-size: 1rem; flex-shrink: 0; margin-top: 0.1rem; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1140px) {
    .mn-content-grid {
        grid-template-columns: 1fr 340px;
    }
}

@media (max-width: 900px) {
    .mn-content-grid {
        grid-template-columns: 1fr;
    }

    .mn-right-section {
        position: static;
    }

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

@media (max-width: 600px) {
    .mn-container {
        padding: 80px 1rem 2rem;
        overflow-x: hidden;
    }

    .mn-nav { padding: 0 1rem; gap: 0.5rem; }

    .mn-nav-brand { display: none; }

    .mn-user-btn { padding: 0 0.5rem; }

    .mn-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.85rem;
    }
    
    .mn-stat-card {
        padding: 1rem;
        min-height: auto;
    }

    .mn-welcome h1 { font-size: 1.8rem; }

    /* Fix potential overflow in cards */
    .mn-league-card {
        padding: 1rem;
    }

    .mn-card-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .mn-card-name-row {
        gap: 0.4rem;
    }

    .mn-league-name {
        max-width: 100%;
    }

    .mn-card-top-actions { 
        flex-direction: row; 
        width: 100%;
        gap: 0.5rem;
        flex-wrap: wrap; 
    }

    .modal-content {
        padding: 1.25rem;
    }

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